<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------

namespace app\adminapi\controller\shop\site;

use app\dict\member\MemberRegisterChannelDict;
use app\dict\shop\ShopMemberIsFollowDict;
use app\service\admin\shop\site\ShopMemberService;
use core\base\BaseAdminController;
use think\Response;

/**
 * 店铺会员控制层
 */
class ShopMember extends BaseAdminController
{

    /**
     * 会员列表分页查询
     * @return \think\Response
     */
    public function lists()
    {
        $data = $this->request->params([
            ['keyword', ''],
            ['is_follow', ''],
            ['register_channel', ''],
            ['shop_member_label', 0],
            ['create_time', []],
        ]);
        return success((new ShopMemberService())->getPage($data));
    }

    /**
     * 会员详情
     * @param $member_id
     * @return Response
     */
    public function info($member_id)
    {
        return success((new ShopMemberService())->getInfo($member_id));
    }

    /**
     * 修改会员
     * @param $member_id
     * @param $field
     * @return Response
     */
    public function modify($member_id, $field)
    {
        $data = $this->request->params([
            ['value', ''],
            ['field', $field],
        ]);
        $data[$field] = $data['value'];
        (new ShopMemberService())->modify($member_id, $field, $data['value']);
        return success('MODIFY_SUCCESS');
    }

    /**
     * 获取注册来源列表
     * @return \think\Response
     */
    public function getRegisterChannelList()
    {
        return success(MemberRegisterChannelDict::getType());
    }

    /**
     * 获取关注状态列表
     * @return \think\Response
     */
    public function getIsFollowList()
    {
        return success(ShopMemberIsFollowDict::getStatus());
    }

}