silent 4 лет назад
Родитель
Сommit
9706c0a6d8

+ 2 - 0
src/main/java/org/springblade/payment/cmcc/response/CmccResponse.java

@@ -2,6 +2,7 @@ package org.springblade.payment.cmcc.response;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
 import lombok.Data;
 
 /**
@@ -11,6 +12,7 @@ import lombok.Data;
  * @Modified By:
  */
 @Data
+@Builder
 @ApiModel("移动响应参数")
 public class CmccResponse {
 	@ApiModelProperty("请求中的requestId值")

+ 13 - 1
src/main/java/org/springblade/payment/cmcc/util/CmccUtil.java

@@ -193,7 +193,19 @@ public class CmccUtil {
 			//添加参数,进行签名
 			.body(JSONObject.toJSONString(sign(checkParam(cmccRequest, callback)))).execute();
 		log.info("CMCC-请求响应内容:{}",httpResponse.body());
-		CmccResponse cmccResponse = JSONObject.parseObject(httpResponse.body(), CmccResponse.class);
+		JSONObject jsonObject = JSONObject.parseObject(httpResponse.body());
+		CmccResponse cmccResponse;
+		if(ObjectUtils.isNotEmpty(jsonObject.get("respCode"))){
+			cmccResponse = CmccResponse
+				.builder()
+				.resultCode(jsonObject.getString("respCode"))
+				.message(jsonObject.getString("respMsg"))
+				.requestId(jsonObject.getString("requestId"))
+				.data(jsonObject.getString("data"))
+				.build();
+		}else{
+			cmccResponse = jsonObject.toJavaObject(CmccResponse.class);
+		}
 		//判断状态是否成功
 		if (!StringUtils.equals(cmccResponse.getResultCode(), CmccResponseStatus.SUCCESS.getCode())
 			&& (!callback || !StringUtils.equals(cmccResponse.getResultCode(),CmccResponseStatus.AUTH.getCode()))) {