购买爵位 充值和回调

This commit is contained in:
2025-11-05 11:40:51 +08:00
parent d96985b712
commit c47a19fd51
2 changed files with 85 additions and 69 deletions

View File

@@ -28,6 +28,7 @@ class Payment extends Controller
$coin = input('coin', 0);
$type_params = input('type_params', 0);
$type_id = input('type_id', 0);
$nobility_id = input('nobility_id', 0);//'0-购买金币充值其他是爵位id'
if(!$coin){
$coin = $money * get_system_config_value('rmb_coin_ratio');
@@ -66,6 +67,7 @@ class Payment extends Controller
$data['remarke'] = '充值到app用户'.($user_code ?? "") ."余额!";
$data['type_params'] = $type_params;
$data['type_id'] = $type_id;
$data['nobility_id'] = $nobility_id;
$re = db::name('vs_user_recharge')->insert($data);
if (!$re) {

View File

@@ -1138,26 +1138,7 @@ function handelCharge($where,$data){
if(!$orderModel){
return 0;
}
db::startTrans();
try{
$userModel = db::name('user_wallet')->where('user_id',$orderModel['user_id'])->find();
if(!$userModel){
return 0;
}
//每天任意充值金额
model('DailyTasks')->tasks_complete($orderModel['user_id'],4);
//增加余额
$res = db::name('user_wallet')->where('user_id',$orderModel['user_id'])->update([
'coin' => $userModel['coin'] + $orderModel['coin'],
'updatetime' => time()
]);
if(!$res){
db::rollback();
return 0;
}
if($orderModel['recharge_type'] == 1){//购买爵位
//修改订单状态
$res1 = db::name('vs_user_recharge')->where($where)->update([
'pay_status' => 2,
@@ -1166,63 +1147,96 @@ function handelCharge($where,$data){
'updatetime' => time()
]);
if(!$res1){
db::rollback();
return 0;
}
//查询是否首充
$is_first_charge = db::name('vs_user_money_log')->where('user_id',$orderModel['user_id'])->where('change_type',2)->where('money_type',1)->where(['createtime'=>['>=',"1760666400"]])->count();
//添加充值记录
$res2 = db::name('vs_user_money_log')->insert([
'user_id' => $orderModel['user_id'],
'change_type' => 2,
'money_type' => 1,
'change_value' => $orderModel['coin'],
'from_id' => $orderModel['rid'],
'remarks' => '充值',
'createtime' => time()
]);
if(!$res2){
db::rollback();
return 0;
}
model('Nobility')->buyNobility($orderModel['user_id'],$orderModel['recharge_type']);
return 1;
}else{//充值
db::startTrans();
try{
$userModel = db::name('user_wallet')->where('user_id',$orderModel['user_id'])->find();
if(!$userModel){
return 0;
}
//给上级返佣
//获取上级
$invited_user_id = db::name('vs_user_invited')->where('sub_user_id', $orderModel['user_id'])->value('user_id');
if($invited_user_id){
$re3 = model('Invited')->invited_reward($orderModel['user_id'],$orderModel['coin']);
if($re3['code'] != 1){
//每天任意充值金额
model('DailyTasks')->tasks_complete($orderModel['user_id'],4);
//增加余额
$res = db::name('user_wallet')->where('user_id',$orderModel['user_id'])->update([
'coin' => $userModel['coin'] + $orderModel['coin'],
'updatetime' => time()
]);
if(!$res){
db::rollback();
return 0;
}
//修改订单状态
$res1 = db::name('vs_user_recharge')->where($where)->update([
'pay_status' => 2,
'pay_time' => time(),
'trade_no' => $data['trade_no'],
'updatetime' => time()
]);
if(!$res1){
db::rollback();
return 0;
}
//查询是否首充
$is_first_charge = db::name('vs_user_money_log')->where('user_id',$orderModel['user_id'])->where('change_type',2)->where('money_type',1)->where(['createtime'=>['>=',"1760666400"]])->count();
//添加充值记录
$res2 = db::name('vs_user_money_log')->insert([
'user_id' => $orderModel['user_id'],
'change_type' => 2,
'money_type' => 1,
'change_value' => $orderModel['coin'],
'from_id' => $orderModel['rid'],
'remarks' => '充值',
'createtime' => time()
]);
if(!$res2){
db::rollback();
return 0;
}
}
db::commit();
//活动
//首充
if($is_first_charge == 0){
model('Activities')->first_charge_gift_send($orderModel['user_id'],$orderModel['money']);
}
//活动
if($orderModel['type_id'] == 6){
$orderModel['type_params'] = 2;
}elseif(in_array($orderModel['type_id'],[14,15,16])){
$orderModel['type_params'] = 3;
}
switch ($orderModel['type_params']){
case 2:
//天降好礼
model('Activities')->drop_gift_send($orderModel['user_id'],$orderModel['money']);
break;
case 3:
//新人好礼
model('Activities')->new_charge_gift_send($orderModel['user_id'],$orderModel['money']);
}
//给上级返佣
//获取上级
$invited_user_id = db::name('vs_user_invited')->where('sub_user_id', $orderModel['user_id'])->value('user_id');
if($invited_user_id){
$re3 = model('Invited')->invited_reward($orderModel['user_id'],$orderModel['coin']);
if($re3['code'] != 1){
db::rollback();
return 0;
}
}
db::commit();
return 1;
} catch (\Exception $e){
db::rollback();
return 0;
//活动
//首充
if($is_first_charge == 0){
model('Activities')->first_charge_gift_send($orderModel['user_id'],$orderModel['money']);
}
//活动
if($orderModel['type_id'] == 6){
$orderModel['type_params'] = 2;
}elseif(in_array($orderModel['type_id'],[14,15,16])){
$orderModel['type_params'] = 3;
}
switch ($orderModel['type_params']){
case 2:
//天降好礼
model('Activities')->drop_gift_send($orderModel['user_id'],$orderModel['money']);
break;
case 3:
//新人好礼
model('Activities')->new_charge_gift_send($orderModel['user_id'],$orderModel['money']);
}
return 1;
} catch (\Exception $e){
db::rollback();
return 0;
}
}
}