| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?php
- namespace addons\BusinessCard\common\models;
- use common\enums\StatusEnum;
- use Exception;
- use Yii;
- /**
- * This is the model class for table "qimall_addons_business_card_material_statistics".
- *
- * @property int $id 名片素材数据统计
- * @property int|null $mall_id 商城ID
- * @property int|null $material_id 素材ID
- * @property int|null $view_seconds 观看总时长(秒)
- * @property int|null $view_numbers 观看人数
- * @property int|null $view_times 观看次数
- * @property int|null $share_times 分享次数
- * @property int|null $status 状态[-1:删除;0:禁用;1启用]
- * @property int|null $created_at 创建时间
- * @property int|null $updated_at 更新时间
- */
- class BusinessCardMaterialsStatistics extends \common\models\base\BaseActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return 'qimall_addons_business_card_material_statistics';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['mall_id', 'material_id', 'view_seconds', 'view_numbers', 'view_times', 'share_times', 'status', 'created_at', 'updated_at'], 'integer'],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'mall_id' => 'Mall ID',
- 'material_id' => 'Material ID',
- 'view_seconds' => 'View Seconds',
- 'view_numbers' => 'View Numbers',
- 'view_times' => 'View Times',
- 'share_times' => 'Share Times',
- 'status' => 'Status',
- 'created_at' => 'Created At',
- 'updated_at' => 'Updated At',
- ];
- }
- public function getMaterial()
- {
- return $this->hasOne(BusinessCardMaterials::class, ['id' => 'material_id'])->select('id,title,cover_img');
- }
- /**
- * 数据设置
- */
- public static function setData(array $params)
- {
- try{
- if (!isset($params['mall_id']) || empty($params['mall_id'])) throw new Exception('缺少商城ID');
- if (isset($params['id']) && !empty($params['id'])) {
- $model = self::findOne([
- 'id' => $params['id'],
- 'mall_id' => $params['mall_id'],
- 'status' => StatusEnum::ENABLED
- ]);
- if(empty($model)) throw new Exception('统计记录不存在或已删除');
- } else if (isset($params['material_id']) && !empty($params['material_id'])) {
- $model = self::findOne([
- 'material_id' => $params['material_id'],
- 'mall_id' => $params['mall_id'],
- 'status' => StatusEnum::ENABLED
- ]);
- }
- if (!empty($model)) {
- if (isset($params['view_seconds'])) {
- $model->view_seconds = $model->view_seconds + $params['view_seconds'];
- unset($params['view_seconds']);
- }
- if (isset($params['view_numbers'])) {
- $model->view_numbers = $model->view_numbers + $params['view_numbers'];
- unset($params['view_numbers']);
- }
- if (isset($params['view_times'])) {
- $model->view_times = $model->view_times + $params['view_times'];
- unset($params['view_times']);
- }
- if (isset($params['share_times'])) {
- $model->share_times = $model->share_times + $params['share_times'];
- unset($params['share_times']);
- }
- } else {
- $model = new self();
- $model->loadDefaultValues();
- $model->mall_id = $params['mall_id'];
- }
- if (!$model->load($params,'') || !$model->save()) throw new Exception($model->getErrorMessage());
- return $model;
- }catch(Exception $e){
- self::setStaticError($e->getMessage());
- return false;
- }
- }
- }
|