|
@@ -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,
|
|
|
+ ];
|
|
|
|
|
|
/**
|
|
|
* 场所名获取餐厅打印机
|