Browse Source

充值加备注、搜索

gorden 6 months ago
parent
commit
60b2940478
1 changed files with 65 additions and 5 deletions
  1. 65 5
      app/admin/controller/order/PayDetailController.php

+ 65 - 5
app/admin/controller/order/PayDetailController.php

@@ -34,6 +34,17 @@ class PayDetailController extends Curd
             $where['pay_status'] = 'SUCCESS';
             $where['pay_category'] = ['<>', 'RECHARGE'];
         }
+        if (!empty($where['pay_addtimes'])) {
+            $where['pay_addtimes'][0] = !empty($where['pay_addtimes'][0]) ? strtotime($where['pay_addtimes'][0]) : '';
+            $where['pay_addtimes'][1] = !empty($where['pay_addtimes'][1]) ? strtotime($where['pay_addtimes'][1]) : '';
+        }
+        if (!empty($request->get('premises_id'))) {
+            $payIds = PayDetail::whereJsonContains('pay_extend_json->remark->premises_id', intval($request->get('premises_id')))
+                ->pluck('pay_id')
+                ->toArray();
+            $where['pay_id'] = ['in', $payIds];
+        }
+
         // else if ($where['pay_category'] == 'RECHARGE') {
         //     $where['pay_status'] = 'SUCCESS';
         //     $where['pay_category'] = 'RECHARGE';
@@ -76,8 +87,8 @@ class PayDetailController extends Curd
             }
         }
         $model = $model->where(function ($query) {
-            $query->whereIn('pay_prepayid',['ALIPAY','WXPAY'])
-                ->orWhere('pay_prepayid','like','%CASH%');
+            $query->whereIn('pay_prepayid', ['ALIPAY', 'WXPAY'])
+                ->orWhere('pay_prepayid', 'like', '%CASH%');
         });
 
         if ($field) {
@@ -85,6 +96,7 @@ class PayDetailController extends Curd
         }
         return $model;
     }
+
     public function selectWelfare(Request $request): Response
     {
         [$where, $format, $limit, $field, $order] = $this->selectInput($request);
@@ -137,7 +149,7 @@ class PayDetailController extends Curd
             }
         }
         $model = $model->where(function ($query) {
-            $query->Where('pay_prepayid','like','%WELFARE%');
+            $query->Where('pay_prepayid', 'like', '%WELFARE%');
         });
 
         if ($field) {
@@ -154,13 +166,22 @@ class PayDetailController extends Curd
                 $item->pay_prepayid = $prepayId[1];
             }
             $memberAccount = [];
-            if(!empty($item->memberAccount)){
-                foreach($item->memberAccount as $account){
+            if (!empty($item->memberAccount)) {
+                foreach ($item->memberAccount as $account) {
                     $memberAccount[strtolower($account->member_account_classify)] = $account;
                 }
 
                 $item->memberAccount = $memberAccount;
             }
+            if (!empty($item->pay_extend_json)) {
+                $payExtendJson = json_decode($item->pay_extend_json, true);
+                if (isset($payExtendJson['remark'])) {
+                    $item->service = $payExtendJson['remark']['service'] ?? '';
+                    $item->business = $payExtendJson['remark']['business'] ?? '';
+                    $item->premises_id = $payExtendJson['remark']['premises_id'] ?? '';
+                    $item->premises_name = $payExtendJson['remark']['premises_name'] ?? '';
+                }
+            }
         }
 
         return $items;
@@ -362,4 +383,43 @@ class PayDetailController extends Curd
         $data['pay_prepayid'] = 0;
         return $data;
     }
+
+    /**
+     * @Desc 加备注-门店、服务人员、业务人员
+     * @Author Gorden
+     * @Date 2024/8/29 16:14
+     *
+     * @param Request $request
+     * @return Response
+     */
+    public function remark(Request $request)
+    {
+        $payId = $request->post('pay_id', '');
+        if (!$payId) {
+            return json_fail('参数异常');
+        }
+        $payDetail = PayDetail::where('pay_id', $payId)->first();
+        if (!$payDetail) {
+            return json_fail("数据异常");
+        }
+        try {
+            $data = [
+                'premises_id' => $request->post('premises_id', ''),
+                'premises_name' => $request->post('premises_name', ''),
+                'business' => $request->post('business', ''),
+                'service' => $request->post('service', '')
+            ];
+            $payExtendJson = [];
+            if (!empty($payDetail->pay_extend_json)) {
+                $payExtendJson = json_decode($payDetail->pay_extend_json, true);
+            }
+            $payExtendJson['remark'] = $data;
+            $payDetail->pay_extend_json = json_encode($payExtendJson, JSON_UNESCAPED_UNICODE);
+            $payDetail->save();
+
+            return json_success('success');
+        } catch (\Exception $e) {
+            return json_fail('备注保存失败');
+        }
+    }
 }