hrjy 3 years ago
parent
commit
6a837bb15f

+ 83 - 83
app/admin/view/store/store_product/create.php

@@ -845,40 +845,40 @@
                                     <!--                                            </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="radio" name="is_hot" lay-filter="is_hot" value="1"-->
+<!--                                                           title="开启"-->
+<!--                                                           :checked="formData.is_hot == 1 ? true : false">-->
+<!--                                                    <input type="radio" name="is_hot" lay-filter="is_hot" value="0"-->
+<!--                                                           title="关闭"-->
+<!--                                                           :checked="formData.is_hot == 0 ? true : false">-->
+<!--                                                </div>-->
+<!--                                            </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="radio" name="is_benefit" lay-filter="is_benefit"-->
+<!--                                                           value="1" title="开启"-->
+<!--                                                           :checked="formData.is_benefit == 1 ? true : false">-->
+<!--                                                    <input type="radio" name="is_benefit" lay-filter="is_benefit"-->
+<!--                                                           value="0" title="关闭"-->
+<!--                                                           :checked="formData.is_benefit == 0 ? true : false">-->
+<!--                                                </div>-->
+<!--                                            </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="radio" name="is_hot" lay-filter="is_hot" value="1"
-                                                           title="开启"
-                                                           :checked="formData.is_hot == 1 ? true : false">
-                                                    <input type="radio" name="is_hot" lay-filter="is_hot" value="0"
-                                                           title="关闭"
-                                                           :checked="formData.is_hot == 0 ? true : false">
-                                                </div>
-                                            </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="radio" name="is_benefit" lay-filter="is_benefit"
-                                                           value="1" title="开启"
-                                                           :checked="formData.is_benefit == 1 ? true : false">
-                                                    <input type="radio" name="is_benefit" lay-filter="is_benefit"
-                                                           value="0" title="关闭"
-                                                           :checked="formData.is_benefit == 0 ? true : false">
-                                                </div>
-                                            </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>
+                                                <label class="layui-form-label">复购商品</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_best" lay-filter="is_best" value="1"
                                                            title="开启"
@@ -890,58 +890,58 @@
                                             </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="radio" name="is_new" lay-filter="is_new" value="1"
-                                                           title="开启"
-                                                           :checked="formData.is_new == 1 ? true : false">
-                                                    <input type="radio" name="is_new" lay-filter="is_new" value="0"
-                                                           title="关闭"
-                                                           :checked="formData.is_new == 0 ? true : false">
-                                                </div>
-                                            </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="radio" name="is_good" lay-filter="is_good" value="1"
-                                                           title="开启"
-                                                           :checked="formData.is_good == 1 ? true : false">
-                                                    <input type="radio" name="is_good" lay-filter="is_good" value="0"
-                                                           title="关闭"
-                                                           :checked="formData.is_good == 0 ? true : false">
-                                                </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">
-                                                <div class="layui-form-item">
-                                                    <label class="layui-form-label">活动优先级</label>
-                                                    <div class="layui-input-block">
-                                                        <span class="layui-btn layui-btn-sm layui-btn-normal"
-                                                              :style="'background-color:'+activity[item]"
-                                                              v-for="(item,index) in formData.activity" :key="index"
-                                                              draggable="true"
-                                                              @dragstart="handleDragStart($event, item)"
-                                                              @dragover.prevent="handleDragOver($event, item)"
-                                                              @dragenter="handleDragEnter($event, item)"
-                                                              @dragend="handleDragEnd($event, item)">
-                                                        {{item}}
-                                                    </span>
-                                                        <span class="info">可拖动按钮调整活动的优先展示顺序</span>
-                                                    </div>
-                                                </div>
-                                            </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="radio" name="is_new" lay-filter="is_new" value="1"-->
+<!--                                                           title="开启"-->
+<!--                                                           :checked="formData.is_new == 1 ? true : false">-->
+<!--                                                    <input type="radio" name="is_new" lay-filter="is_new" value="0"-->
+<!--                                                           title="关闭"-->
+<!--                                                           :checked="formData.is_new == 0 ? true : false">-->
+<!--                                                </div>-->
+<!--                                            </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="radio" name="is_good" lay-filter="is_good" value="1"-->
+<!--                                                           title="开启"-->
+<!--                                                           :checked="formData.is_good == 1 ? true : false">-->
+<!--                                                    <input type="radio" name="is_good" lay-filter="is_good" value="0"-->
+<!--                                                           title="关闭"-->
+<!--                                                           :checked="formData.is_good == 0 ? true : false">-->
+<!--                                                </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">-->
+<!--                                                <div class="layui-form-item">-->
+<!--                                                    <label class="layui-form-label">活动优先级</label>-->
+<!--                                                    <div class="layui-input-block">-->
+<!--                                                        <span class="layui-btn layui-btn-sm layui-btn-normal"-->
+<!--                                                              :style="'background-color:'+activity[item]"-->
+<!--                                                              v-for="(item,index) in formData.activity" :key="index"-->
+<!--                                                              draggable="true"-->
+<!--                                                              @dragstart="handleDragStart($event, item)"-->
+<!--                                                              @dragover.prevent="handleDragOver($event, item)"-->
+<!--                                                              @dragenter="handleDragEnter($event, item)"-->
+<!--                                                              @dragend="handleDragEnd($event, item)">-->
+<!--                                                        {{item}}-->
+<!--                                                    </span>-->
+<!--                                                        <span class="info">可拖动按钮调整活动的优先展示顺序</span>-->
+<!--                                                    </div>-->
+<!--                                                </div>-->
+<!--                                            </div>-->
+<!--                                        </div>-->
+<!--                                    </div>-->
                                 </div>
                             </div>
                         </div>

+ 16 - 2
app/models/store/StoreOrder.php

@@ -316,7 +316,15 @@ class StoreOrder extends BaseModel
             $cartIds = [];
             $totalNum = 0;
             $gainIntegral = 0;
+            $repurchase = 0;
+            $normal = 0;
             foreach ($cartInfo as $cart) {
+                $product_fg = StoreProduct::where('id', $cart['product_id'])->value('is_best');
+                if ($product_fg > 0){
+                    $repurchase = 1;
+                }elseif ($product_fg == 0){
+                    $normal = 1;
+                }
                 $cartIds[] = $cart['id'];
                 $totalNum += $cart['cart_num'];
                 if (!$seckill_id) $seckill_id = $cart['seckill_id'];
@@ -325,6 +333,12 @@ class StoreOrder extends BaseModel
                 $cartInfoGainIntegral = isset($cart['productInfo']['give_integral']) ? bcmul($cart['cart_num'], $cart['productInfo']['give_integral'], 2) : 0;
                 $gainIntegral = bcadd($gainIntegral, $cartInfoGainIntegral, 2);
             }
+            if ($repurchase and $userInfo['identity'] == 0){
+                return self::setErrorInfo('复购商品需店员以上才能购买!', true);
+            }
+            if ($repurchase and $normal){
+                return self::setErrorInfo('复购商品不能和正常商品同时购买!', true);
+            }
             $deduction = $seckill_id || $bargain_id || $combinationId;
             if ($deduction) {
                 $couponId = 0;
@@ -669,7 +683,7 @@ class StoreOrder extends BaseModel
         self::beginTrans();
 
         $res1 = false !== User::bcDec($uid, 'now_money', $orderInfo['pay_price'], 'uid');
-        $res2 = UserBill::expend('购买商品', $uid, 'now_money', 'pay_product', $orderInfo['pay_price'], $orderInfo['id'], $userInfo['now_money'], '余额支付' . floatval($orderInfo['pay_price']) . '元购买商品');
+//        $res2 = UserBill::expend('购买商品', $uid, 'now_money', 'pay_product', $orderInfo['pay_price'], $orderInfo['id'], $userInfo['now_money'], '余额支付' . floatval($orderInfo['pay_price']) . '元购买商品');
         $res3 = self::paySuccess($order_id, 'yue', $formId);//余额支付成功
         try {
             PaymentRepositories::yuePayProduct($userInfo, $orderInfo);
@@ -677,7 +691,7 @@ class StoreOrder extends BaseModel
             self::rollbackTrans();
             return self::setErrorInfo($e->getMessage());
         }
-        $res = $res1 && $res2 && $res3;
+        $res = $res1  && $res3;
         self::checkTrans($res);
         return $res;
     }

+ 14 - 8
app/models/store/StoreProduct.php

@@ -114,6 +114,7 @@ class StoreProduct extends BaseModel
         if ($salesOrder) $baseOrder = $salesOrder == 'desc' ? 'sales DESC' : 'sales ASC';//虚拟销量
         if ($baseOrder) $baseOrder .= ', ';
         $model->order($baseOrder . 'sort DESC, add_time DESC');
+        $model->where('is_best', 0);
         $list = $model->page((int)$page, (int)$limit)->field('id,store_name,cate_id,image,IFNULL(sales,0) + IFNULL(ficti,0) as sales,price,stock,ot_price')->select()->each(function ($item) use ($uid, $type) {
             if ($type) {
                 $item['is_att'] = StoreProductAttrValueModel::where('product_id', $item['id'])->count() ? true : false;
@@ -512,8 +513,13 @@ class StoreProduct extends BaseModel
         $oneBrokerageVirtual = 0;//一级返佣金额
         $twoBrokerageVirtual = 0;//二级返佣金额
         $sumProductPriceVirtual = 0;//非指定返佣商品总金额
+        $repurchase = 0;
         foreach ($cartInfo as $value) {
             $product = json_decode($value, true);
+            $product_fg = StoreProduct::where('id', $product['product_id'])->value('is_best');
+            if ($product_fg > 0){
+                $repurchase = 1;
+            }
             $cartNum = $product['cart_num'] ?? 0;
             if (isset($product['productInfo'])) {
                 $productInfo = $product['productInfo'];
@@ -548,15 +554,15 @@ class StoreProduct extends BaseModel
         if ($type) {
             //获取后台一级返佣比例
             $user = User::where('uid', $uid)->find();
-            if ($user['identity'] == 1){
-                $storeBrokerageRatio =  sys_config('store_brokerage_ratio');
-            }elseif ($user['identity'] == 2){
-                $storeBrokerageRatio =  sys_config('shopowner');
+            if ($repurchase == 0){
+                if ($user['identity'] == 1){
+                    $storeBrokerageRatio =  sys_config('store_brokerage_ratio');
+                }elseif ($user['identity'] == 2){
+                    $storeBrokerageRatio =  sys_config('shopowner');
+                }else{
+                    $storeBrokerageRatio = 0;
+                }
             }else{
-                $storeBrokerageRatio = 0;
-            }
-            $order_count = StoreOrder::where('uid', $userID)->where('paid' , 1)->count();
-            if ($order_count >= 2){
                 $storeBrokerageRatio = 10;
             }
             //一级返佣比例 小于等于零时直接返回 不返佣

+ 12 - 3
app/models/user/User.php

@@ -4,6 +4,7 @@
 namespace app\models\user;
 
 use app\models\store\StoreOrder;
+use app\models\store\StoreOrderCartInfo;
 use app\models\store\StoreProduct;
 use crmeb\services\SystemConfigService;
 use think\db\exception\DataNotFoundException;
@@ -317,12 +318,20 @@ class User extends BaseModel
         if ($realBrokeragePrice > 0) {
             $spreadUserInfo = User::getUserInfo($userInfo['spread_uid']);
             $order_count = StoreOrder::where('uid', $userInfo['uid'])->where('paid' , 1)->count();
-
-
+            $cartInfo = StoreOrderCartInfo::whereIn('cart_id', $cartId)->column('cart_info');
+            $repurchase = 0;
+            foreach ($cartInfo as $value) {
+                $product = json_decode($value, true);
+                $product_fg = StoreProduct::where('id', $product['product_id'])->value('is_best');
+                if ($product_fg > 0){
+                    $repurchase = 1;
+                }
+            }
             //TODO 上级推广员返佣之后的金额
 
             //TODO 添加推广记录
-            if ($order_count < 2){
+            if ($repurchase == 0){
+
                 $brokerage_price = $realBrokeragePrice * 0.95;// 到账佣金
                 $integral =  $realBrokeragePrice * 0.05;// 到账积分