钱包相关
This commit is contained in:
@@ -631,7 +631,7 @@ class GiveGiftBase extends Model
|
|||||||
// 最终统计
|
// 最终统计
|
||||||
if ($options['group_by']) {
|
if ($options['group_by']) {
|
||||||
$finalSql = "SELECT {$options['group_by']},
|
$finalSql = "SELECT {$options['group_by']},
|
||||||
SUM(total_price) * 10 as total
|
SUM(total_price) as total
|
||||||
FROM ({$unionSql}) as tmp
|
FROM ({$unionSql}) as tmp
|
||||||
GROUP BY {$options['group_by']}
|
GROUP BY {$options['group_by']}
|
||||||
ORDER BY total desc";
|
ORDER BY total desc";
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ class Redpacket extends Model
|
|||||||
$fee = get_system_config_value('red_packet_fee') ?? 0;
|
$fee = get_system_config_value('red_packet_fee') ?? 0;
|
||||||
|
|
||||||
// 验证用户余额
|
// 验证用户余额
|
||||||
$wallet = Db::name('user_wallet')->where('user_id', $data['user_id'])->find();
|
$wallet = Db::name('user_wallet_coin')->where('user_id', $data['user_id'])->find();
|
||||||
|
|
||||||
$coinField = $data['coin_type'] == self::COIN_GOLD ? 'coin' : 'earnings';
|
$coinField = $data['coin_type'] == self::COIN_GOLD ? 'coin' : 'earnings';
|
||||||
if($data['total_amount'] < $minAmount){
|
if($data['total_amount'] < $minAmount){
|
||||||
@@ -64,36 +64,40 @@ class Redpacket extends Model
|
|||||||
return ['code' => 0, 'msg' => '余额不足', 'data' => null];
|
return ['code' => 0, 'msg' => '余额不足', 'data' => null];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$res = model('api/UserWallet')->change_user_cion_log($data['user_id'],$data['total_amount'],$data['room_id'],32,'金币(发红包)');
|
||||||
|
|
||||||
|
$delres = model('api/UserWallet')->change_user_cion_log($data['user_id'],$fee,$data['room_id'],59,'红包手续费');
|
||||||
// 扣除余额
|
// 扣除余额
|
||||||
$delres = Db::name('user_wallet')
|
// $delres = Db::name('user_wallet')
|
||||||
->where('user_id', $data['user_id'])
|
// ->where('user_id', $data['user_id'])
|
||||||
->dec($coinField, $data['total_amount']+$fee)
|
// ->dec($coinField, $data['total_amount']+$fee)
|
||||||
->update();
|
// ->update();
|
||||||
//记录日志 32-发红包(金币),29-发红包(钻石),30-抢红包(金币),31-抢红包(钻石)
|
// //记录日志 32-发红包(金币),29-发红包(钻石),30-抢红包(金币),31-抢红包(钻石)
|
||||||
//记录用户金币日志
|
// //记录用户金币日志
|
||||||
$data_log = [
|
// $data_log = [
|
||||||
'user_id' => $data['user_id'],
|
// 'user_id' => $data['user_id'],
|
||||||
'change_value' => $data['total_amount'],
|
// 'change_value' => $data['total_amount'],
|
||||||
'room_id' => $data['room_id'],
|
// 'room_id' => $data['room_id'],
|
||||||
'money_type' => $data['coin_type'],
|
// 'money_type' => $data['coin_type'],
|
||||||
'change_type' => $data['coin_type'] == self::COIN_GOLD ? 32 : 29,
|
// 'change_type' => $data['coin_type'] == self::COIN_GOLD ? 32 : 29,
|
||||||
'from_id' => $data['room_id'],
|
// 'from_id' => $data['room_id'],
|
||||||
'remarks' => $data['coin_type'] == self::COIN_GOLD ? '金币(发红包)' : '钻石(发红包)',
|
// 'remarks' => $data['coin_type'] == self::COIN_GOLD ? '金币(发红包)' : '钻石(发红包)',
|
||||||
'createtime' => time()
|
// 'createtime' => time()
|
||||||
];
|
// ];
|
||||||
$res = Db::name('vs_user_money_log')->insert($data_log);
|
// $res = Db::name('vs_user_money_log')->insert($data_log);
|
||||||
//记录手续费日志
|
//记录手续费日志
|
||||||
$data_log = [
|
// $data_log = [
|
||||||
'user_id' => $data['user_id'],
|
// 'user_id' => $data['user_id'],
|
||||||
'change_value' => $fee,
|
// 'change_value' => $fee,
|
||||||
'room_id' => $data['room_id'],
|
// 'room_id' => $data['room_id'],
|
||||||
'money_type' => $data['coin_type'],
|
// 'money_type' => $data['coin_type'],
|
||||||
'change_type' => model('common/UserWallet')::RED_PACKET_FEE ,
|
// 'change_type' => model('common/UserWallet')::RED_PACKET_FEE ,
|
||||||
'from_id' => $data['room_id'],
|
// 'from_id' => $data['room_id'],
|
||||||
'remarks' => model('common/UserWallet')::ChangeTypeLable(model('common/UserWallet')::RED_PACKET_FEE),
|
// 'remarks' => model('common/UserWallet')::ChangeTypeLable(model('common/UserWallet')::RED_PACKET_FEE),
|
||||||
'createtime' => time()
|
// 'createtime' => time()
|
||||||
];
|
// ];
|
||||||
$res = Db::name('vs_user_money_log')->insert($data_log);
|
// $res = Db::name('vs_user_money_log')->insert($data_log);
|
||||||
|
|
||||||
if(!$res || !$delres){
|
if(!$res || !$delres){
|
||||||
Db::rollback();
|
Db::rollback();
|
||||||
|
|||||||
@@ -139,27 +139,28 @@ class RedpacketService
|
|||||||
$recordModel->save($recordData);
|
$recordModel->save($recordData);
|
||||||
|
|
||||||
// 更新用户钱包
|
// 更新用户钱包
|
||||||
$coinField = $redpacket['coin_type'] == 1 ? 'coin' : 'earnings';
|
// $coinField = $redpacket['coin_type'] == 1 ? 'coin' : 'earnings';
|
||||||
//增加余额
|
// //增加余额
|
||||||
$addres = Db::name('user_wallet')
|
// $addres = Db::name('user_wallet')
|
||||||
->where('user_id', $userId)
|
// ->where('user_id', $userId)
|
||||||
->inc($coinField, $amount)
|
// ->inc($coinField, $amount)
|
||||||
->update();
|
// ->update();
|
||||||
//记录用户金币日志
|
// //记录用户金币日志
|
||||||
$data = [
|
// $data = [
|
||||||
'user_id' => $userId,
|
// 'user_id' => $userId,
|
||||||
'change_value' => $amount,
|
// 'change_value' => $amount,
|
||||||
'room_id' => $redpacket['room_id'],
|
// 'room_id' => $redpacket['room_id'],
|
||||||
'money_type' => $redpacket['coin_type'],
|
// 'money_type' => $redpacket['coin_type'],
|
||||||
//记录日志 32-发红包(金币),29-发红包(钻石),30-抢红包(金币),31-抢红包(钻石)
|
// //记录日志 32-发红包(金币),29-发红包(钻石),30-抢红包(金币),31-抢红包(钻石)
|
||||||
'change_type' => $redpacket['coin_type'] == 1 ? 30 : 31,
|
// 'change_type' => $redpacket['coin_type'] == 1 ? 30 : 31,
|
||||||
'from_id' => $redpacket['room_id'],
|
// 'from_id' => $redpacket['room_id'],
|
||||||
'remarks' => '抢红包收入',
|
// 'remarks' => '抢红包收入',
|
||||||
'createtime' => time()
|
// 'createtime' => time()
|
||||||
];
|
// ];
|
||||||
|
|
||||||
$res = Db::name('vs_user_money_log')->insert($data);
|
// $res = Db::name('vs_user_money_log')->insert($data);
|
||||||
if(!$res || !$addres){
|
$res = model('api/UserWallet')->change_user_cion_log($userId,$amount,$redpacket['room_id'],30,'30-抢红包(金币');
|
||||||
|
if(!$res){
|
||||||
Db::rollback();
|
Db::rollback();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -305,27 +305,18 @@ class PerformPerSecond
|
|||||||
if ($redpacket['left_amount'] > 0) {
|
if ($redpacket['left_amount'] > 0) {
|
||||||
// 更新用户钱包
|
// 更新用户钱包
|
||||||
$coinField = $redpacket['coin_type'] == 1 ? 'coin' : 'earnings';
|
$coinField = $redpacket['coin_type'] == 1 ? 'coin' : 'earnings';
|
||||||
//增加余额
|
if($coinField == 'coin'){
|
||||||
$addres = Db::name('user_wallet')
|
// //增加户金币并记录日志
|
||||||
->where('user_id', $redpacket['user_id'])
|
$wallet_update = model('api/UserWallet')->change_user_cion_log($redpacket['user_id'],$redpacket['left_amount'],$redpacket['room_id'],33,'红包剩余退回');
|
||||||
->inc($coinField, $redpacket['left_amount'])
|
if(!$wallet_update){
|
||||||
->update();
|
Db::rollback();
|
||||||
//记录用户金币日志
|
}
|
||||||
$data = [
|
}else{
|
||||||
'user_id' => $redpacket['user_id'],
|
//增加收益并记录日志
|
||||||
'change_value' => $redpacket['left_amount'],
|
$receiver = model('api/UserWallet')->change_user_earnings_log($redpacket['user_id'],$redpacket['left_amount'],$redpacket['room_id'],34,'红包剩余退回');
|
||||||
'room_id' => $redpacket['room_id'],
|
if(!$receiver){
|
||||||
'money_type' => $redpacket['coin_type'],
|
Db::rollback();
|
||||||
//记录日志 32-发红包(金币),29-发红包(钻石),30-抢红包(金币),31-抢红包(钻石),33-红包剩余退回(金币),34-红包剩余退回(钻石)
|
}
|
||||||
'change_type' => $redpacket['coin_type'] == 1 ? 33 : 34,
|
|
||||||
'from_id' => $redpacket['room_id'],
|
|
||||||
'remarks' => '红包剩余退回',
|
|
||||||
'createtime' => time()
|
|
||||||
];
|
|
||||||
|
|
||||||
$res = Db::name('vs_user_money_log')->insert($data);
|
|
||||||
if(!$res || !$addres){
|
|
||||||
Db::rollback();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -187,30 +187,34 @@ class RoomHourRanking
|
|||||||
//添加金币到钱包
|
//添加金币到钱包
|
||||||
public function add_coin($coin,$user_id,$ranking,$room_id,$total_price,$is_piao){
|
public function add_coin($coin,$user_id,$ranking,$room_id,$total_price,$is_piao){
|
||||||
if($coin > 0){
|
if($coin > 0){
|
||||||
$data = [
|
// $data = [
|
||||||
'user_id' => $user_id,
|
// 'user_id' => $user_id,
|
||||||
'change_value' => $coin,
|
// 'change_value' => $coin,
|
||||||
// 'room_id' => $room_ids,
|
//// 'room_id' => $room_ids,
|
||||||
'money_type' => 1,
|
// 'money_type' => 1,
|
||||||
'change_type' => 27,
|
// 'change_type' => 27,
|
||||||
'from_id' => 0,
|
// 'from_id' => 0,
|
||||||
'remarks' => '小时榜获得',
|
// 'remarks' => '小时榜获得',
|
||||||
'createtime' => time()
|
// 'createtime' => time()
|
||||||
];
|
// ];
|
||||||
|
//
|
||||||
|
// //开启事务
|
||||||
|
// Db::startTrans();
|
||||||
|
// $res = Db::name('vs_user_money_log')->insert($data);
|
||||||
|
// if(!$res){
|
||||||
|
// Db::rollback();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //增加用户金币
|
||||||
|
// $res1 = Db::name('user_wallet')->where(['user_id'=>$user_id])->setInc('coin',$coin);
|
||||||
|
// if(!$res1){
|
||||||
|
// Db::rollback();
|
||||||
|
// }
|
||||||
|
|
||||||
//开启事务
|
$res = model('api/UserWallet')->change_user_cion_log($user_id,$coin,0,27,'小时榜获得');
|
||||||
Db::startTrans();
|
|
||||||
$res = Db::name('vs_user_money_log')->insert($data);
|
|
||||||
if(!$res){
|
if(!$res){
|
||||||
Db::rollback();
|
Db::rollback();
|
||||||
}
|
}
|
||||||
|
|
||||||
//增加用户金币
|
|
||||||
$res1 = Db::name('user_wallet')->where(['user_id'=>$user_id])->setInc('coin',$coin);
|
|
||||||
if(!$res1){
|
|
||||||
Db::rollback();
|
|
||||||
}
|
|
||||||
|
|
||||||
//添加到排行表
|
//添加到排行表
|
||||||
$start_time = strtotime(date('Y-m-d H:00:00', strtotime('-1 hour')));
|
$start_time = strtotime(date('Y-m-d H:00:00', strtotime('-1 hour')));
|
||||||
$end_time = strtotime(date('Y-m-d H:00:00')) - 1;
|
$end_time = strtotime(date('Y-m-d H:00:00')) - 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user