Browse Source

餐厅完善

gorden 7 months ago
parent
commit
926a9f204e

+ 35 - 0
app/admin/controller/marketing/DeptPremisesController.php

@@ -147,6 +147,41 @@ class DeptPremisesController extends Curd
     {
         $data = $this->inputFilter($request->post());
 
+        $work = $request->post('dept_work', []);
+        $dateWeek = $request->post('dept_week', []);
+        $extendJson = [];
+        if (isset($work[0]) && isset($work[1])) {
+            $start = date('H:i', strtotime($work[0]));
+            $end = date('H:i', strtotime($work[1]));
+            $extendJson['times'] = $start . '~' . $end;
+        } elseif (!isset($work[0]) && isset($extendJson['times'])) {
+            unset($extendJson['times']);
+        }
+
+        if ($dateWeek) {
+            $newDates = [];
+            foreach ($dateWeek as $date) {
+                $key = self::$week[$date];
+                $newDates[$key] = $date;
+            }
+            ksort($newDates);
+
+            $currentDate = current($newDates);
+            $lastDate = end($newDates);
+
+            $weekStr = '';
+            if (self::$week[$lastDate] - self::$week[$currentDate] + 1 > count($newDates)) {
+                $weekStr = implode(',', $newDates);
+            } else if (self::$week[$lastDate] - self::$week[$currentDate] + 1 == count($newDates)) {
+                $weekStr = $currentDate . '至' . $lastDate;
+            }
+
+            $extendJson['weeks'] = $weekStr;
+            $extendJson['week'] = $dateWeek;
+        }
+
+        $data['dept_extend_json'] = json_encode($extendJson);
+
         return $data;
     }
 

+ 110 - 0
app/admin/controller/sys_manage/RestaurantController.php

@@ -132,6 +132,49 @@ class RestaurantController extends Curd{
         }
         return json_success('success');
     }
+    
+    protected function insertInput(Request $request): array
+    {
+        $data = $this->inputFilter($request->post());
+
+        $work = $request->post('dept_work', []);
+        $dateWeek = $request->post('dept_week', []);
+        $extendJson = [];
+        if (isset($work[0]) && isset($work[1])) {
+            $start = date('H:i', strtotime($work[0]));
+            $end = date('H:i', strtotime($work[1]));
+            $extendJson['times'] = $start . '~' . $end;
+        } elseif (!isset($work[0]) && isset($extendJson['times'])) {
+            unset($extendJson['times']);
+        }
+
+        if ($dateWeek) {
+            $newDates = [];
+            foreach ($dateWeek as $date) {
+                $key = self::$week[$date];
+                $newDates[$key] = $date;
+            }
+            ksort($newDates);
+
+            $currentDate = current($newDates);
+            $lastDate = end($newDates);
+
+            $weekStr = '';
+            if (self::$week[$lastDate] - self::$week[$currentDate] + 1 > count($newDates)) {
+                $weekStr = implode(',', $newDates);
+            } else if (self::$week[$lastDate] - self::$week[$currentDate] + 1 == count($newDates)) {
+                $weekStr = $currentDate . '至' . $lastDate;
+            }
+
+            $extendJson['weeks'] = $weekStr;
+            $extendJson['week'] = $dateWeek;
+        }
+
+        $data['dept_extend_json'] = json_encode($extendJson);
+
+        return $data;
+    }
+
 
     /**
      * 更新
@@ -163,6 +206,73 @@ class RestaurantController extends Curd{
 
         return json_success('success');
     }
+    
+    /**
+     * 更新前置方法
+     * @param Request $request
+     * @return array
+     * @throws BusinessException
+     */
+    protected function updateInput(Request $request): array
+    {
+        $work = $request->post('dept_work', []);
+        $dateWeek = $request->post('dept_week', []);
+        $primary_key = $this->model->getKeyName();
+        $id = $request->post($primary_key);
+        $data = $this->inputFilter($request->post());
+        $model = $this->model->find($id);
+        if (!$model) {
+            throw new BusinessException('记录不存在', 2);
+        }
+        $extendJson = [];
+        if (!empty($model->dept_extend_json)) {
+            $extendJson = json_decode($model->dept_extend_json, true);
+        }
+        if (isset($work[0]) && isset($work[1])) {
+            $start = date('H:i', strtotime($work[0]));
+            $end = date('H:i', strtotime($work[1]));
+            $extendJson['times'] = $start . '~' . $end;
+        } elseif (!isset($work[0]) && isset($extendJson['times'])) {
+            unset($extendJson['times']);
+        }
+
+        if ($dateWeek) {
+            $newDates = [];
+            foreach ($dateWeek as $date) {
+                $key = self::$week[$date];
+                $newDates[$key] = $date;
+            }
+            ksort($newDates);
+
+            $currentDate = current($newDates);
+            $lastDate = end($newDates);
+
+            $weekStr = '';
+            if (self::$week[$lastDate] - self::$week[$currentDate] + 1 > count($newDates)) {
+                $weekStr = implode(',', $newDates);
+            } else if (self::$week[$lastDate] - self::$week[$currentDate] + 1 == count($newDates)) {
+                $weekStr = $currentDate . '至' . $lastDate;
+            }
+
+            $extendJson['weeks'] = $weekStr;
+            $extendJson['week'] = $dateWeek;
+        }
+
+        $data['dept_extend_json'] = json_encode($extendJson);
+
+        unset($data[$primary_key]);
+        return [$id, $data];
+    }
+
+    public static $week = [
+        '周一' => 1,
+        '周二' => 2,
+        '周三' => 3,
+        '周四' => 4,
+        '周五' => 5,
+        '周六' => 6,
+        '周日' => 7,
+    ];
 
     /**
      * 场所名获取餐厅打印机