12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace app\service\api\shop;
- use app\dict\shop\ShopMemberIsFollowDict;
- use app\model\shop\ShopMember;
- use app\service\core\shop\CoreShopMemberService;
- use core\base\BaseApiService;
- use core\exception\CommonException;
- /**
- * 店铺会员服务层
- * Class ShopApplyService
- * @package addon\mall\app\service\api\shop
- */
- class ShopMemberService extends BaseApiService
- {
- public function __construct()
- {
- parent::__construct();
- $this->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;
- }
- }
|