Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
- 新增六对成对迁移 000232–000237:H5 弹窗类型、退款结算标识与申请人备注、优先轮询事实字段与两个新终态、通道阈值命中留痕、手机号最近解绑人、提现资格校验留痕 - 退款:原因必填与申请人备注、来源支付与渠道流水冻结、线下处理流水号补录审计、按订单查询可选退款方式、企微审批材料补齐且新增字段缺失映射即明确失败 - 优先轮询:人工关闭、有效期到期独立周期任务、失败与过期人工重触发、事实字段与异常重试查询、资产解析端点只读投影 - 通道阈值:命中事实同事务留痕与命中记录查询;员工账单:列表筛选与详情投影;商户池:列表投影与统计周期语义;H5:弹窗类型与类别排序 - 手机号:有效关联数量与最近解绑人、短信验证码失败次数限制;导出:佣金明细十五列与报表序号列 - 时间筛选:三处新增筛选纳入统一严格解析契约,员工账单产生时间参数改名 - 同步 12 份主 Spec 需求、两端点与异步任务证据链,门禁 context-health 与 OpenSpec 校验通过
130 lines
9.5 KiB
Go
130 lines
9.5 KiB
Go
package dto
|
||
|
||
import (
|
||
"time"
|
||
|
||
"github.com/break/junhong_cmp_fiber/internal/model"
|
||
)
|
||
|
||
// PaymentMerchantRequest 是受控商户管理写入请求。
|
||
type PaymentMerchantRequest struct {
|
||
Name string `json:"name" validate:"required,min=1,max=100" description:"商户名称"`
|
||
PaymentMethod string `json:"payment_method" validate:"required,oneof=wechat alipay" enum:"wechat,alipay" description:"支付方式:wechat=微信支付,alipay=支付宝支付"`
|
||
ProviderType string `json:"provider_type" validate:"required,max=30" description:"服务商类型:微信仅支持 wechat、wechat_v2、fuiou;支付宝为 alipay"`
|
||
MerchantIdentity string `json:"merchant_identity" validate:"required,max=100" description:"商户号或应用标识"`
|
||
Credentials model.JSONB `json:"credentials" description:"商户受控凭证,仅专用管理接口传输"`
|
||
Enabled bool `json:"enabled" description:"是否启用"`
|
||
Remark string `json:"remark" validate:"max=1000" description:"备注"`
|
||
}
|
||
|
||
// PaymentMerchantUpdateRequest 是受控商户管理更新请求。
|
||
type PaymentMerchantUpdateRequest struct {
|
||
Name *string `json:"name" description:"商户名称"`
|
||
PaymentMethod *string `json:"payment_method" enum:"wechat,alipay" description:"支付方式:wechat=微信支付,alipay=支付宝支付"`
|
||
ProviderType *string `json:"provider_type" description:"服务商类型:微信仅支持 wechat、wechat_v2、fuiou;支付宝为 alipay"`
|
||
MerchantIdentity *string `json:"merchant_identity" description:"商户号或应用标识"`
|
||
Credentials *model.JSONB `json:"credentials" description:"商户受控凭证"`
|
||
Enabled *bool `json:"enabled" description:"是否启用"`
|
||
Remark *string `json:"remark" description:"备注"`
|
||
}
|
||
|
||
// PaymentMerchantDeleteRequest 是受控商户删除二次确认请求。
|
||
type PaymentMerchantDeleteRequest struct {
|
||
Confirm bool `json:"confirm" validate:"required" description:"确认删除,必须为true"`
|
||
}
|
||
|
||
// PaymentMerchantListRequest 是支付商户分页查询条件。
|
||
type PaymentMerchantListRequest struct {
|
||
Page int `query:"page" description:"页码"`
|
||
PageSize int `query:"page_size" description:"每页数量"`
|
||
PaymentMethod *string `query:"payment_method" enum:"wechat,alipay" description:"支付方式:wechat=微信支付,alipay=支付宝支付"`
|
||
Enabled *bool `query:"enabled" description:"是否启用"`
|
||
}
|
||
|
||
// PaymentMerchantResponse 是受控商户管理响应。
|
||
type PaymentMerchantResponse struct {
|
||
ID uint `json:"id" description:"商户ID"`
|
||
Name string `json:"name" description:"商户名称"`
|
||
PaymentMethod string `json:"payment_method" enum:"wechat,alipay" description:"支付方式:wechat=微信支付,alipay=支付宝支付"`
|
||
ProviderType string `json:"provider_type" description:"服务商类型"`
|
||
MerchantIdentity string `json:"merchant_identity" description:"商户号或应用标识"`
|
||
Credentials model.JSONB `json:"credentials" description:"商户受控凭证,仅专用管理接口返回"`
|
||
CredentialVersion int64 `json:"credential_version" description:"凭证版本"`
|
||
Enabled bool `json:"enabled" description:"是否启用"`
|
||
Remark string `json:"remark" description:"备注"`
|
||
CreatedAt time.Time `json:"created_at" description:"创建时间"`
|
||
UpdatedAt time.Time `json:"updated_at" description:"更新时间"`
|
||
}
|
||
|
||
// PaymentMerchantPoolRequest 是商户池创建或更新请求。
|
||
type PaymentMerchantPoolRequest struct {
|
||
Name string `json:"name" validate:"required,min=1,max=100" description:"商户池名称"`
|
||
PaymentMethod string `json:"payment_method" validate:"required,oneof=wechat alipay" enum:"wechat,alipay" description:"支付方式:wechat=微信支付,alipay=支付宝支付"`
|
||
Enabled bool `json:"enabled" description:"是否启用"`
|
||
Strategy string `json:"strategy" validate:"required,oneof=amount count time" enum:"amount,count,time" description:"轮询策略:amount=金额阈值,count=笔数阈值,time=按时间段轮换"`
|
||
ThresholdAmount *int64 `json:"threshold_amount" description:"金额轮询阈值,单位分;仅 amount 策略"`
|
||
ThresholdCount *int64 `json:"threshold_count" description:"笔数轮询阈值;仅 count 策略"`
|
||
StatisticCycle *string `json:"statistic_cycle" enum:"round,day,month" description:"金额/笔数统计周期:round=每轮,day=自然日,month=自然月"`
|
||
TimePeriodValue *int64 `json:"time_period_value" description:"时间轮询周期数值;仅 time 策略,最小 1"`
|
||
TimePeriodUnit *string `json:"time_period_unit" enum:"minute,hour,day" description:"时间轮询单位:minute=分钟,hour=小时,day=天"`
|
||
TimePeriodStartedAt *time.Time `json:"time_period_started_at" description:"时间轮询起始时间;仅 time 策略"`
|
||
MemberIDs []uint `json:"member_ids" validate:"required,min=1" description:"有序商户ID列表"`
|
||
Remark string `json:"remark" description:"备注"`
|
||
}
|
||
|
||
// PaymentMerchantPoolListRequest 是商户池分页查询条件。
|
||
type PaymentMerchantPoolListRequest struct {
|
||
Page int `query:"page" description:"页码"`
|
||
PageSize int `query:"page_size" description:"每页数量"`
|
||
}
|
||
|
||
// PaymentMerchantPoolResponse 是商户池管理响应。
|
||
type PaymentMerchantPoolResponse struct {
|
||
ID uint `json:"id" description:"商户池ID"`
|
||
Name string `json:"name" description:"商户池名称"`
|
||
PaymentMethod string `json:"payment_method" enum:"wechat,alipay" description:"支付方式:wechat=微信支付,alipay=支付宝支付"`
|
||
Enabled bool `json:"enabled" description:"是否启用"`
|
||
Strategy string `json:"strategy" enum:"amount,count,time" description:"轮询策略:amount=金额阈值,count=笔数阈值,time=按时间段轮换"`
|
||
ThresholdAmount *int64 `json:"threshold_amount,omitempty" description:"金额阈值,分"`
|
||
ThresholdCount *int64 `json:"threshold_count,omitempty" description:"笔数阈值"`
|
||
StatisticCycle *string `json:"statistic_cycle,omitempty" enum:"round,day,month" description:"统计周期:round=每轮,day=自然日,month=自然月"`
|
||
TimePeriodValue *int64 `json:"time_period_value,omitempty" description:"时间周期数值"`
|
||
TimePeriodUnit *string `json:"time_period_unit,omitempty" enum:"minute,hour,day" description:"时间单位:minute=分钟,hour=小时,day=天"`
|
||
TimePeriodStartedAt *time.Time `json:"time_period_started_at,omitempty" description:"时间轮询起始时间"`
|
||
RoutingEpoch int64 `json:"routing_epoch" description:"当前路由统计世代"`
|
||
MemberIDs []uint `json:"member_ids" description:"有序商户ID列表"`
|
||
EnabledMemberCount int `json:"enabled_member_count" description:"启用成员数量,即成员中当前启用的商户数量"`
|
||
MemberCount int `json:"member_count" description:"成员总数量"`
|
||
CurrentMerchantID *uint `json:"current_merchant_id,omitempty" description:"当前命中商户ID;商户池停用或无可用成员时为空"`
|
||
CurrentMerchantName string `json:"current_merchant_name,omitempty" description:"当前命中商户名称;商户池停用或无可用成员时为空"`
|
||
UpdatedAt time.Time `json:"updated_at" description:"最近配置更新时间"`
|
||
Remark string `json:"remark" description:"备注"`
|
||
}
|
||
|
||
// WechatAuthorizationRequest 是微信授权配置管理写入请求。
|
||
type WechatAuthorizationRequest struct {
|
||
OaAppID string `json:"oa_app_id" description:"公众号AppID"`
|
||
OaAppSecret string `json:"oa_app_secret" description:"公众号AppSecret"`
|
||
OaToken string `json:"oa_token" description:"公众号Token"`
|
||
OaAesKey string `json:"oa_aes_key" description:"公众号AES密钥"`
|
||
OaOAuthRedirectURL string `json:"oa_oauth_redirect_url" description:"公众号OAuth回调地址"`
|
||
MiniappAppID string `json:"miniapp_app_id" description:"小程序AppID"`
|
||
MiniappAppSecret string `json:"miniapp_app_secret" description:"小程序AppSecret"`
|
||
Enabled bool `json:"enabled" description:"是否启用"`
|
||
}
|
||
|
||
// WechatAuthorizationResponse 是微信授权配置管理响应。
|
||
type WechatAuthorizationResponse struct {
|
||
ID uint `json:"id" description:"授权配置ID"`
|
||
OaAppID string `json:"oa_app_id" description:"公众号AppID"`
|
||
OaAppSecret string `json:"oa_app_secret" description:"公众号AppSecret,仅专用管理接口返回"`
|
||
OaToken string `json:"oa_token" description:"公众号Token,仅专用管理接口返回"`
|
||
OaAesKey string `json:"oa_aes_key" description:"公众号AES密钥,仅专用管理接口返回"`
|
||
OaOAuthRedirectURL string `json:"oa_oauth_redirect_url" description:"公众号OAuth回调地址"`
|
||
MiniappAppID string `json:"miniapp_app_id" description:"小程序AppID"`
|
||
MiniappAppSecret string `json:"miniapp_app_secret" description:"小程序AppSecret,仅专用管理接口返回"`
|
||
CredentialVersion int64 `json:"credential_version" description:"凭证版本"`
|
||
Enabled bool `json:"enabled" description:"是否启用"`
|
||
UpdatedAt time.Time `json:"updated_at" description:"更新时间"`
|
||
}
|