Commit b18cd457c8b4b9c9fb00927d73d88e088fcdf49c

Authored by YunaiV
1 parent 7d6f205d

code review 支付相关的代码实现

yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/PayNotifyDataDTO.java
@@ -15,6 +15,7 @@ import java.util.Map; @@ -15,6 +15,7 @@ import java.util.Map;
15 @Builder 15 @Builder
16 public class PayNotifyDataDTO { 16 public class PayNotifyDataDTO {
17 17
  18 + // TODO @jason:使用 /** */ 的形式注释哈
18 //返回的所有参数 19 //返回的所有参数
19 private String body; 20 private String body;
20 21
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/AbstractPayClient.java
@@ -105,12 +105,11 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen @@ -105,12 +105,11 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen
105 105
106 @Override 106 @Override
107 public PayRefundUnifiedRespDTO unifiedRefund(PayRefundUnifiedReqDTO reqDTO) { 107 public PayRefundUnifiedRespDTO unifiedRefund(PayRefundUnifiedReqDTO reqDTO) {
108 -  
109 PayRefundUnifiedRespDTO resp; 108 PayRefundUnifiedRespDTO resp;
110 try { 109 try {
111 resp = doUnifiedRefund(reqDTO); 110 resp = doUnifiedRefund(reqDTO);
112 - }catch (SocketTimeoutException ex){  
113 - //网络 read time out 异常 111 + } catch (SocketTimeoutException ex){
  112 + // 网络 read time out 异常
114 log.error("[unifiedRefund][request({}) 发起退款失败,网络读超时,退款状态未知]", toJsonString(reqDTO), ex); 113 log.error("[unifiedRefund][request({}) 发起退款失败,网络读超时,退款状态未知]", toJsonString(reqDTO), ex);
115 return PayRefundUnifiedRespDTO.builder() 114 return PayRefundUnifiedRespDTO.builder()
116 .exceptionMsg(ex.getMessage()) 115 .exceptionMsg(ex.getMessage())
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelRespEnum.java
1 package cn.iocoder.yudao.framework.pay.core.enums; 1 package cn.iocoder.yudao.framework.pay.core.enums;
2 2
  3 +// TODO @芋艿:感觉情况有点多,得讨论下
3 /** 4 /**
4 * 统一的渠道返回结果 5 * 统一的渠道返回结果
5 * @author jason 6 * @author jason
yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn.iocoder.yudao.framework.pay.core.client.impl/alipay/AlipayQrPayClientTest.java
@@ -25,6 +25,7 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest { @@ -25,6 +25,7 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest {
25 .setAppId("2021000118634035") 25 .setAppId("2021000118634035")
26 .setServerUrl(AlipayPayClientConfig.SERVER_URL_SANDBOX) 26 .setServerUrl(AlipayPayClientConfig.SERVER_URL_SANDBOX)
27 .setSignType(AlipayPayClientConfig.SIGN_TYPE_DEFAULT) 27 .setSignType(AlipayPayClientConfig.SIGN_TYPE_DEFAULT)
  28 + // TODO @tina:key 可以随机就好,简洁一点哈。
28 .setPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCHsEV1cDupwJ" + 29 .setPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCHsEV1cDupwJ" +
29 "v890x84qbppUtRIfhaKSwSVN0thCcsDCaAsGR5MZslDkO8NCT9V4r2SVXjyY7eJUZlZd1M0C8T" + 30 "v890x84qbppUtRIfhaKSwSVN0thCcsDCaAsGR5MZslDkO8NCT9V4r2SVXjyY7eJUZlZd1M0C8T" +
30 "01Tg4UOx5LUbic0O3A1uJMy6V1n9IyYwbAW3AEZhBd5bSbPgrqvmv3NeWSTQT6Anxnllf+2iDH" + 31 "01Tg4UOx5LUbic0O3A1uJMy6V1n9IyYwbAW3AEZhBd5bSbPgrqvmv3NeWSTQT6Anxnllf+2iDH" +
@@ -50,8 +51,8 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest { @@ -50,8 +51,8 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest {
50 "gnZFv2gK51HExF8v/BaP7P979PhFMgWTqmOOI+Dtno5s+yD09XTY1WkshbLk6i4g2Xlr8fyW9ODnkU88RI2w9UdPhQU4cPPwBN" + 51 "gnZFv2gK51HExF8v/BaP7P979PhFMgWTqmOOI+Dtno5s+yD09XTY1WkshbLk6i4g2Xlr8fyW9ODnkU88RI2w9UdPhQU4cPPwBN" +
51 "lrsYhKkVK2OxwM3kFqjoBBY0CZoZCsSQ3LDH5WeZqPArlsS6xa2zqJBuuoKjMrdpELl3eXSjP8K54eDJCbeetCZNKWLL3DPahTPB7LZ" + 52 "lrsYhKkVK2OxwM3kFqjoBBY0CZoZCsSQ3LDH5WeZqPArlsS6xa2zqJBuuoKjMrdpELl3eXSjP8K54eDJCbeetCZNKWLL3DPahTPB7LZ" +
52 "ikfYmslb0QUvCgGapD0xkS7eVq70NaL1G57MWABs4tbfWgxike4Daj3EfUrzIVspQxj7w8HEj9WozJPgL88kSJSits0pqD3n5r8HSuseQIDAQAB"); 53 "ikfYmslb0QUvCgGapD0xkS7eVq70NaL1G57MWABs4tbfWgxike4Daj3EfUrzIVspQxj7w8HEj9WozJPgL88kSJSits0pqD3n5r8HSuseQIDAQAB");
53 - // 创建客户端  
54 54
  55 + // TODO @tina:= 前后要有空格哈
55 @InjectMocks 56 @InjectMocks
56 AlipayQrPayClient client=new AlipayQrPayClient(10L,config); 57 AlipayQrPayClient client=new AlipayQrPayClient(10L,config);
57 58
@@ -66,7 +67,8 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest { @@ -66,7 +67,8 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest {
66 } 67 }
67 @Test 68 @Test
68 public void create() throws AlipayApiException { 69 public void create() throws AlipayApiException {
69 - 70 + // TODO @tina:参数可以尽量随机一点,使用随机方法。这样的好处是,避免对固定参数的依赖,导致可能仅仅满足固定参数的结果
  71 + // 这里,设置可以直接随机整个对象。
70 Long shopOrderId = System.currentTimeMillis(); 72 Long shopOrderId = System.currentTimeMillis();
71 PayOrderUnifiedReqDTO reqDTO=new PayOrderUnifiedReqDTO(); 73 PayOrderUnifiedReqDTO reqDTO=new PayOrderUnifiedReqDTO();
72 reqDTO.setMerchantOrderId(String.valueOf(System.currentTimeMillis())); 74 reqDTO.setMerchantOrderId(String.valueOf(System.currentTimeMillis()));
@@ -88,6 +90,7 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest { @@ -88,6 +90,7 @@ public class AlipayQrPayClientTest extends BaseMockitoUnitTest {
88 // 断言 90 // 断言
89 assertEquals(response.getCode(), result.getApiCode()); 91 assertEquals(response.getCode(), result.getApiCode());
90 assertEquals(response.getMsg(), result.getApiMsg()); 92 assertEquals(response.getMsg(), result.getApiMsg());
  93 + // TODO @tina:这个断言木有过?
91 assertEquals(GlobalErrorCodeConstants.SUCCESS.getCode(), result.getCode()); 94 assertEquals(GlobalErrorCodeConstants.SUCCESS.getCode(), result.getCode());
92 assertEquals(GlobalErrorCodeConstants.SUCCESS.getMsg(), result.getMsg()); 95 assertEquals(GlobalErrorCodeConstants.SUCCESS.getMsg(), result.getMsg());
93 96
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/vo/PayRefundReqVO.java
@@ -22,7 +22,6 @@ public class PayRefundReqVO { @@ -22,7 +22,6 @@ public class PayRefundReqVO {
22 @NotEmpty(message = "退款金额") 22 @NotEmpty(message = "退款金额")
23 private Long amount; 23 private Long amount;
24 24
25 -  
26 @ApiModelProperty(value = "退款原因", required = true, example = "不喜欢") 25 @ApiModelProperty(value = "退款原因", required = true, example = "不喜欢")
27 @NotEmpty(message = "退款原因") 26 @NotEmpty(message = "退款原因")
28 private String reason; 27 private String reason;
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/convert/order/PayRefundConvert.java
@@ -8,7 +8,7 @@ import org.mapstruct.Mapper; @@ -8,7 +8,7 @@ import org.mapstruct.Mapper;
8 import org.mapstruct.factory.Mappers; 8 import org.mapstruct.factory.Mappers;
9 9
10 /** 10 /**
11 - * 支付退款 Convert 11 + * 支付退款 Convert // TODO @jason:类注释,和下面,有一个空行哈
12 * @author jason 12 * @author jason
13 */ 13 */
14 @Mapper 14 @Mapper
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/shop/controller/ShopOrderController.java
@@ -58,7 +58,7 @@ public class ShopOrderController { @@ -58,7 +58,7 @@ public class ShopOrderController {
58 } 58 }
59 59
60 60
61 - 61 + // TODO @jason:方法之间,空一行即可哈
62 @PostMapping("/pay-notify") 62 @PostMapping("/pay-notify")
63 @ApiOperation("支付回调") 63 @ApiOperation("支付回调")
64 public CommonResult<Boolean> payNotify(@RequestBody @Valid PayNotifyOrderReqVO reqVO) { 64 public CommonResult<Boolean> payNotify(@RequestBody @Valid PayNotifyOrderReqVO reqVO) {