package com.xuekairui.user.dto; import jakarta.validation.constraints.NotBlank; import lombok.Data; /** * 外部系统换取 Token 请求(登录 + 信息同步,兼容旧版一并传入) */ @Data public class ExternalTokenRequest { /** 手机号 */ @NotBlank(message = "手机号不能为空") private String phone; /** 可选:邀请码 */ private String inviteCode; /** 可选:用户名(第三方系统传入,保存到 nickname 字段) */ private String username; /** 可选:昵称(第三方系统传入,若不传则按手机号生成) */ private String nickname; /** 可选:药店名称 */ private String pharmacyName; /** 可选:省 */ private String province; /** 可选:市 */ private String city; /** 可选:区 */ private String district; /** 可选:药店详细地址 */ private String pharmacyAddress; /** 可选:联系人 */ private String contactPerson; /** 可选:联系电话 */ private String contactPhone; /** 可选:营业执照号 */ private String businessLicenseNo; /** 可选:微信小程序 openId */ private String openId; /** 可选:微信开放平台 unionId */ private String unionId; // ===== 入驻信息字段 ===== /** 可选:店铺名称(不传则用 pharmacyName 兜底) */ private String storeName; /** 可选:终端类型:SINGLE-单店, CHAIN-连锁, CLINIC-诊所, COMMUNITY_HEALTH-社康 */ private String terminalType; /** 可选:营业执照图片URL */ private String businessLicenseUrl; /** 可选:药品经营许可证图片URL */ private String drugLicenseUrl; /** 可选:二类医疗器械备案图片URL */ private String medicalDeviceClass2Url; /** 可选:三类医疗器械备案图片URL */ private String medicalDeviceClass3Url; /** 可选:入驻审核状态:0-审核中 / 1-审核成功 / 2-审核失败 */ private Integer status; // ===== 登录控制字段 ===== /** 可选:是否跳过刷新 refreshToken */ private Boolean skipRefreshToken; /** 可选:登录来源,决定 token 过期策略(MINIAPP=30天 / PC=1小时),不传默认 MINIAPP */ private String loginSource; }