送礼优化 相关
This commit is contained in:
@@ -204,4 +204,127 @@ class UserWallet extends Model
|
||||
return ['code' => 0, 'msg' => '转赠失败', 'data' => null];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*操作用户金币并记录日志
|
||||
* @param int $user_id 用户id
|
||||
* @param int $money 金币数量
|
||||
* @param int $change_type 变动类型
|
||||
* @param int $room_id 房间
|
||||
* @param str $remarks 备注
|
||||
*/
|
||||
//change_type
|
||||
// 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮
|
||||
// 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换
|
||||
// 15.首充 16.天降好礼充值 17.退出工会扣款 18.房主收益 19.主持人收益 20.抢头条 21.公会长收益,22.提现驳回或提现失败返还,23.财富等级奖励金币领取,24.删除关系扣金币,
|
||||
// 25.赠送好友金币,26.好友转赠所得金币,27.小时榜获得金币,28.新人充值好礼,29.发红包(钻石),30.抢红包(金币),31.抢红包(钻石),32.发红包(金币),
|
||||
// 33.红包剩余退回(金币),34-红包剩余退回(钻石),35-爵位购买赠送金币(金币),
|
||||
//50-签约,51-签约失败退回,52-首次被签约收入,53.签约师傅每日返还,54-叛徒补偿,55-徒弟收礼返佣,56-续约,57-签到,58-爆币,59-红包手续费
|
||||
//资金操作
|
||||
public function change_user_cion_log($user_id,$money,$room_id,$change_type,$remarks)
|
||||
{
|
||||
//增加用户金币类型
|
||||
$in_types = [1,2,5,6,8,13,14,15,16,23,26,27,28,30,33,35,51,57,58];
|
||||
//减少用户金币类型
|
||||
$out_types = [4,7,10,17,20,24,25,32,50,56,59];
|
||||
|
||||
$user_coin = Db::name('user_wallet_coin')->where(['user_id' => $user_id])->value('coin');
|
||||
if(in_array($change_type,$in_types)){
|
||||
$update_coin = $user_coin + $money;
|
||||
}elseif(in_array($change_type,$out_types)){
|
||||
if($user_coin < $money){
|
||||
return false;
|
||||
}
|
||||
$update_coin = $user_coin - $money;
|
||||
}else{
|
||||
$update_coin = $user_coin;
|
||||
}
|
||||
$res1 = Db::name('user_wallet_coin')->where(['user_id' => $user_id])->update(['coin' => $update_coin,'updatetime' => time()]);
|
||||
if(!$res1){
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = [
|
||||
'user_id' => $user_id,
|
||||
'room_id' => $room_id,
|
||||
'coin' => $money,
|
||||
'before' => $user_coin,
|
||||
'after' => $user_coin - $money,
|
||||
'change_type' => $change_type,
|
||||
'remarks' => $remarks,
|
||||
'createtime' => time()
|
||||
];
|
||||
|
||||
$res = Db::name('user_coin_log')->insert($data);
|
||||
if(!$res){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*操作用户收益(钻石)并记录日志
|
||||
* @param int $user_id 用户id
|
||||
* @param int $money 数量
|
||||
* @param int $change_type 变动类型
|
||||
* @param int $room_id 房间
|
||||
* @param str $remarks 备注
|
||||
*/
|
||||
//change_type
|
||||
// 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮
|
||||
// 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换
|
||||
// 15.首充 16.天降好礼充值 17.退出工会扣款 18.房主收益 19.主持人收益 20.抢头条 21.公会长收益,22.提现驳回或提现失败返还,23.财富等级奖励金币领取,24.删除关系扣金币,
|
||||
// 25.赠送好友金币,26.好友转赠所得金币,27.小时榜获得金币,28.新人充值好礼,29.发红包(钻石),30.抢红包(金币),31.抢红包(钻石),32.发红包(金币),
|
||||
// 33.红包剩余退回(金币),34-红包剩余退回(钻石),35-爵位购买赠送金币(金币),
|
||||
//50-签约,51-签约失败退回,52-首次被签约收入,53.签约师傅每日返还,54-叛徒补偿,55-徒弟收礼返佣,56-续约,57-签到,58-爆币,59-红包手续费
|
||||
|
||||
//bcadd: 加法运算
|
||||
//bcsub: 减法运算
|
||||
//bcmul: 乘法运算
|
||||
//bcdiv: 除法运算
|
||||
public function change_user_earnings_log($user_id,$money,$room_id,$change_type,$remarks)
|
||||
{
|
||||
//增加用户钻石类型
|
||||
$in_types = [9,11,12,18,19,21,22,31,34,52,54,55];
|
||||
|
||||
//减少用户钻石类型
|
||||
$out_types = [3,14,29];
|
||||
$user_earnings = Db::name('user_wallet_earnings')->where(['user_id' => $user_id])->value('earnings');
|
||||
|
||||
if(in_array($change_type,$in_types)){
|
||||
$update_coin = bcadd($user_earnings , $money,4);
|
||||
}elseif(in_array($change_type,$out_types)){
|
||||
if($user_earnings < $money){
|
||||
return false;
|
||||
}
|
||||
$update_coin = bcsub($user_earnings , $money,4);
|
||||
}else{
|
||||
$update_coin = $user_earnings;
|
||||
}
|
||||
$res1 = Db::name('user_wallet_earnings')->where(['user_id' => $user_id])->update(['earnings' => $update_coin,'updatetime' => time()]);
|
||||
if(!$res1){
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = [
|
||||
'user_id' => $user_id,
|
||||
'room_id' => $room_id,
|
||||
'earnings' => $money,
|
||||
'before' => $user_earnings,
|
||||
'after' => $user_earnings - $money,
|
||||
'change_type' => $change_type,
|
||||
'remarks' => $remarks,
|
||||
'createtime' => time()
|
||||
];
|
||||
|
||||
$res = Db::name('user_earnings_log')->insert($data);
|
||||
if(!$res){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user