model = new ShopMember(); } /** * 用户店铺收藏列表 * @return array */ public function getFollowList() { $field = 'id'; $order = 'id desc'; $search_model = $this->model->field($field)->where([['member_id', '=', $this->member_id], ['is_follow', '=', 1]]) ->withJoin(['site' => ['site_id', 'site_name', 'logo', 'icon']])->order($order); return $this->pageQuery($search_model); } /** * 关注/取消关注店铺 * @param array $data * @return mixed */ public function follow(int $site_id, int $is_follow) { $follow_status_array = (new ShopMemberIsFollowDict())::getStatus(); if (!array_key_exists($is_follow, $follow_status_array)) throw new CommonException('FOLLOW_STATUS_ERROR'); $shop_member = (new CoreShopMemberService())->findShopMemberCreateIfcNotExist($site_id, $this->member_id); if ($is_follow == $shop_member['is_follow']) throw new CommonException('FOLLOW_STATUS_ERROR'); $data[ 'is_follow' ] = $is_follow; $this->model->where([ ['member_id', '=', $this->member_id], ['site_id', '=', $site_id] ])->update($data); (new ShopService())->editFollowNumber($site_id, $is_follow); return true; } }