Commit b757e1fccb31add36ca4718c8f9f332e6cd0a822

Authored by YunaiV
1 parent e7e3b187

多模块重构 7:pay 模块的初始化

Showing 160 changed files with 1290 additions and 1701 deletions

Too many changes.

To preserve performance only 100 of 160 files are displayed.

@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
18 <module>yudao-module-system</module> 18 <module>yudao-module-system</module>
19 <module>yudao-module-infra</module> 19 <module>yudao-module-infra</module>
20 <module>yudao-module-tool</module> 20 <module>yudao-module-tool</module>
  21 + <module>yudao-module-pay</module>
21 </modules> 22 </modules>
22 23
23 <name>${artifactId}</name> 24 <name>${artifactId}</name>
yudao-admin-server/pom.xml
@@ -37,6 +37,11 @@ @@ -37,6 +37,11 @@
37 <artifactId>yudao-module-infra-impl</artifactId> 37 <artifactId>yudao-module-infra-impl</artifactId>
38 <version>${revision}</version> 38 <version>${revision}</version>
39 </dependency> 39 </dependency>
  40 + <dependency>
  41 + <groupId>cn.iocoder.boot</groupId>
  42 + <artifactId>yudao-module-pay-impl</artifactId>
  43 + <version>${revision}</version>
  44 + </dependency>
40 45
41 <!-- 业务组件 --> 46 <!-- 业务组件 -->
42 <dependency> 47 <dependency>
@@ -71,11 +76,7 @@ @@ -71,11 +76,7 @@
71 <!-- <groupId>cn.iocoder.boot</groupId>--> 76 <!-- <groupId>cn.iocoder.boot</groupId>-->
72 <!-- <artifactId>yudao-module-bpm-core-service-impl</artifactId>--> 77 <!-- <artifactId>yudao-module-bpm-core-service-impl</artifactId>-->
73 <!-- </dependency>--> 78 <!-- </dependency>-->
74 - <!-- Web 相关 -->  
75 - <dependency>  
76 - <groupId>cn.iocoder.boot</groupId>  
77 - <artifactId>yudao-spring-boot-starter-web</artifactId>  
78 - </dependency> 79 +
79 <!-- spring boot 配置所需依赖 --> 80 <!-- spring boot 配置所需依赖 -->
80 <dependency> 81 <dependency>
81 <groupId>org.springframework.boot</groupId> 82 <groupId>org.springframework.boot</groupId>
@@ -83,34 +84,6 @@ @@ -83,34 +84,6 @@
83 <optional>true</optional> 84 <optional>true</optional>
84 </dependency> 85 </dependency>
85 86
86 - <dependency>  
87 - <groupId>cn.iocoder.boot</groupId>  
88 - <artifactId>yudao-spring-boot-starter-security</artifactId>  
89 - </dependency>  
90 -  
91 - <!-- DB 相关 -->  
92 - <dependency>  
93 - <groupId>cn.iocoder.boot</groupId>  
94 - <artifactId>yudao-spring-boot-starter-mybatis</artifactId>  
95 - </dependency>  
96 -  
97 - <dependency>  
98 - <groupId>cn.iocoder.boot</groupId>  
99 - <artifactId>yudao-spring-boot-starter-redis</artifactId>  
100 - </dependency>  
101 -  
102 - <!-- Job 定时任务相关 -->  
103 - <dependency>  
104 - <groupId>cn.iocoder.boot</groupId>  
105 - <artifactId>yudao-spring-boot-starter-job</artifactId>  
106 - </dependency>  
107 -  
108 - <!-- 消息队列相关 -->  
109 - <dependency>  
110 - <groupId>cn.iocoder.boot</groupId>  
111 - <artifactId>yudao-spring-boot-starter-mq</artifactId>  
112 - </dependency>  
113 -  
114 <!-- 服务保障相关 --> 87 <!-- 服务保障相关 -->
115 <dependency> 88 <dependency>
116 <groupId>cn.iocoder.boot</groupId> 89 <groupId>cn.iocoder.boot</groupId>
@@ -128,24 +101,6 @@ @@ -128,24 +101,6 @@
128 <artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 --> 101 <artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 -->
129 </dependency> 102 </dependency>
130 103
131 - <!-- Test 测试相关 -->  
132 - <dependency>  
133 - <groupId>cn.iocoder.boot</groupId>  
134 - <artifactId>yudao-spring-boot-starter-test</artifactId>  
135 - <scope>test</scope>  
136 - </dependency>  
137 -  
138 - <!-- 工具类相关 -->  
139 - <dependency>  
140 - <groupId>cn.iocoder.boot</groupId>  
141 - <artifactId>yudao-spring-boot-starter-excel</artifactId>  
142 - </dependency>  
143 -  
144 - <dependency>  
145 - <groupId>org.apache.velocity</groupId>  
146 - <artifactId>velocity-engine-core</artifactId>  
147 - </dependency>  
148 -  
149 <!-- 三方云服务相关 --> 104 <!-- 三方云服务相关 -->
150 105
151 <dependency> 106 <dependency>
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/dal/mysql/order/PayOrderExtensionMapper.java deleted
1 -package cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.order;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderExtensionDO;  
4 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
5 -import org.apache.ibatis.annotations.Mapper;  
6 -  
7 -/**  
8 - * 支付订单 Mapper  
9 - *  
10 - * @author aquan  
11 - */  
12 -@Mapper  
13 -public interface PayOrderExtensionMapper extends BaseMapperX<PayOrderExtensionDO> {  
14 -  
15 -  
16 -}  
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/enums/PayErrorCodeConstants.java deleted
1 -package cn.iocoder.yudao.adminserver.modules.pay.enums;  
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/job/package-info.java deleted
1 -package cn.iocoder.yudao.adminserver.modules.pay.job;  
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/package-info.java deleted
1 -/**  
2 - * pay 包下,我们放支付业务,提供业务的支付能力。  
3 - * 例如说:商户、应用、支付、退款等等  
4 - *  
5 - * 缩写:pay  
6 - */  
7 -package cn.iocoder.yudao.adminserver.modules.pay;  
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/order/impl/PayOrderServiceImpl.java deleted
1 -package cn.iocoder.yudao.adminserver.modules.pay.service.order.impl;  
2 -  
3 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order.PayOrderExportReqVO;  
4 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order.PayOrderPageReqVO;  
5 -import cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.order.PayOrderMapper;  
6 -import cn.iocoder.yudao.adminserver.modules.pay.service.order.PayOrderService;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
8 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
9 -import org.springframework.stereotype.Service;  
10 -import org.springframework.validation.annotation.Validated;  
11 -  
12 -import javax.annotation.Resource;  
13 -import java.util.Collection;  
14 -import java.util.List;  
15 -  
16 -/**  
17 - * 支付订单 Service 实现类  
18 - *  
19 - * @author aquan  
20 - */  
21 -@Service  
22 -@Validated  
23 -public class PayOrderServiceImpl implements PayOrderService {  
24 -  
25 - @Resource  
26 - private PayOrderMapper orderMapper;  
27 -  
28 - @Override  
29 - public PayOrderDO getOrder(Long id) {  
30 - return orderMapper.selectById(id);  
31 - }  
32 -  
33 - @Override  
34 - public PageResult<PayOrderDO> getOrderPage(PayOrderPageReqVO pageReqVO) {  
35 - return orderMapper.selectPage(pageReqVO);  
36 - }  
37 -  
38 - @Override  
39 - public List<PayOrderDO> getOrderList(PayOrderExportReqVO exportReqVO) {  
40 - return orderMapper.selectList(exportReqVO);  
41 - }  
42 -  
43 - /**  
44 - * 根据 ID 集合获取只包含商品名称的订单集合  
45 - *  
46 - * @param idList 订单 ID 集合  
47 - * @return 只包含商品名称的订单集合  
48 - */  
49 - @Override  
50 - public List<PayOrderDO> getOrderSubjectList(Collection<Long> idList) {  
51 - return orderMapper.findByIdListQueryOrderSubject(idList);  
52 - }  
53 -  
54 -}  
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/order/impl/PayRefundServiceImpl.java deleted
1 -package cn.iocoder.yudao.adminserver.modules.pay.service.order.impl;  
2 -  
3 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo.PayRefundExportReqVO;  
4 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo.PayRefundPageReqVO;  
5 -import cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.order.PayRefundMapper;  
6 -import cn.iocoder.yudao.adminserver.modules.pay.service.order.PayRefundService;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayRefundDO;  
8 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
9 -import org.springframework.stereotype.Service;  
10 -import org.springframework.validation.annotation.Validated;  
11 -  
12 -import javax.annotation.Resource;  
13 -import java.util.List;  
14 -  
15 -/**  
16 - * 退款订单 Service 实现类  
17 - *  
18 - * @author aquan  
19 - */  
20 -@Service  
21 -@Validated  
22 -public class PayRefundServiceImpl implements PayRefundService {  
23 -  
24 - @Resource  
25 - private PayRefundMapper refundMapper;  
26 -  
27 - @Override  
28 - public PayRefundDO getRefund(Long id) {  
29 - return refundMapper.selectById(id);  
30 - }  
31 -  
32 - @Override  
33 - public PageResult<PayRefundDO> getRefundPage(PayRefundPageReqVO pageReqVO) {  
34 - return refundMapper.selectPage(pageReqVO);  
35 - }  
36 -  
37 - @Override  
38 - public List<PayRefundDO> getRefundList(PayRefundExportReqVO exportReqVO) {  
39 - return refundMapper.selectList(exportReqVO);  
40 - }  
41 -  
42 -}  
yudao-admin-server/src/test/java/cn/iocoder/yudao/adminserver/modules/pay/service/channel/PayChannelConfig.java deleted
1 -package cn.iocoder.yudao.adminserver.modules.pay.service.channel;  
2 -  
3 -import org.springframework.context.annotation.Bean;  
4 -import org.springframework.context.annotation.Configuration;  
5 -  
6 -import javax.validation.Validation;  
7 -import javax.validation.Validator;  
8 -  
9 -/**  
10 - * 用于初始化 validator Bean 对象  
11 - * @author aquan  
12 - */  
13 -@Configuration  
14 -public class PayChannelConfig {  
15 -  
16 - @Bean  
17 - public Validator validator(){  
18 - return Validation.buildDefaultValidatorFactory().getValidator();  
19 - }  
20 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/convert/order/PayOrderCoreConvert.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.convert.order;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderExtensionDO;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayOrderCreateReqDTO;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayOrderSubmitReqDTO;  
7 -import cn.iocoder.yudao.framework.pay.core.client.dto.PayOrderUnifiedReqDTO;  
8 -import org.mapstruct.Mapper;  
9 -import org.mapstruct.factory.Mappers;  
10 -  
11 -@Mapper  
12 -public interface PayOrderCoreConvert {  
13 -  
14 - PayOrderCoreConvert INSTANCE = Mappers.getMapper(PayOrderCoreConvert.class);  
15 -  
16 - PayOrderDO convert(PayOrderCreateReqDTO bean);  
17 -  
18 - PayOrderExtensionDO convert(PayOrderSubmitReqDTO bean);  
19 -  
20 - PayOrderUnifiedReqDTO convert2(PayOrderSubmitReqDTO bean);  
21 -  
22 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/convert/order/PayRefundCoreConvert.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.convert.order;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayRefundDO;  
5 -import org.mapstruct.Mapper;  
6 -import org.mapstruct.Mapping;  
7 -import org.mapstruct.Mappings;  
8 -import org.mapstruct.factory.Mappers;  
9 -  
10 -@Mapper  
11 -public interface PayRefundCoreConvert {  
12 -  
13 - PayRefundCoreConvert INSTANCE = Mappers.getMapper(PayRefundCoreConvert.class);  
14 -  
15 - //TODO 太多需要处理了, 暂时不用  
16 - @Mappings(value = {  
17 - @Mapping(source = "amount", target = "payAmount"),  
18 - @Mapping(source = "id", target = "orderId"),  
19 - @Mapping(target = "status",ignore = true)  
20 - })  
21 - PayRefundDO convert(PayOrderDO orderDO);  
22 -  
23 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/convert/package-info.java deleted
1 -/**  
2 - * 提供 POJO 类的实体转换  
3 - *  
4 - * 目前使用 MapStruct 框架  
5 - */  
6 -package cn.iocoder.yudao.coreservice.modules.pay.convert;  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md deleted
1 -<http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao>  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/mysql/merchant/PayAppCoreMapper.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.merchant;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
4 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
5 -import org.apache.ibatis.annotations.Mapper;  
6 -  
7 -@Mapper  
8 -public interface PayAppCoreMapper extends BaseMapperX<PayAppDO> {  
9 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/mysql/merchant/PayChannelCoreMapper.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.merchant;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
4 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
5 -import org.apache.ibatis.annotations.Mapper;  
6 -import org.apache.ibatis.annotations.Select;  
7 -  
8 -import java.util.Date;  
9 -  
10 -@Mapper  
11 -public interface PayChannelCoreMapper extends BaseMapperX<PayChannelDO> {  
12 -  
13 - default PayChannelDO selectByAppIdAndCode(Long appId, String code) {  
14 - return selectOne(PayChannelDO::getAppId, appId, PayChannelDO::getCode, code);  
15 - }  
16 -  
17 - @Select("SELECT id FROM pay_channel WHERE update_time > #{maxUpdateTime} LIMIT 1")  
18 - Long selectExistsByUpdateTimeAfter(Date maxUpdateTime);  
19 -  
20 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/mysql/order/PayOrderCoreMapper.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.order;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderExtensionDO;  
5 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
6 -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;  
7 -import org.apache.ibatis.annotations.Mapper;  
8 -  
9 -@Mapper  
10 -public interface PayOrderCoreMapper extends BaseMapperX<PayOrderDO> {  
11 -  
12 - default PayOrderDO selectByAppIdAndMerchantOrderId(Long appId, String merchantOrderId) {  
13 - return selectOne(new QueryWrapper<PayOrderDO>().eq("app_id", appId)  
14 - .eq("merchant_order_id", merchantOrderId));  
15 - }  
16 -  
17 - default int updateByIdAndStatus(Long id, Integer status, PayOrderDO update) {  
18 - return update(update, new QueryWrapper<PayOrderDO>()  
19 - .eq("id", id).eq("status", status));  
20 - }  
21 -  
22 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/mysql/order/PayRefundCoreMapper.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.order;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayRefundDO;  
4 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
5 -import org.apache.ibatis.annotations.Mapper;  
6 -  
7 -  
8 -/**  
9 - * 退款订单 Mapper  
10 - *  
11 - */  
12 -@Mapper  
13 -public interface PayRefundCoreMapper extends BaseMapperX<PayRefundDO> {  
14 -  
15 - default PayRefundDO selectByReqNo(String reqNo) {  
16 - return selectOne("req_no", reqNo);  
17 - }  
18 -  
19 - default PayRefundDO selectByTradeNoAndMerchantRefundNo(String tradeNo, String merchantRefundNo){  
20 - return selectOne("trade_no", tradeNo, "merchant_refund_no", merchantRefundNo);  
21 - }  
22 -  
23 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/package-info.java deleted
1 -/**  
2 - * pay 包下,我们放支付业务,提供业务的支付能力。  
3 - * 例如说:商户、应用、支付、退款等等  
4 - *  
5 - * 缩写:pay  
6 - */  
7 -package cn.iocoder.yudao.coreservice.modules.pay;  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/merchant/PayAppCoreService.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service.merchant;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
4 -import cn.iocoder.yudao.framework.common.exception.ServiceException;  
5 -  
6 -/**  
7 - * 支付应用 Core Service 接口  
8 - *  
9 - * @author 芋道源码  
10 - */  
11 -public interface PayAppCoreService {  
12 -  
13 - /**  
14 - * 支付应用的合法性  
15 - *  
16 - * 如果不合法,抛出 {@link ServiceException} 业务异常  
17 - *  
18 - * @param id 应用编号  
19 - * @return 应用信息  
20 - */  
21 - PayAppDO validPayApp(Long id);  
22 -  
23 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/merchant/PayChannelCoreService.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service.merchant;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
4 -import cn.iocoder.yudao.framework.common.exception.ServiceException;  
5 -  
6 -/**  
7 - * 支付渠道 Core Service 接口  
8 - *  
9 - * @author 芋道源码  
10 - */  
11 -public interface PayChannelCoreService {  
12 -  
13 - /**  
14 - * 初始化支付客户端  
15 - */  
16 - void initPayClients();  
17 -  
18 - /**  
19 - * 支付渠道的合法性  
20 - *  
21 - * 如果不合法,抛出 {@link ServiceException} 业务异常  
22 - *  
23 - * @param id 渠道编号  
24 - * @return 渠道信息  
25 - */  
26 - PayChannelDO validPayChannel(Long id);  
27 -  
28 - /**  
29 - * 支付渠道的合法性  
30 - *  
31 - * 如果不合法,抛出 {@link ServiceException} 业务异常  
32 - *  
33 - * @param appId 应用编号  
34 - * @param code 支付渠道  
35 - * @return 渠道信息  
36 - */  
37 - PayChannelDO validPayChannel(Long appId, String code);  
38 -  
39 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/merchant/impl/PayAppCoreServiceImpl.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service.merchant.impl;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.merchant.PayAppCoreMapper;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.service.merchant.PayAppCoreService;  
6 -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;  
7 -import lombok.extern.slf4j.Slf4j;  
8 -import org.springframework.stereotype.Service;  
9 -  
10 -import javax.annotation.Resource;  
11 -import javax.validation.Valid;  
12 -  
13 -import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.*;  
14 -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;  
15 -  
16 -/**  
17 - * 支付应用 Core Service 实现类  
18 - *  
19 - * @author 芋道源码  
20 - */  
21 -@Service  
22 -@Valid  
23 -@Slf4j  
24 -public class PayAppCoreServiceImpl implements PayAppCoreService {  
25 -  
26 - @Resource  
27 - private PayAppCoreMapper payAppCoreMapper;  
28 -  
29 - @Override  
30 - public PayAppDO validPayApp(Long id) {  
31 - PayAppDO app = payAppCoreMapper.selectById(id);  
32 - // 校验是否存在  
33 - if (app == null) {  
34 - throw exception(PAY_APP_NOT_FOUND);  
35 - }  
36 - // 校验是否禁用  
37 - if (CommonStatusEnum.DISABLE.getStatus().equals(app.getStatus())) {  
38 - throw exception(PAY_APP_IS_DISABLE);  
39 - }  
40 - return app;  
41 - }  
42 -  
43 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/merchant/impl/PayChannelCoreServiceImpl.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service.merchant.impl;  
2 -  
3 -import cn.hutool.core.collection.CollUtil;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.merchant.PayChannelCoreMapper;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.service.merchant.PayChannelCoreService;  
8 -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;  
9 -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;  
10 -import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;  
11 -import lombok.extern.slf4j.Slf4j;  
12 -import org.springframework.scheduling.annotation.Scheduled;  
13 -import org.springframework.stereotype.Service;  
14 -  
15 -import javax.annotation.PostConstruct;  
16 -import javax.annotation.Resource;  
17 -import javax.validation.Valid;  
18 -  
19 -import java.util.Comparator;  
20 -import java.util.Date;  
21 -import java.util.List;  
22 -  
23 -import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.*;  
24 -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;  
25 -  
26 -/**  
27 - * 支付渠道 Core Service 实现类  
28 - *  
29 - * @author 芋道源码  
30 - */  
31 -@Service  
32 -@Valid  
33 -@Slf4j  
34 -public class PayChannelCoreServiceImpl implements PayChannelCoreService {  
35 -  
36 - /**  
37 - * 定时执行 {@link #schedulePeriodicRefresh()} 的周期  
38 - * 因为已经通过 Redis Pub/Sub 机制,所以频率不需要高  
39 - */  
40 - private static final long SCHEDULER_PERIOD = 5 * 60 * 1000L;  
41 -  
42 - /**  
43 - * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新  
44 - */  
45 - private volatile Date maxUpdateTime;  
46 -  
47 - @Resource  
48 - private PayChannelCoreMapper payChannelCoreMapper;  
49 -  
50 - @Resource  
51 - private PayClientFactory payClientFactory;  
52 -  
53 - @Override  
54 - @PostConstruct  
55 - public void initPayClients() {  
56 - // 获取支付渠道,如果有更新  
57 - List<PayChannelDO> payChannels = this.loadPayChannelIfUpdate(maxUpdateTime);  
58 - if (CollUtil.isEmpty(payChannels)) {  
59 - return;  
60 - }  
61 -  
62 - // 创建或更新支付 Client  
63 - payChannels.forEach(payChannel -> payClientFactory.createOrUpdatePayClient(payChannel.getId(),  
64 - payChannel.getCode(), payChannel.getConfig()));  
65 -  
66 - // 写入缓存  
67 - assert payChannels.size() > 0; // 断言,避免告警  
68 - maxUpdateTime = payChannels.stream().max(Comparator.comparing(BaseDO::getUpdateTime)).get().getUpdateTime();  
69 - log.info("[initPayClients][初始化 PayChannel 数量为 {}]", payChannels.size());  
70 - }  
71 -  
72 - @Scheduled(fixedDelay = SCHEDULER_PERIOD, initialDelay = SCHEDULER_PERIOD)  
73 - public void schedulePeriodicRefresh() {  
74 - initPayClients();  
75 - }  
76 -  
77 - /**  
78 - * 如果支付渠道发生变化,从数据库中获取最新的全量支付渠道。  
79 - * 如果未发生变化,则返回空  
80 - *  
81 - * @param maxUpdateTime 当前支付渠道的最大更新时间  
82 - * @return 支付渠道列表  
83 - */  
84 - private List<PayChannelDO> loadPayChannelIfUpdate(Date maxUpdateTime) {  
85 - // 第一步,判断是否要更新。  
86 - if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据  
87 - log.info("[loadPayChannelIfUpdate][首次加载全量支付渠道]");  
88 - } else { // 判断数据库中是否有更新的支付渠道  
89 - if (payChannelCoreMapper.selectExistsByUpdateTimeAfter(maxUpdateTime) == null) {  
90 - return null;  
91 - }  
92 - log.info("[loadPayChannelIfUpdate][增量加载全量支付渠道]");  
93 - }  
94 - // 第二步,如果有更新,则从数据库加载所有支付渠道  
95 - return payChannelCoreMapper.selectList();  
96 - }  
97 -  
98 - @Override  
99 - public PayChannelDO validPayChannel(Long id) {  
100 - PayChannelDO channel = payChannelCoreMapper.selectById(id);  
101 - this.validPayChannel(channel);  
102 - return channel;  
103 - }  
104 -  
105 - @Override  
106 - public PayChannelDO validPayChannel(Long appId, String code) {  
107 - PayChannelDO channel = payChannelCoreMapper.selectByAppIdAndCode(appId, code);  
108 - this.validPayChannel(channel);  
109 - return channel;  
110 - }  
111 -  
112 - private void validPayChannel(PayChannelDO channel) {  
113 - if (channel == null) {  
114 - throw exception(PAY_CHANNEL_NOT_FOUND);  
115 - }  
116 - if (CommonStatusEnum.DISABLE.getStatus().equals(channel.getStatus())) {  
117 - throw exception(PayErrorCodeCoreConstants.PAY_CHANNEL_IS_DISABLE);  
118 - }  
119 - }  
120 -  
121 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/PayOrderCoreService.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service.order;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
4 -  
5 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.*;  
6 -import cn.iocoder.yudao.framework.pay.core.client.dto.PayNotifyDataDTO;  
7 -  
8 -import javax.validation.Valid;  
9 -  
10 -/**  
11 - * 支付订单 Core Service  
12 - *  
13 - * @author 芋道源码  
14 - */  
15 -public interface PayOrderCoreService {  
16 -  
17 - /**  
18 - * 获得支付单  
19 - *  
20 - * @param id 支付单编号  
21 - * @return 支付单  
22 - */  
23 - PayOrderDO getPayOrder(Long id);  
24 -  
25 - /**  
26 - * 创建支付单  
27 - *  
28 - * @param reqDTO 创建请求  
29 - * @return 支付单编号  
30 - */  
31 - Long createPayOrder(@Valid PayOrderCreateReqDTO reqDTO);  
32 -  
33 - /**  
34 - * 提交支付  
35 - * 此时,会发起支付渠道的调用  
36 - *  
37 - * @param reqDTO 提交请求  
38 - * @return 提交结果  
39 - */  
40 - PayOrderSubmitRespDTO submitPayOrder(@Valid PayOrderSubmitReqDTO reqDTO);  
41 -  
42 - /**  
43 - * 通知支付单成功  
44 - *  
45 - * @param channelId 渠道编号  
46 - * @param notifyData 通知数据  
47 - */  
48 - void notifyPayOrder(Long channelId, PayNotifyDataDTO notifyData) throws Exception;  
49 -  
50 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/PayRefundCoreService.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service.order;  
2 -  
3 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayRefundReqDTO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayRefundRespDTO;  
5 -import cn.iocoder.yudao.framework.pay.core.client.dto.PayNotifyDataDTO;  
6 -  
7 -/**  
8 - * 退款单 Core Service  
9 - *  
10 - * @author jason  
11 - */  
12 -public interface PayRefundCoreService {  
13 -  
14 - /**  
15 - * 提交退款申请  
16 - *  
17 - * @param reqDTO 退款申请信息  
18 - * @return 退款申请返回信息  
19 - */  
20 - PayRefundRespDTO submitRefundOrder(PayRefundReqDTO reqDTO);  
21 -  
22 - /**  
23 - * 渠道的退款通知  
24 - *  
25 - * @param channelId 渠道编号  
26 - * @param notifyData 通知数据  
27 - * @throws Exception 退款通知异常  
28 - */  
29 - void notifyPayRefund(Long channelId, PayNotifyDataDTO notifyData) throws Exception;  
30 -  
31 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/impl/PayRefundCoreServiceImpl.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service.order.impl;  
2 -  
3 -import cn.hutool.core.util.StrUtil;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderExtensionDO;  
8 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayRefundDO;  
9 -import cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.order.PayOrderCoreMapper;  
10 -import cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.order.PayOrderExtensionCoreMapper;  
11 -import cn.iocoder.yudao.coreservice.modules.pay.dal.mysql.order.PayRefundCoreMapper;  
12 -import cn.iocoder.yudao.coreservice.modules.pay.enums.notify.PayNotifyTypeEnum;  
13 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayOrderNotifyStatusEnum;  
14 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayOrderStatusEnum;  
15 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayRefundStatusEnum;  
16 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayRefundTypeEnum;  
17 -import cn.iocoder.yudao.coreservice.modules.pay.service.merchant.PayAppCoreService;  
18 -import cn.iocoder.yudao.coreservice.modules.pay.service.merchant.PayChannelCoreService;  
19 -import cn.iocoder.yudao.coreservice.modules.pay.service.notify.PayNotifyCoreService;  
20 -import cn.iocoder.yudao.coreservice.modules.pay.service.notify.dto.PayNotifyTaskCreateReqDTO;  
21 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.PayRefundCoreService;  
22 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayRefundReqDTO;  
23 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayRefundRespDTO;  
24 -import cn.iocoder.yudao.framework.pay.core.client.PayClient;  
25 -import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;  
26 -import cn.iocoder.yudao.framework.pay.core.client.PayCommonResult;  
27 -import cn.iocoder.yudao.framework.pay.core.client.dto.PayNotifyDataDTO;  
28 -import cn.iocoder.yudao.framework.pay.core.client.dto.PayRefundNotifyDTO;  
29 -import cn.iocoder.yudao.framework.pay.core.client.dto.PayRefundUnifiedReqDTO;  
30 -import cn.iocoder.yudao.framework.pay.core.client.dto.PayRefundUnifiedRespDTO;  
31 -import cn.iocoder.yudao.framework.pay.core.enums.PayNotifyRefundStatusEnum;  
32 -import lombok.extern.slf4j.Slf4j;  
33 -import org.springframework.stereotype.Service;  
34 -import org.springframework.transaction.annotation.Transactional;  
35 -  
36 -import javax.annotation.Resource;  
37 -import java.util.Date;  
38 -import java.util.Objects;  
39 -  
40 -import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.*;  
41 -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;  
42 -  
43 -@Service  
44 -@Slf4j  
45 -public class PayRefundCoreServiceImpl implements PayRefundCoreService {  
46 -  
47 - @Resource  
48 - private PayOrderCoreMapper payOrderCoreMapper;  
49 - @Resource  
50 - private PayRefundCoreMapper payRefundCoreMapper;  
51 - @Resource  
52 - private PayOrderExtensionCoreMapper payOrderExtensionCoreMapper;  
53 -  
54 - @Resource  
55 - private PayAppCoreService payAppCoreService;  
56 - @Resource  
57 - private PayChannelCoreService payChannelCoreService;  
58 - @Resource  
59 - private PayNotifyCoreService payNotifyCoreService;  
60 -  
61 - @Resource  
62 - private PayClientFactory payClientFactory;  
63 -  
64 - @Override  
65 - @Transactional(rollbackFor = Exception.class)  
66 - public PayRefundRespDTO submitRefundOrder(PayRefundReqDTO req) {  
67 - // 获得 PayOrderDO  
68 - PayOrderDO order = payOrderCoreMapper.selectById(req.getPayOrderId());  
69 - // 校验订单是否存在  
70 - if (Objects.isNull(order) ) {  
71 - throw exception(PAY_ORDER_NOT_FOUND);  
72 - }  
73 - // 校验 App  
74 - PayAppDO app = payAppCoreService.validPayApp(order.getAppId());  
75 - // 校验支付渠道是否有效  
76 - PayChannelDO channel = payChannelCoreService.validPayChannel(order.getChannelId());  
77 - // 校验支付客户端是否正确初始化  
78 - PayClient client = payClientFactory.getPayClient(channel.getId());  
79 - if (client == null) {  
80 - log.error("[refund][渠道编号({}) 找不到对应的支付客户端]", channel.getId());  
81 - throw exception(PAY_CHANNEL_CLIENT_NOT_FOUND);  
82 - }  
83 -  
84 - // 校验退款的条件  
85 - validatePayRefund(req, order);  
86 - // 退款类型  
87 - PayRefundTypeEnum refundType = PayRefundTypeEnum.SOME;  
88 - if (Objects.equals(req.getAmount(), order.getAmount())) {  
89 - refundType = PayRefundTypeEnum.ALL;  
90 - }  
91 - PayOrderExtensionDO orderExtensionDO = payOrderExtensionCoreMapper.selectById(order.getSuccessExtensionId());  
92 - PayRefundDO payRefundDO = payRefundCoreMapper.selectByTradeNoAndMerchantRefundNo(orderExtensionDO.getNo(), req.getMerchantRefundId());  
93 - if(Objects.nonNull(payRefundDO)){  
94 - // 退款订单已经提交过。  
95 - //TODO 校验相同退款单的金额  
96 - // TODO @jason:咱要不封装一个 ObjectUtils.equalsAny  
97 - if (Objects.equals(PayRefundStatusEnum.SUCCESS.getStatus(), payRefundDO.getStatus())  
98 - || Objects.equals(PayRefundStatusEnum.CLOSE.getStatus(), payRefundDO.getStatus())) {  
99 - //已成功退款  
100 - throw exception(PAY_REFUND_SUCCEED);  
101 - }  
102 - //可以重复提交,保证 退款请求号 一致,由渠道保证幂等  
103 - }else {  
104 - // 成功,插入退款单 状态为生成.没有和渠道交互  
105 - // TODO @jason:搞到 convert 里。一些额外的自动,手动 set 下;  
106 - payRefundDO = PayRefundDO.builder().channelOrderNo(order.getChannelOrderNo())  
107 - .appId(order.getAppId())  
108 - .channelOrderNo(order.getChannelOrderNo())  
109 - .channelCode(order.getChannelCode())  
110 - .channelId(order.getChannelId())  
111 - .merchantId(order.getMerchantId())  
112 - .orderId(order.getId())  
113 - .merchantRefundNo(req.getMerchantRefundId())  
114 - .notifyUrl(app.getRefundNotifyUrl())  
115 - .payAmount(order.getAmount())  
116 - .refundAmount(req.getAmount())  
117 - .userIp(req.getUserIp())  
118 - .merchantOrderId(order.getMerchantOrderId())  
119 - .tradeNo(orderExtensionDO.getNo())  
120 - .status(PayRefundStatusEnum.CREATE.getStatus())  
121 - .reason(req.getReason())  
122 - .notifyStatus(PayOrderNotifyStatusEnum.NO.getStatus())  
123 - .type(refundType.getStatus())  
124 - .build();  
125 - payRefundCoreMapper.insert(payRefundDO);  
126 - }  
127 - // TODO @jason:搞到 convert 里。一些额外的自动,手动 set 下;  
128 - PayRefundUnifiedReqDTO unifiedReqDTO = new PayRefundUnifiedReqDTO();  
129 - unifiedReqDTO.setUserIp(req.getUserIp())  
130 - .setAmount(req.getAmount())  
131 - .setChannelOrderNo(order.getChannelOrderNo())  
132 - .setPayTradeNo(orderExtensionDO.getNo())  
133 - .setMerchantRefundId(req.getMerchantRefundId())  
134 - .setReason(req.getReason());  
135 - // 向渠道发起退款申请  
136 - PayCommonResult<PayRefundUnifiedRespDTO> refundUnifiedResult = client.unifiedRefund(unifiedReqDTO);  
137 - // 检查是否失败,失败抛出业务异常。  
138 - // TODO 渠道的异常记录。  
139 - // TODO @jason:可以先打个 warn log 哈;  
140 - refundUnifiedResult.checkError();  
141 - // 成功在 退款回调中处理  
142 - return PayRefundRespDTO.builder().refundId(payRefundDO.getId()).build();  
143 - }  
144 -  
145 -  
146 - @Override  
147 - @Transactional(rollbackFor = Exception.class)  
148 - public void notifyPayRefund(Long channelId, PayNotifyDataDTO notifyData) {  
149 - log.info("[notifyPayRefund][channelId({}) 回调数据({})]", channelId, notifyData.getBody());  
150 - // 校验支付渠道是否有效  
151 - PayChannelDO channel = payChannelCoreService.validPayChannel(channelId);  
152 - // 校验支付客户端是否正确初始化  
153 - PayClient client = payClientFactory.getPayClient(channel.getId());  
154 - if (client == null) {  
155 - log.error("[notifyPayOrder][渠道编号({}) 找不到对应的支付客户端]", channel.getId());  
156 - throw exception(PAY_CHANNEL_CLIENT_NOT_FOUND);  
157 - }  
158 - // 解析渠道退款通知数据, 统一处理  
159 - PayRefundNotifyDTO refundNotify = client.parseRefundNotify(notifyData);  
160 - if (Objects.equals(PayNotifyRefundStatusEnum.SUCCESS,refundNotify.getStatus())){  
161 - payRefundSuccess(refundNotify);  
162 - } else {  
163 - //TODO 支付异常, 支付宝似乎没有支付异常的通知。  
164 - // TODO @jason:那这里可以考虑打个 error logger @芋艿 微信是否存在支付异常通知  
165 - }  
166 - }  
167 -  
168 - private void payRefundSuccess(PayRefundNotifyDTO refundNotify) {  
169 - // 校验退款单存在  
170 - PayRefundDO refundDO = payRefundCoreMapper.selectByTradeNoAndMerchantRefundNo(refundNotify.getTradeNo(), refundNotify.getReqNo());  
171 - if (refundDO == null) {  
172 - log.error("[payRefundSuccess][不存在 seqNo 为{} 的支付退款单]", refundNotify.getReqNo());  
173 - throw exception(PAY_REFUND_NOT_FOUND);  
174 - }  
175 -  
176 - // 得到已退金额  
177 - PayOrderDO payOrderDO = payOrderCoreMapper.selectById(refundDO.getOrderId());  
178 - Long refundedAmount = payOrderDO.getRefundAmount();  
179 -  
180 - PayOrderStatusEnum orderStatus = PayOrderStatusEnum.SUCCESS;  
181 - if(Objects.equals(payOrderDO.getAmount(), refundedAmount+ refundDO.getRefundAmount())){  
182 - //支付金额 = 已退金额 + 本次退款金额。  
183 - orderStatus = PayOrderStatusEnum.CLOSED;  
184 - }  
185 - // 更新支付订单  
186 - PayOrderDO updateOrderDO = new PayOrderDO();  
187 - updateOrderDO.setId(refundDO.getOrderId())  
188 - .setRefundAmount(refundedAmount + refundDO.getRefundAmount())  
189 - .setStatus(orderStatus.getStatus())  
190 - .setRefundTimes(payOrderDO.getRefundTimes() + 1)  
191 - .setRefundStatus(refundDO.getType());  
192 - payOrderCoreMapper.updateById(updateOrderDO);  
193 -  
194 - // 更新退款订单  
195 - PayRefundDO updateRefundDO = new PayRefundDO();  
196 - updateRefundDO.setId(refundDO.getId())  
197 - .setSuccessTime(refundNotify.getRefundSuccessTime())  
198 - .setChannelRefundNo(refundNotify.getChannelOrderNo())  
199 - .setTradeNo(refundNotify.getTradeNo())  
200 - .setNotifyTime(new Date())  
201 - .setStatus(PayRefundStatusEnum.SUCCESS.getStatus());  
202 - payRefundCoreMapper.updateById(updateRefundDO);  
203 -  
204 - // 插入退款通知记录  
205 - // TODO 通知商户成功或者失败. 现在通知似乎没有实现, 只是回调  
206 - payNotifyCoreService.createPayNotifyTask(PayNotifyTaskCreateReqDTO.builder()  
207 - .type(PayNotifyTypeEnum.REFUND.getType()).dataId(refundDO.getId()).build());  
208 - }  
209 -  
210 - /**  
211 - * 校验是否进行退款  
212 - * @param req 退款申请信息  
213 - * @param order 原始支付订单信息  
214 - */  
215 - private void validatePayRefund(PayRefundReqDTO req, PayOrderDO order) {  
216 - // 校验状态,必须是支付状态  
217 - if (!PayOrderStatusEnum.SUCCESS.getStatus().equals(order.getStatus())) {  
218 - throw exception(PAY_ORDER_STATUS_IS_NOT_SUCCESS);  
219 - }  
220 - // 是否已经全额退款  
221 - if (PayRefundTypeEnum.ALL.getStatus().equals(order.getRefundStatus())) {  
222 - throw exception(PAY_REFUND_ALL_REFUNDED);  
223 - }  
224 - // 校验金额 退款金额不能大于 原定的金额  
225 - if (req.getAmount() + order.getRefundAmount() > order.getAmount()){  
226 - throw exception(PAY_REFUND_AMOUNT_EXCEED);  
227 - }  
228 - // 校验渠道订单号  
229 - if (StrUtil.isEmpty(order.getChannelOrderNo())) {  
230 - throw exception(PAY_REFUND_CHN_ORDER_NO_IS_NULL);  
231 - }  
232 - //TODO 退款的期限 退款次数的控制  
233 - }  
234 -  
235 -}  
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/package-info.java deleted
1 -package cn.iocoder.yudao.coreservice.modules.pay.service;  
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelEnum.java
@@ -17,10 +17,7 @@ import lombok.Getter; @@ -17,10 +17,7 @@ import lombok.Getter;
17 @AllArgsConstructor 17 @AllArgsConstructor
18 public enum PayChannelEnum { 18 public enum PayChannelEnum {
19 19
20 - /**  
21 - * 公众号网页  
22 - */  
23 - WX_PUB("wx_pub", "微信 JSAPI 支付", WXPayClientConfig.class), 20 + WX_PUB("wx_pub", "微信 JSAPI 支付", WXPayClientConfig.class), // 公众号网页
24 WX_LITE("wx_lite", "微信小程序支付", WXPayClientConfig.class), 21 WX_LITE("wx_lite", "微信小程序支付", WXPayClientConfig.class),
25 WX_APP("wx_app", "微信 App 支付", WXPayClientConfig.class), 22 WX_APP("wx_app", "微信 App 支付", WXPayClientConfig.class),
26 23
@@ -34,16 +31,16 @@ public enum PayChannelEnum { @@ -34,16 +31,16 @@ public enum PayChannelEnum {
34 * <p> 31 * <p>
35 * 参考 https://www.pingxx.com/api/支付渠道属性值.html 32 * 参考 https://www.pingxx.com/api/支付渠道属性值.html
36 */ 33 */
37 - private String code; 34 + private final String code;
38 /** 35 /**
39 * 名字 36 * 名字
40 */ 37 */
41 - private String name; 38 + private final String name;
42 39
43 /** 40 /**
44 * 配置类 41 * 配置类
45 */ 42 */
46 - private Class<? extends PayClientConfig> configClass; 43 + private final Class<? extends PayClientConfig> configClass;
47 44
48 /** 45 /**
49 * 微信支付 46 * 微信支付
@@ -58,6 +55,6 @@ public enum PayChannelEnum { @@ -58,6 +55,6 @@ public enum PayChannelEnum {
58 public static PayChannelEnum getByCode(String code) { 55 public static PayChannelEnum getByCode(String code) {
59 return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values()); 56 return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values());
60 } 57 }
61 - 58 +
62 59
63 } 60 }
yudao-module-pay/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <groupId>cn.iocoder.boot</groupId>
  7 + <artifactId>yudao</artifactId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-pay</artifactId>
  12 + <packaging>pom</packaging>
  13 + <modules>
  14 + <module>yudao-module-pay-api</module>
  15 + <module>yudao-module-pay-impl</module>
  16 + </modules>
  17 +
  18 + <name>${artifactId}</name>
  19 + <description>
  20 + pay 模块,我们放支付业务,提供业务的支付能力。
  21 + 例如说:商户、应用、支付、退款等等
  22 + </description>
  23 +
  24 +
  25 +</project>
yudao-module-pay/yudao-module-pay-api/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>yudao-module-pay</artifactId>
  7 + <groupId>cn.iocoder.boot</groupId>
  8 + <version>1.4.0-snapshot</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-pay-api</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${artifactId}</name>
  15 + <description>
  16 + pay 模块 API,暴露给其它模块调用
  17 + </description>
  18 +
  19 + <dependencies>
  20 + <dependency>
  21 + <groupId>cn.iocoder.boot</groupId>
  22 + <artifactId>yudao-common</artifactId>
  23 + </dependency>
  24 + </dependencies>
  25 +
  26 +</project>
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/DictTypeConstants.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.enums;
  2 +
  3 +/**
  4 + * Pay 字典类型的枚举类
  5 + *
  6 + * @author 芋道源码
  7 + */
  8 +public interface DictTypeConstants {
  9 +
  10 + /**
  11 + * 支付-订单-订单状态
  12 + */
  13 + String PAY_ORDER_STATUS = "pay_order_status";
  14 +
  15 + /**
  16 + * 支付-订单-订单回调商户状态
  17 + */
  18 + String PAY_ORDER_NOTIFY_STATUS = "pay_order_notify_status";
  19 +
  20 + /**
  21 + * 支付-订单-订单退款状态
  22 + */
  23 + String PAY_ORDER_REFUND_STATUS = "pay_order_refund_status";
  24 +
  25 + /**
  26 + * 支付-退款订单-退款状态
  27 + */
  28 + String PAY_REFUND_ORDER_STATUS = "pay_refund_order_status";
  29 +
  30 + /**
  31 + * 支付-退款订单-退款类别
  32 + */
  33 + String PAY_REFUND_ORDER_TYPE = "pay_refund_order_type";
  34 +
  35 +}
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/enums/PayErrorCodeCoreConstants.java renamed to yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/ErrorCodeConstants.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.enums; 1 +package cn.iocoder.yudao.module.pay.enums;
2 2
3 import cn.iocoder.yudao.framework.common.exception.ErrorCode; 3 import cn.iocoder.yudao.framework.common.exception.ErrorCode;
4 4
@@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode;
7 * 7 *
8 * pay 系统,使用 1-007-000-000 段 8 * pay 系统,使用 1-007-000-000 段
9 */ 9 */
10 -public interface PayErrorCodeCoreConstants { 10 +public interface ErrorCodeConstants {
11 11
12 /** 12 /**
13 * ========== APP 模块 1-007-000-000 ========== 13 * ========== APP 模块 1-007-000-000 ==========
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/package-info.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay;
yudao-module-pay/yudao-module-pay-impl/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>yudao-module-pay</artifactId>
  7 + <groupId>cn.iocoder.boot</groupId>
  8 + <version>1.4.0-snapshot</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-pay-impl</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${artifactId}</name>
  15 + <description>
  16 + pay 模块,我们放支付业务,提供业务的支付能力。
  17 + 例如说:商户、应用、支付、退款等等
  18 + </description>
  19 +
  20 + <dependencies>
  21 + <dependency>
  22 + <groupId>cn.iocoder.boot</groupId>
  23 + <artifactId>yudao-module-pay-api</artifactId>
  24 + <version>${revision}</version>
  25 + </dependency>
  26 +
  27 + <!-- 业务组件 -->
  28 + <dependency>
  29 + <groupId>cn.iocoder.boot</groupId>
  30 + <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
  31 + </dependency>
  32 + <dependency>
  33 + <groupId>cn.iocoder.boot</groupId>
  34 + <artifactId>yudao-spring-boot-starter-biz-pay</artifactId>
  35 + </dependency>
  36 +
  37 + <!-- Web 相关 -->
  38 + <dependency>
  39 + <groupId>cn.iocoder.boot</groupId>
  40 + <artifactId>yudao-spring-boot-starter-security</artifactId>
  41 + </dependency>
  42 +
  43 + <!-- DB 相关 -->
  44 + <dependency>
  45 + <groupId>cn.iocoder.boot</groupId>
  46 + <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
  47 + </dependency>
  48 +
  49 + <dependency>
  50 + <groupId>cn.iocoder.boot</groupId>
  51 + <artifactId>yudao-spring-boot-starter-redis</artifactId>
  52 + </dependency>
  53 +
  54 + <!-- Job 定时任务相关 -->
  55 + <dependency>
  56 + <groupId>cn.iocoder.boot</groupId>
  57 + <artifactId>yudao-spring-boot-starter-job</artifactId>
  58 + </dependency>
  59 +
  60 + <!-- 消息队列相关 -->
  61 + <dependency>
  62 + <groupId>cn.iocoder.boot</groupId>
  63 + <artifactId>yudao-spring-boot-starter-mq</artifactId>
  64 + </dependency>
  65 +
  66 + <!-- Test 测试相关 -->
  67 + <dependency>
  68 + <groupId>cn.iocoder.boot</groupId>
  69 + <artifactId>yudao-spring-boot-starter-test</artifactId>
  70 + <scope>test</scope>
  71 + </dependency>
  72 +
  73 + <!-- 工具类相关 -->
  74 + <dependency>
  75 + <groupId>cn.iocoder.boot</groupId>
  76 + <artifactId>yudao-spring-boot-starter-excel</artifactId>
  77 + </dependency>
  78 +
  79 + </dependencies>
  80 +
  81 + <build>
  82 + <!-- 设置构建的 jar 包名 -->
  83 + <finalName>${artifactId}</finalName>
  84 + <plugins>
  85 + <!-- 打包 -->
  86 + <plugin>
  87 + <groupId>org.springframework.boot</groupId>
  88 + <artifactId>spring-boot-maven-plugin</artifactId>
  89 + <configuration>
  90 + <fork>true</fork>
  91 + </configuration>
  92 + <executions>
  93 + <execution>
  94 + <goals>
  95 + <goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
  96 + </goals>
  97 + </execution>
  98 + </executions>
  99 + </plugin>
  100 + </plugins>
  101 + </build>
  102 +
  103 +</project>
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/PayAppController.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/PayAppController.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 -import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.*;  
5 -import cn.iocoder.yudao.adminserver.modules.pay.convert.app.PayAppConvert;  
6 -import cn.iocoder.yudao.adminserver.modules.pay.service.app.PayAppService;  
7 -import cn.iocoder.yudao.adminserver.modules.pay.service.channel.PayChannelService;  
8 -import cn.iocoder.yudao.adminserver.modules.pay.service.merchant.PayMerchantService;  
9 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
10 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
11 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;  
12 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
13 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
14 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
15 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 7 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
16 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; 8 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
17 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum; 9 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  10 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app.*;
  11 +import cn.iocoder.yudao.module.pay.convert.app.PayAppConvert;
  12 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
  13 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayChannelDO;
  14 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
  15 +import cn.iocoder.yudao.module.pay.service.merchant.PayAppService;
  16 +import cn.iocoder.yudao.module.pay.service.merchant.PayChannelService;
  17 +import cn.iocoder.yudao.module.pay.service.merchant.PayMerchantService;
18 import io.swagger.annotations.Api; 18 import io.swagger.annotations.Api;
19 import io.swagger.annotations.ApiImplicitParam; 19 import io.swagger.annotations.ApiImplicitParam;
20 import io.swagger.annotations.ApiOperation; 20 import io.swagger.annotations.ApiOperation;
@@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
33 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; 33 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
34 34
35 @Slf4j 35 @Slf4j
36 -@Api(tags = "支付应用信息") 36 +@Api(tags = "管理后台 - 支付应用信息")
37 @RestController 37 @RestController
38 @RequestMapping("/pay/app") 38 @RequestMapping("/pay/app")
39 @Validated 39 @Validated
@@ -106,7 +106,7 @@ public class PayAppController { @@ -106,7 +106,7 @@ public class PayAppController {
106 return success(new PageResult<>(pageResult.getTotal())); 106 return success(new PageResult<>(pageResult.getTotal()));
107 } 107 }
108 108
109 - // 得到所有的应用编号,查出所有的通道 109 + // 得到所有的应用编号,查出所有的渠道
110 Collection<Long> payAppIds = CollectionUtils.convertList(pageResult.getList(), PayAppDO::getId); 110 Collection<Long> payAppIds = CollectionUtils.convertList(pageResult.getList(), PayAppDO::getId);
111 List<PayChannelDO> channels = channelService.getChannelListByAppIds(payAppIds); 111 List<PayChannelDO> channels = channelService.getChannelListByAppIds(payAppIds);
112 // TODO @aquan:可以基于 appId 简历一个 multiMap。这样下面,直接 get 到之后,CollUtil buildSet 即可 112 // TODO @aquan:可以基于 appId 简历一个 multiMap。这样下面,直接 get 到之后,CollUtil buildSet 即可
@@ -116,7 +116,7 @@ public class PayAppController { @@ -116,7 +116,7 @@ public class PayAppController {
116 Collection<Long> merchantIds = CollectionUtils.convertList(pageResult.getList(), PayAppDO::getMerchantId); 116 Collection<Long> merchantIds = CollectionUtils.convertList(pageResult.getList(), PayAppDO::getMerchantId);
117 Map<Long, PayMerchantDO> deptMap = merchantService.getMerchantMap(merchantIds); 117 Map<Long, PayMerchantDO> deptMap = merchantService.getMerchantMap(merchantIds);
118 118
119 - // 利用反射将通道数据复制到返回的数据结构中去 119 + // 利用反射将渠道数据复制到返回的数据结构中去
120 List<PayAppPageItemRespVO> appList = new ArrayList<>(pageResult.getList().size()); 120 List<PayAppPageItemRespVO> appList = new ArrayList<>(pageResult.getList().size());
121 pageResult.getList().forEach(app -> { 121 pageResult.getList().forEach(app -> {
122 // 写入应用信息的数据 122 // 写入应用信息的数据
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/PayChannelController.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/PayChannelController.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo.*;  
4 -import cn.iocoder.yudao.adminserver.modules.pay.convert.channel.PayChannelConvert;  
5 -import cn.iocoder.yudao.adminserver.modules.pay.service.channel.PayChannelService;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO; 3 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.*;
  4 +import cn.iocoder.yudao.module.pay.convert.channel.PayChannelConvert;
  5 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayChannelDO;
  6 +import cn.iocoder.yudao.module.pay.service.merchant.PayChannelService;
7 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 7 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
8 import cn.iocoder.yudao.framework.common.pojo.PageResult; 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
9 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 9 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
@@ -26,11 +26,7 @@ import java.util.List; @@ -26,11 +26,7 @@ import java.util.List;
26 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 26 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
27 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; 27 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
28 28
29 -/**  
30 - * 支付渠道 controller 组件  
31 - * @author aquan  
32 - */  
33 -@Api(tags = "支付渠道") 29 +@Api(tags = "管理后台 - 支付渠道")
34 @RestController 30 @RestController
35 @RequestMapping("/pay/channel") 31 @RequestMapping("/pay/channel")
36 @Validated 32 @Validated
@@ -39,7 +35,6 @@ public class PayChannelController { @@ -39,7 +35,6 @@ public class PayChannelController {
39 @Resource 35 @Resource
40 private PayChannelService channelService; 36 private PayChannelService channelService;
41 37
42 -  
43 @PostMapping("/create") 38 @PostMapping("/create")
44 @ApiOperation("创建支付渠道 ") 39 @ApiOperation("创建支付渠道 ")
45 @PreAuthorize("@ss.hasPermission('pay:channel:create')") 40 @PreAuthorize("@ss.hasPermission('pay:channel:create')")
@@ -116,7 +111,6 @@ public class PayChannelController { @@ -116,7 +111,6 @@ public class PayChannelController {
116 @PreAuthorize("@ss.hasPermission('pay:channel:query')") 111 @PreAuthorize("@ss.hasPermission('pay:channel:query')")
117 public CommonResult<PayChannelRespVO> getChannel( 112 public CommonResult<PayChannelRespVO> getChannel(
118 @RequestParam Long merchantId, @RequestParam Long appId, @RequestParam String code) { 113 @RequestParam Long merchantId, @RequestParam Long appId, @RequestParam String code) {
119 -  
120 // 獲取渠道 114 // 獲取渠道
121 PayChannelDO channel = channelService.getChannelByConditions(merchantId, appId, code); 115 PayChannelDO channel = channelService.getChannelByConditions(merchantId, appId, code);
122 if (channel == null) { 116 if (channel == null) {
@@ -126,4 +120,5 @@ public class PayChannelController { @@ -126,4 +120,5 @@ public class PayChannelController {
126 PayChannelRespVO respVo = PayChannelConvert.INSTANCE.convert(channel); 120 PayChannelRespVO respVo = PayChannelConvert.INSTANCE.convert(channel);
127 return success(respVo); 121 return success(respVo);
128 } 122 }
  123 +
129 } 124 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/PayMerchantController.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/PayMerchantController.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.*;  
4 -import cn.iocoder.yudao.adminserver.modules.pay.convert.merchant.PayMerchantConvert;  
5 -import cn.iocoder.yudao.adminserver.modules.pay.service.merchant.PayMerchantService;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO; 3 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant.*;
  4 +import cn.iocoder.yudao.module.pay.convert.merchant.PayMerchantConvert;
  5 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
  6 +import cn.iocoder.yudao.module.pay.service.merchant.PayMerchantService;
7 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 7 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
8 import cn.iocoder.yudao.framework.common.pojo.PageResult; 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
9 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 9 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppBaseVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppBaseVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppCreateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppCreateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 -import javax.validation.constraints.*;  
7 5
8 -@ApiModel("支付应用信息创建 Request VO") 6 +@ApiModel("管理后台 - 支付应用信息创建 Request VO")
9 @Data 7 @Data
10 @EqualsAndHashCode(callSuper = true) 8 @EqualsAndHashCode(callSuper = true)
11 @ToString(callSuper = true) 9 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppExcelVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppExcelVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo;  
2 -  
3 -import lombok.*;  
4 -import java.util.*;  
5 -import io.swagger.annotations.*; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
6 2
7 import com.alibaba.excel.annotation.ExcelProperty; 3 import com.alibaba.excel.annotation.ExcelProperty;
  4 +import lombok.Data;
  5 +
  6 +import java.util.Date;
8 7
9 /** 8 /**
10 * 支付应用信息 Excel VO 9 * 支付应用信息 Excel VO
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppExportReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppExportReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
@@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10 10
11 -@ApiModel(value = "支付应用信息 Excel 导出 Request VO", description = "参数和 PayAppPageReqVO 是一致的") 11 +@ApiModel(value = "管理后台 - 支付应用信息 Excel 导出 Request VO", description = "参数和 PayAppPageReqVO 是一致的")
12 @Data 12 @Data
13 public class PayAppExportReqVO { 13 public class PayAppExportReqVO {
14 14
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppPageItemRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageItemRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -9,12 +9,7 @@ import lombok.ToString; @@ -9,12 +9,7 @@ import lombok.ToString;
9 import java.util.Date; 9 import java.util.Date;
10 import java.util.Set; 10 import java.util.Set;
11 11
12 -/**  
13 - * 支付应用信息分页查询 Response VO  
14 - *  
15 - * @author aquan  
16 - */  
17 -@ApiModel(value = "支付应用信息分页查询 Response VO", description = "相比于支付信息,还会多出应用渠道的开关信息") 12 +@ApiModel(value = "管理后台 - 支付应用信息分页查询 Response VO", description = "相比于支付信息,还会多出应用渠道的开关信息")
18 @Data 13 @Data
19 @EqualsAndHashCode(callSuper = true) 14 @EqualsAndHashCode(callSuper = true)
20 @ToString(callSuper = true) 15 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppPageReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
@@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10 10
11 -@ApiModel("支付应用信息分页 Request VO") 11 +@ApiModel("管理后台 - 支付应用信息分页 Request VO")
12 @Data 12 @Data
13 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
14 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
5 import io.swagger.annotations.*; 5 import io.swagger.annotations.*;
6 6
7 -@ApiModel("支付应用信息 Response VO") 7 +@ApiModel("管理后台 - 支付应用信息 Response VO")
8 @Data 8 @Data
9 @EqualsAndHashCode(callSuper = true) 9 @EqualsAndHashCode(callSuper = true)
10 @ToString(callSuper = true) 10 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppUpdateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 import javax.validation.constraints.*; 5 import javax.validation.constraints.*;
7 6
8 -@ApiModel("支付应用信息更新 Request VO") 7 +@ApiModel("管理后台 - 支付应用信息更新 Request VO")
9 @Data 8 @Data
10 @EqualsAndHashCode(callSuper = true) 9 @EqualsAndHashCode(callSuper = true)
11 @ToString(callSuper = true) 10 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/app/vo/PayAppUpdateStatusReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateStatusReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 8
9 -@ApiModel("应用更新状态 Request VO") 9 +@ApiModel("管理后台 - 应用更新状态 Request VO")
10 @Data 10 @Data
11 public class PayAppUpdateStatusReqVO { 11 public class PayAppUpdateStatusReqVO {
12 12
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelBaseVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelBaseVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 import javax.validation.constraints.*; 5 import javax.validation.constraints.*;
7 6
8 /** 7 /**
9 -* 支付渠道  
10 - Base VO,提供给添加、修改、详细的子 VO 使用 8 +* 支付渠道 Base VO,提供给添加、修改、详细的子 VO 使用
11 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 9 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
12 */ 10 */
13 @Data 11 @Data
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelCreateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelCreateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,14 +8,14 @@ import lombok.ToString; @@ -8,14 +8,14 @@ import lombok.ToString;
8 8
9 import javax.validation.constraints.NotBlank; 9 import javax.validation.constraints.NotBlank;
10 10
11 -@ApiModel("支付渠道 创建 Request VO") 11 +@ApiModel("管理后台 - 支付渠道 创建 Request VO")
12 @Data 12 @Data
13 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
14 @ToString(callSuper = true) 14 @ToString(callSuper = true)
15 public class PayChannelCreateReqVO extends PayChannelBaseVO { 15 public class PayChannelCreateReqVO extends PayChannelBaseVO {
16 16
17 - @ApiModelProperty(value = "通道配置的 json 字符串")  
18 - @NotBlank(message = "通道配置不能为空") 17 + @ApiModelProperty(value = "渠道配置的 json 字符串")
  18 + @NotBlank(message = "渠道配置不能为空")
19 private String config; 19 private String config;
20 20
21 } 21 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelExcelVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelExcelVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
@@ -7,8 +7,7 @@ import io.swagger.annotations.*; @@ -7,8 +7,7 @@ import io.swagger.annotations.*;
7 import com.alibaba.excel.annotation.ExcelProperty; 7 import com.alibaba.excel.annotation.ExcelProperty;
8 8
9 /** 9 /**
10 - * 支付渠道  
11 - Excel VO 10 + * 支付渠道 Excel VO
12 * 11 *
13 * @author 芋艿 12 * @author 芋艿
14 */ 13 */
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelExportReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelExportReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
@@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10 10
11 -@ApiModel(value = "支付渠道 Excel 导出 Request VO", description = "参数和 PayChannelPageReqVO 是一致的") 11 +@ApiModel(value = "管理后台 - 支付渠道 Excel 导出 Request VO", description = "参数和 PayChannelPageReqVO 是一致的")
12 @Data 12 @Data
13 public class PayChannelExportReqVO { 13 public class PayChannelExportReqVO {
14 14
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelPageReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelPageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
@@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10 10
11 -@ApiModel("支付渠道 分页 Request VO") 11 +@ApiModel("管理后台 - 支付渠道 分页 Request VO")
12 @Data 12 @Data
13 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
14 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
5 import io.swagger.annotations.*; 5 import io.swagger.annotations.*;
6 6
7 -@ApiModel("支付渠道 Response VO") 7 +@ApiModel("管理后台 - 支付渠道 Response VO")
8 @Data 8 @Data
9 @EqualsAndHashCode(callSuper = true) 9 @EqualsAndHashCode(callSuper = true)
10 @ToString(callSuper = true) 10 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/channel/vo/PayChannelUpdateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelUpdateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 import javax.validation.constraints.*; 5 import javax.validation.constraints.*;
7 6
8 -@ApiModel("支付渠道 更新 Request VO") 7 +@ApiModel("管理后台 - 支付渠道 更新 Request VO")
9 @Data 8 @Data
10 @EqualsAndHashCode(callSuper = true) 9 @EqualsAndHashCode(callSuper = true)
11 @ToString(callSuper = true) 10 @ToString(callSuper = true)
@@ -15,7 +14,7 @@ public class PayChannelUpdateReqVO extends PayChannelBaseVO { @@ -15,7 +14,7 @@ public class PayChannelUpdateReqVO extends PayChannelBaseVO {
15 @NotNull(message = "商户编号不能为空") 14 @NotNull(message = "商户编号不能为空")
16 private Long id; 15 private Long id;
17 16
18 - @ApiModelProperty(value = "通道配置的json字符串")  
19 - @NotBlank(message = "通道配置不能为空") 17 + @ApiModelProperty(value = "渠道配置的json字符串")
  18 + @NotBlank(message = "渠道配置不能为空")
20 private String config; 19 private String config;
21 } 20 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantBaseVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantBaseVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import io.swagger.annotations.ApiModelProperty; 3 import io.swagger.annotations.ApiModelProperty;
4 import lombok.Data; 4 import lombok.Data;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantCreateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantCreateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 -import javax.validation.constraints.*;  
7 5
8 -@ApiModel("支付商户信息创建 Request VO") 6 +@ApiModel("管理后台 - 支付商户信息创建 Request VO")
9 @Data 7 @Data
10 @EqualsAndHashCode(callSuper = true) 8 @EqualsAndHashCode(callSuper = true)
11 @ToString(callSuper = true) 9 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantExcelVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantExcelVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; 3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; 4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantExportReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantExportReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
@@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10 10
11 -@ApiModel(value = "支付商户信息 Excel 导出 Request VO", description = "参数和 PayMerchantPageReqVO 是一致的") 11 +@ApiModel(value = "管理后台 - 支付商户信息 Excel 导出 Request VO", description = "参数和 PayMerchantPageReqVO 是一致的")
12 @Data 12 @Data
13 public class PayMerchantExportReqVO { 13 public class PayMerchantExportReqVO {
14 14
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantPageReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantPageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
@@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -8,7 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10 10
11 -@ApiModel("支付商户信息分页 Request VO") 11 +@ApiModel("管理后台 - 支付商户信息分页 Request VO")
12 @Data 12 @Data
13 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
14 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,7 +8,7 @@ import lombok.ToString; @@ -8,7 +8,7 @@ import lombok.ToString;
8 8
9 import java.util.Date; 9 import java.util.Date;
10 10
11 -@ApiModel("支付商户信息 Response VO") 11 +@ApiModel("管理后台 - 支付商户信息 Response VO")
12 @Data 12 @Data
13 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
14 @ToString(callSuper = true) 14 @ToString(callSuper = true)
@@ -20,11 +20,7 @@ public class PayMerchantRespVO extends PayMerchantBaseVO { @@ -20,11 +20,7 @@ public class PayMerchantRespVO extends PayMerchantBaseVO {
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 private Date createTime; 21 private Date createTime;
22 22
23 - /**  
24 - * 商户号  
25 - * 例如说,M233666999  
26 - * 只有新增时插入,不允许修改  
27 - */ 23 + @ApiModelProperty(value = "商户号", required = true, example = "M233666999")
28 private String no; 24 private String no;
29 25
30 } 26 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantUpdateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 import javax.validation.constraints.*; 5 import javax.validation.constraints.*;
7 6
8 -@ApiModel("支付商户信息更新 Request VO") 7 +@ApiModel("管理后台 - 支付商户信息更新 Request VO")
9 @Data 8 @Data
10 @EqualsAndHashCode(callSuper = true) 9 @EqualsAndHashCode(callSuper = true)
11 @ToString(callSuper = true) 10 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/vo/PayMerchantUpdateStatusReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateStatusReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 8
9 -@ApiModel("商户更新状态 Request VO") 9 +@ApiModel("管理后台 - 商户更新状态 Request VO")
10 @Data 10 @Data
11 public class PayMerchantUpdateStatusReqVO { 11 public class PayMerchantUpdateStatusReqVO {
12 12
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/PayOrderController.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/PayOrderController.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order;
2 2
3 import cn.hutool.core.collection.CollectionUtil; 3 import cn.hutool.core.collection.CollectionUtil;
4 import cn.hutool.core.util.ObjectUtil; 4 import cn.hutool.core.util.ObjectUtil;
5 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order.*;  
6 -import cn.iocoder.yudao.adminserver.modules.pay.convert.order.PayOrderConvert;  
7 -import cn.iocoder.yudao.adminserver.modules.pay.service.app.PayAppService;  
8 -import cn.iocoder.yudao.adminserver.modules.pay.service.merchant.PayMerchantService;  
9 -import cn.iocoder.yudao.adminserver.modules.pay.service.order.PayOrderExtensionService;  
10 -import cn.iocoder.yudao.adminserver.modules.pay.service.order.PayOrderService;  
11 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
12 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;  
13 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
14 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderExtensionDO; 5 +import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*;
  6 +import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert;
  7 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
  8 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
  9 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
  10 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO;
  11 +import cn.iocoder.yudao.module.pay.service.merchant.PayAppService;
  12 +import cn.iocoder.yudao.module.pay.service.merchant.PayMerchantService;
  13 +import cn.iocoder.yudao.module.pay.service.order.PayOrderExtensionService;
  14 +import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
15 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 15 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
16 import cn.iocoder.yudao.framework.common.pojo.PageResult; 16 import cn.iocoder.yudao.framework.common.pojo.PageResult;
17 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 17 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
@@ -39,38 +39,18 @@ import java.util.Map; @@ -39,38 +39,18 @@ import java.util.Map;
39 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 39 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
40 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; 40 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
41 41
42 -/**  
43 - * 支付订单 controller 组件  
44 - *  
45 - * @author aquan  
46 - */  
47 -@Api(tags = "支付订单") 42 +@Api(tags = "管理后台 - 支付订单")
48 @RestController 43 @RestController
49 @RequestMapping("/pay/order") 44 @RequestMapping("/pay/order")
50 @Validated 45 @Validated
51 public class PayOrderController { 46 public class PayOrderController {
52 47
53 - /**  
54 - * 订单 service 组件  
55 - */  
56 @Resource 48 @Resource
57 private PayOrderService orderService; 49 private PayOrderService orderService;
58 -  
59 - /**  
60 - * 订单扩展 service 组件  
61 - */  
62 @Resource 50 @Resource
63 private PayOrderExtensionService orderExtensionService; 51 private PayOrderExtensionService orderExtensionService;
64 -  
65 - /**  
66 - * 商户 service 组件  
67 - */  
68 @Resource 52 @Resource
69 private PayMerchantService merchantService; 53 private PayMerchantService merchantService;
70 -  
71 - /**  
72 - * 应用 service 组件  
73 - */  
74 @Resource 54 @Resource
75 private PayAppService appService; 55 private PayAppService appService;
76 56
@@ -88,6 +68,7 @@ public class PayOrderController { @@ -88,6 +68,7 @@ public class PayOrderController {
88 PayAppDO appDO = appService.getApp(order.getAppId()); 68 PayAppDO appDO = appService.getApp(order.getAppId());
89 PayChannelEnum channelEnum = PayChannelEnum.getByCode(order.getChannelCode()); 69 PayChannelEnum channelEnum = PayChannelEnum.getByCode(order.getChannelCode());
90 70
  71 + // TODO @aquan:文案,都是前端 format;
91 PayOrderDetailsRespVO respVO = PayOrderConvert.INSTANCE.orderDetailConvert(order); 72 PayOrderDetailsRespVO respVO = PayOrderConvert.INSTANCE.orderDetailConvert(order);
92 respVO.setMerchantName(ObjectUtil.isNotNull(merchantDO) ? merchantDO.getName() : "未知商户"); 73 respVO.setMerchantName(ObjectUtil.isNotNull(merchantDO) ? merchantDO.getName() : "未知商户");
93 respVO.setAppName(ObjectUtil.isNotNull(appDO) ? appDO.getName() : "未知应用"); 74 respVO.setAppName(ObjectUtil.isNotNull(appDO) ? appDO.getName() : "未知应用");
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderBaseVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderBaseVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
2 2
3 import io.swagger.annotations.ApiModelProperty; 3 import io.swagger.annotations.ApiModelProperty;
4 import lombok.Data; 4 import lombok.Data;
@@ -10,8 +10,7 @@ import java.util.Date; @@ -10,8 +10,7 @@ import java.util.Date;
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
12 /** 12 /**
13 - * 支付订单  
14 - * Base VO,提供给添加、修改、详细的子 VO 使用 13 + * 支付订单 Base VO,提供给添加、修改、详细的子 VO 使用
15 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 14 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
16 * 15 *
17 * @author aquan 16 * @author aquan
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderDetailsRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderDetailsRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,12 +8,7 @@ import lombok.ToString; @@ -8,12 +8,7 @@ import lombok.ToString;
8 8
9 import java.util.Date; 9 import java.util.Date;
10 10
11 -/**  
12 - * 支付订单详细信息,由支付订单和支付订单扩展信息组成  
13 - *  
14 - * @author aquan  
15 - */  
16 -@ApiModel("支付订单详细信息 Response VO") 11 +@ApiModel("管理后台 - 支付订单详细信息 Response VO")
17 @Data 12 @Data
18 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
19 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderExcelVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderExcelVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
2 2
3 -import cn.iocoder.yudao.module.system.enums.DictTypeConstants;  
4 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; 3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
5 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; 4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
  5 +import cn.iocoder.yudao.module.pay.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderExportReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderExportReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -9,11 +9,7 @@ import java.util.Date; @@ -9,11 +9,7 @@ import java.util.Date;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
12 -/**  
13 - * 支付订单 Excel 导出 Request VO  
14 - * @author aquan  
15 - */  
16 -@ApiModel(value = "支付订单 Excel 导出 Request VO", description = "参数和 PayOrderPageReqVO 是一致的") 12 +@ApiModel(value = "管理后台 - 支付订单 Excel 导出 Request VO", description = "参数和 PayOrderPageReqVO 是一致的")
17 @Data 13 @Data
18 public class PayOrderExportReqVO { 14 public class PayOrderExportReqVO {
19 15
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderPageItemRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageItemRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,12 +8,7 @@ import lombok.ToString; @@ -8,12 +8,7 @@ import lombok.ToString;
8 8
9 import java.util.Date; 9 import java.util.Date;
10 10
11 -/**  
12 - * 支付订单分页 Request VO  
13 - *  
14 - * @author aquan  
15 - */  
16 -@ApiModel("支付订单分页 Request VO") 11 +@ApiModel("管理后台 - 支付订单分页 Request VO")
17 @Data 12 @Data
18 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
19 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderPageReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import io.swagger.annotations.ApiModel; 4 import io.swagger.annotations.ApiModel;
@@ -12,12 +12,7 @@ import java.util.Date; @@ -12,12 +12,7 @@ import java.util.Date;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
15 -/**  
16 - * 支付订单分页 Request VO  
17 - *  
18 - * @author aquan  
19 - */  
20 -@ApiModel("支付订单分页 Request VO") 15 +@ApiModel("管理后台 - 支付订单分页 Request VO")
21 @Data 16 @Data
22 @EqualsAndHashCode(callSuper = true) 17 @EqualsAndHashCode(callSuper = true)
23 @ToString(callSuper = true) 18 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,12 +8,7 @@ import lombok.ToString; @@ -8,12 +8,7 @@ import lombok.ToString;
8 8
9 import java.util.Date; 9 import java.util.Date;
10 10
11 -/**  
12 - * 支付订单 Response VO  
13 - *  
14 - * @author aquan  
15 - */  
16 -@ApiModel("支付订单 Response VO") 11 +@ApiModel("管理后台 - 支付订单 Response VO")
17 @Data 12 @Data
18 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
19 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/PayRefundController.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/PayRefundController.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund;
2 2
3 import cn.hutool.core.collection.CollectionUtil; 3 import cn.hutool.core.collection.CollectionUtil;
4 import cn.hutool.core.util.ObjectUtil; 4 import cn.hutool.core.util.ObjectUtil;
5 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo.*;  
6 -import cn.iocoder.yudao.adminserver.modules.pay.convert.refund.PayRefundConvert;  
7 -import cn.iocoder.yudao.adminserver.modules.pay.service.app.PayAppService;  
8 -import cn.iocoder.yudao.adminserver.modules.pay.service.merchant.PayMerchantService;  
9 -import cn.iocoder.yudao.adminserver.modules.pay.service.order.PayOrderService;  
10 -import cn.iocoder.yudao.adminserver.modules.pay.service.order.PayRefundService;  
11 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
12 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;  
13 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
14 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayRefundDO; 5 +import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.*;
  6 +import cn.iocoder.yudao.module.pay.convert.refund.PayRefundConvert;
  7 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
  8 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
  9 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
  10 +import cn.iocoder.yudao.module.pay.dal.dataobject.refund.PayRefundDO;
  11 +import cn.iocoder.yudao.module.pay.service.merchant.PayAppService;
  12 +import cn.iocoder.yudao.module.pay.service.merchant.PayMerchantService;
  13 +import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
  14 +import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
15 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 15 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
16 import cn.iocoder.yudao.framework.common.pojo.PageResult; 16 import cn.iocoder.yudao.framework.common.pojo.PageResult;
17 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 17 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
@@ -39,12 +39,7 @@ import java.util.Map; @@ -39,12 +39,7 @@ import java.util.Map;
39 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 39 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
40 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; 40 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
41 41
42 -/**  
43 - * 退款订单 Controller 组件  
44 - *  
45 - * @author aquan  
46 - */  
47 -@Api(tags = "退款订单") 42 +@Api(tags = "管理后台 - 退款订单")
48 @RestController 43 @RestController
49 @RequestMapping("/pay/refund") 44 @RequestMapping("/pay/refund")
50 @Validated 45 @Validated
@@ -52,26 +47,13 @@ public class PayRefundController { @@ -52,26 +47,13 @@ public class PayRefundController {
52 47
53 @Resource 48 @Resource
54 private PayRefundService refundService; 49 private PayRefundService refundService;
55 -  
56 - /**  
57 - * 商户 service 组件  
58 - */  
59 @Resource 50 @Resource
60 private PayMerchantService merchantService; 51 private PayMerchantService merchantService;
61 -  
62 - /**  
63 - * 应用 service 组件  
64 - */  
65 @Resource 52 @Resource
66 private PayAppService appService; 53 private PayAppService appService;
67 -  
68 - /**  
69 - * 订单 service 组件  
70 - */  
71 @Resource 54 @Resource
72 private PayOrderService orderService; 55 private PayOrderService orderService;
73 56
74 -  
75 @GetMapping("/get") 57 @GetMapping("/get")
76 @ApiOperation("获得退款订单") 58 @ApiOperation("获得退款订单")
77 @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) 59 @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundBaseVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundBaseVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import io.swagger.annotations.ApiModelProperty; 3 import io.swagger.annotations.ApiModelProperty;
4 import lombok.Data; 4 import lombok.Data;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundCreateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundCreateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
5 5
6 -@ApiModel("退款订单创建 Request VO") 6 +@ApiModel("管理后台 - 退款订单创建 Request VO")
7 @Data 7 @Data
8 @EqualsAndHashCode(callSuper = true) 8 @EqualsAndHashCode(callSuper = true)
9 @ToString(callSuper = true) 9 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundDetailsRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundDetailsRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -9,12 +9,7 @@ import lombok.ToString; @@ -9,12 +9,7 @@ import lombok.ToString;
9 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
10 import java.util.Date; 10 import java.util.Date;
11 11
12 -/**  
13 - * 退款订单详情 Response VO  
14 - *  
15 - * @author aquan  
16 - */  
17 -@ApiModel("退款订单详情 Response VO") 12 +@ApiModel("管理后台 - 退款订单详情 Response VO")
18 @Data 13 @Data
19 @EqualsAndHashCode(callSuper = true) 14 @EqualsAndHashCode(callSuper = true)
20 @ToString(callSuper = true) 15 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundExcelVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundExcelVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 -import cn.iocoder.yudao.module.system.enums.DictTypeConstants;  
4 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; 3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
5 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; 4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
  5 +import cn.iocoder.yudao.module.pay.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundExportReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundExportReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -9,7 +9,7 @@ import java.util.Date; @@ -9,7 +9,7 @@ import java.util.Date;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
12 -@ApiModel(value = "退款订单 Excel 导出 Request VO", description = "参数和 PayRefundPageReqVO 是一致的") 12 +@ApiModel(value = "管理后台 - 退款订单 Excel 导出 Request VO", description = "参数和 PayRefundPageReqVO 是一致的")
13 @Data 13 @Data
14 public class PayRefundExportReqVO { 14 public class PayRefundExportReqVO {
15 15
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundPageItemRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageItemRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,11 +8,7 @@ import lombok.ToString; @@ -8,11 +8,7 @@ import lombok.ToString;
8 8
9 import java.util.Date; 9 import java.util.Date;
10 10
11 -/**  
12 - * 退款订单分页查询 Response VO  
13 - * @author aquan  
14 - */  
15 -@ApiModel("退款订单分页查询 Response VO") 11 +@ApiModel("管理后台 - 退款订单分页查询 Response VO")
16 @Data 12 @Data
17 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
18 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundPageReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import io.swagger.annotations.ApiModel; 4 import io.swagger.annotations.ApiModel;
@@ -12,7 +12,7 @@ import java.util.Date; @@ -12,7 +12,7 @@ import java.util.Date;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
15 -@ApiModel("退款订单分页 Request VO") 15 +@ApiModel("管理后台 - 退款订单分页 Request VO")
16 @Data 16 @Data
17 @EqualsAndHashCode(callSuper = true) 17 @EqualsAndHashCode(callSuper = true)
18 @ToString(callSuper = true) 18 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,7 +8,7 @@ import lombok.ToString; @@ -8,7 +8,7 @@ import lombok.ToString;
8 8
9 import java.util.Date; 9 import java.util.Date;
10 10
11 -@ApiModel("退款订单 Response VO") 11 +@ApiModel("管理后台 - 退款订单 Response VO")
12 @Data 12 @Data
13 @EqualsAndHashCode(callSuper = true) 13 @EqualsAndHashCode(callSuper = true)
14 @ToString(callSuper = true) 14 @ToString(callSuper = true)
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundUpdateReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundUpdateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; 1 +package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
5 import javax.validation.constraints.*; 5 import javax.validation.constraints.*;
6 6
7 -@ApiModel("退款订单更新 Request VO") 7 +@ApiModel("管理后台 - 退款订单更新 Request VO")
8 @Data 8 @Data
9 @EqualsAndHashCode(callSuper = true) 9 @EqualsAndHashCode(callSuper = true)
10 @ToString(callSuper = true) 10 @ToString(callSuper = true)
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/PayOrderController.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/app/order/AppPayOrderController.java
1 -package cn.iocoder.yudao.userserver.modules.pay.controller.order; 1 +package cn.iocoder.yudao.module.pay.controller.app.order;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.PayOrderCoreService;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.PayRefundCoreService;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayOrderSubmitReqDTO;  
8 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayOrderSubmitRespDTO;  
9 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
10 import cn.iocoder.yudao.framework.pay.core.client.PayClient; 5 import cn.iocoder.yudao.framework.pay.core.client.PayClient;
11 import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory; 6 import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
12 import cn.iocoder.yudao.framework.pay.core.client.dto.PayNotifyDataDTO; 7 import cn.iocoder.yudao.framework.pay.core.client.dto.PayNotifyDataDTO;
13 -import cn.iocoder.yudao.userserver.modules.pay.controller.order.vo.PayOrderSubmitReqVO;  
14 -import cn.iocoder.yudao.userserver.modules.pay.controller.order.vo.PayOrderSubmitRespVO; 8 +import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitReqVO;
  9 +import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitRespVO;
  10 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
  11 +import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
  12 +import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitReqDTO;
  13 +import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitRespDTO;
  14 +import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
15 import io.swagger.annotations.Api; 15 import io.swagger.annotations.Api;
16 import io.swagger.annotations.ApiOperation; 16 import io.swagger.annotations.ApiOperation;
17 import lombok.extern.slf4j.Slf4j; 17 import lombok.extern.slf4j.Slf4j;
@@ -21,52 +21,52 @@ import org.springframework.web.bind.annotation.*; @@ -21,52 +21,52 @@ import org.springframework.web.bind.annotation.*;
21 import javax.annotation.Resource; 21 import javax.annotation.Resource;
22 import java.util.Map; 22 import java.util.Map;
23 23
24 -import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_CHANNEL_CLIENT_NOT_FOUND;  
25 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 24 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
26 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 25 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
27 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP; 26 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
  27 +import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*;
28 28
29 -@Api(tags = "支付订单") 29 +@Api(tags = "用户 APP - 支付订单")
30 @RestController 30 @RestController
31 @RequestMapping("/pay/order") 31 @RequestMapping("/pay/order")
32 @Validated 32 @Validated
33 @Slf4j 33 @Slf4j
34 -public class PayOrderController { 34 +public class AppPayOrderController {
35 35
36 @Resource 36 @Resource
37 - private PayOrderCoreService payOrderCoreService; 37 + private PayOrderService orderService;
38 @Resource 38 @Resource
39 - private PayRefundCoreService payRefundCoreService; 39 + private PayRefundService refundService;
40 40
41 @Resource 41 @Resource
42 private PayClientFactory payClientFactory; 42 private PayClientFactory payClientFactory;
43 43
44 -  
45 @PostMapping("/submit") 44 @PostMapping("/submit")
46 @ApiOperation("提交支付订单") 45 @ApiOperation("提交支付订单")
47 // @PreAuthenticated // TODO 暂时不加登陆验证,前端暂时没做好 46 // @PreAuthenticated // TODO 暂时不加登陆验证,前端暂时没做好
48 - public CommonResult<PayOrderSubmitRespVO> submitPayOrder(@RequestBody PayOrderSubmitReqVO reqVO) { 47 + public CommonResult<AppPayOrderSubmitRespVO> submitPayOrder(@RequestBody AppPayOrderSubmitReqVO reqVO) {
49 // 获得订单 48 // 获得订单
50 - PayOrderDO payOrder = payOrderCoreService.getPayOrder(reqVO.getId()); 49 + PayOrderDO payOrder = orderService.getOrder(reqVO.getId());
51 50
52 // 提交支付 51 // 提交支付
53 PayOrderSubmitReqDTO reqDTO = new PayOrderSubmitReqDTO(); 52 PayOrderSubmitReqDTO reqDTO = new PayOrderSubmitReqDTO();
54 BeanUtil.copyProperties(reqVO, reqDTO, false); 53 BeanUtil.copyProperties(reqVO, reqDTO, false);
55 reqDTO.setUserIp(getClientIP()); 54 reqDTO.setUserIp(getClientIP());
56 reqDTO.setAppId(payOrder.getAppId()); 55 reqDTO.setAppId(payOrder.getAppId());
57 - PayOrderSubmitRespDTO respDTO = payOrderCoreService.submitPayOrder(reqDTO); 56 + PayOrderSubmitRespDTO respDTO = orderService.submitPayOrder(reqDTO);
58 57
59 // 拼接返回 58 // 拼接返回
60 - return success(PayOrderSubmitRespVO.builder().invokeResponse(respDTO.getInvokeResponse()).build()); 59 + return success(AppPayOrderSubmitRespVO.builder().invokeResponse(respDTO.getInvokeResponse()).build());
61 } 60 }
62 61
63 // ========== 支付渠道的回调 ========== 62 // ========== 支付渠道的回调 ==========
  63 + // TODO @芋艿:是不是放到 notify 模块更合适
64 //TODO 芋道源码 换成了统一的地址了 /notify/{channelId},测试通过可以删除 64 //TODO 芋道源码 换成了统一的地址了 /notify/{channelId},测试通过可以删除
65 @PostMapping("/notify/wx-pub/{channelId}") 65 @PostMapping("/notify/wx-pub/{channelId}")
66 @ApiOperation("通知微信公众号支付的结果") 66 @ApiOperation("通知微信公众号支付的结果")
67 public String notifyWxPayOrder(@PathVariable("channelId") Long channelId, 67 public String notifyWxPayOrder(@PathVariable("channelId") Long channelId,
68 @RequestBody String xmlData) throws Exception { 68 @RequestBody String xmlData) throws Exception {
69 - payOrderCoreService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().body(xmlData).build()); 69 + orderService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().body(xmlData).build());
70 return "success"; 70 return "success";
71 } 71 }
72 72
@@ -110,12 +110,12 @@ public class PayOrderController { @@ -110,12 +110,12 @@ public class PayOrderController {
110 110
111 // 如果是退款,则发起退款通知 111 // 如果是退款,则发起退款通知
112 if (payClient.isRefundNotify(notifyData)) { 112 if (payClient.isRefundNotify(notifyData)) {
113 - payRefundCoreService.notifyPayRefund(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build()); 113 + refundService.notifyPayRefund(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
114 return "success"; 114 return "success";
115 } 115 }
116 116
117 // 如果非退款,则发起支付通知 117 // 如果非退款,则发起支付通知
118 - payOrderCoreService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build()); 118 + orderService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().params(params).body(originData).build());
119 return "success"; 119 return "success";
120 } 120 }
121 121
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/vo/PayOrderSubmitReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/app/order/vo/AppPayOrderSubmitReqVO.java
1 -package cn.iocoder.yudao.userserver.modules.pay.controller.order.vo; 1 +package cn.iocoder.yudao.module.pay.controller.app.order.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -9,10 +9,10 @@ import javax.validation.constraints.NotEmpty; @@ -9,10 +9,10 @@ import javax.validation.constraints.NotEmpty;
9 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
10 import java.util.Map; 10 import java.util.Map;
11 11
12 -@ApiModel("支付订单提交 Request VO") 12 +@ApiModel("用户 APP - 支付订单提交 Request VO")
13 @Data 13 @Data
14 @Accessors(chain = true) 14 @Accessors(chain = true)
15 -public class PayOrderSubmitReqVO { 15 +public class AppPayOrderSubmitReqVO {
16 16
17 @ApiModelProperty(value = "支付单编号", required = true, example = "1024") 17 @ApiModelProperty(value = "支付单编号", required = true, example = "1024")
18 @NotNull(message = "支付单编号不能为空") 18 @NotNull(message = "支付单编号不能为空")
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/vo/PayOrderSubmitRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/app/order/vo/AppPayOrderSubmitRespVO.java
1 -package cn.iocoder.yudao.userserver.modules.pay.controller.order.vo; 1 +package cn.iocoder.yudao.module.pay.controller.app.order.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import lombok.AllArgsConstructor; 4 import lombok.AllArgsConstructor;
@@ -7,13 +7,13 @@ import lombok.Data; @@ -7,13 +7,13 @@ import lombok.Data;
7 import lombok.NoArgsConstructor; 7 import lombok.NoArgsConstructor;
8 import lombok.experimental.Accessors; 8 import lombok.experimental.Accessors;
9 9
10 -@ApiModel("支付订单提交 Response VO") 10 +@ApiModel("用户 APP - 支付订单提交 Response VO")
11 @Data 11 @Data
12 @Accessors(chain = true) 12 @Accessors(chain = true)
13 @Builder 13 @Builder
14 @NoArgsConstructor 14 @NoArgsConstructor
15 @AllArgsConstructor 15 @AllArgsConstructor
16 -public class PayOrderSubmitRespVO { 16 +public class AppPayOrderSubmitRespVO {
17 17
18 /** 18 /**
19 * 调用支付渠道的响应结果 19 * 调用支付渠道的响应结果
yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/app/package-info.java 0 → 100644
  1 +package cn.iocoder.yudao.module.pay.controller.app;
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/PayRefundController.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/app/refund/AppPayRefundController.java
1 -package cn.iocoder.yudao.userserver.modules.pay.controller.order; 1 +package cn.iocoder.yudao.module.pay.controller.app.refund;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.PayRefundCoreService;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.service.order.dto.PayRefundReqDTO;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.util.PaySeqUtils;  
7 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
8 -import cn.iocoder.yudao.userserver.modules.pay.controller.order.vo.PayRefundReqVO;  
9 -import cn.iocoder.yudao.userserver.modules.pay.controller.order.vo.PayRefundRespVO;  
10 -import cn.iocoder.yudao.userserver.modules.pay.convert.order.PayRefundConvert; 5 +import cn.iocoder.yudao.module.pay.controller.app.refund.vo.AppPayRefundReqVO;
  6 +import cn.iocoder.yudao.module.pay.controller.app.refund.vo.AppPayRefundRespVO;
  7 +import cn.iocoder.yudao.module.pay.convert.refund.PayRefundConvert;
  8 +import cn.iocoder.yudao.module.pay.service.order.dto.PayRefundReqDTO;
  9 +import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
  10 +import cn.iocoder.yudao.module.pay.util.PaySeqUtils;
11 import io.swagger.annotations.Api; 11 import io.swagger.annotations.Api;
12 import io.swagger.annotations.ApiOperation; 12 import io.swagger.annotations.ApiOperation;
13 import lombok.extern.slf4j.Slf4j; 13 import lombok.extern.slf4j.Slf4j;
@@ -19,28 +19,29 @@ import org.springframework.web.bind.annotation.RestController; @@ -19,28 +19,29 @@ import org.springframework.web.bind.annotation.RestController;
19 19
20 import javax.annotation.Resource; 20 import javax.annotation.Resource;
21 21
  22 +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
22 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP; 23 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
23 24
24 -@Api(tags = "退款订单") 25 +@Api(tags = "用户 APP - 退款订单")
25 @RestController 26 @RestController
26 -@RequestMapping("/pay/order") 27 +@RequestMapping("/pay/refund")
27 @Validated 28 @Validated
28 @Slf4j 29 @Slf4j
29 -public class PayRefundController { 30 +public class AppPayRefundController {
30 31
31 @Resource 32 @Resource
32 - private PayRefundCoreService payRefundCoreService; 33 + private PayRefundService refundService;
33 34
34 @PostMapping("/refund") 35 @PostMapping("/refund")
35 @ApiOperation("提交退款订单") 36 @ApiOperation("提交退款订单")
36 - public CommonResult<PayRefundRespVO> submitRefundOrder(@RequestBody PayRefundReqVO reqVO){ 37 + public CommonResult<AppPayRefundRespVO> submitRefundOrder(@RequestBody AppPayRefundReqVO reqVO){
37 PayRefundReqDTO req = PayRefundConvert.INSTANCE.convert(reqVO); 38 PayRefundReqDTO req = PayRefundConvert.INSTANCE.convert(reqVO);
38 req.setUserIp(getClientIP()); 39 req.setUserIp(getClientIP());
39 - //TODO 测试暂时模拟生成商户退款订单 40 + // TODO 测试暂时模拟生成商户退款订单
40 if(StrUtil.isEmpty(reqVO.getMerchantRefundId())) { 41 if(StrUtil.isEmpty(reqVO.getMerchantRefundId())) {
41 req.setMerchantRefundId(PaySeqUtils.genMerchantRefundNo()); 42 req.setMerchantRefundId(PaySeqUtils.genMerchantRefundNo());
42 } 43 }
43 - return CommonResult.success( PayRefundConvert.INSTANCE.convert(payRefundCoreService.submitRefundOrder(req))); 44 + return success(PayRefundConvert.INSTANCE.convert(refundService.submitRefundOrder(req)));
44 } 45 }
45 46
46 } 47 }
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/vo/PayRefundReqVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/app/refund/vo/AppPayRefundReqVO.java
1 -package cn.iocoder.yudao.userserver.modules.pay.controller.order.vo; 1 +package cn.iocoder.yudao.module.pay.controller.app.refund.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -8,11 +8,11 @@ import lombok.NoArgsConstructor; @@ -8,11 +8,11 @@ import lombok.NoArgsConstructor;
8 8
9 import javax.validation.constraints.NotEmpty; 9 import javax.validation.constraints.NotEmpty;
10 10
11 -@ApiModel("退款订单 Req VO") 11 +@ApiModel("用户 APP - 退款订单 Req VO")
12 @Data 12 @Data
13 @NoArgsConstructor 13 @NoArgsConstructor
14 @AllArgsConstructor 14 @AllArgsConstructor
15 -public class PayRefundReqVO { 15 +public class AppPayRefundReqVO {
16 16
17 @ApiModelProperty(value = "支付订单编号自增", required = true, example = "10") 17 @ApiModelProperty(value = "支付订单编号自增", required = true, example = "10")
18 @NotEmpty(message = "支付订单编号自增") 18 @NotEmpty(message = "支付订单编号自增")
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/vo/PayRefundRespVO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/app/refund/vo/AppPayRefundRespVO.java
1 -package cn.iocoder.yudao.userserver.modules.pay.controller.order.vo; 1 +package cn.iocoder.yudao.module.pay.controller.app.refund.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
4 import lombok.AllArgsConstructor; 5 import lombok.AllArgsConstructor;
5 import lombok.Builder; 6 import lombok.Builder;
6 import lombok.Data; 7 import lombok.Data;
7 import lombok.NoArgsConstructor; 8 import lombok.NoArgsConstructor;
8 import lombok.experimental.Accessors; 9 import lombok.experimental.Accessors;
9 10
10 -@ApiModel("提交退款订单 Response VO") 11 +@ApiModel("用户 APP - 提交退款订单 Response VO")
11 @Data 12 @Data
12 @Accessors(chain = true) 13 @Accessors(chain = true)
13 @Builder 14 @Builder
14 @NoArgsConstructor 15 @NoArgsConstructor
15 @AllArgsConstructor 16 @AllArgsConstructor
16 -public class PayRefundRespVO { 17 +public class AppPayRefundRespVO {
17 18
18 - /**  
19 - * 支付退款单编号, 自增  
20 - */ 19 + @ApiModelProperty(value = "退款订单编号", required = true, example = "10")
21 private Long refundId; 20 private Long refundId;
  21 +
22 } 22 }
yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/controller/package-info.java 0 → 100644
  1 +/**
  2 + * 提供 RESTful API 给前端:
  3 + * 1. admin 包:提供给管理后台 yudao-ui-admin 前端项目
  4 + * 2. app 包:提供给用户 APP yudao-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分
  5 + */
  6 +package cn.iocoder.yudao.module.pay.controller;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/convert/app/PayAppConvert.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/convert/app/PayAppConvert.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.convert.app; 1 +package cn.iocoder.yudao.module.pay.convert.app;
2 2
3 import java.util.*; 3 import java.util.*;
4 4
5 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;  
7 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 6
  7 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app.*;
  8 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
  9 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
9 import org.mapstruct.Mapper; 10 import org.mapstruct.Mapper;
10 import org.mapstruct.factory.Mappers; 11 import org.mapstruct.factory.Mappers;
11 -import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.*;  
12 12
13 /** 13 /**
14 * 支付应用信息 Convert 14 * 支付应用信息 Convert
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/convert/channel/PayChannelConvert.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/convert/channel/PayChannelConvert.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.convert.channel; 1 +package cn.iocoder.yudao.module.pay.convert.channel;
2 2
3 import java.util.*; 3 import java.util.*;
4 4
5 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 6
8 -import cn.iocoder.yudao.framework.pay.core.client.impl.wx.WXPayClientConfig; 7 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelCreateReqVO;
  8 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelExcelVO;
  9 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelRespVO;
  10 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelUpdateReqVO;
  11 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayChannelDO;
9 import org.mapstruct.Mapper; 12 import org.mapstruct.Mapper;
10 import org.mapstruct.Mapping; 13 import org.mapstruct.Mapping;
11 import org.mapstruct.factory.Mappers; 14 import org.mapstruct.factory.Mappers;
12 -import cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo.*;  
13 -  
14 -/**  
15 - * 支付渠道  
16 - Convert  
17 - *  
18 - * @author 芋艿  
19 - */ 15 +
20 @Mapper 16 @Mapper
21 public interface PayChannelConvert { 17 public interface PayChannelConvert {
22 18
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/convert/merchant/PayMerchantConvert.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/convert/merchant/PayMerchantConvert.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.convert.merchant; 1 +package cn.iocoder.yudao.module.pay.convert.merchant;
2 2
3 import java.util.*; 3 import java.util.*;
4 4
5 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;  
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 6
  7 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant.PayMerchantCreateReqVO;
  8 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant.PayMerchantExcelVO;
  9 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant.PayMerchantRespVO;
  10 +import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant.PayMerchantUpdateReqVO;
  11 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
8 import org.mapstruct.Mapper; 12 import org.mapstruct.Mapper;
9 import org.mapstruct.factory.Mappers; 13 import org.mapstruct.factory.Mappers;
10 -import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.*;  
11 14
12 -/**  
13 - * 支付商户信息 Convert  
14 - *  
15 - * @author 芋艿  
16 - */  
17 @Mapper 15 @Mapper
18 public interface PayMerchantConvert { 16 public interface PayMerchantConvert {
19 17
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/convert/order/PayOrderConvert.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/convert/order/PayOrderConvert.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.convert.order;  
2 -  
3 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order.PayOrderDetailsRespVO;  
4 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order.PayOrderExcelVO;  
5 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order.PayOrderPageItemRespVO;  
6 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order.PayOrderRespVO;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
8 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderExtensionDO; 1 +package cn.iocoder.yudao.module.pay.convert.order;
  2 +
  3 +import cn.iocoder.yudao.framework.pay.core.client.dto.PayOrderUnifiedReqDTO;
  4 +import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderDetailsRespVO;
  5 +import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExcelVO;
  6 +import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderPageItemRespVO;
  7 +import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderRespVO;
9 import cn.iocoder.yudao.framework.common.pojo.PageResult; 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  9 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
  10 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO;
  11 +import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderCreateReqDTO;
  12 +import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitReqDTO;
10 import org.mapstruct.Mapper; 13 import org.mapstruct.Mapper;
11 import org.mapstruct.factory.Mappers; 14 import org.mapstruct.factory.Mappers;
12 15
@@ -24,24 +27,10 @@ public interface PayOrderConvert { @@ -24,24 +27,10 @@ public interface PayOrderConvert {
24 27
25 PayOrderConvert INSTANCE = Mappers.getMapper(PayOrderConvert.class); 28 PayOrderConvert INSTANCE = Mappers.getMapper(PayOrderConvert.class);
26 29
27 -  
28 -  
29 PayOrderRespVO convert(PayOrderDO bean); 30 PayOrderRespVO convert(PayOrderDO bean);
30 31
31 - /**  
32 - * 订单DO 转换为 详细订单 RespVO  
33 - *  
34 - * @param bean 订单DO  
35 - * @return 详细订单 RespVO  
36 - */  
37 PayOrderDetailsRespVO orderDetailConvert(PayOrderDO bean); 32 PayOrderDetailsRespVO orderDetailConvert(PayOrderDO bean);
38 33
39 - /**  
40 - * 订单扩展DO 转换为 详细订单扩展 RespVO  
41 - *  
42 - * @param bean 订单扩展DO  
43 - * @return 详细订单扩展 RespVO  
44 - */  
45 PayOrderDetailsRespVO.PayOrderExtension orderDetailExtensionConvert(PayOrderExtensionDO bean); 34 PayOrderDetailsRespVO.PayOrderExtension orderDetailExtensionConvert(PayOrderExtensionDO bean);
46 35
47 List<PayOrderRespVO> convertList(List<PayOrderDO> list); 36 List<PayOrderRespVO> convertList(List<PayOrderDO> list);
@@ -58,12 +47,6 @@ public interface PayOrderConvert { @@ -58,12 +47,6 @@ public interface PayOrderConvert {
58 */ 47 */
59 PayOrderPageItemRespVO pageConvertItemPage(PayOrderDO bean); 48 PayOrderPageItemRespVO pageConvertItemPage(PayOrderDO bean);
60 49
61 - /**  
62 - * 订单DO 转 订单导出excel VO  
63 - *  
64 - * @param bean 订单 DO  
65 - * @return 订单导出excel VO  
66 - */  
67 default PayOrderExcelVO excelConvert(PayOrderDO bean) { 50 default PayOrderExcelVO excelConvert(PayOrderDO bean) {
68 if (bean == null) { 51 if (bean == null) {
69 return null; 52 return null;
@@ -101,4 +84,12 @@ public interface PayOrderConvert { @@ -101,4 +84,12 @@ public interface PayOrderConvert {
101 84
102 return payOrderExcelVO; 85 return payOrderExcelVO;
103 } 86 }
  87 +
  88 +
  89 + PayOrderDO convert(PayOrderCreateReqDTO bean);
  90 +
  91 + PayOrderExtensionDO convert(PayOrderSubmitReqDTO bean);
  92 +
  93 + PayOrderUnifiedReqDTO convert2(PayOrderSubmitReqDTO bean);
  94 +
104 } 95 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/convert/package-info.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/convert/package-info.java
@@ -3,4 +3,4 @@ @@ -3,4 +3,4 @@
3 * 3 *
4 * 目前使用 MapStruct 框架 4 * 目前使用 MapStruct 框架
5 */ 5 */
6 -package cn.iocoder.yudao.adminserver.modules.pay.convert; 6 +package cn.iocoder.yudao.module.pay.convert;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/convert/refund/PayRefundConvert.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/convert/refund/PayRefundConvert.java
1 -package cn.iocoder.yudao.adminserver.modules.pay.convert.refund; 1 +package cn.iocoder.yudao.module.pay.convert.refund;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo.*;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayRefundDO;  
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.*;
  5 +import cn.iocoder.yudao.module.pay.controller.app.refund.vo.AppPayRefundReqVO;
  6 +import cn.iocoder.yudao.module.pay.controller.app.refund.vo.AppPayRefundRespVO;
  7 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
  8 +import cn.iocoder.yudao.module.pay.dal.dataobject.refund.PayRefundDO;
  9 +import cn.iocoder.yudao.module.pay.service.order.dto.PayRefundReqDTO;
  10 +import cn.iocoder.yudao.module.pay.service.order.dto.PayRefundRespDTO;
6 import org.mapstruct.Mapper; 11 import org.mapstruct.Mapper;
  12 +import org.mapstruct.Mapping;
  13 +import org.mapstruct.Mappings;
7 import org.mapstruct.factory.Mappers; 14 import org.mapstruct.factory.Mappers;
8 15
9 import java.math.BigDecimal; 16 import java.math.BigDecimal;
@@ -87,4 +94,16 @@ public interface PayRefundConvert { @@ -87,4 +94,16 @@ public interface PayRefundConvert {
87 return payRefundExcelVO; 94 return payRefundExcelVO;
88 } 95 }
89 96
  97 + //TODO 太多需要处理了, 暂时不用
  98 + @Mappings(value = {
  99 + @Mapping(source = "amount", target = "payAmount"),
  100 + @Mapping(source = "id", target = "orderId"),
  101 + @Mapping(target = "status",ignore = true)
  102 + })
  103 + PayRefundDO convert(PayOrderDO orderDO);
  104 +
  105 + PayRefundReqDTO convert(AppPayRefundReqVO bean);
  106 +
  107 + AppPayRefundRespVO convert(PayRefundRespDTO bean);
  108 +
90 } 109 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/dataobject/merchant/PayAppDO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/merchant/PayAppDO.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant; 1 +package cn.iocoder.yudao.module.pay.dal.dataobject.merchant;
2 2
3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/dataobject/merchant/PayChannelDO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/merchant/PayChannelDO.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant; 1 +package cn.iocoder.yudao.module.pay.dal.dataobject.merchant;
2 2
3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/dataobject/merchant/PayMerchantDO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/merchant/PayMerchantDO.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant; 1 +package cn.iocoder.yudao.module.pay.dal.dataobject.merchant;
2 2
3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/dataobject/notify/PayNotifyLogDO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyLogDO.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.notify; 1 +package cn.iocoder.yudao.module.pay.dal.dataobject.notify;
2 2
3 -import cn.iocoder.yudao.coreservice.modules.pay.enums.notify.PayNotifyStatusEnum; 3 +import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyStatusEnum;
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5 import com.baomidou.mybatisplus.annotation.TableName; 5 import com.baomidou.mybatisplus.annotation.TableName;
6 import lombok.*; 6 import lombok.*;
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/dataobject/notify/PayNotifyTaskDO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyTaskDO.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.notify; 1 +package cn.iocoder.yudao.module.pay.dal.dataobject.notify;
2 2
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayOrderDO;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order.PayRefundDO;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.enums.notify.PayNotifyStatusEnum;  
8 -import cn.iocoder.yudao.coreservice.modules.pay.enums.notify.PayNotifyTypeEnum; 3 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
  4 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
  5 +import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
  6 +import cn.iocoder.yudao.module.pay.dal.dataobject.refund.PayRefundDO;
  7 +import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyStatusEnum;
  8 +import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyTypeEnum;
9 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 9 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
10 import com.baomidou.mybatisplus.annotation.TableName; 10 import com.baomidou.mybatisplus.annotation.TableName;
11 import lombok.Data; 11 import lombok.Data;
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/dataobject/order/PayOrderDO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order; 1 +package cn.iocoder.yudao.module.pay.dal.dataobject.order;
2 2
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
5 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;  
6 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayOrderNotifyStatusEnum;  
7 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayRefundTypeEnum;  
8 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayOrderStatusEnum; 3 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
  4 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayChannelDO;
  5 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
  6 +import cn.iocoder.yudao.module.pay.enums.order.PayOrderNotifyStatusEnum;
  7 +import cn.iocoder.yudao.module.pay.enums.refund.PayRefundTypeEnum;
  8 +import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum;
9 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 9 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
10 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum; 10 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
11 import com.baomidou.mybatisplus.annotation.TableName; 11 import com.baomidou.mybatisplus.annotation.TableName;
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/dal/dataobject/order/PayOrderExtensionDO.java renamed to yudao-module-pay/yudao-module-pay-impl/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java
1 -package cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.order; 1 +package cn.iocoder.yudao.module.pay.dal.dataobject.order;
2 2
3 -import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;  
4 -import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayOrderStatusEnum; 3 +import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayChannelDO;
  4 +import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum;
5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
6 import com.baomidou.mybatisplus.annotation.TableField; 6 import com.baomidou.mybatisplus.annotation.TableField;
7 import com.baomidou.mybatisplus.annotation.TableName; 7 import com.baomidou.mybatisplus.annotation.TableName;