package com.cool.store.request;

import com.aliyun.ons20190214.models.OnsMessageTraceRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author suzhuhong
 * @Date 2025/8/13 13:41
 * @Version 1.0
 */
@Data
public class StoreMasterDTO {

    private String enterpriseId;

    @ApiModelProperty("门店名称(加盟签约)")
    private String storeName;
    @ApiModelProperty("门店名称(小程序点单)")
    private String miniProgramOrderStoreName;
    @ApiModelProperty("门店编码")
    private String storeNum;
    @ApiModelProperty("加盟品牌")
    private Integer joinBrand;
    @ApiModelProperty("加盟模式")
    private Integer joinModel;
    @ApiModelProperty("门店类型")
    private Integer storeType;
    @ApiModelProperty("经营模式")
    private Integer manageModel;
    @ApiModelProperty("签约类型")
    private Integer signType;
    @ApiModelProperty("门店状态")
    private String storeStatus;
    @ApiModelProperty("门店带宽")
    private Integer storeBandwidth;

    @ApiModelProperty("所属加盟集团")
    private String bloc;
    @ApiModelProperty("所属大区")
    private Long branch;
    @ApiModelProperty("加盟督导-人")
    private String joinSupervision;
    @ApiModelProperty("管理督导-组织")
    private Long regionId;

    @ApiModelProperty("省市区")
    private String area;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区/县")
    private String district;
    @ApiModelProperty("乡镇")
    private String town;
    @ApiModelProperty("门店地址")
    private String storeAddress;
    @ApiModelProperty("点位编码")
    private String pointCode;
    @ApiModelProperty("高德定位 暂时没有")
    private String locationScreenshot;
    @ApiModelProperty("定位地址")
    private String locationAddress;
    @ApiModelProperty("经度")
    private String longitude;
    @ApiModelProperty("纬度")
    private String latitude;
    @ApiModelProperty("保护距离")
    private Integer protectiveDistance;

    @ApiModelProperty("月租金")
    private BigDecimal monthlyRent;

    @ApiModelProperty("收件人")
    private String addresseeName;
    @ApiModelProperty("手机号")
    private String addresseeMobile;
    @ApiModelProperty("收件省市区")
    private String addresseeArea;
    @ApiModelProperty("收件详细地址")
    private String addresseeAddress;
    @ApiModelProperty("报货物流仓库（编码）")
    private String declareGoodsLogisticsWarehouse;
    @ApiModelProperty("报货类型 0-按周报货 1-按月报货 2-自提 3-按2周/次投货 4-按3周/次投货")
    private Integer declareGoodsType;
    @ApiModelProperty("报送货日期 数组格式\"[{\"declareGoods\": \"\",\"deliverGoods\":\"\"}]\"")
    private String declareGoodsDate;

    @ApiModelProperty("营业时间")
    private String businessHours;

    @ApiModelProperty("门头照 暂时没有")
    private String  avatar;
    @ApiModelProperty("门店内景照 暂时没有")
    private String interiorPhotos;

    private SignerInfo signerInfo;

    private SettlerInfo settlerInfo;
    @ApiModelProperty("是否统管")
    private Integer unifiedManagement;

    @Data
    public static class SignerInfo {
        @ApiModelProperty("签约人1姓名")
        private String Signer1Name;
        @ApiModelProperty("签约人1姓名")
        private String Signer1Mobile;
        @ApiModelProperty("签约人1姓名")
        private String Signer1IdCard;
        @ApiModelProperty("签约人1姓名")
        private String Signer1IdCardPhoto;
        @ApiModelProperty("签约人1姓名")
        private String Signer1IdCardPhotoBack;
        @ApiModelProperty("角色")
        private Long partnerRoleId;
    }

    @Data
    public static class SettlerInfo{
        @ApiModelProperty("结算人姓名")
        private String settlerName;

        @ApiModelProperty("结算人身份证号(加密)")
        private String settlerIdCardNo;

        @ApiModelProperty("结算人身份证正面路径")
        private String settlerIdCardFront;

        @ApiModelProperty("结算人身份证反面路径")
        private String settlerIdCardReverse;

        @ApiModelProperty("结算人手持身份证正面照片路径")
        private String settlerInHandFrontPicture;

        @ApiModelProperty("结算人手持身份证反面照片路径")
        private String settlerInHandBackPicture;

        @ApiModelProperty("结算人银行卡号(加密)")
        private String settlerBankNumber;

        @ApiModelProperty("结算人银行卡预留手机号")
        private String settlerBankMobile;

        @ApiModelProperty("结算开户银行")
        private String settlerBankName;

        @ApiModelProperty("结算开户银行支行")
        private String settlerBankBranchName;

        @ApiModelProperty("结算人银行卡照片路径")
        private String settlerBankPhotoUrl;

        @ApiModelProperty("门店POS收款银行卡反面路径")
        private String settlerBankBackPhotoUrl;
    }







}
