From 7d2716da7a6f85f70d07c4810bdcb6676e4a5a2f Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Fri, 6 Mar 2026 10:56:36 +0800 Subject: [PATCH 1/6] f --- .../api/services/processors/dwbg/dwbg8b4d_processor.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/domains/api/services/processors/dwbg/dwbg8b4d_processor.go b/internal/domains/api/services/processors/dwbg/dwbg8b4d_processor.go index caf2bb1..77d4421 100644 --- a/internal/domains/api/services/processors/dwbg/dwbg8b4d_processor.go +++ b/internal/domains/api/services/processors/dwbg/dwbg8b4d_processor.go @@ -4011,8 +4011,10 @@ func calculateAgeAndSex(idCard string) (int, string) { return 0, "" } + now := time.Now() + // 计算年龄(简化处理,使用当前年份) - age := 2024 - year + age := now.Year() - year // 提取性别(第17位,奇数为男,偶数为女) sexCode := idCard[16:17] From f40950f890a203d09e840bc1098c806251d10d57 Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Fri, 6 Mar 2026 15:12:58 +0800 Subject: [PATCH 2/6] f --- internal/infrastructure/external/zhicha/zhicha_service.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/infrastructure/external/zhicha/zhicha_service.go b/internal/infrastructure/external/zhicha/zhicha_service.go index 29993d0..423c270 100644 --- a/internal/infrastructure/external/zhicha/zhicha_service.go +++ b/internal/infrastructure/external/zhicha/zhicha_service.go @@ -215,8 +215,11 @@ func (z *ZhichaService) CallAPI(ctx context.Context, proID string, params map[st return map[string]interface{}{}, nil } - // 返回data字段 - return zhichaResp.Data, nil + // 返回data字段,如果为空则返回空对象 + if zhichaResp.Data != nil && len(zhichaResp.Data) > 0 { + return zhichaResp.Data, nil + } + return map[string]interface{}{}, nil } // Encrypt 使用配置的加密密钥对数据进行AES-128-CBC加密 From 3d8775b6dccd6ef9b57d3085cd5394527f791bb4 Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Fri, 6 Mar 2026 15:20:27 +0800 Subject: [PATCH 3/6] f --- .../external/zhicha/zhicha_service.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/internal/infrastructure/external/zhicha/zhicha_service.go b/internal/infrastructure/external/zhicha/zhicha_service.go index 423c270..5ce6045 100644 --- a/internal/infrastructure/external/zhicha/zhicha_service.go +++ b/internal/infrastructure/external/zhicha/zhicha_service.go @@ -210,16 +210,18 @@ func (z *ZhichaService) CallAPI(ctx context.Context, proID string, params map[st return nil, ErrDatasource } - // 201 表示查询为空,返回空对象 + // 201 表示查询为空,兼容其它情况如果data也为空,则返回空对象 if zhichaResp.Code == "201" { + // 先做类型断言 + dataMap, ok := zhichaResp.Data.(map[string]interface{}) + if ok && len(dataMap) > 0 { + return dataMap, nil + } return map[string]interface{}{}, nil } - // 返回data字段,如果为空则返回空对象 - if zhichaResp.Data != nil && len(zhichaResp.Data) > 0 { - return zhichaResp.Data, nil - } - return map[string]interface{}{}, nil + // 返回data字段 + return zhichaResp.Data, nil } // Encrypt 使用配置的加密密钥对数据进行AES-128-CBC加密 From 57d18be9726bb6b59ca3e127ce9ab2626b95f7cd Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Fri, 6 Mar 2026 16:28:25 +0800 Subject: [PATCH 4/6] f --- .../processors/qygl/qyglj0q1_processor.go | 47 ++++++++++++++++++- .../processors/qygl/qygluy3s_processor.go | 47 ++++++++++++++++++- 2 files changed, 92 insertions(+), 2 deletions(-) diff --git a/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go b/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go index 483824b..79850fd 100644 --- a/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go +++ b/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go @@ -51,9 +51,54 @@ func ProcessQYGLJ0Q1Request(ctx context.Context, params []byte, deps *processors return nil, errors.Join(processors.ErrSystem, err) } - respBytes, err := json.Marshal(data) + // 解析响应中的JSON字符串 + parsedResp, err := ParseJsonResponse(data) + if err != nil { + return nil, errors.Join(processors.ErrSystem, err) + } + + respBytes, err := json.Marshal(parsedResp) if err != nil { return nil, errors.Join(processors.ErrSystem, err) } return respBytes, nil } + +// ParseJsonResponse 直接解析JSON响应数据 +// data: 接口返回的数据 +// Returns: 解析后的数据 +func ParseJsonResponse(data interface{}) (interface{}, error) { + return RecursiveParse(data) +} + +// RecursiveParse 递归解析JSON数据 +func RecursiveParse(data interface{}) (interface{}, error) { + switch v := data.(type) { + case string: + var parsed interface{} + if err := json.Unmarshal([]byte(v), &parsed); err == nil { + return RecursiveParse(parsed) + } + return v, nil + case map[string]interface{}: + for key, val := range v { + parsed, err := RecursiveParse(val) + if err != nil { + return nil, err + } + v[key] = parsed + } + return v, nil + case []interface{}: + for i, item := range v { + parsed, err := RecursiveParse(item) + if err != nil { + return nil, err + } + v[i] = parsed + } + return v, nil + default: + return v, nil + } +} diff --git a/internal/domains/api/services/processors/qygl/qygluy3s_processor.go b/internal/domains/api/services/processors/qygl/qygluy3s_processor.go index d8a3fe4..a205bb3 100644 --- a/internal/domains/api/services/processors/qygl/qygluy3s_processor.go +++ b/internal/domains/api/services/processors/qygl/qygluy3s_processor.go @@ -42,9 +42,54 @@ func ProcessQYGLUY3SRequest(ctx context.Context, params []byte, deps *processors return nil, errors.Join(processors.ErrSystem, err) } - respBytes, err := json.Marshal(data) + // 解析响应中的JSON字符串 + parsedResp, err := ParseJsonResponse(data) + if err != nil { + return nil, errors.Join(processors.ErrSystem, err) + } + + respBytes, err := json.Marshal(parsedResp) if err != nil { return nil, errors.Join(processors.ErrSystem, err) } return respBytes, nil } + +// ParseJsonResponse 直接解析JSON响应数据 +// data: 接口返回的数据 +// Returns: 解析后的数据 +func ParseJsonResponse(data interface{}) (interface{}, error) { + return RecursiveParse(data) +} + +// RecursiveParse 递归解析JSON数据 +func RecursiveParse(data interface{}) (interface{}, error) { + switch v := data.(type) { + case string: + var parsed interface{} + if err := json.Unmarshal([]byte(v), &parsed); err == nil { + return RecursiveParse(parsed) + } + return v, nil + case map[string]interface{}: + for key, val := range v { + parsed, err := RecursiveParse(val) + if err != nil { + return nil, err + } + v[key] = parsed + } + return v, nil + case []interface{}: + for i, item := range v { + parsed, err := RecursiveParse(item) + if err != nil { + return nil, err + } + v[i] = parsed + } + return v, nil + default: + return v, nil + } +} From b0ec75d1af82e9a47b0ae2689690860c8777d28a Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Fri, 6 Mar 2026 16:39:00 +0800 Subject: [PATCH 5/6] f --- .../processors/qygl/qyglj0q1_processor.go | 43 +------------------ .../processors/qygl/qygluy3s_processor.go | 43 +------------------ 2 files changed, 4 insertions(+), 82 deletions(-) diff --git a/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go b/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go index 79850fd..57b3f3f 100644 --- a/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go +++ b/internal/domains/api/services/processors/qygl/qyglj0q1_processor.go @@ -51,8 +51,8 @@ func ProcessQYGLJ0Q1Request(ctx context.Context, params []byte, deps *processors return nil, errors.Join(processors.ErrSystem, err) } - // 解析响应中的JSON字符串 - parsedResp, err := ParseJsonResponse(data) + // 解析响应中的 JSON 字符串(使用 qyglb4c0 中的 RecursiveParse) + parsedResp, err := RecursiveParse(data) if err != nil { return nil, errors.Join(processors.ErrSystem, err) } @@ -63,42 +63,3 @@ func ProcessQYGLJ0Q1Request(ctx context.Context, params []byte, deps *processors } return respBytes, nil } - -// ParseJsonResponse 直接解析JSON响应数据 -// data: 接口返回的数据 -// Returns: 解析后的数据 -func ParseJsonResponse(data interface{}) (interface{}, error) { - return RecursiveParse(data) -} - -// RecursiveParse 递归解析JSON数据 -func RecursiveParse(data interface{}) (interface{}, error) { - switch v := data.(type) { - case string: - var parsed interface{} - if err := json.Unmarshal([]byte(v), &parsed); err == nil { - return RecursiveParse(parsed) - } - return v, nil - case map[string]interface{}: - for key, val := range v { - parsed, err := RecursiveParse(val) - if err != nil { - return nil, err - } - v[key] = parsed - } - return v, nil - case []interface{}: - for i, item := range v { - parsed, err := RecursiveParse(item) - if err != nil { - return nil, err - } - v[i] = parsed - } - return v, nil - default: - return v, nil - } -} diff --git a/internal/domains/api/services/processors/qygl/qygluy3s_processor.go b/internal/domains/api/services/processors/qygl/qygluy3s_processor.go index a205bb3..efd0fb0 100644 --- a/internal/domains/api/services/processors/qygl/qygluy3s_processor.go +++ b/internal/domains/api/services/processors/qygl/qygluy3s_processor.go @@ -42,8 +42,8 @@ func ProcessQYGLUY3SRequest(ctx context.Context, params []byte, deps *processors return nil, errors.Join(processors.ErrSystem, err) } - // 解析响应中的JSON字符串 - parsedResp, err := ParseJsonResponse(data) + // 解析响应中的 JSON 字符串(使用 qyglb4c0 中的 RecursiveParse) + parsedResp, err := RecursiveParse(data) if err != nil { return nil, errors.Join(processors.ErrSystem, err) } @@ -54,42 +54,3 @@ func ProcessQYGLUY3SRequest(ctx context.Context, params []byte, deps *processors } return respBytes, nil } - -// ParseJsonResponse 直接解析JSON响应数据 -// data: 接口返回的数据 -// Returns: 解析后的数据 -func ParseJsonResponse(data interface{}) (interface{}, error) { - return RecursiveParse(data) -} - -// RecursiveParse 递归解析JSON数据 -func RecursiveParse(data interface{}) (interface{}, error) { - switch v := data.(type) { - case string: - var parsed interface{} - if err := json.Unmarshal([]byte(v), &parsed); err == nil { - return RecursiveParse(parsed) - } - return v, nil - case map[string]interface{}: - for key, val := range v { - parsed, err := RecursiveParse(val) - if err != nil { - return nil, err - } - v[key] = parsed - } - return v, nil - case []interface{}: - for i, item := range v { - parsed, err := RecursiveParse(item) - if err != nil { - return nil, err - } - v[i] = parsed - } - return v, nil - default: - return v, nil - } -} From d7a55898738f6a7c6f763884059be34ce1982fad Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Mon, 9 Mar 2026 11:31:40 +0800 Subject: [PATCH 6/6] f --- internal/domains/api/dto/api_request_dto.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/domains/api/dto/api_request_dto.go b/internal/domains/api/dto/api_request_dto.go index 10ece55..222b55d 100644 --- a/internal/domains/api/dto/api_request_dto.go +++ b/internal/domains/api/dto/api_request_dto.go @@ -420,7 +420,7 @@ type COMENT01Req struct { } type JRZQ09J8Req struct { - MobileNo string `json:"mobile_no" validate:"omitempty,min=11,max=11,validMobileNo"` + MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` IDCard string `json:"id_card" validate:"required,validIDCard"` Name string `json:"name" validate:"required,min=1,validName"` Authorized string `json:"authorized" validate:"required,oneof=0 1"`