Bläddra i källkod

商户扫码支付调整

xialei 1 år sedan
förälder
incheckning
93f239a655

+ 52 - 22
app/common/repositories/merchant/order/OrderMerchantRepository.php

@@ -1583,6 +1583,8 @@ class OrderMerchantRepository extends BaseRepository
1583 1583
         //可分总佣金
1584 1584
         $divisible_commission = bcmul($order['pay_price'], bcdiv($mer_fanyongbili, '100', 2), 2);//让利部分
1585 1585
         $pv = bcmul($divisible_commission, '0.7', 2);//商家让利部分30%给消费者做养老金,70%做业绩PV
1586
+        //更新值
1587
+        Db::name("order_merchant")->where('id', $order_id)->where('out_trade_no', $order_sn)->update(['available'=>$divisible_commission]);
1586 1588
 
1587 1589
         /**
1588 1590
          * 各自的比例开始
@@ -1598,6 +1600,34 @@ class OrderMerchantRepository extends BaseRepository
1598 1600
          * 各自的比例结束
1599 1601
          */
1600 1602
 
1603
+        $gongxian = Db::name('user_sign_gongxian')->where('order_id', $order_id)->find();
1604
+        if(!$gongxian){
1605
+            ///用户可以拿到PV等值贡献值
1606
+            if ($pv >= 0.01) {
1607
+                //贡献值
1608
+                $gongxian_data = [
1609
+                    "uid"           =>$order["uid"]??0,
1610
+                    "number"  =>    $pv,
1611
+                    "addtime"       =>time(),
1612
+                    "status"        =>1,
1613
+                    "order_type"    =>1,
1614
+                    "order_id"      =>$order_id,
1615
+                    "mark"          =>"扫码消费获得赠送贡献值",
1616
+                    "desc"          =>'',
1617
+                    "surplus"       =>$pv,
1618
+                    "type"          =>1,
1619
+                    'settlement_time' => date('Y-m-d H:i:s')
1620
+                ];
1621
+                Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
1622
+            } else {
1623
+                Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,积分和贡献值低于0.01无法入库 特此记录!']);
1624
+            }
1625
+        }
1626
+
1627
+
1628
+
1629
+
1630
+
1601 1631
         // 商户---------------------------------------------------------------------------------------------------------------
1602 1632
 
1603 1633
         $mer_data = Db::name('merchant')->where('mer_id', $order['mer_id'])->field('uid,mer_id')->find();
@@ -1605,28 +1635,28 @@ class OrderMerchantRepository extends BaseRepository
1605 1635
         $merchant_user = $userRepository->getOne(['uid' => $mer_data["uid"]]);
1606 1636
 
1607 1637
         //商户得到的(京豆和贡献值奖励的倍,后台设置)
1608
-        $gongxian = bcmul($divisible_commission, $mer_gonxian, 2);
1609
-        if ($gongxian >= 0.01) {
1610
-            $gongxian_data = [
1611
-                "uid"           =>$mer_data["uid"],
1612
-                "mer_id"        =>$order["mer_id"],
1613
-                "pv"            =>$pv,
1614
-                "number"  =>    $gongxian,
1615
-                "addtime"       =>time(),
1616
-                "status"        =>1,
1617
-                "order_type"    =>2,
1618
-                "order_id"      =>$order_id,
1619
-                "mark"          =>"用户消费商家获得赠送贡献值",
1620
-                "desc"          =>'',
1621
-                "surplus"       =>$gongxian,
1622
-                "type"          =>1
1623
-            ];
1624
-            Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
1625
-            $merchant_user->contribute = bcadd($merchant_user->contribute, (float)$gongxian,2);
1626
-            $merchant_user->save();
1627
-        } else {
1628
-            Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
1629
-        }
1638
+        // $gongxian = bcmul($divisible_commission, $mer_gonxian, 2);
1639
+        // if ($gongxian >= 0.01) {
1640
+            // $gongxian_data = [
1641
+            //     "uid"           =>$mer_data["uid"],
1642
+            //     "mer_id"        =>$order["mer_id"],
1643
+            //     "pv"            =>$pv,
1644
+            //     "number"  =>    $gongxian,
1645
+            //     "addtime"       =>time(),
1646
+            //     "status"        =>1,
1647
+            //     "order_type"    =>2,
1648
+            //     "order_id"      =>$order_id,
1649
+            //     "mark"          =>"用户消费商家获得赠送贡献值",
1650
+            //     "desc"          =>'',
1651
+            //     "surplus"       =>$gongxian,
1652
+            //     "type"          =>1
1653
+            // ];
1654
+            // Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
1655
+        //     $merchant_user->contribute = bcadd($merchant_user->contribute, (float)$gongxian,2);
1656
+        //     $merchant_user->save();
1657
+        // // } else {
1658
+        //     Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
1659
+        // }
1630 1660
 
1631 1661
         //商户得到的(京豆和贡献值奖励的倍,后台设置)
1632 1662
         $jd = bcmul($divisible_commission, $mer_jd, 2);

+ 8 - 2
app/common/repositories/user/UserOfflineRechargeRepository.php

@@ -171,8 +171,14 @@ class UserOfflineRechargeRepository extends BaseRepository
171 171
                     // //同步复购金
172 172
                     // Db::name("user_sign_fugou")->where('order_id', $order->id)->update(['uid' => $unionUser->uid]);
173 173
                     
174
-                    // //同步贡献值
175
-                    // Db::name("user_sign_gongxian")->where('order_id', $order->id)->update(['uid' => $unionUser->uid]);
174
+                    //同步贡献值
175
+                    $gongxian = Db::name('user_sign_gongxian')->where('order_id', $order->id)->find();
176
+                    if($gongxian){
177
+                        Db::name("user_sign_gongxian")->where('order_id', $order->id)->update(['uid' => $unionUser->uid]);
178
+                        $user_contribute = Db::name('user')->where('order_id', $order->id)->where('uid', $unionUser->uid)->value('contribute');
179
+                        $user_contribute = bcadd($user_contribute, $gongxian['number'], 2);
180
+                        Db::name('user')->where('uid', $unionUser->uid)->update(['contribute'=>$user_contribute]);
181
+                    }
176 182
 
177 183
 
178 184
 

+ 2 - 2
app/controller/api/user/User.php

@@ -311,14 +311,14 @@ class User extends BaseController
311 311
 
312 312
         if ($pm==0){
313 313
 
314
-            $data = DB::name('user_sign_gongxian')->where($where)->where('status', 1)->field('id,mark,number,addtime,order_id')->page($page, $limit)->order("id desc")->select();
314
+            $data = DB::name('user_sign_gongxian')->where($where)->where('status', 1)->where('number', '<>',0)->field('id,mark,number,addtime,order_id')->page($page, $limit)->order("id desc")->select();
315 315
         }
316 316
 //        if($pm==1){
317 317
 //            $data = DB::name('user_sign_gongxian')->where($where)->where('pm', 2)->field('id,mark,number,pm,addtime,order_id')->page($page, $limit)->order("id desc")->select();
318 318
 //
319 319
 //        }
320 320
         if($pm==2){
321
-            $data = DB::name('user_sign_gongxian')->where($where)->where('status', -1)->field('id,mark,number,addtime,order_id')->page($page, $limit)->order("id desc")->select();
321
+            $data = DB::name('user_sign_gongxian')->where($where)->where('number', '<>',0)->where('status', -1)->field('id,mark,number,addtime,order_id')->page($page, $limit)->order("id desc")->select();
322 322
 
323 323
         }
324 324
         log::info("=======date==={$data}");

+ 9 - 3
app/controller/merchant/Common.php

@@ -57,9 +57,14 @@ class Common extends BaseController
57 57
     {
58 58
         $merId = $this->merId;
59 59
 
60
-        $list['gongxian'] = Db::name('user_sign_gongxian')->where('mer_id', $merId)->sum('number');
60
+        // $list['gongxian'] = Db::name('user_sign_gongxian')->where('mer_id', $merId)->sum('number');
61 61
         $list['jingdou'] = Db::name('user_sign_jingdou')->where('mer_id', $merId)->sum('number');
62
+        $list['fenrunzhi'] = Db::name('order_merchant')->where('mer_id', $merId)->where('paid', 1)->sum('available');
62 63
     
64
+        $list['xianxia'] = Db::name('order_merchant')->where('mer_id', $merId)->where('paid', 1)->count();
65
+        $list['xianshang'] = Db::name('store_order')->where('mer_id', $merId)->where('paid', 1)->count();
66
+
67
+
63 68
         return app('json')->success(compact('merId', 'list'));
64 69
     }
65 70
 
@@ -83,8 +88,9 @@ class Common extends BaseController
83 88
         $list = $query->page($pageNum, $pageSize)->order('id desc')->where('mer_id', $merId)->where('paid', 1)->select();
84 89
         $list = $list->toArray();
85 90
         foreach ($list as $k => $v) {
86
-            $list[$k]['pv'] = Db::name('user_sign_gongxian')->where('mer_id', $v['mer_id'])->where('order_id', $v['id'])->value('pv') ?? 0;
87
-            $list[$k]['gongxian'] = Db::name('user_sign_gongxian')->where('mer_id', $v['mer_id'])->where('order_id', $v['id'])->value('number') ?? 0;
91
+            $list[$k]['pv'] = Db::name('user_sign_gongxian')->where('order_id', $v['id'])->value('pv') ?? 0;
92
+            // $list[$k]['gongxian'] = Db::name('user_sign_gongxian')->where('mer_id', $v['mer_id'])->where('order_id', $v['id'])->value('number') ?? 0;
93
+            $list[$k]['fenrunzhi'] = $v['available'];
88 94
             $list[$k]['jingdou'] = Db::name('user_sign_jingdou')->where('mer_id', $v['mer_id'])->where('order_id', $v['id'])->value('number') ?? 0;
89 95
         }
90 96