Ver código fonte

订单列表

whitefang 1 ano atrás
pai
commit
b4347f623d

+ 7 - 0
app/api/lists/recharge/ServiceOrderLists.php

@@ -28,6 +28,13 @@ class ServiceOrderLists extends BaseApiDataLists
 {
     protected $count = 0;
 
+    public function setSearch(): array
+    {
+        return [
+            '=' => ['service_status'],
+        ];
+    }
+
     public function queryWhere()
     {
         $where = [];

+ 2 - 93
app/api/logic/ServiceOrderLogic.php

@@ -7,11 +7,8 @@ use app\common\enum\PayEnum;
 use app\common\enum\WorkEnum;
 use app\common\logic\BaseLogic;
 use app\common\model\dict\DictData;
-use app\common\model\effective\EffectiveCategory;
-use app\common\model\effective\EffectiveRules;
 use app\common\model\goods\Goods;
 use app\common\model\master_worker\MasterWorker;
-use app\common\model\orders\OrderEffectiveLog;
 use app\common\model\orders\RechargeOrder;
 use app\common\model\performance\PerformanceRules;
 use app\common\model\recharge\OrderGoods;
@@ -28,13 +25,6 @@ use think\facade\Db;
  */
 class ServiceOrderLogic extends BaseLogic
 {
-    public function setSearch(): array
-    {
-        return [
-            '=' => ['service_status'],
-        ];
-    }
-
     /**
      * 提交订单
      * @param array $params
@@ -333,6 +323,7 @@ class ServiceOrderLogic extends BaseLogic
 
     public static function queryEffective($params)
     {
+        Db::startTrans();
         try {
             $work_id = \app\common\model\recharge\RechargeOrder::where([
                 'order_type' => 0,
@@ -342,91 +333,9 @@ class ServiceOrderLogic extends BaseLogic
             if(empty($work_id)){
                 throw new Exception('订单不存在');
             }
-            //查询工单下所有已完结的订单
-            $orders = RechargeOrder::with('orderGoods')->where(['sn'=>$params['sn'],
-                'user_id'=>$params['user_id'],
-                'pay_status'=>1])->select()->toArray();
-            //查询订单领取的保修卡
-             $logs = OrderEffectiveLog::where(['sn'=>$params['sn'],'user_id'=>$params['user_id']])->select();
-             $data = [];
-             $queryData = [];
-             foreach($orders as $oV){
-                foreach($oV['orderGoods'] as $v){
-                    if($logs->where('sn',$oV['sn'])->where('goods_id',$v['goods_id'])->count() > 0){
-                        $logData = $logs->where('sn',$oV['sn'])->where('goods_id',$v['goods_id'])->toArray();
-                        foreach($logData as $k =>$lV){
-                            $logData[$k]['end_effective_time'] = date("Y-m-d H:i:s",$lV['end_effective_time']);
-                            $logData[$k]['is_receive'] = 1;
-                        }
-                        $data = array_merge($data,$logData);
-                        continue;
-                    }
-                    $queryData[] = ['work_id'=>$oV['work_id'],'sn' =>$oV['sn'],'goods_id' => $v['goods_id'],'goods_category_id' => $v['goods_category_id'],'pay_time'=>$oV['pay_time'] ?? $oV['update_time']];
-                }
-             }
-             $categoryIds = array_column($queryData,'goods_category_id');
-             if(!empty($categoryIds)){
-                 $effectiveRule = EffectiveCategory::with('effectiveRule')->whereIn('goods_category_id',$categoryIds)->select();
-                 foreach($queryData as $v){
-                     if(!$effectiveRule->where('goods_category_id',$v['goods_category_id'])->isEmpty()){
-                         $val = $v ;
-                         $result = $effectiveRule->where('goods_category_id',$v['goods_category_id'])->toArray()[0];
-                         $val = $val+[
-                             'id' => 0,
-                             'effective_id'=>$result['effectiveRule']['id'],
-                             'user_id'=>$params['user_id'],
-                             'effective_unit'=>$result['effectiveRule']['effective_unit'],
-                             'effective_num'=>$result['effectiveRule']['effective_num'],
-                             'remark'=>$result['effectiveRule']['remark'],
-                             'is_receive' => 0,
-                             'end_effective_time'=>  date("Y-m-d H:i:s",EffectiveRules::formatEndEffectiveTime($val['pay_time'],$result['effectiveRule']['effective_num'],$result['effectiveRule']['effective_unit'])),
-                             'create_time'=> date("Y-m-d H:i:s",time()),
-                             'update_time'=>  date("Y-m-d H:i:s",time()),
-                         ];
-                         $data[] = $val;
-                     }
-                 }
-             }
-             return $data;
-        }catch(\Exception $e){
-            self::setError($e->getMessage());
-            return false;
-        }
-    }
-
-    public static function  receiveEffective($params)
-    {
-        try{
-            $orderGoods = OrderGoods::where(['sn'=>$params['sn'],'goods_id' => $params['goods_id']])->findOrEmpty();
-            if($orderGoods->isEmpty()){
-                throw new  \Exception('订单不存在');
-            }
-            $log = OrderEffectiveLog::where(['sn'=>$params['sn'],'user_id'=>$params['user_id'],'goods_id' =>$params['goods_id'] ])->findOrEmpty();
-            if($log->isEmpty()){
-                $orderInfo = \app\common\model\recharge\RechargeOrder::where([
-                    'order_type' => 0,
-                    'user_id' => $params['user_id'],
-                    'sn'=>$params['sn'],
-                    'pay_status'=>1
-                ])->findOrEmpty();
-                if(empty($orderInfo)){
-                    throw new Exception('订单不存在');
-                }
-                $effective =  EffectiveCategory::with('effectiveRule')->where('goods_category_id',$orderGoods->goods_category_id)->findOrEmpty();
-                OrderEffectiveLog::create([
-                    'effective_id' => $effective->effectiveRule->id,
-                    'sn' => $params['sn'],
-                    'user_id' => $params['user_id'],
-                    'work_id' => $orderInfo->work_id,
-                    'goods_id' => $orderGoods->goods_id,
-                    'effective_unit' => $effective->effectiveRule->effective_unit,
-                    'effective_num' => $effective->effectiveRule->effective_num,
-                    'remark' => $effective->effectiveRule->remark,
-                    'end_effective_time' => EffectiveRules::formatEndEffectiveTime($orderInfo->pay_time?? $orderInfo->update_time ,$effective->effectiveRule->effective_num,$effective->effectiveRule->effective_unit),
-                ]);
-            }
             return true;
         }catch(\Exception $e){
+            Db::rollback();
             self::setError($e->getMessage());
             return false;
         }