getMessage(); return false; } } /** * @notes 包邮活动详情 */ public static function detail($params) { $activity = FreeShipping::withoutField('create_time,update_time,delete_time') ->findOrEmpty($params['id'])->toArray(); return $activity; } /** * @notes 编辑包邮活动 */ public static function edit($params) { try { $params['start_time'] = strtotime($params['start_time']); $params['end_time'] = strtotime($params['end_time']); $params['region'] = json_encode($params['region']); $activity = FreeShipping::findOrEmpty($params['id']); switch ($activity->getData('status')) { case FreeShippingEnum::WAIT: FreeShipping::update($params); break; case FreeShippingEnum::ING: // 只允许编辑名称 FreeShipping::update(['id' => $params['id'], 'name'=> $params['name']]); break; case FreeShippingEnum::END: throw new \Exception('进行中和已结束的活动不允许编辑'); } return true; } catch(\Exception $e) { self::$error = $e->getMessage(); return false; } } /** * @notes 开始包邮活动 */ public static function start($params) { try { $activity = FreeShipping::findOrEmpty($params['id']); if ($activity->getData('status') != FreeShippingEnum::WAIT) { throw new \Exception('只有未开始的活动才能进行开始操作'); } $activity->status = FreeShippingEnum::ING; $activity->save(); return true; } catch (\Exception $e) { self::$error = $e->getMessage(); return false; } } /** * @notes 结束包邮活动 */ public static function end($params) { try { $activity = FreeShipping::findOrEmpty($params['id']); if ($activity->getData('status') != FreeShippingEnum::ING) { throw new \Exception('只有进行中的活动才能结束'); } $activity->status = FreeShippingEnum::END; $activity->save(); return true; } catch (\Exception $e) { self::$error = $e->getMessage(); return false; } } /** * @notes 删除包邮活动 */ public static function delete($params) { try { FreeShipping::destroy($params['id']); return true; } catch (\Exception $e) { self::$error = $e->getMessage(); return false; } } }