购买爵位 充值和回调
This commit is contained in:
@@ -28,6 +28,7 @@ class Payment extends Controller
|
|||||||
$coin = input('coin', 0);
|
$coin = input('coin', 0);
|
||||||
$type_params = input('type_params', 0);
|
$type_params = input('type_params', 0);
|
||||||
$type_id = input('type_id', 0);
|
$type_id = input('type_id', 0);
|
||||||
|
$nobility_id = input('nobility_id', 0);//'0-购买金币(充值),其他是爵位id'
|
||||||
|
|
||||||
if(!$coin){
|
if(!$coin){
|
||||||
$coin = $money * get_system_config_value('rmb_coin_ratio');
|
$coin = $money * get_system_config_value('rmb_coin_ratio');
|
||||||
@@ -66,6 +67,7 @@ class Payment extends Controller
|
|||||||
$data['remarke'] = '充值到app用户'.($user_code ?? "") ."余额!";
|
$data['remarke'] = '充值到app用户'.($user_code ?? "") ."余额!";
|
||||||
$data['type_params'] = $type_params;
|
$data['type_params'] = $type_params;
|
||||||
$data['type_id'] = $type_id;
|
$data['type_id'] = $type_id;
|
||||||
|
$data['nobility_id'] = $nobility_id;
|
||||||
|
|
||||||
$re = db::name('vs_user_recharge')->insert($data);
|
$re = db::name('vs_user_recharge')->insert($data);
|
||||||
if (!$re) {
|
if (!$re) {
|
||||||
|
|||||||
@@ -1138,26 +1138,7 @@ function handelCharge($where,$data){
|
|||||||
if(!$orderModel){
|
if(!$orderModel){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if($orderModel['recharge_type'] == 1){//购买爵位
|
||||||
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;
|
|
||||||
}
|
|
||||||
//修改订单状态
|
//修改订单状态
|
||||||
$res1 = db::name('vs_user_recharge')->where($where)->update([
|
$res1 = db::name('vs_user_recharge')->where($where)->update([
|
||||||
'pay_status' => 2,
|
'pay_status' => 2,
|
||||||
@@ -1166,63 +1147,96 @@ function handelCharge($where,$data){
|
|||||||
'updatetime' => time()
|
'updatetime' => time()
|
||||||
]);
|
]);
|
||||||
if(!$res1){
|
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;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
//给上级返佣
|
//每天任意充值金额
|
||||||
//获取上级
|
model('DailyTasks')->tasks_complete($orderModel['user_id'],4);
|
||||||
$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']);
|
$res = db::name('user_wallet')->where('user_id',$orderModel['user_id'])->update([
|
||||||
if($re3['code'] != 1){
|
'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();
|
db::rollback();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
db::commit();
|
|
||||||
|
|
||||||
//活动
|
//给上级返佣
|
||||||
//首充
|
//获取上级
|
||||||
if($is_first_charge == 0){
|
$invited_user_id = db::name('vs_user_invited')->where('sub_user_id', $orderModel['user_id'])->value('user_id');
|
||||||
model('Activities')->first_charge_gift_send($orderModel['user_id'],$orderModel['money']);
|
if($invited_user_id){
|
||||||
}
|
$re3 = model('Invited')->invited_reward($orderModel['user_id'],$orderModel['coin']);
|
||||||
//活动
|
if($re3['code'] != 1){
|
||||||
if($orderModel['type_id'] == 6){
|
db::rollback();
|
||||||
$orderModel['type_params'] = 2;
|
return 0;
|
||||||
}elseif(in_array($orderModel['type_id'],[14,15,16])){
|
}
|
||||||
$orderModel['type_params'] = 3;
|
}
|
||||||
}
|
db::commit();
|
||||||
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();
|
if($is_first_charge == 0){
|
||||||
return 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