| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- namespace addons\ReservationService\common\services;
- use addons\ReservationService\common\models\ReservationServiceWorkTime;
- use common\enums\StatusEnum;
- class WorkTimeService
- {
- /**
- * 设置
- * @param int $mall_id
- * @param int $user_id
- * @param int $week_day
- * @param $next_day
- * @param array $times
- * @return ReservationServiceWorkTime|mixed|string|null
- */
- public function save(int $mall_id, int $user_id, int $week_day, $next_day, array $times)
- {
- /**
- * @var $model ReservationServiceWorkTime
- */
- $model = ReservationServiceWorkTime::getOne([
- ['user_id' => $user_id],
- ['mall_id' => $mall_id],
- ['week_day' => $week_day]
- ]);
- if (empty($model)) {
- $model = new ReservationServiceWorkTime();
- $model->mall_id = $mall_id;
- $model->user_id = $user_id;
- }
- $max_week_day = $week_day + $next_day;
- try {
- for ($i = $week_day; $i <= $max_week_day; $i++) {
- }
- // 判断时间是否被包含
- // ReservationServiceWorkTime::getOne([
- // ['user_id' => $user_id],
- // ['mall_id' => $mall_id],
- // ['>=', 'week_day', $week_day]
- // ]);
- $model->start_week_day = $week_day;
- $model->end_week_day = $week_day + $next_day; // 加天数
- $model->status = StatusEnum::ENABLED;
- $model->start_hour = intval($times[0]);
- $model->end_hour = intval($times[1]);
- if (!$model->save()) return $model->getErrorMessage();
- } catch (\Exception $e) {
- }
- return $model;
- }
- }
|