Bläddra i källkod

修改会员组合支付1.2

chengzhiyixia 1 år sedan
förälder
incheckning
f7c67ca1da

+ 45 - 7
app/common/repositories/store/order/StoreOrderRepository.php

@@ -1031,9 +1031,9 @@ class StoreOrderRepository extends BaseRepository
1031 1031
                             //普通用户获取贡献值和pv3.5%养老金和积分
1032 1032
                             $ylj_amount_mine = $user_data['annuity'] + $ylj_pri;
1033 1033
                             $gxz_amount_mine = $user_data['contribute'] + $gx_jf;
1034
-                            $jf_amount_mine = $user_data['score'] + $gx_jf;
1034
+                            $jf_amount_mine  = $user_data['score'] + $gx_jf;
1035 1035
 
1036
-                            // Db::name('user')->where('uid',$user_data['uid'])->update(['annuity'=>$ylj_amount_mine,'contribute'=> $gxz_amount_mine,'score'=> $jf_amount_mine]);
1036
+                             Db::name('user')->where('uid',$user_data['uid'])->update(['annuity'=>$ylj_amount_mine,'contribute'=> $gxz_amount_mine,'score'=> $jf_amount_mine]);
1037 1037
                             $paystage_status = 1;
1038 1038
                             //修改订单状态
1039 1039
                             $orderdatas = 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]);
@@ -2231,12 +2231,50 @@ class StoreOrderRepository extends BaseRepository
2231 2231
                 //1:为会员专区,
2232 2232
 
2233 2233
 
2234
-                $cartInfo['list'][$_k]['fzone_paytype']= [
2235 2234
 
2236
-                    ['type'=>'a1','price'=>$orderpri,'other'=>0,'note'=>"VR"],//VR支付
2237
-                    ['type'=>'a2','price'=>$orderpri,'other'=>0,'note'=>"现金"],//现金支付
2238
-                    // ['type'=>'a3','price'=>$orderpri,'other'=>0,'note'=>"现金+VR"],//现金支付
2239
-                ];
2235
+              
2236
+               
2237
+                //throw new ValidateException($user_datas['vr']);
2238
+                if($uid == 7){
2239
+                //如果选择组合支付,查询当前用户名下的VR
2240
+                $user_datas = Db::name('user')->where('uid',$uid)->find();
2241
+
2242
+                
2243
+
2244
+
2245
+
2246
+                    // 初始化VR支付金额和现金支付金额
2247
+                    $vr_payment = 0;
2248
+                    $cash_payment = 0;
2249
+                    if($user_datas['vr'] < $orderpri){
2250
+                        $vr_payment = abs($user_datas['vr'] - $orderpri);//abs是取绝对值
2251
+                        $cash_payment = $orderpri - $vr_payment;
2252
+                    }else{
2253
+                        $cash_payment = $orderpri;//abs是取绝对值
2254
+                        //$cash_payment = 0;
2255
+                    }
2256
+             
2257
+
2258
+
2259
+
2260
+
2261
+
2262
+                    $cartInfo['list'][$_k]['fzone_paytype']= [
2263
+
2264
+                        ['type'=>'a1','price'=>$orderpri,'other'=>0,'note'=>"VR"],//VR支付
2265
+                        ['type'=>'a2','price'=>$orderpri,'other'=>0,'note'=>"现金"],//现金支付
2266
+                         ['type'=>'a3','price'=>$vr_payment,'other'=> $cash_payment,'note'=>"现金+VR"],//现金支付
2267
+                    ];
2268
+                }else{
2269
+                    $cartInfo['list'][$_k]['fzone_paytype']= [
2270
+
2271
+                        ['type'=>'a1','price'=>$orderpri,'other'=>0,'note'=>"VR"],//VR支付
2272
+                        ['type'=>'a2','price'=>$orderpri,'other'=>0,'note'=>"现金"],//现金支付
2273
+                        // ['type'=>'a3','price'=>$orderpri,'other'=>0,'note'=>"现金+VR"],//现金支付
2274
+                    ];
2275
+                }
2276
+
2277
+                
2240 2278
 
2241 2279
 
2242 2280
 

+ 104 - 32
app/controller/api/Notify.php

@@ -405,7 +405,7 @@ class Notify
405 405
                                 $jf_amount_mine = $user_data['score'] + $gx_jf;
406 406
 
407 407
 
408
-                                //Db::name('user')->where('uid',$user_data['uid'])->update(['annuity'=>$ylj_amount_mine,'contribute'=> $gxz_amount_mine,'score'=> $jf_amount_mine]);
408
+                                Db::name('user')->where('uid',$user_data['uid'])->update(['annuity'=>$ylj_amount_mine,'contribute'=> $gxz_amount_mine,'score'=> $jf_amount_mine]);
409 409
 
410 410
                                 $this->bill_user_log($user_data['uid'],round($pv * 0.035,2),$store_order_data['order_id'],5,$group_order['group_order_sn'],'消费获得养老金'.round($pv * 0.035,2),$store_order_data['mer_id']);
411 411
 
@@ -419,7 +419,7 @@ class Notify
419 419
 
420 420
                                 $spread_data_old = 0;
421 421
                                 if($user_data['spread_old'] != 0){
422
-                                    $sf = Db::name('old_user_jbp')->where('id',$user_data['spread_old'])->find();
422
+                                    $sf = Db::name('old_user_jbp')->where('id',$user_data['invite_id_od'])->find();
423 423
                                     if(!empty($sf)){
424 424
                                         $spread_data_old = $sf;
425 425
                                     }
@@ -563,7 +563,7 @@ class Notify
563 563
 
564 564
 
565 565
 
566
-                                }else if(!empty($spread_data_old)){
566
+                                }else if($spread_data_old != 0){
567 567
 
568 568
                                     //1.0jbp系统中,如果有用户升级会员,给推荐人贡献值(90%)和养老金(10%)
569 569
 
@@ -587,14 +587,17 @@ class Notify
587 587
                                     //复购金
588 588
                                     $this->fugou_user_log($spread_data['uid'],$fgj_amount_10,$store_order_data['order_id'],1,1);
589 589
 
590
-
590
+       
591 591
                                     $orderInfo=[
592 592
                                         'num'=>1,
593 593
                                         'gb_num'=>1,
594 594
                                         'price'=>$store_product_data['price']
595 595
                                     ];
596 596
                                     $goods_of_info1 = Db::name("old_user_of_goods")->where("id", $store_order_data['user_of_goods_id'])->find();//用户的订单价格表
597
+
597 598
                                     if(!empty($goods_of_info1)){
599
+                                       // $spread_data = Db::name('test_log')->insert(['note'=>"goodsofinf22222o:".json_encode($goods_of_info1)]);
600
+
598 601
                                         $this->member_update($orderInfo,$goods_of_info1,$user_data['uid']);
599 602
                                     }
600 603
 
@@ -629,8 +632,86 @@ class Notify
629 632
                                 }
630 633
 
631 634
 
635
+                                $fzone_paytype = json_decode($store_order_data['fzone_paytype'],true);
636
+                                $user_data = Db::name('user')->where('uid',$store_order_data['uid'])->find();
637
+
638
+                                //会员专区的现金+VR支付
639
+                                if($fzone_paytype['type'] == 'a3'){
640
+                                  
641
+
642
+                                    $dev_vr = $user_data['vr'] - $fzone_paytype['other'];
643
+
644
+                                    if($dev_vr >= 0){
645
+                                        $user_data_dev_vr = Db::name('user')->where('uid',$store_order_data['uid'])->update(["vr"=>$dev_vr]);
646
+                                    
647
+                                        if($user_data_dev_vr){
648
+                                            //支出账号存到log日志
649
+                                            $log_data = [
650
+                                                'uid'=>$user_data['uid'],
651
+                                                'number'=>$fzone_paytype['other'],
652
+                                                'mark'=>"购买会员专区商品消费VR:" . $fzone_paytype['other'],
653
+                                                'desc'=>"VR",
654
+                                                'order_id'=>0,
655
+                                                'surplus'=>$dev_vr,
656
+                                                'order_type'=>0,
657
+                                                'type'=>2,
658
+                                                'addtime'=>time()
659
+                                            ];
660
+                                            $user_res_log = Db::name("user_sign_vr")->insert( $log_data);
661
+                                        }
662
+                                    }else{
663
+                                        $log_data = [
664
+                                          
665
+                                            'note'=>"uid:" . $store_order_data['uid'] . " 购买会员专区商品消费VR:" .$fzone_paytype['other'] . " 用户消费前的VR余额:" .  $user_data['vr'] . "描述:" ."未扣成功!" . "备注:" . json_encode($fzone_paytype),
666
+                                           
667
+                                            'create_time'=>date("Y-m-d H:i:s",time())
668
+                                        ];
669
+                                        Db::name("test_log")->insert( $log_data);
670
+                                    }
671
+
672
+                                    
673
+                                }
674
+
675
+
632 676
                             }
633 677
 
678
+                            // if($store_order_data['mer_id'] == 496){
679
+
680
+                            //     $user_data = Db::name("user")->where("uid", $store_order_data['uid'])->find();
681
+                            //     $fzone_paytype = json_decode($store_order_data['fzone_paytype'],true);
682
+
683
+                            //     //会员专区的现金+VR支付
684
+                            //     if($fzone_paytype['type'] == 'a3'){
685
+                                  
686
+
687
+                            //         //会员专区,给用户升级判断
688
+                            //         $orderList = Db::name("store_order")->where("uid", $uid)->where("mer_id",496)->where("status", "in", [0, 1, 2, 3])->select();
689
+                            //         // 初始化总和变量
690
+                            //         $totalPayPrice = 0;
691
+
692
+                            //         // 遍历查询结果
693
+                            //         foreach ($orderList as $order) {
694
+
695
+
696
+                            //             // 累加 pay_price
697
+                            //             $totalPayPrice += $order['pay_price'];
698
+                            //         }
699
+                            //         $userdata = Db::name("user")->where("uid", $uid)->find();
700
+
701
+                            //         if($totalPayPrice >= 1180 && $totalPayPrice < 11800){
702
+
703
+                            //             if( $userdata['user_group'] <= 1){
704
+                            //                 Db::name("user")->where("uid", $uid)->update(["user_group"=>2]);
705
+                            //             }
706
+
707
+                            //         }else if($totalPayPrice >= 11800){
708
+                            //             if( $userdata['user_group'] <= 2){
709
+                            //                 Db::name("user")->where("uid", $uid)->update(["user_group"=>3]);
710
+                            //             }
711
+                            //         }
712
+                            //     }
713
+                            // }
714
+
634 715
                             //判断是否是精彩生活区的商品
635 716
                             if($store_order_data['mer_id'] == 439){
636 717
                                 //供应链的状态
@@ -866,7 +947,7 @@ class Notify
866 947
 
867 948
         // $result = Db::name("old_user_jbp")->where("id",$user_id)->dec("vr",$orderInfo['price'])->save();//1.0jbp旧表
868 949
         // Db::name("user")->where("uid",$user_id)->dec("vr",$orderInfo['price'])->save();//2.0新表
869
-
950
+    
870 951
 
871 952
         $result = true;
872 953
         if($result) {
@@ -876,23 +957,23 @@ class Notify
876 957
             $zs_ylj = 0; //养老金赋值
877 958
 
878 959
 
879
-            if($goods_of_info['money'] == 1180){
960
+            if($orderInfo['price'] == 1180){
880 961
                 //修改订单到账状态
881 962
                 $zs_ylj = round(700 * 0.05,2);//计算的养老金 金额
882
-            }elseif($goods_of_info['money'] == 11800){
963
+            }elseif($orderInfo['price'] == 11800){
883 964
                 $zs_ylj = round(7000 * 0.05,2);//计算的养老金 金额
884
-            }elseif($goods_of_info['money'] == 3540){
965
+            }elseif($orderInfo['price'] == 3540){
885 966
                 $zs_ylj = round(2100 * 0.05,2);//计算的养老金 金额
886
-            }elseif($goods_of_info['money'] == 10620){
967
+            }elseif($orderInfo['price'] == 10620){
887 968
                 $zs_ylj = round(6300 * 0.05,2);//计算的养老金 金额
888
-            }elseif($goods_of_info['money'] == 9440){
969
+            }elseif($orderInfo['price'] == 9440){
889 970
                 $zs_ylj = round(5600 * 0.05,2);//八单计算的养老金 金额
890
-            }elseif($goods_of_info['money'] == 2360){
971
+            }elseif($orderInfo['price'] == 2360){
891 972
                 $zs_ylj = round(1400 * 0.05,2);//两单计算的养老金 金额
892 973
             }
893 974
 
894 975
 
895
-
976
+          //  $spread_data = Db::name('test_log')->insert(['note'=>"price1:" . $orderInfo['price'] ." pri2:" .   $zs_ylj]);
896 977
 
897 978
             $uid = $user_id;
898 979
             $new_user_id = $uid;
@@ -938,29 +1019,20 @@ class Notify
938 1019
                 // todo 同时改变他的权益
939 1020
             }
940 1021
 
1022
+          
941 1023
 
942
-
943
-            // Db::name("old_user_jbp")->where("id",$new_user_id)->inc("withdraw_quota",$zs_withdraw_quota)->save();//1.0jbp旧表
944
-            // Db::name("user")->where("uid",$new_user_id)->save(['withdraw_quota_old'=>$zs_withdraw_quota]);//2.0新表
945
-
946
-            // 下发邀请人赠送的GB
947
-            // $zs_invite_gb = round($orderInfo['price']*0.3,2);
948
-            // //todo
949
-            // Db::name("old_user_jbp")->where("id",$invite_id)->inc("gb",$zs_invite_gb)->save();//1.0jbp旧表
950
-            // Db::name("user")->where("uid",$invite_id)->inc("score",$zs_invite_gb)->save();//2.0新表
951
-
952
-            //$old_have_pension = Db::name("old_user_jbp")->where("id",$invite_id)->value("have_pension");
953
-
1024
+        
954 1025
 
955 1026
             //检查是不是订单价格是1180或者11800,更改VR
956
-            if($goods_of_info['money'] == 1180 || $goods_of_info['money'] == 11800 || $goods_of_info['money'] == 3540 || $goods_of_info['money'] == 10620 || $goods_of_info['money'] == 9440  || $goods_of_info['money'] == 2360){
1027
+            //if($goods_of_info['money'] == 1180 || $goods_of_info['money'] == 11800 || $goods_of_info['money'] == 3540 || $goods_of_info['money'] == 10620 || $goods_of_info['money'] == 9440  || $goods_of_info['money'] == 2360){
957 1028
                 //修改订单到账状态
958 1029
 
1030
+               // $spread_data = Db::name('test_log')->insert(['note'=>"goodid:" . $goods_of_info['id'] .' money:'.$goods_of_info['money'].' pay_vr:'.$pay_vr1]);
959 1031
 
960
-                Db::name("old_user_of_goods")->where("id",$goods_of_info['id'])->save(['status'=>1,'money'=>$goods_of_info['money'],'pay_gb'=>0,'pay_vr'=>$pay_vr1,'pay_bt'=>0,'create_time'=>time()]);
1032
+                Db::name("old_user_of_goods")->where("id",$goods_of_info['id'])->save(['status'=>1,'money'=>$orderInfo['price'],'pay_gb'=>0,'pay_vr'=>$pay_vr1,'pay_bt'=>0,'create_time'=>time()]);
961 1033
 
962
-
963
-            }
1034
+               // $spread_data = Db::name('test_log')->insert(['note'=>"money:" . $goods_of_info['money'] ." pay_vr:" .   $pay_vr1]);
1035
+           // }
964 1036
         }
965 1037
 
966 1038
 
@@ -979,20 +1051,20 @@ class Notify
979 1051
                 //$money = Db::name("old_user_jbp")->where("id",$user_id)->value("gb");
980 1052
                 //$appoint_money = $money - $zs_invite_gb;
981 1053
 
982
-                if($goods_of_info['money'] == 1180 || $goods_of_info['money'] == 11800 || $goods_of_info['money'] == 3540 || $goods_of_info['money'] == 10620 || $goods_of_info['money'] == 9440  || $goods_of_info['money'] == 2360){
1054
+                //if($goods_of_info['money'] == 1180 || $goods_of_info['money'] == 11800 || $goods_of_info['money'] == 3540 || $goods_of_info['money'] == 10620 || $goods_of_info['money'] == 9440  || $goods_of_info['money'] == 2360){
983 1055
 
984 1056
 
985 1057
                     $this->change_user_log66($user_id,"vr",2,$pay_vr1,"declare_expend",'权益消费VR-'.$new_user_name);
986 1058
 
987
-                }
1059
+               // }
988 1060
             }else{
989 1061
 
990
-                if($goods_of_info['money'] == 1180 || $goods_of_info['money'] == 11800 || $goods_of_info['money'] == 3540 || $goods_of_info['money'] == 10620 || $goods_of_info['money'] == 9440  || $goods_of_info['money'] == 2360){
1062
+               // if($goods_of_info['money'] == 1180 || $goods_of_info['money'] == 11800 || $goods_of_info['money'] == 3540 || $goods_of_info['money'] == 10620 || $goods_of_info['money'] == 9440  || $goods_of_info['money'] == 2360){
991 1063
 
992 1064
 
993 1065
                     $this->change_user_log66($user_id,"vr",2,$pay_vr1,"declare_expend",'权益消费VR-'.$new_user_name);
994 1066
 
995
-                }
1067
+                //}
996 1068
             }
997 1069
             // $this->change_user_log66($new_user_id,'gb',1,$zs_gb,"levle_update_zs","权益升级达标赠送");
998 1070
             $this->change_user_log66($new_user_id,'withdraw_quota_old',1,$zs_withdraw_quota,"levle_update_zs","权益升级达标赠送");

+ 43 - 8
app/controller/api/store/order/StoreOrder.php

@@ -516,13 +516,13 @@ class StoreOrder extends BaseController
516 516
                // return app('json')->fail($userdatas['spread_old']);
517 517
                 //检查在旧表中是否有上级
518 518
                 if($userdatas['spread_old'] != 0){
519
-//return app('json')->fail(123);
520
-                   // return app('json')->fail($userdatas['spread_old']);
519
+
520
+               
521 521
                     //查询当前用户的上级在1.0中是有数据的,那么老用户介绍新用户。
522 522
                     $sf = Db::name('old_user_jbp')->where('id',$userdatas['uid'])->find();//父级在旧表有注册
523 523
 
524 524
                    // $sf1 = Db::name('old_user_jbp')->where('id',$userdatas['id'])->find();
525
- //return app('json')->fail($userdatas['server_id_old']);
525
+ 
526 526
                     // 当前用户是在2.0注册的新用户,父级是在1.0
527 527
 
528 528
                     //当前用户在1.0中没有注册,但是父级在1.0系统中注册过。
@@ -540,7 +540,7 @@ class StoreOrder extends BaseController
540 540
                         $data1['pay_gb']=0;
541 541
                         $data1['pay_vr']= $array_fzone_paytype['price'];
542 542
                         $data1['pay_bt']=0;
543
-//return app('json')->fail(json_encode($data1));
543
+
544 544
                         //return app('json')->fail("333");
545 545
 
546 546
                         $sfe=  Db::name('old_user_of_goods')->insertGetId($data1);
@@ -560,12 +560,47 @@ class StoreOrder extends BaseController
560 560
 
561 561
             }else if(!empty($array_fzone_paytype['type'] == 'a3')){
562 562
                 //生活 现金 + VR支付
563
-                return app('json')->fail("正在升级,敬请期待!");
564
-                $vrpri = $userdatas['vr'] -  $array_fzone_paytype['price'];
563
+            
564
+                //检查在旧表中是否有上级
565
+                if($userdatas['spread_old'] != 0){
566
+
567
+               
568
+                    //查询当前用户的上级在1.0中是有数据的,那么老用户介绍新用户。
569
+                    $sf = Db::name('old_user_jbp')->where('id',$userdatas['uid'])->find();//父级在旧表有注册
570
+
571
+ 
572
+                    // 当前用户是在2.0注册的新用户,父级是在1.0
573
+
574
+                    //当前用户在1.0中没有注册,但是父级在1.0系统中注册过。
575
+                    if(!empty($sf)){
576
+
577
+                        //检查用户在旧表中是否与上级,有的话就是升级权限,要新增一个user_of_goods的表
578
+                        $data1['user_id']=$uid;
579
+                        $data1['goods_list_id']=0;
580
+                        $data1['status']=0;
581
+                        $data1['spread_id']=$sf['invite_id'];
582
+                        $data1['node_id']=$sf['spread'];
583
+                        $data1['money']= $array_fzone_paytype['price'];
584
+                        $data1['order_id']=10;
585
+                        $data1['server_id']=$userdatas['server_id_old'];
586
+                        $data1['pay_gb']=0;
587
+                        $data1['pay_vr']= $array_fzone_paytype['price'];
588
+                        $data1['pay_bt']=0;
589
+
590
+                        //return app('json')->fail("333");
591
+
592
+                        $sfe=  Db::name('old_user_of_goods')->insertGetId($data1);
593
+
594
+                        if($sfe){
595
+                            $getuserofgoodsid = $sfe;
596
+                        }
597
+                    }
598
+
565 599
 
566
-                if($vrpri < 0){
567
-                    return app('json')->fail("支付失败,VR不足!");
568 600
                 }
601
+
602
+               
603
+
569 604
             }else if(!empty($array_fzone_paytype['type'] == 'c1')){
570 605
                 //复购区 复购金支付
571 606
                 $fugoupri = $userdatas['fugou'] -  $array_fzone_paytype['price'];