diff --git a/apps/api/internal/logic/COMB/comb298ylogic.go b/apps/api/internal/logic/COMB/comb298ylogic.go index 8c4e299..a26d7f6 100644 --- a/apps/api/internal/logic/COMB/comb298ylogic.go +++ b/apps/api/internal/logic/COMB/comb298ylogic.go @@ -109,17 +109,17 @@ func (l *COMB298YLogic) COMB298Y(req *types.Request) (resp string, err *errs.App // 准备并发请求 apiRequests := []APIRequest{ - {SourceId: "G16BJ02", ServiceId: "YYSY09CD", Mapping: westmodel.YYSY09CDFieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G27BJ05", ServiceId: "JRZQ0A03", Mapping: westmodel.JRZQ0A03FieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G28BJ05", ServiceId: "JRZQ8203", Mapping: westmodel.JRZQ8203FieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G26BJ05", ServiceId: "FLXG3D56", Mapping: westmodel.FLXG3D56FieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G16BJ02", ServiceId: "YYSY09CD", Mapping: westmodel.YYSY09CDFieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G27BJ05", ServiceId: "JRZQ0A03", Mapping: westmodel.JRZQ0A03FieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G28BJ05", ServiceId: "JRZQ8203", Mapping: westmodel.JRZQ8203FieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G26BJ05", ServiceId: "FLXG3D56", Mapping: westmodel.FLXG3D56FieldMapping, Wrap: "data", Service: "west"}, {SourceId: "G22SC01", ServiceId: "FLXGCA3D", Mapping: westmodel.FLXGCA3DFieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G29BJ05", ServiceId: "JRZQ4AA8", Mapping: westmodel.JRZQ4AA8FieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G30BJ05", ServiceId: "FLXGC9D1", Mapping: westmodel.FLXGC9D1FieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G32BJ05", ServiceId: "FLXG162A", Mapping: westmodel.FLXG162AFieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G03HZ01", ServiceId: "FLXG54F5", Mapping: westmodel.FLXG54F5FieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G09XM02", ServiceId: "IVYZ5733", Mapping: westmodel.IVYZ5733FieldMapping, Wrap: "data", Service: "west"}, - {SourceId: "G11BJ06", ServiceId: "IVYZ9A2B", Mapping: westmodel.IVYZ9A2BFieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G29BJ05", ServiceId: "JRZQ4AA8", Mapping: westmodel.JRZQ4AA8FieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G30BJ05", ServiceId: "FLXGC9D1", Mapping: westmodel.FLXGC9D1FieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G32BJ05", ServiceId: "FLXG162A", Mapping: westmodel.FLXG162AFieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G03HZ01", ServiceId: "FLXG54F5", Mapping: westmodel.FLXG54F5FieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G09XM02", ServiceId: "IVYZ5733", Mapping: westmodel.IVYZ5733FieldMapping, Wrap: "data", Service: "west"}, + // {SourceId: "G11BJ06", ServiceId: "IVYZ9A2B", Mapping: westmodel.IVYZ9A2BFieldMapping, Wrap: "data", Service: "west"}, {SourceId: "G05HZ01", ServiceId: "QYGLB4C0", Mapping: westmodel.QYGLB4C0FieldMapping, Wrap: "", Service: "west"}, {SourceId: "RIS031", ServiceId: "FLXG8UI0", Mapping: westmodel.FLXG8UI0FieldMapping, Wrap: "data", Service: "yushan"}, } @@ -129,29 +129,32 @@ func (l *COMB298YLogic) COMB298Y(req *types.Request) (resp string, err *errs.App if apiRequests[i].Service == "west" { // 西部服务:先加密后mapping westConfig := l.svcCtx.Config.WestConfig - // 直接使用结构体进行加密 - encryptedRequest, encryptErr := common.EncryptStructFields(data, westConfig.Key) - if encryptErr != nil { - logx.Errorf("西部加密错误:%v", encryptErr) - return "", errs.ErrSystem + if apiRequests[i].SourceId == "G05HZ01" { + // G05HZ01 不需要加密,直接使用原始数据 + dataMap, err := common.StructToMap(data) + if err != nil { + logx.Errorf("结构体转map失败:%v", err) + return "", errs.ErrSystem + } + apiRequests[i].Request = common.MapStructToAPIRequest(dataMap, apiRequests[i].Mapping, apiRequests[i].Wrap) + } else { + // 其他西部服务需要加密 + encryptedRequest, encryptErr := common.EncryptStructFields(data, westConfig.Key) + if encryptErr != nil { + logx.Errorf("西部加密错误:%v", encryptErr) + return "", errs.ErrSystem + } + apiRequests[i].Request = common.MapStructToAPIRequest(encryptedRequest, apiRequests[i].Mapping, apiRequests[i].Wrap) } - // mapping - apiRequests[i].Request = common.MapStructToAPIRequest(encryptedRequest, apiRequests[i].Mapping, apiRequests[i].Wrap) } else { - // 羽山服务:直接mapping - dataMap, err := common.StructToMap(data) - if err != nil { - logx.Errorf("结构体转map失败:%v", err) - return "", errs.ErrSystem - } - apiRequests[i].Request = common.MapStructToAPIRequest(dataMap, apiRequests[i].Mapping, apiRequests[i].Wrap) - // 如果是 RIS031,添加 type: 3 if apiRequests[i].SourceId == "RIS031" { - if apiRequests[i].Request == nil { - apiRequests[i].Request = make(map[string]interface{}) + apiRequests[i].Request = map[string]interface{}{ + "data": map[string]interface{}{ + "keyWord": data.IDCard, + "type": 3, + }, } - apiRequests[i].Request["type"] = 3 } } logx.Infof("sourceId:%s,请求参数:%v", apiRequests[i].SourceId, apiRequests[i].Request) @@ -173,14 +176,22 @@ func (l *COMB298YLogic) COMB298Y(req *types.Request) (resp string, err *errs.App // 根据服务类型选择不同的调用方式 switch req.Service { case "west": - // 4、发送请求到西部 logx.Infof("交易号:%s", transactionID) - - respData, err := l.svcCtx.WestDexService.CallAPI(req.SourceId, req.Request, l.svcCtx.Config.WestConfig.SecretId) + var respData []byte + var err error + if req.SourceId == "G05HZ01" { + respData, err = l.svcCtx.WestDexService.CallAPISecond(req.SourceId, req.Request, l.svcCtx.Config.WestConfig.SecretId) + } else { + respData, err = l.svcCtx.WestDexService.CallAPI(req.SourceId, req.Request, l.svcCtx.Config.WestConfig.SecretId) + } if err != nil { logx.Errorf("西部请求失败:sourceId:%s,err:%v", req.SourceId, err) - callAPIErr = err + if appErr, ok := err.(*errs.AppError); ok { + callAPIErr = appErr + } else { + callAPIErr = errs.ErrSystem + } westResp = "{}" // 发生错误时返回空对象 } else { // 确保返回的是有效的 JSON diff --git a/apps/api/internal/westmodel/fieldMapping.go b/apps/api/internal/westmodel/fieldMapping.go index d6e881d..5622ef9 100644 --- a/apps/api/internal/westmodel/fieldMapping.go +++ b/apps/api/internal/westmodel/fieldMapping.go @@ -43,7 +43,7 @@ var FLXGC9D1FieldMapping = map[string]string{ "MobileNo": "cell", } var FLXGCA3DFieldMapping = map[string]string{ - "IDCard": "id_card", + "IDCard": "idcard", "Name": "name", "AuthDate": "inquired_auth", }