package com.cool.store.vo.close.store;

import com.cool.store.enums.close.CloseStoreStatusEnum;
import com.cool.store.enums.master.BrandTypeEnum;
import com.cool.store.enums.master.StoreCloseReasonEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * <p>
 * 闭店申请详情VO
 * </p>
 *
 * @author wangff
 * @since 2025/10/9
 */
@Data
public class CloseStoreInfoDetailVO {
    @ApiModelProperty("闭店申请id")
    private Long id;

    @ApiModelProperty("审批记录id")
    private Long auditId;

    @ApiModelProperty("闭店申请单号")
    private String closeStoreNo;

    @ApiModelProperty("门店id")
    private String storeId;

    @ApiModelProperty("门店名称")
    private String storeName;

    @ApiModelProperty("门店编号")
    private String storeNum;

    @ApiModelProperty("所属品牌")
    private Integer joinBrand;

    @ApiModelProperty("所属品牌名称")
    private Integer joinBrandName;
    
    @ApiModelProperty("详细地址")
    private String storeAddress;
    
    @ApiModelProperty("签约人1姓名")
    private String signer1Name;
    
    @ApiModelProperty("签约人1手机号")
    private String signer1Mobile;

    @ApiModelProperty("签约人2姓名")
    private String signer2Name;

    @ApiModelProperty("签约人2手机号")
    private String signer2Mobile;

    @ApiModelProperty("计划闭店时间")
    private Date planCloseData;

    @ApiModelProperty("正式闭店时间")
    private Date actualCloseData;

    @ApiModelProperty("闭店发起方式 1-主动发起 2-云流水发起")
    private Integer closeType;

    @ApiModelProperty("闭店原因")
    private Integer closeReason;
    
    @ApiModelProperty("闭店原因名称")
    private String closeReasonName;

    @ApiModelProperty("闭店原因说明")
    private String reasonDescription;

    @ApiModelProperty("闭店状态")
    private Integer closeStatus;

    @ApiModelProperty("闭店状态名称")
    private String closeStatusName;


    public String getCloseStatusName() {
        return CloseStoreStatusEnum.getNameByStatus(closeStatus);
    }

    public String getJoinBrandName() {
        return BrandTypeEnum.getDescByCode(joinBrand);
    }

    public String getCloseReasonName() {
        return StoreCloseReasonEnum.getDescByCode(closeReason);
    }
}
