Browse Source

订单重复

gorden 7 months ago
parent
commit
02862ecb1f

+ 30 - 11
app/admin/controller/order/WholeController.php

@@ -65,12 +65,9 @@ class WholeController extends Curd
             $where['order_addtimes'][0] = strtotime($where['order_addtimes'][0]);
             $where['order_addtimes'][1] = strtotime($where['order_addtimes'][1]);
         }
-        // 充值订单不显示
-        $where['order_category'] = ['<>','RECHARGE'];
 
         $order = $request->get('order', 'desc');
         $field = $field ?? 'order_addtimes';
-
         if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
             $where['order_is_complete'] = 'N';
             $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in','SYSTEM,NORMAL'];
@@ -84,13 +81,35 @@ class WholeController extends Curd
         if ($request->get('return')){
             $where['order_return.order_return_status'] = $request->get('return');
         }
-        if ($request->get('goods_classify')){
-            $goodsIds = Goods::where('goods_classify',$request->get('goods_classify'))->pluck('goods_id')->toArray();
-            $where['order_sheet.join_sheet_goods_id'] = ['in',implode(',',$goodsIds)];
+        if ($request->get('goods_classify') || $request->get('goods_name')){
+            $where['order_id'] = '';
+            $goodsClassify = $request->get('goods_classify','');
+            $goodsName = $request->get('goods_name','');
+            if (!empty($goodsName) && empty($goodsClassify)){
+                $goodsIds = Goods::where('goods_name','like','%'.$request->get('goods_name').'%')->pluck('goods_id')->toArray();
+            }else if(!empty($goodsClassify)){
+                if($goodsClassify == 'SERVICE'){
+                    $goodsModel = Goods::whereIn('goods_classify',['SERVICE','CHNMED','CHNNCD']);
+                }else{
+                    $goodsModel = Goods::where('goods_classify',$goodsClassify);
+                }
+
+                if(!empty($goodsName)){
+                    $goodsModel->where('goods_name','like','%'.$goodsName.'%');
+                }
+
+                $goodsIds = $goodsModel->pluck('goods_id')->toArray();
+            }
+            if($goodsIds){
+                $orderIds = OrderSheet::whereIn('join_sheet_goods_id',$goodsIds)->pluck('join_sheet_order_id')->toArray();
+                if($orderIds){
+                    $where['order_id'] = ['in',implode(',',$orderIds)];
+                }
+            }
         }
-        if ($request->get('goods_name')){
-            $goodsIds = Goods::where('goods_name','like','%'.$request->get('goods_name').'%')->pluck('goods_id')->toArray();
-            $where['order_sheet.join_sheet_goods_id'] = ['in',implode(',',$goodsIds)];
+        if(empty($where['order_category'])){
+            // 充值订单不显示
+            $where['order_category'] = ['<>','RECHARGE'];
         }
 
         $query = $this->doSelect($where, $field, $order);
@@ -119,8 +138,8 @@ class WholeController extends Curd
             'express' => function ($query) {
                 $query->select('join_express_order_id', 'order_express_type');
             }
-        ])->leftJoin('order_return','order_return.join_return_order_id','=','order.order_id')
-        ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
+        ])->leftJoin('order_return','order_return.join_return_order_id','=','order.order_id');
+        // ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
         foreach ($where as $column => $value) {
             if (is_array($value)) {
                 if ($value[0] === 'like' || $value[0] === 'not like') {

+ 10 - 6
app/admin/service/order/AppointmentService.php

@@ -177,6 +177,10 @@ class AppointmentService
             // }
             // 如果没有,新建
             if (empty($params['join_appointment_member_id']) && !empty($params['username']) && !empty($params['mobile'])) {
+                if(Member::where('member_mobile',$params['mobile'])->exists()){
+                    Db::rollBack();
+                    return json_fail('会员已存在,请勿重复创建');
+                }
                 $memberId = "ME" . str_pad(SysSerial::getSerial(), 16, "0", STR_PAD_LEFT) . random_string(6, 'up');
                 $params['join_appointment_member_id'] = $memberId;
 
@@ -187,7 +191,7 @@ class AppointmentService
                     'member_classify' => 'MEMBER',
                     'member_status' => 'ACTIVED',
                     'member_mobile' => $params['mobile'],
-                    'member_from' => 'backstage',
+                    'member_extend_json'=>json_encode(['come_from'=>'SYSTEM']),
                     'member_addtimes' => time()
                 ];
                 Member::insert($memberData);
@@ -209,11 +213,11 @@ class AppointmentService
                 // 现金/余额账户
                 MemberAccount::insert($accountData);
                 // cert
-                $certData = [
-                    'join_cert_member_id' => $memberId,
-                    'member_cert_name' => $params['username']
-                ];
-                MemberCert::insert($certData);
+                // $certData = [
+                //     'join_cert_member_id' => $memberId,
+                //     'member_cert_name' => $params['username']
+                // ];
+                // MemberCert::insert($certData);
                 // info
                 $infoData = [
                     'join_info_member_id' => $memberId,