61 lines
2.8 KiB
Go
61 lines
2.8 KiB
Go
package countryregion
|
||
|
||
// createCountryRequest 是后台创建国家的 HTTP 入参。
|
||
// countryCode 创建后不可变,因此创建接口要求显式提交,更新接口不会接收这个字段。
|
||
type createCountryRequest struct {
|
||
// CountryName 是稳定英文或拼音名称。
|
||
CountryName string `json:"countryName" binding:"required"`
|
||
// CountryCode 是 App canonical 国家码;admin-server 会统一 trim、转大写并校验 2-3 位字母。
|
||
CountryCode string `json:"countryCode" binding:"required"`
|
||
// CountryDisplayName 是后台和 App 注册页展示名。
|
||
CountryDisplayName string `json:"countryDisplayName" binding:"required"`
|
||
// SortOrder 控制国家选择器排序。
|
||
SortOrder int32 `json:"sortOrder"`
|
||
// ISOAlpha3 是 ISO alpha-3 或 user-assigned 辅助码。
|
||
ISOAlpha3 string `json:"isoAlpha3"`
|
||
// ISONumeric 必须保持字符串,避免前导零丢失。
|
||
ISONumeric string `json:"isoNumeric"`
|
||
// PhoneCountryCode 是 E.164 国家呼叫码,例如 +86。
|
||
PhoneCountryCode string `json:"phoneCountryCode"`
|
||
// Enabled 使用指针保留“前端未传”和“前端显式传 false”的区别。
|
||
Enabled *bool `json:"enabled"`
|
||
// Flag 是展示字段,不参与国家归属和权限判断。
|
||
Flag string `json:"flag"`
|
||
}
|
||
|
||
// updateCountryRequest 只修改国家展示和辅助字段,不允许修改 countryCode。
|
||
type updateCountryRequest struct {
|
||
CountryName string `json:"countryName" binding:"required"`
|
||
CountryDisplayName string `json:"countryDisplayName" binding:"required"`
|
||
SortOrder int32 `json:"sortOrder"`
|
||
ISOAlpha3 string `json:"isoAlpha3"`
|
||
ISONumeric string `json:"isoNumeric"`
|
||
PhoneCountryCode string `json:"phoneCountryCode"`
|
||
Flag string `json:"flag"`
|
||
}
|
||
|
||
// createRegionRequest 创建业务区域,并提交首版 active 国家码列表。
|
||
type createRegionRequest struct {
|
||
// RegionCode 是稳定业务编码;user-service 负责唯一性和格式校验。
|
||
RegionCode string `json:"regionCode" binding:"required"`
|
||
// Name 是后台展示名。
|
||
Name string `json:"name" binding:"required"`
|
||
// Countries 是该区域 active 国家码列表;不能为空,且不能包含重复国家。
|
||
Countries []string `json:"countries" binding:"required"`
|
||
// SortOrder 控制区域选择器排序。
|
||
SortOrder int32 `json:"sortOrder"`
|
||
}
|
||
|
||
// updateRegionRequest 只修改区域展示字段,不替换国家归属。
|
||
type updateRegionRequest struct {
|
||
RegionCode string `json:"regionCode" binding:"required"`
|
||
Name string `json:"name" binding:"required"`
|
||
SortOrder int32 `json:"sortOrder"`
|
||
}
|
||
|
||
// replaceRegionCountriesRequest 原子替换区域国家归属。
|
||
// user-service 会在同一业务流程内释放旧映射、写新映射,并创建用户区域重算任务。
|
||
type replaceRegionCountriesRequest struct {
|
||
Countries []string `json:"countries" binding:"required"`
|
||
}
|