255], [['title'], 'string', 'max' => 50], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => '商城ID', 'user_id' => '用户ID', 'goods_id' => '商品ID', 'cate_id' => '内容所属的分类的id', 'views_count' => '浏览数', 'stars_count' => '点赞数', 'shares_count' => '被分享数', 'discuss_count' => '评论数', 'order_count' => '订单数', 'goods_views_count' => '商品浏览数量', 'content_type' => '内容类型,1:图片+文字,2:视频+文字', 'check_status' => '内容状态,1:在审核中,2:审核通过,3:审核未通过', 'check_time' => '审核是时间', 'check_remark' => '审核原因', 'title' => '标题', 'main_text' => '正文', 'time_length' => '视频时长,单位 秒,如果是图文,时长为 0', 'source' => '此字段保存资源相关的数据,即图片或者视频的保存路径。数据保存的结构形式如,[{url: \"/path/to/11.mp4\", front_cover: \"/path/to/11.jpg\"}].其中 url 的值是图片或者视频的保存路径, front_cover 是封面图片的保存路径', 'status' => '状态,-1是删除,0是禁用,1是启用', 'created_at' => '创建时间', 'updated_at' => '更新ID', 'video_wide' => '视频宽', 'video_long' => '视频长', 'is_top' => '是否置顶0.否|1.是', ]; } public function getUser() { return $this->hasOne(User::class, ['id' => 'user_id'])->select('id,mobile,nickname,avatar_url,parent_id,username'); } public function getLike() { return $this->hasOne(AddonsXhsUserLike::class, ['content_id' => 'id'])->select('id,is_likes,content_id,user_id'); } //管理商品 public function getGoods() { return $this->hasOne(Goods::class, ['id' => 'goods_id'])->select('id,goods_name,price,cover_pic,sales_num,virtual_sales'); } //管理商品 public function getGoodsstatistics() { return $this->hasOne(AddonsXhsGoodsStatistics::class, ['goods_id' => 'goods_id'])->select('id,total_amount,order_num,goods_id,bought_count'); } /** * 获取分类 * @Author: ltm * @DateTime: 2021/12/13 0022 17:13 * @Copyright: copyright (c) 2021 广东七件事集团 * @param array $params * @return AddonsMaterial|bool */ public function getCate(){ return $this->hasOne(AddonsXhsCate::class, ['id' => 'cate_id'])->andWhere(['<>','status',StatusEnum::DELETE]); } /** * 保存数据 * @Author: ltm * @DateTime: 2021/12/13 0022 17:13 * @Copyright: copyright (c) 2021 广东七件事集团 * @param array $params * @return string */ public static function setData(array $params){ try{ if (!empty($params['id'])) { $model = self::findOne(['id'=>$params['id'],'mall_id'=>$params['mall_id']]); if (empty($model)) throw new Exception('记录不存在或已删除'); }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::$static_error = $e->getMessage(); return false; } } /** * */ public static function handle($mall_id,$id,$type,$user_id){ $find_data = AddonsXhsContent::findOne(['id' => $id]); $params['id'] = $id; $params['mall_id'] = $mall_id; switch ($type){ case 'views'; $params['views_count'] = $find_data ['views_count']+ 1; $statistics_data['views_count'] = 1; break; case 'stars'; $res = self::likeLog($mall_id,$id,$user_id); if($res == StatusEnum::ENABLED) { //点赞 $params['stars_count'] = $find_data ['stars_count'] + 1; $statistics_data['stars_count'] = 1; }else { //取消点赞 $params['stars_count'] = $find_data ['stars_count'] - 1; $statistics_data['stars_count'] = "-1"; } break; case 'shares'; $params['shares_count'] = $find_data ['shares_count']+ 1; $statistics_data['shares_count'] = 1; break; case 'goods_views'; $params['goods_views_count'] = $find_data ['goods_views_count']+ 1; if($find_data ['goods_id']){ $statistics_data['goods_views_count'] = 1; self::goodsViewsLog($mall_id,$id,$user_id,$find_data['goods_id']); } break; case 'discuss';//评论 $params['discuss_count'] = $find_data ['discuss_count']+ 1; $statistics_data['discuss_count'] = 1; break; case 'push_count'; //发布信息 $statistics_data['push_count'] = 1; } $statistics_data['mall_id'] = $mall_id; if($id){ if(!$find_data->load($params,'') || !$find_data->save()){ throw new Exception($find_data->getErrorMessage()); } } AddonsXhsStatistics::setData($statistics_data); AddonsXhsAllStatistics::setData($statistics_data); return true; } //添加商品访问记录 public static function goodsViewsLog($mall_id,$id,$user_id,$goods_id){ $like_data['mall_id'] = $mall_id; $like_data['content_id'] = $id; $like_data['user_id'] = $user_id; $like_data['goods_id'] = $goods_id; AddonsXhsGoodsVisit::setData($like_data); $goods_data['goods_id'] = $goods_id; $goods_data['goods_views_count'] = 1; $goods_data['mall_id'] = $mall_id; AddonsXhsGoodsStatistics::setData($goods_data); } //用户喜欢记录 public static function likeLog($mall_id,$id,$user_id){ $like_data['mall_id'] = $mall_id; $like_data['content_id'] = $id; $like_data['user_id'] = $user_id; return AddonsXhsUserLike::setData($like_data); } }