Преглед изворни кода

话费赠送:贡献值、积分

family пре 1 година
родитељ
комит
7aa032d637

+ 137 - 148
app/common/repositories/store/order/StoreOrderRepository.php

@@ -745,7 +745,7 @@ class StoreOrderRepository extends BaseRepository
745 745
                     'order_type' => 0,
746 746
                     'extension_one' => round($total_extension_one, 2),
747 747
 //                    'extension_two' => $total_extension_two,
748
-                    'extension_two' => !empty($product_attr_unique_datas['extension_two'])?$product_attr_unique_datas['extension_two']:0.00,//@todo 此字段已被用于分佣比例
748
+                    'extension_two' => !empty($product_attr_unique_datas['extension_two']) ? $product_attr_unique_datas['extension_two'] : 0.00,//@todo 此字段已被用于分佣比例
749 749
                     'orderInfo' => $cartInfo['order'],
750 750
                     'cartInfo' => $cartInfo['list'],
751 751
                     'order_sn' => $this->getNewOrderId() . ($k + 1),
@@ -1054,22 +1054,20 @@ class StoreOrderRepository extends BaseRepository
1054 1054
                             ];
1055 1055
                             $user_res_log = Db::name("user_sign_vr")->insert($log_data);
1056 1056
 
1057
-                          
1058
-
1059 1057
 
1060 1058
                         } else if (!empty($array_fzone_paytype['type'] == 'a3')) {
1061 1059
 
1062 1060
                             //$paystage_status = 1;
1063 1061
 
1064 1062
                             //在VR+现金支付的时候,如果用户直接用vr支付了,没有用到现金的情况,需要更改订单状态
1065
-                            $userdatas = Db::name('user')->where('uid',$uid)->find();//
1063
+                            $userdatas = Db::name('user')->where('uid', $uid)->find();//
1066 1064
                             //如果组合支付中,没有现金,只是用VR支付的情况下
1067
-                            if($array_fzone_paytype['price'] <= 0){
1065
+                            if ($array_fzone_paytype['price'] <= 0) {
1068 1066
 
1069
-                               $total_vr = $userdatas['vr'] - $array_fzone_paytype['other'];
1067
+                                $total_vr = $userdatas['vr'] - $array_fzone_paytype['other'];
1070 1068
 
1071
-                               if($total_vr >= 0){
1072
-                                    $user_data_dev_vr =Db::name('user')->where('uid',$uid)->update(['vr'=>$total_vr]);//
1069
+                                if ($total_vr >= 0) {
1070
+                                    $user_data_dev_vr = Db::name('user')->where('uid', $uid)->update(['vr' => $total_vr]);//
1073 1071
                                     if ($user_data_dev_vr) {
1074 1072
                                         //支出账号存到log日志
1075 1073
                                         $log_data = [
@@ -1085,14 +1083,14 @@ class StoreOrderRepository extends BaseRepository
1085 1083
                                         ];
1086 1084
                                         $user_res_log = Db::name("user_sign_vr")->insert($log_data);
1087 1085
 
1088
-                                                    //修改订单状态
1089
-                                        Db::name("store_order")->where("order_id",  $_order->order_id)->update(['paid' => 1, 'pay_time' => date('Y-m-d H:i:s'), 'status' => 0, 'distribution_mode' => 1]);
1086
+                                        //修改订单状态
1087
+                                        Db::name("store_order")->where("order_id", $_order->order_id)->update(['paid' => 1, 'pay_time' => date('Y-m-d H:i:s'), 'status' => 0, 'distribution_mode' => 1]);
1090 1088
                                         Db::name("store_group_order")->where("group_order_id", $groupOrder->group_order_id)->update(['paid' => 1, 'pay_time' => date('Y-m-d H:i:s')]);
1091 1089
                                         $paystage_status = 1;
1092 1090
 
1093
-                                    }else{
1091
+                                    } else {
1094 1092
                                         $log_data = [
1095
-                                            'note' => "uid:" . $uid . " 购买会员专区商品消费VR:" . $array_fzone_paytype['other'] . " 用户消费前的VR余额:" .   $total_vr . "描述:" . "未扣成功!" . "备注:" . json_encode($array_fzone_paytype),
1093
+                                            'note' => "uid:" . $uid . " 购买会员专区商品消费VR:" . $array_fzone_paytype['other'] . " 用户消费前的VR余额:" . $total_vr . "描述:" . "未扣成功!" . "备注:" . json_encode($array_fzone_paytype),
1096 1094
                                             'create_time' => date("Y-m-d H:i:s", time())
1097 1095
                                         ];
1098 1096
 
@@ -1130,7 +1128,7 @@ class StoreOrderRepository extends BaseRepository
1130 1128
                             ];
1131 1129
                             $user_res_log = Db::name("user_sign_fugou")->insert($log_data);
1132 1130
 
1133
-                            $commissionMoney = !empty($order['con_pri'])?$order['con_pri']:0.00;//$array_fzone_paytype['price'] * 0.3;
1131
+                            $commissionMoney = !empty($order['con_pri']) ? $order['con_pri'] : 0.00;//$array_fzone_paytype['price'] * 0.3;
1134 1132
                             //判断数据库有无此订单
1135 1133
                             $type_shop = 0;
1136 1134
                             /** @var UserThirdRepository $orderThird */
@@ -2363,13 +2361,13 @@ class StoreOrderRepository extends BaseRepository
2363 2361
                     ['type' => 'c1', 'price' => $orderpri, 'other' => 0, 'note' => "复购金"],
2364 2362
                 ];
2365 2363
 
2366
-            } else{
2364
+            } else {
2367 2365
                 // 商贸区
2368 2366
                 /** @var \app\common\repositories\merchant\MerchantRepository $merchant */
2369 2367
                 $merchant = app()->make(MerchantRepository::class);
2370 2368
                 $merchantInfo = $merchant->get($store_product_datas['mer_id']);
2371 2369
                 // 1企业2个体3个人
2372
-                if ($merchantInfo && in_array($merchantInfo['type'],[2,3])) {
2370
+                if ($merchantInfo && in_array($merchantInfo['type'], [2, 3])) {
2373 2371
                     $jf = $orderpri - round($store_product_datas['concession_pri'] * 0.3, 2) . ' + ' . round($store_product_datas['concession_pri'] * 0.3, 2);
2374 2372
                     $jd = $orderpri - round($store_product_datas['concession_pri'] * 0.35, 2) . ' + ' . round($store_product_datas['concession_pri'] * 0.35, 2);
2375 2373
                     if ($store_product_datas['concession_pri'] != null || $store_product_datas['concession_pri'] != 0) {
@@ -2411,7 +2409,7 @@ class StoreOrderRepository extends BaseRepository
2411 2409
 //                        ['type' => 'b1', 'price' => $jcvr, 'other' => $jcjf, 'note' => "VR+积分"],
2412 2410
                             ['type' => 'b2', 'price' => $jcprice, 'other' => $jcjf1, "note" => "现金+积分"],
2413 2411
                             // ['type'=>'b3','price'=>$jcvr1,'other'=>$jcjd,"note"=>"VR+京豆"],
2414
-                            ['type'=>'b4','price'=>$jcvr1,'other'=>$jcjd,"note"=>"现金+京豆"],
2412
+                            ['type' => 'b4', 'price' => $jcvr1, 'other' => $jcjd, "note" => "现金+京豆"],
2415 2413
 //                        ['type' => 'b5', 'price' => $orderpri, 'other' => 0, "note" => "VR"],
2416 2414
                             ['type' => 'b6', 'price' => $orderpri, 'other' => 0, "note" => "现金"],
2417 2415
 
@@ -7791,16 +7789,16 @@ class StoreOrderRepository extends BaseRepository
7791 7789
             if ($pay_type == 1) {
7792 7790
                 //微信
7793 7791
                 // if ($order_group_data['pay_wx'] == 3) {
7794
-                    $tdba_member_id = 'jsdk_member_wx21689817115207';//天地博爱科技公司
7795
-                    $yihucha_member_id = 'jsdk_member_wx21689817115207';//河北省一壶茶电子商务有限公司
7796
-                    $api_key = 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
7792
+                $tdba_member_id = 'jsdk_member_wx21689817115207';//天地博爱科技公司
7793
+                $yihucha_member_id = 'jsdk_member_wx21689817115207';//河北省一壶茶电子商务有限公司
7794
+                $api_key = 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
7797 7795
                 // } else {
7798 7796
                 //     //废弃的
7799 7797
                 //     $tdba_member_id = 'jsdk_member_wx1689731494604';
7800 7798
                 //     $api_key = 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
7801 7799
                 //     $yihucha_member_id = 'jsdk_member_wx1700272658386';
7802 7800
                 // }
7803
-            } else {    
7801
+            } else {
7804 7802
                 //支付宝
7805 7803
                 $api_key = 'api_live_b23537ed-64b8-45d6-832e-fb228aa9e0a9';
7806 7804
                 $tdba_member_id = 'jsdk_member_ali1689817119448';//天地博爱科技公司
@@ -9242,61 +9240,59 @@ class StoreOrderRepository extends BaseRepository
9242 9240
         //如果状态是1那就是即刻入账,
9243 9241
         if ($status == 1) {
9244 9242
             //$con_data_gongxian = Db::name('user')->where("uid", $uid)->update(['contribute' => $con_data['contribute'] + $num]);
9245
-             //如果当前用户是业务经理之前的等级,那么需要将当前用户的直推用户贡献值加到自己贡献值中去
9246
-             if( $con_data['user_group'] <= 2 ){
9247
-           
9248
-                $spread_data = Db::name('user')->where("spread_uid",$uid)->select();
9243
+            //如果当前用户是业务经理之前的等级,那么需要将当前用户的直推用户贡献值加到自己贡献值中去
9244
+            if ($con_data['user_group'] <= 2) {
9245
+
9246
+                $spread_data = Db::name('user')->where("spread_uid", $uid)->select();
9249 9247
 
9250 9248
                 if (strpos($mark, "购买") !== false) {
9251
-                    Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num]);
9249
+                    Db::name('user')->where("uid", $uid)->update(['contribute' => $con_data['contribute'] + $num]);
9252 9250
                 }
9253 9251
 
9254 9252
                 if (strpos($mark, "推广") !== false) {
9255
-                    Db::name('user')->where("uid",$uid)->update(['per_contribute'=>$con_data['per_contribute'] + $num]);
9253
+                    Db::name('user')->where("uid", $uid)->update(['per_contribute' => $con_data['per_contribute'] + $num]);
9256 9254
                 }
9257
-             
9255
+
9258 9256
                 //if(count($spread_data) > 0){
9259
-                    // $all_ids = [];
9260
-                    // foreach($spread_data as $k=>$v){
9261
-                    //     $all_ids[] = $v['uid'];
9262
-                    // }
9263
-    
9264
-                    // // 查询当前用户及其子级的所有订单
9265
-                    // $orders = Db::name("store_order")
9266
-                    // ->whereIn('status', [0, 1, 2, 3])
9267
-                    // ->whereIn("uid", $all_ids)
9268
-                    // ->whereIn("total_price", [1180, 11800, 10620, 2360, 9440])
9269
-                    // ->select();
9270
-    
9271
-                    // // 计算总业绩
9272
-                    // $totalPv = 0;
9273
-                    // foreach ($orders as $order) {
9274
-                    //     switch ($order['total_price']) {
9275
-                    //     case 1180:
9276
-                    //         $totalPv += 700;
9277
-                    //         break;
9278
-                    //     case 11800:
9279
-                    //         $totalPv += 7000;
9280
-                    //         break;
9281
-                    //     case 10620:
9282
-                    //         $totalPv += 6300;
9283
-                    //         break;
9284
-                    //     case 2360:
9285
-                    //         $totalPv += 1400;
9286
-                    //         break;
9287
-                    //     case 9440:
9288
-                    //         $totalPv += 5600;
9289
-                    //         break;
9290
-                    //     }
9291
-                    // }
9292
-                    
9293
-                  
9294
-                  
9257
+                // $all_ids = [];
9258
+                // foreach($spread_data as $k=>$v){
9259
+                //     $all_ids[] = $v['uid'];
9260
+                // }
9295 9261
 
9296
-               // }
9262
+                // // 查询当前用户及其子级的所有订单
9263
+                // $orders = Db::name("store_order")
9264
+                // ->whereIn('status', [0, 1, 2, 3])
9265
+                // ->whereIn("uid", $all_ids)
9266
+                // ->whereIn("total_price", [1180, 11800, 10620, 2360, 9440])
9267
+                // ->select();
9268
+
9269
+                // // 计算总业绩
9270
+                // $totalPv = 0;
9271
+                // foreach ($orders as $order) {
9272
+                //     switch ($order['total_price']) {
9273
+                //     case 1180:
9274
+                //         $totalPv += 700;
9275
+                //         break;
9276
+                //     case 11800:
9277
+                //         $totalPv += 7000;
9278
+                //         break;
9279
+                //     case 10620:
9280
+                //         $totalPv += 6300;
9281
+                //         break;
9282
+                //     case 2360:
9283
+                //         $totalPv += 1400;
9284
+                //         break;
9285
+                //     case 9440:
9286
+                //         $totalPv += 5600;
9287
+                //         break;
9288
+                //     }
9289
+                // }
9290
+
9291
+
9292
+                // }
9293
+
9294
+            } else {
9297 9295
 
9298
-            }else{
9299
-                
9300 9296
                 // 检查是否包含“推广”
9301 9297
                 // if (strpos($mark, "推广") !== false) {
9302 9298
                 //     echo "字符串1包含'推广'\n";
@@ -9304,12 +9300,10 @@ class StoreOrderRepository extends BaseRepository
9304 9300
 
9305 9301
                 // 检查是否包含“购买”
9306 9302
                 if (strpos($mark, "购买") !== false) {
9307
-                    Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num]);
9303
+                    Db::name('user')->where("uid", $uid)->update(['contribute' => $con_data['contribute'] + $num]);
9308 9304
                 }
9309 9305
 
9310
-                 
9311
-               
9312
-               
9306
+
9313 9307
             }
9314 9308
         }
9315 9309
 
@@ -9531,19 +9525,7 @@ class StoreOrderRepository extends BaseRepository
9531 9525
                     $spread_data = Db::name('user')->where('uid', $user_data['spread_uid'])->find();
9532 9526
 
9533 9527
                     //业务员或以上的推荐人等级
9534
-                    $user_group_rate = Db::name("system_config_value")->where(["config_key"=>"user_group_rate"])->value("value");
9535
-                    $user_group_rate = json_decode($user_group_rate, true);
9536
-                    $group_rate = array_column($user_group_rate, 'rate','user_groub');
9537
-                    //业务员或以上的推荐人等级
9538
-                    //[{"user_groub":1,"rate":5,"name":"用户"},
9539
-                    //{"user_groub":2,"rate":7,"name":"业务员"},
9540
-                    //{"user_groub":3,"rate":9,"name":"业务经理"},
9541
-                    //{"user_groub":4,"rate":11,"name":"初级合伙人"},
9542
-                    //{"user_groub":5,"rate":13,"name":"中级合伙人"},
9543
-                    //{"user_groub":6,"rate":15,"name":"高级合伙人"},
9544
-                    //{"user_groub":7,"rate":17,"name":"董事"}
9545
-                    //]
9546
-                    $rate = isset($group_rate[$spread_data['user_group']])?round($group_rate[$spread_data['user_group']]/100,2):0.00;
9528
+                    $rate = static::getUserGroupRate($spread_data['user_group']);
9547 9529
                     if ($spread_data['user_group'] > 1) {
9548 9530
 
9549 9531
                         // //给推广者分配佣金
@@ -10003,34 +9985,30 @@ class StoreOrderRepository extends BaseRepository
10003 9985
             }
10004 9986
 
10005 9987
 
9988
+            //会员专区,给用户升级判断
9989
+            $orderList = Db::name("store_order")->where("uid", $store_order_data['uid'])->where("mer_id", 496)->where("status", "in", [0, 1, 2, 3])->select();
9990
+            // 初始化总和变量
9991
+            $totalPayPrice = 0;
10006 9992
 
9993
+            // 遍历查询结果
9994
+            foreach ($orderList as $order) {
9995
+                // 累加 pay_price
9996
+                $totalPayPrice += $order['pay_price'];
9997
+            }
10007 9998
 
9999
+            $userdata = Db::name("user")->where("uid", $store_order_data['uid'])->find();
10008 10000
 
10001
+            if ($totalPayPrice >= 1180 && $totalPayPrice < 11800) {
10009 10002
 
10010
-             //会员专区,给用户升级判断
10011
-             $orderList = Db::name("store_order")->where("uid", $store_order_data['uid'])->where("mer_id", 496)->where("status", "in", [0, 1, 2, 3])->select();
10012
-             // 初始化总和变量
10013
-             $totalPayPrice = 0;
10014
-
10015
-             // 遍历查询结果
10016
-             foreach ($orderList as $order) {
10017
-                 // 累加 pay_price
10018
-                 $totalPayPrice += $order['pay_price'];
10019
-             }
10020
-
10021
-             $userdata = Db::name("user")->where("uid", $store_order_data['uid'])->find();
10022
-
10023
-             if ($totalPayPrice >= 1180 && $totalPayPrice < 11800) {
10024
-
10025
-                 if ($userdata['user_group'] <= 1) {
10026
-                     Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 2]);
10027
-                 }
10003
+                if ($userdata['user_group'] <= 1) {
10004
+                    Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 2]);
10005
+                }
10028 10006
 
10029
-             } else if ($totalPayPrice >= 11800) {
10030
-                 if ($userdata['user_group'] <= 2) {
10031
-                     Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 3]);
10032
-                 }
10033
-             }
10007
+            } else if ($totalPayPrice >= 11800) {
10008
+                if ($userdata['user_group'] <= 2) {
10009
+                    Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 3]);
10010
+                }
10011
+            }
10034 10012
 
10035 10013
 
10036 10014
         } else {
@@ -10039,7 +10017,7 @@ class StoreOrderRepository extends BaseRepository
10039 10017
             $merchant = app()->make(MerchantRepository::class);
10040 10018
             $merchantInfo = $merchant->get($store_order_data['mer_id']);
10041 10019
             // 1企业2个体3个人
10042
-            if ($merchantInfo && !empty($store_order_data) && in_array($merchantInfo['type'],[2,3])) {
10020
+            if ($merchantInfo && !empty($store_order_data) && in_array($merchantInfo['type'], [2, 3])) {
10043 10021
 //                $job_par = json_decode($store_order_data['fzone_paytype'], true);
10044 10022
 
10045 10023
                 //商家让利部分的拆分
@@ -10064,19 +10042,7 @@ class StoreOrderRepository extends BaseRepository
10064 10042
                     //查询下单用户上级
10065 10043
                     $spread_data = Db::name('user')->where('uid', $user_data['spread_uid'])->find();
10066 10044
 
10067
-                    $user_group_rate = Db::name("system_config_value")->where(["config_key"=>"user_group_rate"])->value("value");
10068
-                    $user_group_rate = json_decode($user_group_rate, true);
10069
-                    $group_rate = array_column($user_group_rate, 'rate','user_groub');
10070
-                    //业务员或以上的推荐人等级
10071
-                    //[{"user_groub":1,"rate":5,"name":"用户"},
10072
-                    //{"user_groub":2,"rate":7,"name":"业务员"},
10073
-                    //{"user_groub":3,"rate":9,"name":"业务经理"},
10074
-                    //{"user_groub":4,"rate":11,"name":"初级合伙人"},
10075
-                    //{"user_groub":5,"rate":13,"name":"中级合伙人"},
10076
-                    //{"user_groub":6,"rate":15,"name":"高级合伙人"},
10077
-                    //{"user_groub":7,"rate":17,"name":"董事"}
10078
-                    //]
10079
-                    $rate = isset($group_rate[$spread_data['user_group']])?round($group_rate[$spread_data['user_group']]/100,2):0.00;
10045
+                    $rate = static::getUserGroupRate($spread_data['user_group']);
10080 10046
                     if ($spread_data['user_group'] > 1) {
10081 10047
                         $ssf = 0;//变量
10082 10048
                         $yj_amount_90 = 0;//90%的佣金
@@ -10222,41 +10188,41 @@ class StoreOrderRepository extends BaseRepository
10222 10188
 
10223 10189
                     //商户获得贡献值
10224 10190
                     if ($concession_pri >= 0.01) {
10225
-                        $gonxian = round($concession_pri * $jdAndGonxianConfig['gonxian'],2);
10191
+                        $gonxian = round($concession_pri * $jdAndGonxianConfig['gonxian'], 2);
10226 10192
                         $gongxian_data = [
10227
-                            "uid"           =>$merchant_data["uid"],
10228
-                            "mer_id"        =>$user_data['mer_id'],
10229
-                            "pv"            =>$pv,
10230
-                            "number"  =>    $gonxian,
10231
-                            "addtime"       =>time(),
10232
-                            "status"        =>-1,
10233
-                            "order_type"    =>2,
10234
-                            "order_id"      =>$store_order_data['order_id'],
10235
-                            "mark"          =>"锁客商家获得贡献值",
10236
-                            "desc"          =>'',
10237
-                            "surplus"       =>$gonxian,
10238
-                            "type"          =>1
10193
+                            "uid" => $merchant_data["uid"],
10194
+                            "mer_id" => $user_data['mer_id'],
10195
+                            "pv" => $pv,
10196
+                            "number" => $gonxian,
10197
+                            "addtime" => time(),
10198
+                            "status" => -1,
10199
+                            "order_type" => 2,
10200
+                            "order_id" => $store_order_data['order_id'],
10201
+                            "mark" => "锁客商家获得贡献值",
10202
+                            "desc" => '',
10203
+                            "surplus" => $gonxian,
10204
+                            "type" => 1
10239 10205
                         ];
10240 10206
                         Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
10241 10207
                     } else {
10242
-                        Db::name('log')->insert(['data' => '订单号:' .$store_order_data['order_id'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
10208
+                        Db::name('log')->insert(['data' => '订单号:' . $store_order_data['order_id'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
10243 10209
                     }
10244 10210
 
10245 10211
                     //商户获得京豆
10246 10212
                     if ($concession_pri >= 0.01) {
10247
-                        $jd = round($concession_pri * $jdAndGonxianConfig['jd'],2);
10213
+                        $jd = round($concession_pri * $jdAndGonxianConfig['jd'], 2);
10248 10214
                         $jd_data = [
10249
-                            "uid"           =>$merchant_data["uid"],
10250
-                            "mer_id"        =>$user_data['mer_id'],
10251
-                            "number"  =>    $jd,
10252
-                            "addtime"       =>time(),
10253
-                            "status"        =>-1,
10254
-                            "order_type"    =>2,
10255
-                            "order_id"      =>$store_order_data['order_id'],
10256
-                            "mark"          =>"锁客商家获得京豆",
10257
-                            "desc"          =>'',
10258
-                            "surplus"       =>$jd,
10259
-                            "type"          =>1
10215
+                            "uid" => $merchant_data["uid"],
10216
+                            "mer_id" => $user_data['mer_id'],
10217
+                            "number" => $jd,
10218
+                            "addtime" => time(),
10219
+                            "status" => -1,
10220
+                            "order_type" => 2,
10221
+                            "order_id" => $store_order_data['order_id'],
10222
+                            "mark" => "锁客商家获得京豆",
10223
+                            "desc" => '',
10224
+                            "surplus" => $jd,
10225
+                            "type" => 1
10260 10226
                         ];
10261 10227
                         Db::name("user_sign_jingdou")->insert($jd_data);//添加记录
10262 10228
                     } else {
@@ -10544,7 +10510,7 @@ class StoreOrderRepository extends BaseRepository
10544 10510
             $hf_platform_member_id = Db::name('merchant_member')->where(['mer_id' => $dst_mer_id, 'type' => 1])->value('member_id');
10545 10511
         }
10546 10512
 
10547
-        return compact('hf_member_id',  'hf_platform_member_id', 'api_key');
10513
+        return compact('hf_member_id', 'hf_platform_member_id', 'api_key');
10548 10514
     }
10549 10515
 
10550 10516
     /**
@@ -10643,7 +10609,7 @@ class StoreOrderRepository extends BaseRepository
10643 10609
     public function vip_product_spiletnew($order_sn, $pay_type, $product_id = 0)
10644 10610
     {
10645 10611
         $order = Db::name('store_order')->where('order_sn', $order_sn)->where('paid', 1)->find();
10646
-        $order_group_data = Db::name('store_group_order')->where('group_order_id', $order['group_order_id']??0)->find();
10612
+        $order_group_data = Db::name('store_group_order')->where('group_order_id', $order['group_order_id'] ?? 0)->find();
10647 10613
 
10648 10614
         if (!empty($order) && !empty($order_group_data)) {
10649 10615
             // 商户信息
@@ -10659,4 +10625,27 @@ class StoreOrderRepository extends BaseRepository
10659 10625
             Db::name("log")->insert(array('data' => '会员专区-订单分账:' . json_encode($order, JSON_FORCE_OBJECT)));//日志记录
10660 10626
         }
10661 10627
     }
10628
+
10629
+    /**
10630
+     * 获取用户身份比例
10631
+     *
10632
+     * @param $user_group
10633
+     * @return float
10634
+     */
10635
+    public static function getUserGroupRate($user_group = 1)
10636
+    {
10637
+        $user_group_rate = Db::name("system_config_value")->where(["config_key" => "user_group_rate"])->value("value");
10638
+        $user_group_rate = json_decode($user_group_rate, true);
10639
+        $group_rate = array_column($user_group_rate, 'rate', 'user_groub');
10640
+        //业务员或以上的推荐人等级
10641
+        //[{"user_groub":1,"rate":5,"name":"用户"},
10642
+        //{"user_groub":2,"rate":7,"name":"业务员"},
10643
+        //{"user_groub":3,"rate":9,"name":"业务经理"},
10644
+        //{"user_groub":4,"rate":11,"name":"初级合伙人"},
10645
+        //{"user_groub":5,"rate":13,"name":"中级合伙人"},
10646
+        //{"user_groub":6,"rate":15,"name":"高级合伙人"},
10647
+        //{"user_groub":7,"rate":17,"name":"董事"}
10648
+        //]
10649
+        return isset($group_rate[$spread_data['user_group']]) ? round($group_rate[$user_group] / 100, 2) : 0.00;
10650
+    }
10662 10651
 }

+ 7 - 5
app/common/repositories/user/UserThirdRepository.php

@@ -774,7 +774,7 @@ class UserThirdRepository extends BaseRepository
774 774
                 -> where('config_key','sanfangfenpei')->find();;
775 775
 
776 776
             $sanfangfenpei=json_decode($systemvalueObj['value'],true);
777
-            $inc_score = round($price*$sanfangfenpei['pv'],2);//pv=佣金的50%=积分=贡献值
777
+            $inc_score = $gongxian = round($price*$sanfangfenpei['pv'],2);//pv=佣金的50%=积分=贡献值
778 778
 //            log::info("===========dddddddddddddddddddd");
779 779
 
780 780
 
@@ -836,7 +836,8 @@ class UserThirdRepository extends BaseRepository
836 836
             //赠送贡献值
837 837
             $gongxian_data = [
838 838
                 "uid"           =>$user_id,
839
-                "number"  =>    $inc_score,
839
+//                "number"  =>    $inc_score,
840
+                "number"  =>    $gongxian,
840 841
                 "addtime"       =>time(),
841 842
                 "status"        =>-1,
842 843
                 "order_type"    =>$type_shop,
@@ -892,8 +893,6 @@ class UserThirdRepository extends BaseRepository
892 893
             $sprerdUser= Db::name("user")->where('uid',$zijiUser['spread_uid'])->find();
893 894
             //不为空的时候进行添加推荐奖励
894 895
             if($sprerdUser){
895
-
896
-
897 896
                 //奖励推广佣金
898 897
                 $yongjinbili=0;
899 898
                 //普通用户
@@ -924,6 +923,8 @@ class UserThirdRepository extends BaseRepository
924 923
                 if($sprerdUser["user_group"]==7){
925 924
                     $yongjinbili=17;
926 925
                 }
926
+                // @todo 用户身份比例
927
+                $yongjinbili = StoreOrderRepository::getUserGroupRate($sprerdUser['user_group']);
927 928
 
928 929
                 $tuiguanyongjin=round($yongjinbili*$inc_score/100,2);//按照身份获得佣金
929 930
 
@@ -948,7 +949,8 @@ class UserThirdRepository extends BaseRepository
948 949
                 //添加推荐献值
949 950
                 $tuigangongxian_data = [
950 951
                     "uid"           =>$sprerdUser['uid'],
951
-                    "number"  =>    $tuiguanyongjin,
952
+//                    "number"  =>    $tuiguanyongjin,
953
+                    "number"  =>    $gongxian,
952 954
                     "addtime"       =>time(),
953 955
                     "status"        =>-1,
954 956
                     "order_type"    =>$type_shop,