|
@@ -1,17 +1,17 @@
|
|
|
-package cn.iocoder.yudao.userserver.modules.pay.controller.order;
|
|
|
+package cn.iocoder.yudao.module.pay.controller.app.order;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
-import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;
|
|
|
-import cn.iocoder.yudao.coreservice.modules.pay.service.order.PayOrderCoreService;
|
|
|
-import cn.iocoder.yudao.coreservice.modules.pay.service.order.PayRefundCoreService;
|
|
|
-import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayOrderSubmitReqDTO;
|
|
|
-import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayOrderSubmitRespDTO;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.pay.core.client.PayClient;
|
|
|
import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
|
|
|
import cn.iocoder.yudao.framework.pay.core.client.dto.PayNotifyDataDTO;
|
|
|
-import cn.iocoder.yudao.userserver.modules.pay.controller.order.vo.PayOrderSubmitReqVO;
|
|
|
-import cn.iocoder.yudao.userserver.modules.pay.controller.order.vo.PayOrderSubmitRespVO;
|
|
|
+import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitReqVO;
|
|
|
+import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitRespVO;
|
|
|
+import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
|
|
|
+import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
|
|
|
+import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitReqDTO;
|
|
|
+import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitRespDTO;
|
|
|
+import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -21,52 +21,52 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.Map;
|
|
|
|
|
|
-import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_CHANNEL_CLIENT_NOT_FOUND;
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
|
|
|
+import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*;
|
|
|
|
|
|
-@Api(tags = "支付订单")
|
|
|
+@Api(tags = "用户 APP - 支付订单")
|
|
|
@RestController
|
|
|
@RequestMapping("/pay/order")
|
|
|
@Validated
|
|
|
@Slf4j
|
|
|
-public class PayOrderController {
|
|
|
+public class AppPayOrderController {
|
|
|
|
|
|
@Resource
|
|
|
- private PayOrderCoreService payOrderCoreService;
|
|
|
+ private PayOrderService orderService;
|
|
|
@Resource
|
|
|
- private PayRefundCoreService payRefundCoreService;
|
|
|
+ private PayRefundService refundService;
|
|
|
|
|
|
@Resource
|
|
|
private PayClientFactory payClientFactory;
|
|
|
|
|
|
-
|
|
|
@PostMapping("/submit")
|
|
|
@ApiOperation("提交支付订单")
|
|
|
// @PreAuthenticated // TODO 暂时不加登陆验证,前端暂时没做好
|
|
|
- public CommonResult<PayOrderSubmitRespVO> submitPayOrder(@RequestBody PayOrderSubmitReqVO reqVO) {
|
|
|
+ public CommonResult<AppPayOrderSubmitRespVO> submitPayOrder(@RequestBody AppPayOrderSubmitReqVO reqVO) {
|
|
|
// 获得订单
|
|
|
- PayOrderDO payOrder = payOrderCoreService.getPayOrder(reqVO.getId());
|
|
|
+ PayOrderDO payOrder = orderService.getOrder(reqVO.getId());
|
|
|
|
|
|
// 提交支付
|
|
|
PayOrderSubmitReqDTO reqDTO = new PayOrderSubmitReqDTO();
|
|
|
BeanUtil.copyProperties(reqVO, reqDTO, false);
|
|
|
reqDTO.setUserIp(getClientIP());
|
|
|
reqDTO.setAppId(payOrder.getAppId());
|
|
|
- PayOrderSubmitRespDTO respDTO = payOrderCoreService.submitPayOrder(reqDTO);
|
|
|
+ PayOrderSubmitRespDTO respDTO = orderService.submitPayOrder(reqDTO);
|
|
|
|
|
|
// 拼接返回
|
|
|
- return success(PayOrderSubmitRespVO.builder().invokeResponse(respDTO.getInvokeResponse()).build());
|
|
|
+ return success(AppPayOrderSubmitRespVO.builder().invokeResponse(respDTO.getInvokeResponse()).build());
|
|
|
}
|
|
|
|
|
|
// ========== 支付渠道的回调 ==========
|
|
|
+ // TODO @芋艿:是不是放到 notify 模块更合适
|
|
|
//TODO 芋道源码 换成了统一的地址了 /notify/{channelId},测试通过可以删除
|
|
|
@PostMapping("/notify/wx-pub/{channelId}")
|
|
|
@ApiOperation("通知微信公众号支付的结果")
|
|
|
public String notifyWxPayOrder(@PathVariable("channelId") Long channelId,
|
|
|
@RequestBody String xmlData) throws Exception {
|
|
|
- payOrderCoreService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().body(xmlData).build());
|
|
|
+ orderService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().body(xmlData).build());
|
|
|
return "success";
|
|
|
}
|
|
|
|
|
@@ -110,12 +110,12 @@ public class PayOrderController {
|
|
|
|
|
|
// 如果是退款,则发起退款通知
|
|
|
if (payClient.isRefundNotify(notifyData)) {
|
|
|
- payRefundCoreService.notifyPayRefund(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
|
|
|
+ refundService.notifyPayRefund(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
|
|
|
return "success";
|
|
|
}
|
|
|
|
|
|
// 如果非退款,则发起支付通知
|
|
|
- payOrderCoreService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
|
|
|
+ orderService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
|
|
|
return "success";
|
|
|
}
|
|
|
|