Pārlūkot izejas kodu

add - 权益卡下单/结算限制

liugc 1 gadu atpakaļ
vecāks
revīzija
4fff579b66

+ 1 - 1
app/adminapi/lists/equity/EquityConfigLists.php

@@ -38,7 +38,7 @@ class EquityConfigLists extends BaseAdminDataLists implements ListsSearchInterfa
     public function setSearch(): array
     {
         return [
-            '=' => ['price', 'number', 'goods_id', 'day_num','status'],
+            '=' => ['price', 'number', 'goods_id', 'day_num','status','is_oneself_operate','is_master_settlement'],
             '%like%'=> ['equity_name'],
         ];
     }

+ 4 - 1
app/adminapi/logic/equity/EquityConfigLogic.php

@@ -47,8 +47,9 @@ class EquityConfigLogic extends BaseLogic
                 'goods_id' => $params['goods_id'],
                 'day_num' => $params['day_num'],
                 'status' => $params['status']??1,
+                'is_oneself_operate' => $params['is_oneself_operate']??1,
+                'is_master_settlement' => $params['is_master_settlement']??1,
             ]);
-
             Db::commit();
             return true;
         } catch (\Exception $e) {
@@ -77,6 +78,8 @@ class EquityConfigLogic extends BaseLogic
                 'goods_id' => $params['goods_id'],
                 'day_num' => $params['day_num'],
                 'status' => $params['status']??1,
+                'is_oneself_operate' => $params['is_oneself_operate']??1,
+                'is_master_settlement' => $params['is_master_settlement']??1,
             ]);
 
             Db::commit();

+ 3 - 0
app/api/logic/ServiceOrderLogic.php

@@ -191,6 +191,9 @@ class ServiceOrderLogic extends BaseLogic
                 if($userEquity->isEmpty() || (int)$userEquity['equityConfig']['status'] === 2){
                     throw new Exception('您的权益卡已关闭,请重新选择权益卡!');
                 }
+                if((int)$userEquity['equityConfig']['is_oneself_operate'] === 2){
+                    throw new Exception('该权益卡无需自行下单!');
+                }
                 $order_total = 0;
                 $order_amount = 0;
             }

+ 9 - 0
app/common/model/works/ServiceWork.php

@@ -17,6 +17,8 @@ namespace app\common\model\works;
 
 use app\api\logic\PerformanceLogic;
 use app\common\model\BaseModel;
+use app\common\model\equity\EquityConfig;
+use app\common\model\equity\UserEquity;
 use app\common\model\goods_category\GoodsCategory;
 use app\common\model\master_commission\MasterWorkerCommissionConfig;
 use app\common\model\master_commission\MasterWorkerCommissionRatio;
@@ -41,6 +43,13 @@ class ServiceWork extends BaseModel
     public static function onAfterUpdate($model)
     {
         if($model->user_confirm_status == 5 and $model->work_status == 7 and $model->work_pay_status==1){
+            if($model->user_equity_id > 0){
+                // 权益卡不分成于工程师,则不进行结算
+                $userEquity = UserEquity::with(['equityConfig'])->where('id',$model->user_equity_id)->findOrEmpty();
+                if(!$userEquity->isEmpty() && (int)$userEquity['equityConfig']['is_master_settlement'] === 2){
+                    return;
+                }
+            }
             // 保修工单完结,若新工程师则进行结算,用户支付的尾款不再提成
             if($model->order_effective_id >0){
                 PerformanceLogic::effectivePerformance($model);