Commit 26798a881698a30f2b7e9f534c9b4bd6c8a88db4

Authored by jason
1 parent 87d8b55b

修改code review

yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/impl/PayOrderCoreServiceImpl.java
... ... @@ -159,7 +159,7 @@ public class PayOrderCoreServiceImpl implements PayOrderCoreService {
159 159 * @return
160 160 */
161 161 private String genChannelReturnUrl(PayChannelDO channel) {
162   - return payProperties.getReturnUrl() + "/" + StrUtil.replace(channel.getCode(), "_", "-")
  162 + return payProperties.getPayReturnUrl() + "/" + StrUtil.replace(channel.getCode(), "_", "-")
163 163 + "/" + channel.getId();
164 164 }
165 165  
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/config/PayProperties.java
... ... @@ -23,15 +23,16 @@ public class PayProperties {
23 23 * 退款回调地址
24 24 * 注意点,同 {@link #payNotifyUrl} 属性
25 25 */
26   - @NotEmpty(message = "短信发送频率不能为空")
  26 + @NotEmpty(message = "退款回调地址不能为空")
27 27 @URL(message = "退款回调地址的格式必须是 URL")
28 28 private String refundNotifyUrl;
29 29  
30   - // TODO @jason:改成 payReturnUrl 。另外,可以加个 @NotEmpty,避免未填写
  30 +
31 31 /**
32 32 * 支付完成的返回地址
33 33 */
34 34 @URL(message = "支付返回的地址的格式必须是 URL")
35   - private String returnUrl;
  35 + @NotEmpty(message = "支付返回的地址不能为空")
  36 + private String payReturnUrl;
36 37  
37 38 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPayCodeMapping.java
... ... @@ -19,7 +19,7 @@ public class AlipayPayCodeMapping extends AbstractPayCodeMapping {
19 19 return GlobalErrorCodeConstants.SUCCESS;
20 20 }
21 21 // alipay wap api code 返回为null, 暂时定为-9999
22   - if(Objects.equals(apiCode, "-9999")){ // TODO @jason:空格要注意哈。if () {
  22 + if (Objects.equals(apiCode, "-9999")) {
23 23 return GlobalErrorCodeConstants.SUCCESS;
24 24 }
25 25 return null;
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayWapPayClient.java
... ... @@ -51,7 +51,8 @@ public class AlipayWapPayClient extends AbstractPayClient<AlipayPayClientConfig>
51 51 model.setTotalAmount(calculateAmount(reqDTO.getAmount()).toString());
52 52 model.setProductCode("QUICK_WAP_PAY"); // TODO 芋艿:这里咋整
53 53 //TODO 芋艿:这里咋整 jason @芋艿 可以去掉吧,
54   - // TODO @jason: 这个支付方式,需要有 sellerId 么?
  54 + // TODO 芋艿 似乎这里不用传sellerId
  55 + // https://opendocs.alipay.com/apis/api_1/alipay.trade.wap.pay
55 56 //model.setSellerId("2088102147948060");
56 57 model.setTimeExpire(DateUtil.format(reqDTO.getExpireTime(),"yyyy-MM-dd HH:mm:ss"));
57 58 // TODO 芋艿:userIp
... ... @@ -77,12 +78,13 @@ public class AlipayWapPayClient extends AbstractPayClient<AlipayPayClientConfig>
77 78 }
78 79 }
79 80  
80   - // TODO @jason: 注释记得补下哈
  81 +
81 82 /**
  83 + * 从支付宝通知返回参数中解析 PayOrderNotifyRespDTO, 通知具体参数参考
82 84 * //https://opendocs.alipay.com/open/203/105286
83 85 * @param data 通知结果
84   - * @return
85   - * @throws Exception
  86 + * @return 解析结果 PayOrderNotifyRespDTO
  87 + * @throws Exception 解析失败,抛出异常
86 88 */
87 89 @Override
88 90 public PayOrderNotifyRespDTO parseOrderNotify(PayNotifyDataDTO data) throws Exception {
... ...
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/PayOrderController.java
... ... @@ -84,22 +84,21 @@ public class PayOrderController {
84 84 public String notifyAliPayWapPayOrder(@PathVariable("channelId") Long channelId,
85 85 @RequestParam Map<String, String> params,
86 86 @RequestBody String originData) throws Exception {
87   - //TODO @jason 校验 是否支付宝调用。 使用 支付宝publickey payclient 或许加一个校验方法
  87 + //TODO @jason 校验 是否支付宝调用。 payclient 中加一个校验方法
88 88 payOrderCoreService.notifyPayOrder(channelId, PayChannelEnum.ALIPAY_WAP.getCode(), PayNotifyDataDTO.builder().params(params).body(originData).build());
89 89 return "success";
90 90 }
91 91  
92   - // TODO @jason 如果有些字段不注释,可以删除哈。不然 IDEA 会报警
  92 +
93 93 /**
94 94 * https://opendocs.alipay.com/open/203/105285#%E5%89%8D%E5%8F%B0%E5%9B%9E%E8%B7%B3%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E
95   - * @param channelId
96   - * @return
97   - * @throws Exception
  95 + * @param channelId 渠道id
  96 + * @return 返回跳转页面
98 97 */
99 98 @GetMapping(value = "/return/alipay-wap/{channelId}")
100 99 @ApiOperation("支付宝wap页面回跳")
101 100 public String returnAliPayWapPayOrder(@PathVariable("channelId") Long channelId){
102   - //TODO @jason 校验 是否支付宝调用。 支付宝publickey 可以根据 appId 跳转不同的页面
  101 + //TODO 校验 是否支付宝调用。 可以根据 appId 跳转不同的页面
103 102 return "支付成功";
104 103 }
105 104  
... ...
yudao-user-server/src/main/resources/application-local.yaml
... ... @@ -155,4 +155,4 @@ yudao:
155 155 pay:
156 156 pay-notify-url: http://jg6rde.natappfree.cc/api/pay/order/notify
157 157 refund-notify-url: http://jg6rde.natappfree.cc/api/pay/refund/notify
158   - return-url: http://jg6rde.natappfree.cc/api/pay/order/return
  158 + pay-return-url: http://jg6rde.natappfree.cc/api/pay/order/return
... ...
yudao-user-server/src/main/resources/static/pay_alipay_wap.html
... ... @@ -9,18 +9,17 @@
9 9 <body>
10 10 <div>点击如下按钮,发起支付的测试</div>
11 11 <div>
12   - <button id="alipay_wap">支付宝h5</button>
  12 + <button id="alipay_wap">支付宝手机网站支付</button>
13 13 </div>
14 14 <div id="dynamic_form"></div>
15 15 </body>
16 16 <script>
17   - // TODO @jason:copy 过来后,有些注释要改过来哈
  17 +
18 18 let shopOrderId = undefined;
19 19 let payOrderId = undefined;
20 20 let server = 'http://127.0.0.1:28080';
21 21 //let server = 'http://niubi.natapp1.cc';
22   - // TODO openid
23   - //let openid = "ockUAwIZ-0OeMZl9ogcZ4ILrGba0";
  22 +
24 23 $(function() {
25 24 // 自动发起商城订单编号
26 25 $.ajax({
... ... @@ -38,7 +37,7 @@
38 37 }
39 38 })
40 39 });
41   - // 微信公众号
  40 +
42 41 $( "#alipay_wap").on( "click", function() {
43 42 // 提交支付
44 43 $.ajax({
... ... @@ -56,7 +55,7 @@
56 55 return;
57 56 }
58 57 alert('点击确定,开始支付');
59   - // 开始调用微信支付
  58 + //支付宝 手机WAP 返回表单,自动跳到支付宝支付页面
60 59 let data = result.data.invokeResponse;
61 60 $("#dynamic_form").html(data.body);
62 61 }
... ...