Browse Source

提现限制

Kirin 2 years ago
parent
commit
0bfb60b2ce

+ 1 - 0
app/admin/controller/store/StoreProduct.php

@@ -325,6 +325,7 @@ class StoreProduct extends AuthController
             ['is_consumer', 0],
             ['bar_code', ''],
             ['store_bag', 0],
+            ['store_spread', 0],
             ['selectTime', []]
         ]);
         foreach ($data['activity'] as $k => $v) {

+ 14 - 1
app/admin/view/store/store_product/create.php

@@ -1000,7 +1000,7 @@
 											<div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
 												<div class="grid-demo grid-demo-bg1">
 													<div class="layui-form-item">
-														<label class="layui-form-label">商家商品</label>
+														<label class="layui-form-label">百业联盟礼包</label>
 														<div class="layui-input-block">
 															<input type="radio" name="store_bag" lay-filter="store_bag"
 																value="1" title="开启"
@@ -1012,6 +1012,18 @@
 													</div>
 												</div>
 											</div>
+                                            <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
+												<div class="grid-demo grid-demo-bg1">
+													<div class="layui-form-item">
+														<label class="layui-form-label">百业推荐奖</label>
+                                                        <div class="layui-input-block">
+                                                            <input type="number" name="store_spread" lay-verify="title"
+                                                                   autocomplete="off" placeholder="请输入百业推荐奖"
+                                                                   class="layui-input" v-model="formData.store_spread">
+                                                        </div>
+													</div>
+												</div>
+											</div>
 											<div class="layui-row layui-col-space15">
 												<div class="layui-col-xs12 layui-col-sm12 layui-col-md12">
 													<div class="grid-demo grid-demo-bg1">
@@ -1155,6 +1167,7 @@
 						is_suit: 0,
 						is_bind: 0,
 						store_bag: 0,
+                        store_spread: 0,
 						is_sub: 0,
 						is_consumer: consumer,
 						items: [

+ 2 - 2
app/api/controller/PublicController.php

@@ -369,8 +369,8 @@ class PublicController
         if (!cache("baidu_token")) {
             $url = "https://openapi.baidu.com/oauth/2.0/token";
             $data['grant_type'] = 'client_credentials';
-            $data['client_id'] = 'MFWrhqevbfMLmIobOcOcH2kI';
-            $data['client_secret'] = '3SntCWnj46a1GS71c8ABXWfNAlNnW5qr';
+            $data['client_id'] = 'j7WG6EsXZyuVlbgTRGBFqTTf';
+            $data['client_secret'] = 'G2Ax5oI0Uq1MCk52GcEY0aAVTWTvbkvQ';
             $rs = json_decode(file_get_contents($url . "?" . http_build_query($data)), true);
             cache("baidu_token", $rs, 2591999);
         }

+ 1 - 0
app/api/controller/order/StoreOrderController.php

@@ -66,6 +66,7 @@ class StoreOrderController
             'integralRatio' => sys_config('integral_ratio'),
             'suit' => $cartGroup['suit'],
             'store_bag' => $cartGroup['store_bag'] ? 1 : 0,
+            'store_spread' => $cartGroup['store_spread'],
             'is_bind' => $cartGroup['is_bind'] ?? 0,
         ];
         $usableCoupons = StoreCouponUser::getUsableCouponList($uid, $cartGroup, $priceGroup['totalPrice']);

+ 4 - 1
app/models/store/StoreCart.php

@@ -186,6 +186,7 @@ class StoreCart extends BaseModel
         $valid = $invalid = [];
         $suit = 0;
         $store_bag = false;
+        $store_spread = 0;
         $model = $model->alias('c')->field('c.*')->join('store_product p', 'c.product_id = p.id')->where('c.uid', $uid)->where('c.type', 'product')->where('c.is_pay', 0)
             ->where('c.is_del', 0);
         if (!$status) $model = $model->where('c.is_new', 0);
@@ -345,6 +346,8 @@ class StoreCart extends BaseModel
             $suit += ($cart['productInfo']['is_suit'] ?? 0) * $cart['cart_num'];
             $is_bind = $cart['productInfo']['is_bind'] ?? 0;
             $store_bag = $store_bag || ($cart['productInfo']['store_bag'] ?? 0);
+
+            $store_spread += $cart['productInfo']['store_spread'];
         }
         foreach ($invalid as $k => $cart) {
             unset($valid[$k]['uid'], $valid[$k]['is_del'], $valid[$k]['is_new'], $valid[$k]['is_pay'], $valid[$k]['add_time']);
@@ -353,7 +356,7 @@ class StoreCart extends BaseModel
             }
         }
 
-        return compact('valid', 'invalid', 'suit', 'store_bag', 'is_bind');
+        return compact('valid', 'invalid', 'suit', 'store_bag', 'is_bind', 'store_spread');
     }
 
     /**

+ 1 - 0
app/models/store/StoreOrder.php

@@ -485,6 +485,7 @@ class StoreOrder extends BaseModel
                 'suit' => $other['suit'] ?? 0,
                 'is_bind' => $other['is_bind'] ?? 0,
                 'store_bag' => $other['store_bag'] ?? 0,
+                'store_spread' => $other['store_spread'] ?? 0,
             ];
             if ($shipping_type === 2) {
                 $orderInfo['verify_code'] = self::getStoreCode();

+ 36 - 0
app/models/user/User.php

@@ -406,6 +406,42 @@ class User extends BaseModel
         }
     }
 
+    public static function backMStoreBrokerage($orderInfo)
+    {
+        if (isset($orderInfo['combination_id']) && $orderInfo['combination_id']) return true;
+        if (isset($orderInfo['seckill_id']) && $orderInfo['seckill_id']) return true;
+        if (isset($orderInfo['bargain_id']) && $orderInfo['bargain_id']) return true;
+        $userInfo = User::getUserInfo($orderInfo['uid']);
+        //TODO 获取上推广人
+        $spread = User::getUserInfo($userInfo['spread_uid']);
+//        $cartId = is_string($orderInfo['cart_id']) ? json_decode($orderInfo['cart_id'], true) : $orderInfo['cart_id'];
+        $brokeragePrice = $orderInfo['store_spread'];
+//        $brokeragePrice = $orderInfo['pay_price']-$orderInfo['pay_post'];
+        //TODO 返佣金额小于等于0 直接返回不返佣金
+//        var_dump($brokeragePrice);
+        if ($brokeragePrice <= 0) return true;
+        User::beginTrans();
+        try {
+            $res = true;
+            if ($spread) {
+                if ($brokeragePrice > 0) {
+                    $mark = '推荐购买百业联盟商家礼包,获得推荐奖' . $brokeragePrice;
+                    $res = $res && UserBill::income('推荐百业礼包', $spread['uid'], 'now_money', 'brokerage', $brokeragePrice, $orderInfo['id'], bcadd($spread['brokerage_price'], $brokeragePrice, 2), $mark);
+                    $res = $res && User::where('uid', $spread['uid'])->inc('brokerage_price', $brokeragePrice)->update();
+                }
+            }
+            User::checkTrans($res);
+            if ($res) {
+                return true;
+            } else {
+                return self::setErrorInfo('发放失败');
+            }
+        } catch (Exception $e) {
+            User::rollbackTrans();
+            return self::setErrorInfo($e->getMessage());
+        }
+    }
+
     /**
      * 获取推荐人 暂无使用
      * @param $uid

+ 3 - 3
crmeb/repositories/OrderRepository.php

@@ -159,7 +159,7 @@ class OrderRepository
     {
         $res1 = StoreOrder::gainUserIntegral($order);
         $res2 = User::backOrderBrokerage($order);
-        $res3 = User::backStoreBrokerage($order);
+        $res3 = User::backStoreBrokerage($order) && User::backMStoreBrokerage($order);
         StoreOrder::orderTakeAfter($order);
         //满赠优惠券
         WechatUser::userTakeOrderGiveCoupon($uid, $order['pay_price']);
@@ -175,7 +175,7 @@ class OrderRepository
     {
         $res1 = AdminStoreOrder::gainUserIntegral($order);
         $res2 = User::backOrderBrokerage($order);
-        $res3 = User::backStoreBrokerage($order);
+        $res3 = User::backStoreBrokerage($order) && User::backMStoreBrokerage($order);
         AdminStoreOrder::orderTakeAfter($order);
         //满赠优惠券
         WechatUser::userTakeOrderGiveCoupon($order['uid'], $order['pay_price']);
@@ -192,7 +192,7 @@ class OrderRepository
     {
         $res1 = AdminStoreOrder::gainUserIntegral($order, false);
         $res2 = User::backOrderBrokerage($order, false);
-        $res3 = User::backStoreBrokerage($order);
+        $res3 = User::backStoreBrokerage($order) && User::backMStoreBrokerage($order);
         AdminStoreOrder::orderTakeAfter($order);
         UserBill::where('uid', $order['uid'])->where('link_id', $order['id'])->where('type', 'pay_money')->update(['take' => 1]);
         if (!($res1 && $res2 && $res3)) exception('收货失败!');