cxgj/models/cms/Notice.php
2023-11-27 09:45:13 +08:00

132 lines
3.6 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\models\cms;
use Yii;
/**
* This is the model class for table "{{%cms_notice}}".
*
* @property int $id ID
* @property int $cx_mch_id 平台商户ID
* @property int $rich_text_id 富文本ID
* @property int $sort 排序默认100升序
* @property int $status 状态0=草稿1=已发布2=回收站
* @property int $is_top 是否置顶0=否1=是
* @property int $is_index 是否首页展示0=否1=是
* @property int $viewed_num 浏览量
* @property int $created_at 添加时间
* @property int $updated_at 更新时间
* @property int $published_at 发布时间
* @property int $is_delete 是否删除0=否1=是
* @property int $deleted_at 删除时间
* @property int $store_id 门店ID
* @property string $cover 封面图
*/
class Notice extends \yii\db\ActiveRecord
{
const STATUS_DRAFT = 0;
const STATUS_PUBLISHED = 1;
const STATUS_TRASH = 2;
/**
* {@inheritdoc}
*/
public static function tableName()
{
return '{{%cms_notice}}';
}
/**
* {@inheritdoc}
*/
public function rules()
{
return [
[['cx_mch_id', 'rich_text_id', 'sort', 'is_top', 'is_index', 'viewed_num', 'created_at', 'updated_at', 'is_delete', 'deleted_at', 'status', 'published_at','store_id'], 'integer'],
[['rich_text_id','store_id','cover'], 'required'],
];
}
/**
* {@inheritdoc}
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'cx_mch_id' => '平台商户ID',
'rich_text_id' => '富文本ID',
'sort' => '排序默认100升序',
'status' => '状态0=草稿1=已发布2=回收站',
'is_top' => '是否置顶0=否1=是',
'is_index' => '是否首页展示0=否1=是',
'viewed_num' => '浏览量',
'created_at' => '添加时间',
'updated_at' => '更新时间',
'published_at' => '发布时间',
'is_delete' => '是否删除0=否1=是',
'deleted_at' => '删除时间',
'store_id' => '门店ID',
'cover' => '封面图',
];
}
public function beforeSave($insert) {
if(parent::beforeSave($insert)){
if($this->isNewRecord){
$this->created_at = time();
}
$this->updated_at = time();
if($this->is_delete == 1)
$this->deleted_at = time();
return true;
} else {
return false;
}
}
public static function statusLabels()
{
return [
'0' => '草稿',
'1' => '已发布',
'2' => '回收站',
];
}
public static function getStatus($status)
{
$labels = self::statusLabels();
return isset($labels[$status]) ? $labels[$status] : "未知";
}
/**
* @param integer $notice_id 公告ID
* @param integer $cx_mch_id 平台商户ID
* return integer
*/
public static function setViewedNum($notice_id, $cx_mch_id = 0)
{
$model = Notice::findOne([
'id' => $notice_id,
'cx_mch_id' => $cx_mch_id,
'is_delete' => 0
]);
if($model == null)
return 0;
$model->viewed_num = $model->viewed_num + 1;
$model->save();
return $model->viewed_num;
}
public function getRichText()
{
return $this->hasOne(RichText::className(), ['id' => 'rich_text_id'])->where(['is_delete' => 0]);
}
}