f
This commit is contained in:
@@ -22,33 +22,24 @@ func ProcessFLXG8B4DRequest(ctx context.Context, params []byte, deps *processors
|
||||
return nil, errors.Join(processors.ErrInvalidParam, err)
|
||||
}
|
||||
|
||||
// 三选一校验:MobileNo、IDCard、BankCard 必须且只能有一个
|
||||
var fieldCount int
|
||||
// 从 MobileNo、IDCard、BankCard 中按优先级选择一个(MobileNo > IDCard > BankCard)
|
||||
var selectedField string
|
||||
var selectedValue string
|
||||
|
||||
if paramsDto.MobileNo != "" {
|
||||
fieldCount++
|
||||
selectedField = "mobile_no"
|
||||
selectedValue = paramsDto.MobileNo
|
||||
}
|
||||
if paramsDto.IDCard != "" {
|
||||
fieldCount++
|
||||
} else if paramsDto.IDCard != "" {
|
||||
selectedField = "id_card"
|
||||
selectedValue = paramsDto.IDCard
|
||||
}
|
||||
if paramsDto.BankCard != "" {
|
||||
fieldCount++
|
||||
} else if paramsDto.BankCard != "" {
|
||||
selectedField = "bank_card"
|
||||
selectedValue = paramsDto.BankCard
|
||||
}
|
||||
|
||||
if fieldCount == 0 {
|
||||
if selectedField == "" {
|
||||
return nil, fmt.Errorf("%s: %w", processors.ErrInvalidParam, errors.New("必须提供手机号、身份证号或银行卡号中的其中一个"))
|
||||
}
|
||||
if fieldCount > 1 {
|
||||
return nil, fmt.Errorf("%s: %w", processors.ErrInvalidParam, errors.New("只能提供手机号、身份证号或银行卡号中的一个,不能同时提供多个"))
|
||||
}
|
||||
|
||||
// 只对选中的字段进行加密
|
||||
var encryptedValue string
|
||||
|
||||
Reference in New Issue
Block a user