feat: 线上自助充值不再扣代理余额(系统直充)

会员通过第三方支付通道线上充值时,不再检查/扣减总代理余额。
真金白银从支付通道进来,直接加分给会员。

改动覆盖全部9个支付通道trait:
- 删除下单时的代理余额检查(不再拦截"余额不足")
- 回调时只检查代理是否存在,不检查余额
- 不扣减代理money字段
- 充值记录标记为"系统直充"而非"扣取总代理余分"

代理手动给会员上分(信用盘模式)不受影响,仍然扣代理自己的分。
This commit is contained in:
2026-05-24 19:25:05 +08:00
parent 0186f561c4
commit 0bf387f7d5
9 changed files with 53 additions and 106 deletions
@@ -73,10 +73,6 @@ trait alinPay
if (!$zdl) {
return json(['status' => 0, 'message' => '所属代理账号异常,暂不能充值']);
}
if ($zdl['money'] < $money) {
return json(['status' => 0, 'message' => '所属代理余额不足,暂不能充值']);
}
$pay_list = config('pay_list');
$pay_orderid = 'E' . date("YmdHis") . rand(100000, 999999);
$notify_url = $pay_list['alinPay']['notify_url'];
@@ -232,9 +228,9 @@ trait alinPay
'agent' => 1,
])->lock(true)->find();
if (!$zdl || $zdl['money'] < $order['money']) {
if (!$zdl) {
Db::rollback();
addLogToFile('代收结算失败:代理余额不足 order=' . $orderNo, 'alin_callback_error', 'alin');
addLogToFile('代收结算失败:无法找到总代理 order=' . $orderNo, 'alin_callback_error', 'alin');
return;
}
@@ -248,7 +244,7 @@ trait alinPay
'zdl_id' => $zdl['id'],
'zdl_username' => $zdl['username'],
'zdl_money_before' => $zdl['money'],
'zdl_money_after' => $zdl['money'] - $order['money'],
'zdl_money_after' => $zdl['money'],
'money_before' => $user['money'],
'money_after' => $user['money'] + $order['money'],
]);
@@ -272,9 +268,9 @@ trait alinPay
'controller_id' => $zdl['id'],
'controller_username' => $zdl['username'],
'controller_nickname' => $zdl['nickname'],
'controller_type' => '越南第三方充值平台充值,扣取总代理余分',
'controller_type' => '越南第三方充值平台充值,系统直充',
'controller_old_money' => $zdl['money'],
'controller_new_money' => $zdl['money'] - $order['money'],
'controller_new_money' => $zdl['money'],
'user_id' => $order['user_id'],
'user_type' => $user['agent'],
'user_agent_level' => 0,
@@ -288,9 +284,8 @@ trait alinPay
'remake' => '越南AlinPay第三方充值成功',
]);
// 4. 扣代理余额
// 4. 更新代理统计(不扣余额
Db::name('user')->where('id', $zdl['id'])->update([
'money' => $zdl['money'] - $order['money'],
'last_recharge_out' => $order['money'],
'last_recharge_out_time' => time(),
'recharge_out_count' => $zdl['recharge_out_count'] + 1,
@@ -67,17 +67,6 @@ trait ccpayPay
$data = encrypt_data(['status' => 0, 'message' => 'Tài khoản đại lý có vấn đề, không thể nạp']);
return json(['Success' => 1, 'Data' => $data]);
}
if ($zdl['money'] < $money) {
$maxAllowed = intval($zdl['money']);
$data = encrypt_data([
'status' => 0,
'code' => 'AGENT_LIMIT',
'message' => 'Hạn mức nạp mỗi lần hiện tại là ' . number_format($maxAllowed, 0, '.', ',') . ' VND. Vui lòng nhập số tiền nhỏ hơn hoặc bằng mức trên.',
'max_amount' => $maxAllowed,
]);
return json(['Success' => 1, 'Data' => $data]);
}
$pay_list = config('pay_list');
$pay_orderid = 'C' . date('YmdHis') . rand(100000, 999999);
$notify_url = $pay_list['ccpay']['notify_url'] ?? '';
@@ -331,9 +320,9 @@ trait ccpayPay
'agent' => 1,
])->lock(true)->find();
if (!$zdl || $zdl['money'] < $order['money']) {
if (!$zdl) {
Db::rollback();
addLogToFile('ccpay 结算失败: 代理余额不足 order=' . $orderNo, 'ccpay_callback_error', 'ccpay');
addLogToFile('ccpay 结算失败: 无法找到总代理 order=' . $orderNo, 'ccpay_callback_error', 'ccpay');
return;
}
@@ -348,7 +337,7 @@ trait ccpayPay
'zdl_id' => $zdl['id'],
'zdl_username' => $zdl['username'],
'zdl_money_before' => $zdl['money'],
'zdl_money_after' => $zdl['money'] - $order['money'],
'zdl_money_after' => $zdl['money'],
'money_before' => $user['money'],
'money_after' => $user['money'] + $order['money'],
]);
@@ -370,9 +359,9 @@ trait ccpayPay
'controller_id' => $zdl['id'],
'controller_username' => $zdl['username'],
'controller_nickname' => $zdl['nickname'],
'controller_type' => 'CCpay越南银行第三方充值,扣取总代理余分',
'controller_type' => 'CCpay越南银行第三方充值,系统直充',
'controller_old_money' => $zdl['money'],
'controller_new_money' => $zdl['money'] - $order['money'],
'controller_new_money' => $zdl['money'],
'user_id' => $order['user_id'],
'user_type' => $user['agent'],
'user_agent_level' => 0,
@@ -387,7 +376,6 @@ trait ccpayPay
]);
Db::name('user')->where('id', $zdl['id'])->update([
'money' => $zdl['money'] - $order['money'],
'last_recharge_out' => $order['money'],
'last_recharge_out_time' => time(),
'recharge_out_count' => $zdl['recharge_out_count'] + 1,
@@ -113,17 +113,6 @@ trait epayPay
$data = encrypt_data(['status' => 0, 'message' => 'Tài khoản đại lý có vấn đề, không thể nạp']);
return json(['Success' => 1, 'Data' => $data]);
}
if ($zdl['money'] < $money) {
$maxAllowed = intval($zdl['money']);
$data = encrypt_data([
'status' => 0,
'code' => 'AGENT_LIMIT',
'message' => 'Hạn mức nạp mỗi lần hiện tại là ' . number_format($maxAllowed, 0, '.', ',') . ' VND. Vui lòng nhập số tiền nhỏ hơn hoặc bằng mức trên.',
'max_amount' => $maxAllowed,
]);
return json(['Success' => 1, 'Data' => $data]);
}
$pay_list = config('pay_list');
$pay_orderid = 'P' . date('YmdHis') . rand(100000, 999999); // P 前缀区分 AlinPay 的 E
$notify_url = $pay_list['epay']['notify_url'] ?? '';
@@ -436,9 +425,9 @@ trait epayPay
'agent' => 1,
])->lock(true)->find();
if (!$zdl || $zdl['money'] < $order['money']) {
if (!$zdl) {
Db::rollback();
addLogToFile('epay 结算失败:代理余额不足 order=' . $orderNo, 'epay_callback_error', 'epay');
addLogToFile('epay 结算失败:无法找到总代理 order=' . $orderNo, 'epay_callback_error', 'epay');
return;
}
@@ -455,7 +444,7 @@ trait epayPay
'zdl_id' => $zdl['id'],
'zdl_username' => $zdl['username'],
'zdl_money_before' => $zdl['money'],
'zdl_money_after' => $zdl['money'] - $order['money'],
'zdl_money_after' => $zdl['money'],
'money_before' => $user['money'],
'money_after' => $user['money'] + $order['money'],
]);
@@ -479,9 +468,9 @@ trait epayPay
'controller_id' => $zdl['id'],
'controller_username' => $zdl['username'],
'controller_nickname' => $zdl['nickname'],
'controller_type' => '易支付第三方充值,扣取总代理余分',
'controller_type' => '易支付第三方充值,系统直充',
'controller_old_money' => $zdl['money'],
'controller_new_money' => $zdl['money'] - $order['money'],
'controller_new_money' => $zdl['money'],
'user_id' => $order['user_id'],
'user_type' => $user['agent'],
'user_agent_level' => 0,
@@ -495,9 +484,8 @@ trait epayPay
'remake' => '易支付第三方充值成功(' . ($data['type'] ?? '') . ')',
]);
// 4. 扣代理
// 4. 更新代理统计(不扣余额)
Db::name('user')->where('id', $zdl['id'])->update([
'money' => $zdl['money'] - $order['money'],
'last_recharge_out' => $order['money'],
'last_recharge_out_time' => time(),
'recharge_out_count' => $zdl['recharge_out_count'] + 1,
@@ -30,9 +30,6 @@ trait happyPay{
if(!$zdl){
return json(array('status' => 0, 'message' => '所属代理账号异常,暂不能充值'));
}
if($zdl['money'] < $money){
return json(array('status' => 0, 'message' => '所属代理余额不足,暂不能充值'));
}
$pay_list = config('pay_list');
if($user && $user_id > 0 && $money > 0 && $client > 0){
$pay_memberid = "API1362913582567500"; //商户CID
@@ -227,16 +224,16 @@ trait happyPay{
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$zdlId = $zdlIdArr[0];
$zdl = Db::name('user')->where(array('id' => $zdlId, 'status' => 1, 'is_delete' => 0, 'agent' => 1))->find();
if(!$zdl || $zdl['money'] < $order['money']){
if(!$zdl){
$update['status'] = 1;
$update['remake'] = '无法找到总代理,或者总代理账号余分不足,交易暂停';
$update['remake'] = '无法找到总代理,交易暂停';
Db::name('order_record')->where('id',$order['id'])->update($update);
$order_log = array();
$order_log['pay_channel_id'] = 5;
$order_log['pay_channel_name'] = 'happyPay';
$order_log['money'] = $order['money'];
$order_log['create_time'] = time();
$order_log['remake'] = "无法找到总代理,或者总代理账号余分不足,回调内容:".$serializeData;
$order_log['remake'] = "无法找到总代理,回调内容:".$serializeData;
$order_log['order_id'] = $order['id'];
Db::name('order_log')->insert($order_log);
exit('SUCCESS');//找不到总代理,回调失败
@@ -255,7 +252,7 @@ trait happyPay{
$call_back_data['zdl_id'] = $zdl['id'];
$call_back_data['zdl_username'] = $zdl['username'];
$call_back_data['zdl_money_before'] = $zdl['money'];
$call_back_data['zdl_money_after'] = $zdl['money'] - $order['money'];
$call_back_data['zdl_money_after'] = $zdl['money'];
$call_back_data['money_before'] = $user['money'];
$call_back_data['money_after'] = $user['money'] + $order['money'];
Db::name('order_record')->where(array('id' => $order['id']))->update($call_back_data);
@@ -278,9 +275,9 @@ trait happyPay{
$recharge['controller_id'] = $zdl['id'];
$recharge['controller_username'] = $zdl['username'];
$recharge['controller_nickname'] = $zdl['nickname'];
$recharge['controller_type'] = '第三方充值平台充值,扣取总代理余分';
$recharge['controller_type'] = '第三方充值平台充值,系统直充';
$recharge['controller_old_money'] = $zdl['money'];
$recharge['controller_new_money'] = $zdl['money'] - $order['money'];
$recharge['controller_new_money'] = $zdl['money'];
$recharge['user_id'] = $order['user_id'];
$recharge['user_type'] = $user['agent'];
$recharge['user_agent_level'] = 0;
@@ -294,7 +291,6 @@ trait happyPay{
$recharge['remake'] = '第三方充值成功';
Db::name('recharge')->insert($recharge);
$updateZdl = array();
$updateZdl['money'] = $zdl['money'] - $order['money'];
$updateZdl['last_recharge_out'] = $order['money'];
$updateZdl['last_recharge_out_time'] = time();
$updateZdl['recharge_out_count'] = $zdl['recharge_out_count'] + 1;
@@ -28,9 +28,6 @@ trait hengfuPay{
if(!$zdl){
return json(array('status' => 0, 'message' => '所属代理账号异常,暂不能充值'));
}
if($zdl['money'] < $money){
return json(array('status' => 0, 'message' => '所属代理余额不足,暂不能充值'));
}
$pay_list = config('pay_list');
if($user && $user_id > 0 && $money > 0 && $client > 0){
$sn = '1965312301';
@@ -168,17 +165,17 @@ trait hengfuPay{
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$zdlId = $zdlIdArr[0];
$zdl = Db::name('user')->where(array('id' => $zdlId, 'status' => 1, 'is_delete' => 0, 'agent' => 1))->find();
if(!$zdl || $zdl['money'] < $order['money']){
if(!$zdl){
//找不到总代理,回调失败
$update['status'] = 1;
$update['remake'] = '无法找到总代理,或者总代理账号余分不足,交易暂停';
$update['remake'] = '无法找到总代理,交易暂停';
Db::name('order_record')->where('id',$order['id'])->update($update);
$order_log = array();
$order_log['pay_channel_id'] = 6;
$order_log['pay_channel_name'] = 'hengfuPay';
$order_log['money'] = $order['money'];
$order_log['create_time'] = time();
$order_log['remake'] = "无法找到总代理,或者总代理账号余分不足,回调内容:".$serializeData;
$order_log['remake'] = "无法找到总代理,回调内容:".$serializeData;
$order_log['order_id'] = $order['id'];
Db::name('order_log')->insert($order_log);
exit('success');
@@ -194,7 +191,7 @@ trait hengfuPay{
$call_back_data['zdl_id'] = $zdl['id'];
$call_back_data['zdl_username'] = $zdl['username'];
$call_back_data['zdl_money_before'] = $zdl['money'];
$call_back_data['zdl_money_after'] = $zdl['money'] - $order['money'];
$call_back_data['zdl_money_after'] = $zdl['money'];
$call_back_data['money_before'] = $user['money'];
$call_back_data['money_after'] = $user['money'] + $order['money'];
Db::name('order_record')->where(array('id' => $order['id']))->update($call_back_data);
@@ -217,9 +214,9 @@ trait hengfuPay{
$recharge['controller_id'] = $zdl['id'];
$recharge['controller_username'] = $zdl['username'];
$recharge['controller_nickname'] = $zdl['nickname'];
$recharge['controller_type'] = '第三方充值平台充值,扣取总代理余分';
$recharge['controller_type'] = '第三方充值平台充值,系统直充';
$recharge['controller_old_money'] = $zdl['money'];
$recharge['controller_new_money'] = $zdl['money'] - $order['money'];
$recharge['controller_new_money'] = $zdl['money'];
$recharge['user_id'] = $order['user_id'];
$recharge['user_type'] = $user['agent'];
$recharge['user_agent_level'] = 0;
@@ -233,7 +230,6 @@ trait hengfuPay{
$recharge['remake'] = '第三方充值成功';
Db::name('recharge')->insert($recharge);
$updateZdl = array();
$updateZdl['money'] = $zdl['money'] - $order['money'];
$updateZdl['last_recharge_out'] = $order['money'];
$updateZdl['last_recharge_out_time'] = time();
$updateZdl['recharge_out_count'] = $zdl['recharge_out_count'] + 1;
@@ -36,9 +36,6 @@ trait hipPay{
if(!$zdl){
return json(array('status' => 0, 'message' => '所属代理账号异常,暂不能充值'));
}
if($zdl['money'] < $money){
return json(array('status' => 0, 'message' => '所属代理余额不足,暂不能充值'));
}
$pay_list = config('pay_list');
if($user && $user_id > 0 && $money > 0 && $client > 0){
$pay_orderid = date("YmdHis").rand(10,99); //订单号
@@ -174,16 +171,16 @@ trait hipPay{
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$zdlId = $zdlIdArr[0];
$zdl = Db::name('user')->where(array('id' => $zdlId, 'status' => 1, 'is_delete' => 0, 'agent' => 1))->find();
if(!$zdl || $zdl['money'] < $order['money']){
if(!$zdl){
$update['status'] = 1;
$update['remake'] = '无法找到总代理,或者总代理账号余分不足,交易暂停';
$update['remake'] = '无法找到总代理,交易暂停';
Db::name('order_record')->where('id',$order['id'])->update($update);
$order_log = array();
$order_log['pay_channel_id'] = 3;
$order_log['pay_channel_name'] = 'hipPay';
$order_log['money'] = $order['money'];
$order_log['create_time'] = time();
$order_log['remake'] = "无法找到总代理,或者总代理账号余分不足,回调内容:".$serializeData;
$order_log['remake'] = "无法找到总代理,回调内容:".$serializeData;
$order_log['order_id'] = $order['id'];
Db::name('order_log')->insert($order_log);
exit('OK');//找不到总代理,回调失败
@@ -200,7 +197,7 @@ trait hipPay{
$call_back_data['zdl_id'] = $zdl['id'];
$call_back_data['zdl_username'] = $zdl['username'];
$call_back_data['zdl_money_before'] = $zdl['money'];
$call_back_data['zdl_money_after'] = $zdl['money'] - $order['money'];
$call_back_data['zdl_money_after'] = $zdl['money'];
$call_back_data['money_before'] = $user['money'];
$call_back_data['money_after'] = $user['money'] + $order['money'];
Db::name('order_record')->where(array('id' => $order['id']))->update($call_back_data);
@@ -223,9 +220,9 @@ trait hipPay{
$recharge['controller_id'] = $zdl['id'];
$recharge['controller_username'] = $zdl['username'];
$recharge['controller_nickname'] = $zdl['nickname'];
$recharge['controller_type'] = '第三方充值平台充值,扣取总代理余分';
$recharge['controller_type'] = '第三方充值平台充值,系统直充';
$recharge['controller_old_money'] = $zdl['money'];
$recharge['controller_new_money'] = $zdl['money'] - $order['money'];
$recharge['controller_new_money'] = $zdl['money'];
$recharge['user_id'] = $order['user_id'];
$recharge['user_type'] = $user['agent'];
$recharge['user_agent_level'] = 0;
@@ -239,7 +236,6 @@ trait hipPay{
$recharge['remake'] = '第三方充值成功';
Db::name('recharge')->insert($recharge);
$updateZdl = array();
$updateZdl['money'] = $zdl['money'] - $order['money'];
$updateZdl['last_recharge_out'] = $order['money'];
$updateZdl['last_recharge_out_time'] = time();
$updateZdl['recharge_out_count'] = $zdl['recharge_out_count'] + 1;
@@ -36,9 +36,6 @@ trait oneGoPay{
if(!$zdl){
return json(array('status' => 0, 'message' => '所属代理账号异常,暂不能充值'));
}
if($zdl['money'] < $money){
return json(array('status' => 0, 'message' => '所属代理余额不足,暂不能充值'));
}
$pay_list = config('pay_list');
if($user && $user_id > 0 && $money > 0 && $client > 0){
$pay_orderid = 'E'.date("YmdHis").rand(100000,999999); //订单号
@@ -155,16 +152,16 @@ trait oneGoPay{
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$zdlId = $zdlIdArr[0];
$zdl = Db::name('user')->where(array('id' => $zdlId, 'status' => 1, 'is_delete' => 0, 'agent' => 1))->find();
if(!$zdl || $zdl['money'] < $order['money']){
if(!$zdl){
$update['status'] = 1;
$update['remake'] = '无法找到总代理,或者总代理账号余分不足,交易暂停';
$update['remake'] = '无法找到总代理,交易暂停';
Db::name('order_record')->where('id',$order['id'])->update($update);
$order_log = array();
$order_log['pay_channel_id'] = 2;
$order_log['pay_channel_name'] = 'oneGoPay';
$order_log['money'] = $order['money'];
$order_log['create_time'] = time();
$order_log['remake'] = "无法找到总代理,或者总代理账号余分不足,回调内容:".$serializePost;
$order_log['remake'] = "无法找到总代理,回调内容:".$serializePost;
$order_log['order_id'] = $order['id'];
Db::name('order_log')->insert($order_log);
exit('OK');//找不到总代理,回调失败
@@ -181,7 +178,7 @@ trait oneGoPay{
$call_back_data['zdl_id'] = $zdl['id'];
$call_back_data['zdl_username'] = $zdl['username'];
$call_back_data['zdl_money_before'] = $zdl['money'];
$call_back_data['zdl_money_after'] = $zdl['money'] - $order['money'];
$call_back_data['zdl_money_after'] = $zdl['money'];
$call_back_data['money_before'] = $user['money'];
$call_back_data['money_after'] = $user['money'] + $order['money'];
Db::name('order_record')->where(array('id' => $order['id']))->update($call_back_data);
@@ -204,9 +201,9 @@ trait oneGoPay{
$recharge['controller_id'] = $zdl['id'];
$recharge['controller_username'] = $zdl['username'];
$recharge['controller_nickname'] = $zdl['nickname'];
$recharge['controller_type'] = '第三方充值平台充值,扣取总代理余分';
$recharge['controller_type'] = '第三方充值平台充值,系统直充';
$recharge['controller_old_money'] = $zdl['money'];
$recharge['controller_new_money'] = $zdl['money'] - $order['money'];
$recharge['controller_new_money'] = $zdl['money'];
$recharge['user_id'] = $order['user_id'];
$recharge['user_type'] = $user['agent'];
$recharge['user_agent_level'] = 0;
@@ -220,7 +217,6 @@ trait oneGoPay{
$recharge['remake'] = '第三方充值成功';
Db::name('recharge')->insert($recharge);
$updateZdl = array();
$updateZdl['money'] = $zdl['money'] - $order['money'];
$updateZdl['last_recharge_out'] = $order['money'];
$updateZdl['last_recharge_out_time'] = time();
$updateZdl['recharge_out_count'] = $zdl['recharge_out_count'] + 1;
@@ -30,9 +30,6 @@ trait tingPay{
if(!$zdl){
return json(array('status' => 0, 'message' => '所属代理账号异常,暂不能充值'));
}
if($zdl['money'] < $money){
return json(array('status' => 0, 'message' => '所属代理余额不足,暂不能充值'));
}
$pay_list = config('pay_list');
if($user && $user_id > 0 && $money > 0 && $client > 0){
$pay_memberid = "3359"; //商户CID
@@ -179,16 +176,16 @@ trait tingPay{
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$zdlId = $zdlIdArr[0];
$zdl = Db::name('user')->where(array('id' => $zdlId, 'status' => 1, 'is_delete' => 0, 'agent' => 1))->find();
if(!$zdl || $zdl['money'] < $order['money']){
if(!$zdl){
$update['status'] = 1;
$update['remake'] = '无法找到总代理,或者总代理账号余分不足,交易暂停';
$update['remake'] = '无法找到总代理,交易暂停';
Db::name('order_record')->where('id',$order['id'])->update($update);
$order_log = array();
$order_log['pay_channel_id'] = 4;
$order_log['pay_channel_name'] = 'tingPay';
$order_log['money'] = $order['money'];
$order_log['create_time'] = time();
$order_log['remake'] = "无法找到总代理,或者总代理账号余分不足,回调内容:".$serializeData;
$order_log['remake'] = "无法找到总代理,回调内容:".$serializeData;
$order_log['order_id'] = $order['id'];
Db::name('order_log')->insert($order_log);
exit('success');//找不到总代理,回调失败
@@ -207,7 +204,7 @@ trait tingPay{
$call_back_data['zdl_id'] = $zdl['id'];
$call_back_data['zdl_username'] = $zdl['username'];
$call_back_data['zdl_money_before'] = $zdl['money'];
$call_back_data['zdl_money_after'] = $zdl['money'] - $order['money'];
$call_back_data['zdl_money_after'] = $zdl['money'];
$call_back_data['money_before'] = $user['money'];
$call_back_data['money_after'] = $user['money'] + $order['money'];
Db::name('order_record')->where(array('id' => $order['id']))->update($call_back_data);
@@ -230,9 +227,9 @@ trait tingPay{
$recharge['controller_id'] = $zdl['id'];
$recharge['controller_username'] = $zdl['username'];
$recharge['controller_nickname'] = $zdl['nickname'];
$recharge['controller_type'] = '第三方充值平台充值,扣取总代理余分';
$recharge['controller_type'] = '第三方充值平台充值,系统直充';
$recharge['controller_old_money'] = $zdl['money'];
$recharge['controller_new_money'] = $zdl['money'] - $order['money'];
$recharge['controller_new_money'] = $zdl['money'];
$recharge['user_id'] = $order['user_id'];
$recharge['user_type'] = $user['agent'];
$recharge['user_agent_level'] = 0;
@@ -246,7 +243,6 @@ trait tingPay{
$recharge['remake'] = '第三方充值成功';
Db::name('recharge')->insert($recharge);
$updateZdl = array();
$updateZdl['money'] = $zdl['money'] - $order['money'];
$updateZdl['last_recharge_out'] = $order['money'];
$updateZdl['last_recharge_out_time'] = time();
$updateZdl['recharge_out_count'] = $zdl['recharge_out_count'] + 1;
@@ -30,9 +30,6 @@ trait yonghengPay{
if(!$zdl){
return json(array('status' => 0, 'message' => '所属代理账号异常,暂不能充值'));
}
if($zdl['money'] < $money){
return json(array('status' => 0, 'message' => '所属代理余额不足,暂不能充值'));
}
$pay_list = config('pay_list');
if($user && $user_id > 0 && $money > 0 && $client > 0){
$pay_memberid = "11319"; //商户ID
@@ -227,16 +224,16 @@ trait yonghengPay{
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$zdlId = $zdlIdArr[0];
$zdl = Db::name('user')->where(array('id' => $zdlId, 'status' => 1, 'is_delete' => 0, 'agent' => 1))->find();
if(!$zdl || $zdl['money'] < $order['money']){
if(!$zdl){
$update['status'] = 1;
$update['remake'] = '无法找到总代理,或者总代理账号余分不足,交易暂停';
$update['remake'] = '无法找到总代理,交易暂停';
Db::name('order_record')->where('id',$order['id'])->update($update);
$order_log = array();
$order_log['pay_channel_id'] = 1;
$order_log['pay_channel_name'] = '永恒168';
$order_log['money'] = $order['money'];
$order_log['create_time'] = time();
$order_log['remake'] = "无法找到总代理,或者总代理账号余分不足,回调内容:".$serializePost;
$order_log['remake'] = "无法找到总代理,回调内容:".$serializePost;
$order_log['order_id'] = $order['id'];
Db::name('order_log')->insert($order_log);
exit('OK');//找不到总代理,回调失败
@@ -254,7 +251,7 @@ trait yonghengPay{
$call_back_data['zdl_id'] = $zdl['id'];
$call_back_data['zdl_username'] = $zdl['username'];
$call_back_data['zdl_money_before'] = $zdl['money'];
$call_back_data['zdl_money_after'] = $zdl['money'] - $order['money'];
$call_back_data['zdl_money_after'] = $zdl['money'];
$call_back_data['money_before'] = $user['money'];
$call_back_data['money_after'] = $user['money'] + $order['money'];
Db::name('order_record')->where(array('id' => $order['id']))->update($call_back_data);
@@ -277,9 +274,9 @@ trait yonghengPay{
$recharge['controller_id'] = $zdl['id'];
$recharge['controller_username'] = $zdl['username'];
$recharge['controller_nickname'] = $zdl['nickname'];
$recharge['controller_type'] = '第三方充值平台充值,扣取总代理余分';
$recharge['controller_type'] = '第三方充值平台充值,系统直充';
$recharge['controller_old_money'] = $zdl['money'];
$recharge['controller_new_money'] = $zdl['money'] - $order['money'];
$recharge['controller_new_money'] = $zdl['money'];
$recharge['user_id'] = $order['user_id'];
$recharge['user_type'] = $user['agent'];
$recharge['user_agent_level'] = 0;
@@ -293,7 +290,6 @@ trait yonghengPay{
$recharge['remake'] = '第三方充值成功';
Db::name('recharge')->insert($recharge);
$updateZdl = array();
$updateZdl['money'] = $zdl['money'] - $order['money'];
$updateZdl['last_recharge_out'] = $order['money'];
$updateZdl['last_recharge_out_time'] = time();
$updateZdl['recharge_out_count'] = $zdl['recharge_out_count'] + 1;