diff --git a/app/common/controller/Wxpay.php b/app/common/controller/Wxpay.php index d91a072..fbe35db 100644 --- a/app/common/controller/Wxpay.php +++ b/app/common/controller/Wxpay.php @@ -10,6 +10,9 @@ use app\jinyou\model\Account as AccountModel; use app\jinyou\model\Package as PackageModel; use app\jinqiao\model\Order as JqOrderModel; use app\jinqiao\model\Key as KeyModel; +use app\agent\model\AgentUser as AgentModel; +use app\agent\model\ProductPriceScheme; +use app\agent\model\AgentScore as AgentScoreModel; class Wxpay { @@ -144,6 +147,50 @@ class Wxpay { $account_model = new AccountModel; $account_model->open_account($account_info,$user_info,$package_info); + //代理计算 + if($order_info['agent_id'] != 0 && $order_info['PaymentAmount'] != 0.1){ + + $agent_model = new AgentModel(); + + $agent_info = $agent_model->getOne(['id' => $order_info['agent_id']]); + + //根据折扣设置价格 + $score_money = 0.00; + + if($agent_info['discount_id'] != 0){ + + $scheme_model = new ProductPriceScheme(); + //获取代理折扣 + $discount = $scheme_model->getOne(['discount_id' => $agent_info['discount_id']]); + + $price = $package_info['LinePrice'] * $discount['discount'] / 100; + $score_money = $order_info['PaymentAmount'] - $order_info['ConnectCount'] * $order_info['AccountCount'] * $price; + } + + $score_model = new AgentScoreModel(); + + $score_data = [ + 'agent_id' => $order_info['agent_id'], + 'order_id' => $order_info['Id'], + 'score_type' => 1, + 'score_value' => $score_money, + 'remark' => "客户购买产品".$order_info['Accounts'], + 'agent_name' => $agent_info['username'], + 'op_user' => $order_info['UserName'], + 'rest_amount1' => $agent_info['account'], + 'rest_amount2' => $agent_info['account'] + $score_money + ]; + + $agent_data = ['account' => ($agent_info['account'] + $score_money)]; + + $score_model->add($score_data); + + $agent_model->updateOne(['id' => $order_info['agent_id']],$agent_data); + + } + + + //处理完成之后,告诉微信成功结果 echo ' diff --git a/app/jinyou/controller/Jinyoujt.php b/app/jinyou/controller/Jinyoujt.php index 23d7a6f..d326e41 100644 --- a/app/jinyou/controller/Jinyoujt.php +++ b/app/jinyou/controller/Jinyoujt.php @@ -15,6 +15,9 @@ use app\user\model\UserScore as UserScore; use app\jinyou\model\Account as AccountModel; use extend\wechatpay\Wxpay; use extend\alipay\Alipay; +use app\agent\model\AgentUser as AgentModel; +use app\agent\model\ProductPriceScheme; +use app\agent\model\AgentScore as AgentScoreModel; class Jinyoujt extends Controller { @@ -242,6 +245,49 @@ class Jinyoujt extends Controller $account_model = new AccountModel; $return_data = $account_model->open_account($request_data,$user_info,$package_info); + + //代理计算 + if($order_info['agent_id'] != 0 && $order_info['PaymentAmount'] != 0.1){ + + $agent_model = new AgentModel(); + + $agent_info = $agent_model->getOne(['id' => $order_info['agent_id']]); + + //根据折扣设置价格 + $score_money = 0.00; + + if($agent_info['discount_id'] != 0){ + + $scheme_model = new ProductPriceScheme(); + //获取代理折扣 + $discount = $scheme_model->getOne(['discount_id' => $agent_info['discount_id']]); + + $price = $package_info['LinePrice'] * $discount['discount'] / 100; + $score_money = $order_info['PaymentAmount'] - $order_info['ConnectCount'] * $order_info['AccountCount'] * $price; + } + + $score_model = new AgentScoreModel(); + + $score_data = [ + 'agent_id' => $order_info['agent_id'], + 'order_id' => $order_info['Id'], + 'score_type' => 1, + 'score_value' => $score_money, + 'remark' => "客户购买产品".$order_info['Accounts'], + 'agent_name' => $agent_info['username'], + 'op_user' => $order_info['UserName'], + 'rest_amount1' => $agent_info['account'], + 'rest_amount2' => $agent_info['account'] + $score_money + ]; + + $agent_data = ['account' => ($agent_info['account'] + $score_money)]; + + $score_model->add($score_data); + + $agent_model->updateOne(['id' => $order_info['agent_id']],$agent_data); + + } + echo json_encode($return_data); } else { $return_data['code'] = -1;