diff --git a/internal/infrastructure/external/jiguang/jiguang_service.go b/internal/infrastructure/external/jiguang/jiguang_service.go index 68a7aac..465da4d 100644 --- a/internal/infrastructure/external/jiguang/jiguang_service.go +++ b/internal/infrastructure/external/jiguang/jiguang_service.go @@ -237,24 +237,25 @@ func (j *JiguangService) CallAPI(ctx context.Context, apiCode string, apiPath st processorCode = ctxProcessorCode } - // 定义需要在查无记录时抛出异常的处理器列表 - processorsToThrowError := map[string]bool{ - "QCXG9P1C": true, // QCXG9P1C 处理器在查无记录时需要抛出异常 - "QCXG4D2E": true, // QCXG4D2E 处理器在查无记录时需要抛出异常 - "QCXG5F3A": true, // QCXG5F3A 处理器在查无记录时需要抛出异常 + // 定义不需要抛出异常的处理器列表(默认情况下查无记录时抛出异常) + processorsNotToThrowError := map[string]bool{ + // 在这个列表中的处理器,查无记录时返回空数组,不抛出异常 + // 示例:如果需要添加某个处理器,取消下面的注释 + // "QCXG9P1C": true, } - // 如果是特定处理器,抛出异常;否则返回空数组 - if processorsToThrowError[processorCode] { - // 记录错误日志 - if j.logger != nil { - j.logger.LogErrorWithResponseID(requestID, transactionID, apiCode, jiguangErr, params, jiguangResp.OrderID) - } - return nil, errors.Join(ErrNotFound, jiguangErr) + // 如果是不需要抛出异常的处理器,返回空数组;否则(默认)抛出异常 + if processorsNotToThrowError[processorCode] { + // 查无记录时,返回空数组,API调用记录为成功 + return []byte("[]"), nil } - // 查无记录时,返回空数组,API调用记录为成功 - return []byte("[]"), nil + // 默认情况下,查无记录时抛出异常 + // 记录错误日志 + if j.logger != nil { + j.logger.LogErrorWithResponseID(requestID, transactionID, apiCode, jiguangErr, params, jiguangResp.OrderID) + } + return nil, errors.Join(ErrNotFound, jiguangErr) } // 记录错误日志(查无记录的情况不记录错误日志)