完善 DTO 规范:统一 description 标签并添加 AI 助手自动检查指引
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m28s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m28s
- 修复所有 DTO 文件的 description 标签(10 个文件) - 枚举字段统一使用中文说明(用户类型、角色类型、权限类型等) - 状态字段明确说明 0/1 含义 - validate 标签与 OpenAPI 标签保持一致 - 在 AGENTS.md 和 CLAUDE.md 添加 DTO 规范章节 - AI 助手必须执行的 7 项检查清单 - 常见枚举字段标准值参考 - 确保未来 AI 助手自动遵循规范 - 创建规范文档 - docs/code-review-checklist.md(Code Review 检查清单) - docs/dto-improvement-summary.md(DTO 改进总结) - docs/ai-dto-guidelines-update.md(AI 指引更新说明) - 重新生成 OpenAPI 文档(375 个 description 标签) 影响:所有 API 字段现在都有清晰的中文说明,前端开发更友好
This commit is contained in:
@@ -5,7 +5,7 @@ type CreateAccountRequest struct {
|
||||
Username string `json:"username" validate:"required,min=3,max=50" required:"true" minLength:"3" maxLength:"50" description:"用户名"`
|
||||
Phone string `json:"phone" validate:"required,len=11" required:"true" minLength:"11" maxLength:"11" description:"手机号"`
|
||||
Password string `json:"password" validate:"required,min=8,max=32" required:"true" minLength:"8" maxLength:"32" description:"密码"`
|
||||
UserType int `json:"user_type" validate:"required,min=1,max=4" required:"true" minimum:"1" maximum:"4" description:"用户类型 (1:SuperAdmin, 2:Platform, 3:Agent, 4:Enterprise)"`
|
||||
UserType int `json:"user_type" validate:"required,min=1,max=4" required:"true" minimum:"1" maximum:"4" description:"用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)"`
|
||||
ShopID *uint `json:"shop_id" description:"关联店铺ID(代理账号必填)"`
|
||||
EnterpriseID *uint `json:"enterprise_id" description:"关联企业ID(企业账号必填)"`
|
||||
}
|
||||
@@ -24,8 +24,8 @@ type AccountListRequest struct {
|
||||
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"`
|
||||
Username string `json:"username" query:"username" validate:"omitempty,max=50" maxLength:"50" description:"用户名模糊查询"`
|
||||
Phone string `json:"phone" query:"phone" validate:"omitempty,max=20" maxLength:"20" description:"手机号模糊查询"`
|
||||
UserType *int `json:"user_type" query:"user_type" validate:"omitempty,min=1,max=4" minimum:"1" maximum:"4" description:"用户类型"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态"`
|
||||
UserType *int `json:"user_type" query:"user_type" validate:"omitempty,min=1,max=4" minimum:"1" maximum:"4" description:"用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态 (0:禁用, 1:启用)"`
|
||||
}
|
||||
|
||||
// AccountResponse 账号响应
|
||||
@@ -33,10 +33,10 @@ type AccountResponse struct {
|
||||
ID uint `json:"id" description:"账号ID"`
|
||||
Username string `json:"username" description:"用户名"`
|
||||
Phone string `json:"phone" description:"手机号"`
|
||||
UserType int `json:"user_type" description:"用户类型"`
|
||||
UserType int `json:"user_type" description:"用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)"`
|
||||
ShopID *uint `json:"shop_id,omitempty" description:"关联店铺ID"`
|
||||
EnterpriseID *uint `json:"enterprise_id,omitempty" description:"关联企业ID"`
|
||||
Status int `json:"status" description:"状态"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
Creator uint `json:"creator" description:"创建人ID"`
|
||||
Updater uint `json:"updater" description:"更新人ID"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
@@ -78,7 +78,7 @@ type PlatformAccountListRequest struct {
|
||||
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"`
|
||||
Username string `json:"username" query:"username" validate:"omitempty,max=50" maxLength:"50" description:"用户名模糊查询"`
|
||||
Phone string `json:"phone" query:"phone" validate:"omitempty,max=20" maxLength:"20" description:"手机号模糊查询"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态 (0:禁用, 1:启用)"`
|
||||
}
|
||||
|
||||
// UpdatePasswordParams 修改密码参数(用于 OpenAPI 生成)
|
||||
|
||||
@@ -2,15 +2,15 @@ package model
|
||||
|
||||
// AccountRoleResponse 账号-角色关联响应
|
||||
type AccountRoleResponse struct {
|
||||
ID uint `json:"id"`
|
||||
AccountID uint `json:"account_id"`
|
||||
RoleID uint `json:"role_id"`
|
||||
Status int `json:"status"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
ID uint `json:"id" description:"关联ID"`
|
||||
AccountID uint `json:"account_id" description:"账号ID"`
|
||||
RoleID uint `json:"role_id" description:"角色ID"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
}
|
||||
|
||||
// AccountRolesResponse 账号的角色列表响应
|
||||
type AccountRolesResponse struct {
|
||||
AccountID uint `json:"account_id"`
|
||||
Roles []*RoleResponse `json:"roles"`
|
||||
AccountID uint `json:"account_id" description:"账号ID"`
|
||||
Roles []*RoleResponse `json:"roles" description:"角色列表"`
|
||||
}
|
||||
|
||||
@@ -15,15 +15,15 @@ type LoginResponse struct {
|
||||
}
|
||||
|
||||
type UserInfo struct {
|
||||
ID uint `json:"id"`
|
||||
Username string `json:"username"`
|
||||
Phone string `json:"phone"`
|
||||
UserType int `json:"user_type"`
|
||||
UserTypeName string `json:"user_type_name"`
|
||||
ShopID uint `json:"shop_id,omitempty"`
|
||||
ShopName string `json:"shop_name,omitempty"`
|
||||
EnterpriseID uint `json:"enterprise_id,omitempty"`
|
||||
EnterpriseName string `json:"enterprise_name,omitempty"`
|
||||
ID uint `json:"id" description:"用户ID"`
|
||||
Username string `json:"username" description:"用户名"`
|
||||
Phone string `json:"phone" description:"手机号"`
|
||||
UserType int `json:"user_type" description:"用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)"`
|
||||
UserTypeName string `json:"user_type_name" description:"用户类型名称"`
|
||||
ShopID uint `json:"shop_id,omitempty" description:"店铺ID"`
|
||||
ShopName string `json:"shop_name,omitempty" description:"店铺名称"`
|
||||
EnterpriseID uint `json:"enterprise_id,omitempty" description:"企业ID"`
|
||||
EnterpriseName string `json:"enterprise_name,omitempty" description:"企业名称"`
|
||||
}
|
||||
|
||||
type RefreshTokenRequest struct {
|
||||
|
||||
@@ -2,48 +2,48 @@ package model
|
||||
|
||||
// CreateEnterpriseRequest 创建企业请求
|
||||
type CreateEnterpriseRequest struct {
|
||||
EnterpriseName string `json:"enterprise_name" validate:"required"` // 企业名称
|
||||
EnterpriseCode string `json:"enterprise_code"` // 企业编号
|
||||
OwnerShopID *uint `json:"owner_shop_id"` // 归属店铺ID
|
||||
LegalPerson string `json:"legal_person"` // 法人代表
|
||||
ContactName string `json:"contact_name"` // 联系人姓名
|
||||
ContactPhone string `json:"contact_phone"` // 联系人电话
|
||||
BusinessLicense string `json:"business_license"` // 营业执照号
|
||||
Province string `json:"province"` // 省份
|
||||
City string `json:"city"` // 城市
|
||||
District string `json:"district"` // 区县
|
||||
Address string `json:"address"` // 详细地址
|
||||
EnterpriseName string `json:"enterprise_name" validate:"required" required:"true" description:"企业名称"`
|
||||
EnterpriseCode string `json:"enterprise_code" description:"企业编号"`
|
||||
OwnerShopID *uint `json:"owner_shop_id" description:"归属店铺ID(可不填则归属平台)"`
|
||||
LegalPerson string `json:"legal_person" description:"法人代表"`
|
||||
ContactName string `json:"contact_name" description:"联系人姓名"`
|
||||
ContactPhone string `json:"contact_phone" description:"联系人电话"`
|
||||
BusinessLicense string `json:"business_license" description:"营业执照号"`
|
||||
Province string `json:"province" description:"省份"`
|
||||
City string `json:"city" description:"城市"`
|
||||
District string `json:"district" description:"区县"`
|
||||
Address string `json:"address" description:"详细地址"`
|
||||
}
|
||||
|
||||
// UpdateEnterpriseRequest 更新企业请求
|
||||
type UpdateEnterpriseRequest struct {
|
||||
EnterpriseName *string `json:"enterprise_name"` // 企业名称
|
||||
EnterpriseCode *string `json:"enterprise_code"` // 企业编号
|
||||
LegalPerson *string `json:"legal_person"` // 法人代表
|
||||
ContactName *string `json:"contact_name"` // 联系人姓名
|
||||
ContactPhone *string `json:"contact_phone"` // 联系人电话
|
||||
BusinessLicense *string `json:"business_license"` // 营业执照号
|
||||
Province *string `json:"province"` // 省份
|
||||
City *string `json:"city"` // 城市
|
||||
District *string `json:"district"` // 区县
|
||||
Address *string `json:"address"` // 详细地址
|
||||
EnterpriseName *string `json:"enterprise_name" description:"企业名称"`
|
||||
EnterpriseCode *string `json:"enterprise_code" description:"企业编号"`
|
||||
LegalPerson *string `json:"legal_person" description:"法人代表"`
|
||||
ContactName *string `json:"contact_name" description:"联系人姓名"`
|
||||
ContactPhone *string `json:"contact_phone" description:"联系人电话"`
|
||||
BusinessLicense *string `json:"business_license" description:"营业执照号"`
|
||||
Province *string `json:"province" description:"省份"`
|
||||
City *string `json:"city" description:"城市"`
|
||||
District *string `json:"district" description:"区县"`
|
||||
Address *string `json:"address" description:"详细地址"`
|
||||
}
|
||||
|
||||
// EnterpriseResponse 企业响应
|
||||
type EnterpriseResponse struct {
|
||||
ID uint `json:"id"`
|
||||
EnterpriseName string `json:"enterprise_name"`
|
||||
EnterpriseCode string `json:"enterprise_code"`
|
||||
OwnerShopID *uint `json:"owner_shop_id,omitempty"`
|
||||
LegalPerson string `json:"legal_person"`
|
||||
ContactName string `json:"contact_name"`
|
||||
ContactPhone string `json:"contact_phone"`
|
||||
BusinessLicense string `json:"business_license"`
|
||||
Province string `json:"province"`
|
||||
City string `json:"city"`
|
||||
District string `json:"district"`
|
||||
Address string `json:"address"`
|
||||
Status int `json:"status"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
ID uint `json:"id" description:"企业ID"`
|
||||
EnterpriseName string `json:"enterprise_name" description:"企业名称"`
|
||||
EnterpriseCode string `json:"enterprise_code" description:"企业编号"`
|
||||
OwnerShopID *uint `json:"owner_shop_id,omitempty" description:"归属店铺ID"`
|
||||
LegalPerson string `json:"legal_person" description:"法人代表"`
|
||||
ContactName string `json:"contact_name" description:"联系人姓名"`
|
||||
ContactPhone string `json:"contact_phone" description:"联系人电话"`
|
||||
BusinessLicense string `json:"business_license" description:"营业执照号"`
|
||||
Province string `json:"province" description:"省份"`
|
||||
City string `json:"city" description:"城市"`
|
||||
District string `json:"district" description:"区县"`
|
||||
Address string `json:"address" description:"详细地址"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
UpdatedAt string `json:"updated_at" description:"更新时间"`
|
||||
}
|
||||
|
||||
@@ -34,11 +34,11 @@ type PermissionListRequest struct {
|
||||
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"`
|
||||
PermName string `json:"perm_name" query:"perm_name" validate:"omitempty,max=50" maxLength:"50" description:"权限名称模糊查询"`
|
||||
PermCode string `json:"perm_code" query:"perm_code" validate:"omitempty,max=100" maxLength:"100" description:"权限编码模糊查询"`
|
||||
PermType *int `json:"perm_type" query:"perm_type" validate:"omitempty,min=1,max=2" minimum:"1" maximum:"2" description:"权限类型"`
|
||||
Platform string `json:"platform" query:"platform" validate:"omitempty,oneof=all web h5" description:"适用端口"`
|
||||
PermType *int `json:"perm_type" query:"perm_type" validate:"omitempty,min=1,max=2" minimum:"1" maximum:"2" description:"权限类型 (1:菜单, 2:按钮)"`
|
||||
Platform string `json:"platform" query:"platform" validate:"omitempty,oneof=all web h5" description:"适用端口 (all:全部, web:Web后台, h5:H5端)"`
|
||||
AvailableForRoleType *int `json:"available_for_role_type" query:"available_for_role_type" validate:"omitempty,min=1,max=2" minimum:"1" maximum:"2" description:"可用角色类型 (1:平台角色, 2:客户角色)"`
|
||||
ParentID *uint `json:"parent_id" query:"parent_id" description:"父权限ID"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态 (0:禁用, 1:启用)"`
|
||||
}
|
||||
|
||||
// PermissionResponse 权限响应
|
||||
@@ -46,13 +46,13 @@ type PermissionResponse struct {
|
||||
ID uint `json:"id" description:"权限ID"`
|
||||
PermName string `json:"perm_name" description:"权限名称"`
|
||||
PermCode string `json:"perm_code" description:"权限编码"`
|
||||
PermType int `json:"perm_type" description:"权限类型"`
|
||||
Platform string `json:"platform" description:"适用端口"`
|
||||
AvailableForRoleTypes string `json:"available_for_role_types" description:"可用角色类型"`
|
||||
PermType int `json:"perm_type" description:"权限类型 (1:菜单, 2:按钮)"`
|
||||
Platform string `json:"platform" description:"适用端口 (all:全部, web:Web后台, h5:H5端)"`
|
||||
AvailableForRoleTypes string `json:"available_for_role_types" description:"可用角色类型 (1:平台角色, 2:客户角色)"`
|
||||
URL string `json:"url,omitempty" description:"请求路径"`
|
||||
ParentID *uint `json:"parent_id,omitempty" description:"父权限ID"`
|
||||
Sort int `json:"sort" description:"排序值"`
|
||||
Status int `json:"status" description:"状态"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
Creator uint `json:"creator" description:"创建人ID"`
|
||||
Updater uint `json:"updater" description:"更新人ID"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
@@ -72,9 +72,9 @@ type PermissionTreeNode struct {
|
||||
ID uint `json:"id" description:"权限ID"`
|
||||
PermName string `json:"perm_name" description:"权限名称"`
|
||||
PermCode string `json:"perm_code" description:"权限编码"`
|
||||
PermType int `json:"perm_type" description:"权限类型"`
|
||||
Platform string `json:"platform" description:"适用端口"`
|
||||
AvailableForRoleTypes string `json:"available_for_role_types" description:"可用角色类型"`
|
||||
PermType int `json:"perm_type" description:"权限类型 (1:菜单, 2:按钮)"`
|
||||
Platform string `json:"platform" description:"适用端口 (all:全部, web:Web后台, h5:H5端)"`
|
||||
AvailableForRoleTypes string `json:"available_for_role_types" description:"可用角色类型 (1:平台角色, 2:客户角色)"`
|
||||
URL string `json:"url,omitempty" description:"请求路径"`
|
||||
Sort int `json:"sort" description:"排序值"`
|
||||
Children []*PermissionTreeNode `json:"children,omitempty" description:"子权限列表"`
|
||||
|
||||
@@ -2,29 +2,29 @@ package model
|
||||
|
||||
// CreatePersonalCustomerRequest 创建个人客户请求
|
||||
type CreatePersonalCustomerRequest struct {
|
||||
Phone string `json:"phone" validate:"required"` // 手机号
|
||||
Nickname string `json:"nickname"` // 昵称
|
||||
AvatarURL string `json:"avatar_url"` // 头像URL
|
||||
WxOpenID string `json:"wx_open_id"` // 微信OpenID
|
||||
WxUnionID string `json:"wx_union_id"` // 微信UnionID
|
||||
Phone string `json:"phone" validate:"required" required:"true" description:"手机号"`
|
||||
Nickname string `json:"nickname" description:"昵称"`
|
||||
AvatarURL string `json:"avatar_url" description:"头像URL"`
|
||||
WxOpenID string `json:"wx_open_id" description:"微信OpenID"`
|
||||
WxUnionID string `json:"wx_union_id" description:"微信UnionID"`
|
||||
}
|
||||
|
||||
// UpdatePersonalCustomerRequest 更新个人客户请求
|
||||
type UpdatePersonalCustomerRequest struct {
|
||||
Phone *string `json:"phone"` // 手机号
|
||||
Nickname *string `json:"nickname"` // 昵称
|
||||
AvatarURL *string `json:"avatar_url"` // 头像URL
|
||||
Phone *string `json:"phone" description:"手机号"`
|
||||
Nickname *string `json:"nickname" description:"昵称"`
|
||||
AvatarURL *string `json:"avatar_url" description:"头像URL"`
|
||||
}
|
||||
|
||||
// PersonalCustomerResponse 个人客户响应
|
||||
type PersonalCustomerResponse struct {
|
||||
ID uint `json:"id"`
|
||||
Phone string `json:"phone"`
|
||||
Nickname string `json:"nickname"`
|
||||
AvatarURL string `json:"avatar_url"`
|
||||
WxOpenID string `json:"wx_open_id"`
|
||||
WxUnionID string `json:"wx_union_id"`
|
||||
Status int `json:"status"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
ID uint `json:"id" description:"客户ID"`
|
||||
Phone string `json:"phone" description:"手机号"`
|
||||
Nickname string `json:"nickname" description:"昵称"`
|
||||
AvatarURL string `json:"avatar_url" description:"头像URL"`
|
||||
WxOpenID string `json:"wx_open_id" description:"微信OpenID"`
|
||||
WxUnionID string `json:"wx_union_id" description:"微信UnionID"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
UpdatedAt string `json:"updated_at" description:"更新时间"`
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ type RoleListRequest struct {
|
||||
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"`
|
||||
RoleName string `json:"role_name" query:"role_name" validate:"omitempty,max=50" maxLength:"50" description:"角色名称模糊查询"`
|
||||
RoleType *int `json:"role_type" query:"role_type" validate:"omitempty,min=1,max=2" minimum:"1" maximum:"2" description:"角色类型 (1:平台角色, 2:客户角色)"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=1" minimum:"0" maximum:"1" description:"状态 (0:禁用, 1:启用)"`
|
||||
}
|
||||
|
||||
// RoleResponse 角色响应
|
||||
@@ -34,8 +34,8 @@ type RoleResponse struct {
|
||||
ID uint `json:"id" description:"角色ID"`
|
||||
RoleName string `json:"role_name" description:"角色名称"`
|
||||
RoleDesc string `json:"role_desc" description:"角色描述"`
|
||||
RoleType int `json:"role_type" description:"角色类型"`
|
||||
Status int `json:"status" description:"状态"`
|
||||
RoleType int `json:"role_type" description:"角色类型 (1:平台角色, 2:客户角色)"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
Creator uint `json:"creator" description:"创建人ID"`
|
||||
Updater uint `json:"updater" description:"更新人ID"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
|
||||
@@ -2,15 +2,15 @@ package model
|
||||
|
||||
// RolePermissionResponse 角色-权限关联响应
|
||||
type RolePermissionResponse struct {
|
||||
ID uint `json:"id"`
|
||||
RoleID uint `json:"role_id"`
|
||||
PermID uint `json:"perm_id"`
|
||||
Status int `json:"status"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
ID uint `json:"id" description:"关联ID"`
|
||||
RoleID uint `json:"role_id" description:"角色ID"`
|
||||
PermID uint `json:"perm_id" description:"权限ID"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
}
|
||||
|
||||
// RolePermissionsResponse 角色的权限列表响应
|
||||
type RolePermissionsResponse struct {
|
||||
RoleID uint `json:"role_id"`
|
||||
Permissions []*PermissionResponse `json:"permissions"`
|
||||
RoleID uint `json:"role_id" description:"角色ID"`
|
||||
Permissions []*PermissionResponse `json:"permissions" description:"权限列表"`
|
||||
}
|
||||
|
||||
@@ -36,13 +36,13 @@ type UpdateShopAccountStatusRequest struct {
|
||||
|
||||
// ShopAccountResponse 代理商账号响应
|
||||
type ShopAccountResponse struct {
|
||||
ID uint `json:"id"`
|
||||
ShopID uint `json:"shop_id"`
|
||||
ShopName string `json:"shop_name,omitempty"` // 关联查询时填充
|
||||
Username string `json:"username"`
|
||||
Phone string `json:"phone"`
|
||||
UserType int `json:"user_type"`
|
||||
Status int `json:"status"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
ID uint `json:"id" description:"账号ID"`
|
||||
ShopID uint `json:"shop_id" description:"店铺ID"`
|
||||
ShopName string `json:"shop_name,omitempty" description:"店铺名称"`
|
||||
Username string `json:"username" description:"用户名"`
|
||||
Phone string `json:"phone" description:"手机号"`
|
||||
UserType int `json:"user_type" description:"用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
UpdatedAt string `json:"updated_at" description:"更新时间"`
|
||||
}
|
||||
|
||||
@@ -1,55 +1,55 @@
|
||||
package model
|
||||
|
||||
type ShopListRequest struct {
|
||||
Page int `json:"page" query:"page" validate:"omitempty,min=1"`
|
||||
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100"`
|
||||
ShopName string `json:"shop_name" query:"shop_name" validate:"omitempty,max=100"`
|
||||
ShopCode string `json:"shop_code" query:"shop_code" validate:"omitempty,max=50"`
|
||||
ParentID *uint `json:"parent_id" query:"parent_id" validate:"omitempty,min=1"`
|
||||
Level *int `json:"level" query:"level" validate:"omitempty,min=1,max=7"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,oneof=0 1"`
|
||||
Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码"`
|
||||
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"`
|
||||
ShopName string `json:"shop_name" query:"shop_name" validate:"omitempty,max=100" maxLength:"100" description:"店铺名称模糊查询"`
|
||||
ShopCode string `json:"shop_code" query:"shop_code" validate:"omitempty,max=50" maxLength:"50" description:"店铺编号模糊查询"`
|
||||
ParentID *uint `json:"parent_id" query:"parent_id" validate:"omitempty,min=1" minimum:"1" description:"上级店铺ID"`
|
||||
Level *int `json:"level" query:"level" validate:"omitempty,min=1,max=7" minimum:"1" maximum:"7" description:"店铺层级 (1-7级)"`
|
||||
Status *int `json:"status" query:"status" validate:"omitempty,oneof=0 1" description:"状态 (0:禁用, 1:启用)"`
|
||||
}
|
||||
|
||||
type CreateShopRequest struct {
|
||||
ShopName string `json:"shop_name" validate:"required,min=1,max=100"`
|
||||
ShopCode string `json:"shop_code" validate:"required,min=1,max=50"`
|
||||
ParentID *uint `json:"parent_id" validate:"omitempty,min=1"`
|
||||
ContactName string `json:"contact_name" validate:"omitempty,max=50"`
|
||||
ContactPhone string `json:"contact_phone" validate:"omitempty,len=11"`
|
||||
Province string `json:"province" validate:"omitempty,max=50"`
|
||||
City string `json:"city" validate:"omitempty,max=50"`
|
||||
District string `json:"district" validate:"omitempty,max=50"`
|
||||
Address string `json:"address" validate:"omitempty,max=255"`
|
||||
InitPassword string `json:"init_password" validate:"required,min=8,max=32"`
|
||||
InitUsername string `json:"init_username" validate:"required,min=3,max=50"`
|
||||
InitPhone string `json:"init_phone" validate:"required,len=11"`
|
||||
ShopName string `json:"shop_name" validate:"required,min=1,max=100" required:"true" minLength:"1" maxLength:"100" description:"店铺名称"`
|
||||
ShopCode string `json:"shop_code" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"店铺编号"`
|
||||
ParentID *uint `json:"parent_id" validate:"omitempty,min=1" minimum:"1" description:"上级店铺ID(一级店铺可不填)"`
|
||||
ContactName string `json:"contact_name" validate:"omitempty,max=50" maxLength:"50" description:"联系人姓名"`
|
||||
ContactPhone string `json:"contact_phone" validate:"omitempty,len=11" minLength:"11" maxLength:"11" description:"联系人电话"`
|
||||
Province string `json:"province" validate:"omitempty,max=50" maxLength:"50" description:"省份"`
|
||||
City string `json:"city" validate:"omitempty,max=50" maxLength:"50" description:"城市"`
|
||||
District string `json:"district" validate:"omitempty,max=50" maxLength:"50" description:"区县"`
|
||||
Address string `json:"address" validate:"omitempty,max=255" maxLength:"255" description:"详细地址"`
|
||||
InitPassword string `json:"init_password" validate:"required,min=8,max=32" required:"true" minLength:"8" maxLength:"32" description:"初始账号密码"`
|
||||
InitUsername string `json:"init_username" validate:"required,min=3,max=50" required:"true" minLength:"3" maxLength:"50" description:"初始账号用户名"`
|
||||
InitPhone string `json:"init_phone" validate:"required,len=11" required:"true" minLength:"11" maxLength:"11" description:"初始账号手机号"`
|
||||
}
|
||||
|
||||
type UpdateShopRequest struct {
|
||||
ShopName string `json:"shop_name" validate:"required,min=1,max=100"`
|
||||
ContactName string `json:"contact_name" validate:"omitempty,max=50"`
|
||||
ContactPhone string `json:"contact_phone" validate:"omitempty,len=11"`
|
||||
Province string `json:"province" validate:"omitempty,max=50"`
|
||||
City string `json:"city" validate:"omitempty,max=50"`
|
||||
District string `json:"district" validate:"omitempty,max=50"`
|
||||
Address string `json:"address" validate:"omitempty,max=255"`
|
||||
Status int `json:"status" validate:"required,oneof=0 1"`
|
||||
ShopName string `json:"shop_name" validate:"required,min=1,max=100" required:"true" minLength:"1" maxLength:"100" description:"店铺名称"`
|
||||
ContactName string `json:"contact_name" validate:"omitempty,max=50" maxLength:"50" description:"联系人姓名"`
|
||||
ContactPhone string `json:"contact_phone" validate:"omitempty,len=11" minLength:"11" maxLength:"11" description:"联系人电话"`
|
||||
Province string `json:"province" validate:"omitempty,max=50" maxLength:"50" description:"省份"`
|
||||
City string `json:"city" validate:"omitempty,max=50" maxLength:"50" description:"城市"`
|
||||
District string `json:"district" validate:"omitempty,max=50" maxLength:"50" description:"区县"`
|
||||
Address string `json:"address" validate:"omitempty,max=255" maxLength:"255" description:"详细地址"`
|
||||
Status int `json:"status" validate:"required,oneof=0 1" required:"true" description:"状态 (0:禁用, 1:启用)"`
|
||||
}
|
||||
|
||||
// ShopResponse 店铺响应
|
||||
type ShopResponse struct {
|
||||
ID uint `json:"id"`
|
||||
ShopName string `json:"shop_name"`
|
||||
ShopCode string `json:"shop_code"`
|
||||
ParentID *uint `json:"parent_id,omitempty"`
|
||||
Level int `json:"level"`
|
||||
ContactName string `json:"contact_name"`
|
||||
ContactPhone string `json:"contact_phone"`
|
||||
Province string `json:"province"`
|
||||
City string `json:"city"`
|
||||
District string `json:"district"`
|
||||
Address string `json:"address"`
|
||||
Status int `json:"status"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
ID uint `json:"id" description:"店铺ID"`
|
||||
ShopName string `json:"shop_name" description:"店铺名称"`
|
||||
ShopCode string `json:"shop_code" description:"店铺编号"`
|
||||
ParentID *uint `json:"parent_id,omitempty" description:"上级店铺ID"`
|
||||
Level int `json:"level" description:"店铺层级 (1-7级)"`
|
||||
ContactName string `json:"contact_name" description:"联系人姓名"`
|
||||
ContactPhone string `json:"contact_phone" description:"联系人电话"`
|
||||
Province string `json:"province" description:"省份"`
|
||||
City string `json:"city" description:"城市"`
|
||||
District string `json:"district" description:"区县"`
|
||||
Address string `json:"address" description:"详细地址"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
CreatedAt string `json:"created_at" description:"创建时间"`
|
||||
UpdatedAt string `json:"updated_at" description:"更新时间"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user