diff --git a/internal/domains/api/dto/api_request_dto.go b/internal/domains/api/dto/api_request_dto.go index c1c54e3..c1857c4 100644 --- a/internal/domains/api/dto/api_request_dto.go +++ b/internal/domains/api/dto/api_request_dto.go @@ -148,8 +148,8 @@ type QCXG1S2LReq struct { } type YYSYS7Y1Req struct { MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` - Name string `json:"name" validate:"required,min=1,validName"` - IDCard string `json:"id_card" validate:"required,validIDCard"` + Name string `json:"name" validate:"omitempty,min=1,validName"` + IDCard string `json:"id_card" validate:"omitempty,validIDCard"` } type JRZQDMLOReq struct { diff --git a/internal/domains/api/services/processors/yysy/yysys7y1_processor.go b/internal/domains/api/services/processors/yysy/yysys7y1_processor.go index 9fcdf72..8575902 100644 --- a/internal/domains/api/services/processors/yysy/yysys7y1_processor.go +++ b/internal/domains/api/services/processors/yysy/yysys7y1_processor.go @@ -21,12 +21,16 @@ func ProcessYYSYS7Y1Request(ctx context.Context, params []byte, deps *processors return nil, errors.Join(processors.ErrInvalidParam, err) } - // 构建数据宝入参:phone、name、idCard 需传 MD5 密文 + // 构建数据宝入参:phone、name、idCard 需传 MD5 密文(name、idCard 选填) reqParams := map[string]interface{}{ - "key": "40130990be30f9fea6422168d138ff6c", - "phone": shujubao.MD5Encrypt(paramsDto.MobileNo), - "name": shujubao.MD5Encrypt(paramsDto.Name), - "idCard": shujubao.MD5Encrypt(paramsDto.IDCard), + "key": "40130990be30f9fea6422168d138ff6c", + "phone": shujubao.MD5Encrypt(paramsDto.MobileNo), + } + if paramsDto.Name != "" { + reqParams["name"] = shujubao.MD5Encrypt(paramsDto.Name) + } + if paramsDto.IDCard != "" { + reqParams["idCard"] = shujubao.MD5Encrypt(paramsDto.IDCard) } // 最终请求 URL = https://api.chinadatapay.com/communication + 拼接接口地址值,如 personal/197