package com.flossom.common.core.domain.req;

import com.flossom.common.core.web.domain.BaseEntity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 微信用户查询对象
 *
 * @author flossom
 * @date 2023-12-08
 */
public class WxUserMemberVm extends BaseEntity {

    /**
     * 用户编码 (前端会传多个，`，`号隔开)
     */
    private String id;

    /**
     * 会员昵称（单值搜索）
     */
    private String nickname;


    /**
     * 积分起始
     */
    private Integer creditStart;

    /**
     * 积分结束
     */
    private Integer creditEnd;

    /**
     * 用户类型：0游客 1会员
     */
    private Integer userType;


    /**
     * 手机（多个手机号码，‘，’逗号隔开，号码数不足时，模糊匹配）
     */
    private String mobile;

    /**
     * 省id
     */
    private String provinceId;


    /**
     * 市id
     */
    private String cityId;


    /**
     * 区id
     */
    private String areaId;

    /**
     * 生日
     */
    private Date birthday;

    /**
     * 用户注册起始时间
     */
    private Date beginTime;

    /**
     * 用户注册结束时间
     */
    private Date endTime;

    private List<Long> devicesIdList;

    /**
     * 仪器数量起始值
     */
    private Integer deviceNumStart;

    /**
     * 仪器数量结束值
     */
    private Integer deviceNumEnd;

    /**
     * 仪器绑定标签
     */

    /**
     * 购买渠道
     */
    List<Integer> purchaseChannels;

    /**
     * 外部标签
     */
    List<Integer> wecomTags;

    /**
     * 外部标签个数
     */
    Integer wecomTagNum;

    /**
     * 小程序标签
     */
    List<Integer> miniProgramTags;

    /**
     * 小程序标签
     */
    Integer miniProgramTagNum;



    public WxUserMemberVm() {
    }

    public WxUserMemberVm(String id, String nickname, Integer creditStart, Integer creditEnd, Integer userType, String mobile, String provinceId, String cityId, String areaId, Date birthday, Date beginTime, Date endTime) {
        this.id = id;
        this.nickname = nickname;
        this.creditStart = creditStart;
        this.creditEnd = creditEnd;
        this.userType = userType;
        this.mobile = mobile;
        this.provinceId = provinceId;
        this.cityId = cityId;
        this.areaId = areaId;
        this.birthday = birthday;
        this.beginTime = beginTime;
        this.endTime = endTime;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public Integer getCreditStart() {
        return creditStart;
    }

    public void setCreditStart(Integer creditStart) {
        this.creditStart = creditStart;
    }

    public Integer getCreditEnd() {
        return creditEnd;
    }

    public void setCreditEnd(Integer creditEnd) {
        this.creditEnd = creditEnd;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(String provinceId) {
        this.provinceId = provinceId;
    }

    public String getCityId() {
        return cityId;
    }

    public void setCityId(String cityId) {
        this.cityId = cityId;
    }

    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getDeviceNumStart() {
        return deviceNumStart;
    }

    public void setDeviceNumStart(Integer deviceNumStart) {
        this.deviceNumStart = deviceNumStart;
    }

    public Integer getDeviceNumEnd() {
        return deviceNumEnd;
    }

    public void setDeviceNumEnd(Integer deviceNumEnd) {
        this.deviceNumEnd = deviceNumEnd;
    }

    public List<Integer> getPurchaseChannels() {
        return purchaseChannels;
    }

    public void setPurchaseChannels(List<Integer> purchaseChannels) {
        this.purchaseChannels = purchaseChannels;
    }

    public List<Integer> getWecomTags() {
        return wecomTags;
    }

    public void setWecomTags(List<Integer> wecomTags) {
        this.wecomTags = wecomTags;
    }

    public List<Integer> getMiniProgramTags() {
        return miniProgramTags;
    }

    public void setMiniProgramTags(List<Integer> miniProgramTags) {
        this.miniProgramTags = miniProgramTags;
    }

    public Integer getWecomTagNum() {
        return wecomTagNum;
    }

    public void setWecomTagNum(Integer wecomTagNum) {
        this.wecomTagNum = wecomTagNum;
    }

    public Integer getMiniProgramTagNum() {
        return miniProgramTagNum;
    }

    public void setMiniProgramTagNum(Integer miniProgramTagNum) {
        this.miniProgramTagNum = miniProgramTagNum;
    }

    public List<Long> getDevicesIdList() {
        return devicesIdList;
    }

    public void setDevicesIdList(List<Long> devicesIdList) {
        this.devicesIdList = devicesIdList;
    }
}
