package shop.alien.entity.store.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import shop.alien.entity.store.StoreUser;

import java.util.List;

/**
 * 二期-门店用户扩展
 *
 * @author ssk
 * @since 2024-12-05
 */
@EqualsAndHashCode(callSuper = true)
@Data
@JsonInclude
@ApiModel(value = "StoreUserVo对象", description = "门店用户扩展")
public class StoreUserVo extends StoreUser {
     @ApiModelProperty(value = "父账号Id（主账号联系方式所对应的id）")
    private Integer parentAccountId;

    @ApiModelProperty(value = "子账号ID（用于删除/禁用等操作，子账号列表时必填）")
    private Integer subAccountId;

    @ApiModelProperty(value = "登录Token")
    private String token;

    @ApiModelProperty(value = "经营模块ID")
    private Integer businessSection;

    @ApiModelProperty(value = "经营种类")
    private String businessTypesName;

    @ApiModelProperty(value = "账号是否启用")
    private boolean switchStatus;

    @ApiModelProperty(value = "状态展示文案：启用/禁用，供前端直接展示")
    private String statusName;

    @ApiModelProperty(value = "验证码")
    private String verificationCode;

    @ApiModelProperty(value = "倒计时")
    private long countdown;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "是否提供餐食")
    private Integer mealsFlag;

    @ApiModelProperty(value = "子账号列表")
    private List<StoreUser> childAccounts;

    @ApiModelProperty(value = "主账号姓名")
    private String parentAccountName;

    @ApiModelProperty(value = "主账号手机号")
    private String parentAccountPhone;

    @ApiModelProperty(value = "角色ID（当前账号在目标门店的角色）")
    private Long roleId;

    @ApiModelProperty(value = "角色名称（当前账号在目标门店的角色名称）")
    private String roleName;

    @ApiModelProperty(value = "是否有子账号（主账号且有子账号时为true）")
    private boolean hasSubAccount;


    @ApiModelProperty(value = "门店类型（0-其他，1-装修公司）")
    private Integer storeTickets;

}
