购买爵位 充值和回调
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user