| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace app\common\model;
- use think\Model;
- class AnnouncementModel extends Model
- {
- protected $name = "announcement";
- // 开启自动写入时间戳字段
- protected $autoWriteTimestamp = 'int';
- //定义时间戳字段名
- protected $createTime = 'createtime';
- protected $updateTime = 'updatetime';
- // 追加属性
- protected $append = [
- 'createtime_text',
- 'updatetime_text'
- ];
- const Announ = 1;
- const AnnounList = [1, 4];
- const Banner = 2;
- const Stop = 2;
- const Normal = 1;
- //状态
- public $status_list = [
- '-1' => '全部',
- self::Announ => '公告',
- self::Banner => '轮播图'
- ];
- //更新产品
- public static function setAnnouncementByProduct(int $announcement_id, array $product_arr)
- {
- $product_arr = array_filter($product_arr);
- $row = self::get($announcement_id);
- if ($row) $product_arr = array_unique(array_merge($product_arr, explode(',', $row->product_id)));
- $row->product_id = rtrim(implode(',', $product_arr), ',');
- return $row->save();
- }
- public static function getTypeList()
- {
- return [1 => __('官方公告'), 2 => __('系统信息'), 3 => __('茶说'), 4 => __('新闻中心')];
- }
- public static function getTypeAllList(string $lan)
- {
- $typeList = [['key' => 1, 'value' => __('官方公告')], ['key' => 4, 'value' => __('新闻中心')]];
- foreach ($typeList as &$item) {
- $item['sun_type_name'] = AnnouncementType::getSubTypeByPId($item['key'], $lan);
- }
- return $typeList;
- }
- public function getCreatetimeTextAttr($value, $data)
- {
- $value = $value ? $value : (isset($data['createtime']) ? $data['createtime'] : '');
- return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
- }
- public function getUpdatetimeTextAttr($value, $data)
- {
- $value = $value ? $value : (isset($data['updatetime']) ? $data['updatetime'] : '');
- return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
- }
- protected function setCreatetimeAttr($value)
- {
- return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
- }
- protected function setUpdatetimeAttr($value)
- {
- return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
- }
- }
|