Commit 4b5c185608d8dab5a60360d86342233c1752bdd2

Authored by YunaiV
1 parent ff21fdc5

code review 支付商户逻辑

sql/pay-dict.sql
@@ -175,17 +175,17 @@ VALUES (3, '全部退款', '20', 'pay_order_refund_status', 0, '全部退款', ' @@ -175,17 +175,17 @@ VALUES (3, '全部退款', '20', 'pay_order_refund_status', 0, '全部退款', '
175 175
176 -- 退款订单状态 176 -- 退款订单状态
177 INSERT INTO `sys_dict_type`(`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('退款订单状态', 'pay_refund_order_status', 0, '退款订单状态', '1', '2021-12-10 16:42:50', '1', '2021-12-10 16:42:50', b'0'); 177 INSERT INTO `sys_dict_type`(`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('退款订单状态', 'pay_refund_order_status', 0, '退款订单状态', '1', '2021-12-10 16:42:50', '1', '2021-12-10 16:42:50', b'0');
178 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (117, 1, '退款订单生成', '0', 'pay_refund_order_status', 0, '退款订单生成', '1', '2021-12-10 16:44:44', '1', '2021-12-10 16:44:44', b'0');  
179 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (118, 2, '退款成功', '1', 'pay_refund_order_status', 0, '退款成功', '1', '2021-12-10 16:44:59', '1', '2021-12-10 16:44:59', b'0');  
180 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (119, 3, '退款失败', '2', 'pay_refund_order_status', 0, '退款失败', '1', '2021-12-10 16:45:10', '1', '2021-12-10 16:45:10', b'0');  
181 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (120, 4, '退款中, 渠道通知结果', '3', 'pay_refund_order_status', 0, '退款中, 渠道通知结果', '1', '2021-12-10 16:45:32', '1', '2021-12-10 16:45:32', b'0');  
182 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (121, 5, '退款中, 系统查询结果', '4', 'pay_refund_order_status', 0, '退款中, 系统查询结果', '1', '2021-12-10 16:45:48', '1', '2021-12-10 16:45:48', b'0');  
183 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (122, 6, '状态未知,需要重试', '5', 'pay_refund_order_status', 0, '状态未知,需要重试', '1', '2021-12-10 16:46:03', '1', '2021-12-10 16:46:03', b'0');  
184 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (123, 7, '状态未知,系统查询结果', '6', 'pay_refund_order_status', 0, '状态未知,系统查询结果', '1', '2021-12-10 16:46:13', '1', '2021-12-10 16:46:13', b'0');  
185 -INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (124, 8, '退款关闭', '99', 'pay_refund_order_status', 0, '退款关闭', '1', '2021-12-10 16:46:26', '1', '2021-12-10 16:46:26', b'0'); 178 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1117, 1, '退款订单生成', '0', 'pay_refund_order_status', 0, '退款订单生成', '1', '2021-12-10 16:44:44', '1', '2021-12-10 16:44:44', b'0');
  179 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1118, 2, '退款成功', '1', 'pay_refund_order_status', 0, '退款成功', '1', '2021-12-10 16:44:59', '1', '2021-12-10 16:44:59', b'0');
  180 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1119, 3, '退款失败', '2', 'pay_refund_order_status', 0, '退款失败', '1', '2021-12-10 16:45:10', '1', '2021-12-10 16:45:10', b'0');
  181 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1120, 4, '退款中, 渠道通知结果', '3', 'pay_refund_order_status', 0, '退款中, 渠道通知结果', '1', '2021-12-10 16:45:32', '1', '2021-12-10 16:45:32', b'0');
  182 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1121, 5, '退款中, 系统查询结果', '4', 'pay_refund_order_status', 0, '退款中, 系统查询结果', '1', '2021-12-10 16:45:48', '1', '2021-12-10 16:45:48', b'0');
  183 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1122, 6, '状态未知,需要重试', '5', 'pay_refund_order_status', 0, '状态未知,需要重试', '1', '2021-12-10 16:46:03', '1', '2021-12-10 16:46:03', b'0');
  184 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1123, 7, '状态未知,系统查询结果', '6', 'pay_refund_order_status', 0, '状态未知,系统查询结果', '1', '2021-12-10 16:46:13', '1', '2021-12-10 16:46:13', b'0');
  185 +INSERT INTO `sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1124, 8, '退款关闭', '99', 'pay_refund_order_status', 0, '退款关闭', '1', '2021-12-10 16:46:26', '1', '2021-12-10 16:46:26', b'0');
186 186
187 -- 退款订单类别 187 -- 退款订单类别
188 INSERT INTO `sys_dict_type`(`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('退款订单类别', 'pay_refund_order_type', 0, '退款订单类别', '1', '2021-12-10 17:14:53', '1', '2021-12-10 17:14:53', b'0'); 188 INSERT INTO `sys_dict_type`(`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('退款订单类别', 'pay_refund_order_type', 0, '退款订单类别', '1', '2021-12-10 17:14:53', '1', '2021-12-10 17:14:53', b'0');
189 INSERT INTO `ruoyi-vue-pro`.`sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (125, 1, '未退款', '0', 'pay_refund_order_type', 0, '未退款', '1', '2021-12-10 17:15:11', '1', '2021-12-10 17:15:11', b'0'); 189 INSERT INTO `ruoyi-vue-pro`.`sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (125, 1, '未退款', '0', 'pay_refund_order_type', 0, '未退款', '1', '2021-12-10 17:15:11', '1', '2021-12-10 17:15:11', b'0');
190 INSERT INTO `ruoyi-vue-pro`.`sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (126, 2, '部分退款', '10', 'pay_refund_order_type', 0, '部分退款', '1', '2021-12-10 17:15:24', '1', '2021-12-10 17:15:24', b'0'); 190 INSERT INTO `ruoyi-vue-pro`.`sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (126, 2, '部分退款', '10', 'pay_refund_order_type', 0, '部分退款', '1', '2021-12-10 17:15:24', '1', '2021-12-10 17:15:24', b'0');
191 -INSERT INTO `ruoyi-vue-pro`.`sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (127, 3, '全部退款', '20', 'pay_refund_order_type', 0, '全部退款', '1', '2021-12-10 17:15:34', '1', '2021-12-10 17:15:34', b'0');  
192 \ No newline at end of file 191 \ No newline at end of file
  192 +INSERT INTO `ruoyi-vue-pro`.`sys_dict_data`(`id`, `sort`, `label`, `value`, `dict_type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (127, 3, '全部退款', '20', 'pay_refund_order_type', 0, '全部退款', '1', '2021-12-10 17:15:34', '1', '2021-12-10 17:15:34', b'0');
sql/pay-merchant-menu.sql
@@ -5,7 +5,7 @@ INSERT INTO `sys_menu`( @@ -5,7 +5,7 @@ INSERT INTO `sys_menu`(
5 `path`, `icon`, `component`, `status` 5 `path`, `icon`, `component`, `status`
6 ) 6 )
7 VALUES ( 7 VALUES (
8 - '支付商户信息管理', '', 2, 0, ${table.parentMenuId}, 8 + '支付商户信息管理', '', 2, 0, 1117,
9 'merchant', '', 'pay/merchant/index', 0 9 'merchant', '', 'pay/merchant/index', 0
10 ); 10 );
11 11
sql/pay-order-menu.sql
1 -- 菜单 SQL 1 -- 菜单 SQL
2 INSERT INTO `sys_menu`(`name`, `permission`, `menu_type`, `sort`, `parent_id`, 2 INSERT INTO `sys_menu`(`name`, `permission`, `menu_type`, `sort`, `parent_id`,
3 `path`, `icon`, `component`, `status`) 3 `path`, `icon`, `component`, `status`)
4 -VALUES ('支付订单管理', '', 2, 0, ${table.parentMenuId}, 4 +VALUES ('支付订单管理', '', 2, 0, 1117,
5 'order', '', 'pay/order/index', 0); 5 'order', '', 'pay/order/index', 0);
6 6
7 -- 按钮父菜单ID 7 -- 按钮父菜单ID
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/PayMerchantController.java
@@ -75,7 +75,7 @@ public class PayMerchantController { @@ -75,7 +75,7 @@ public class PayMerchantController {
75 return success(PayMerchantConvert.INSTANCE.convert(merchant)); 75 return success(PayMerchantConvert.INSTANCE.convert(merchant));
76 } 76 }
77 77
78 - @GetMapping("/list-name") 78 + @GetMapping("/list-name") // TODO @aquan:/list-name =》/list-by-name
79 @ApiOperation("根据商户名称获得支付商户信息列表") 79 @ApiOperation("根据商户名称获得支付商户信息列表")
80 @ApiImplicitParam(name = "name", value = "商户名称", example = "芋道", dataTypeClass = Long.class) 80 @ApiImplicitParam(name = "name", value = "商户名称", example = "芋道", dataTypeClass = Long.class)
81 @PreAuthorize("@ss.hasPermission('pay:merchant:query')") 81 @PreAuthorize("@ss.hasPermission('pay:merchant:query')")
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/merchant/PayMerchantService.java
1 package cn.iocoder.yudao.adminserver.modules.pay.service.merchant; 1 package cn.iocoder.yudao.adminserver.modules.pay.service.merchant;
2 2
3 -import cn.hutool.core.collection.CollUtil;  
4 import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantCreateReqVO; 3 import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantCreateReqVO;
5 import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantExportReqVO; 4 import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantExportReqVO;
6 import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantPageReqVO; 5 import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantPageReqVO;
@@ -11,14 +10,13 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; @@ -11,14 +10,13 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
11 10
12 import javax.validation.Valid; 11 import javax.validation.Valid;
13 import java.util.Collection; 12 import java.util.Collection;
14 -import java.util.Collections;  
15 import java.util.List; 13 import java.util.List;
16 import java.util.Map; 14 import java.util.Map;
17 15
18 /** 16 /**
19 * 支付商户信息 Service 接口 17 * 支付商户信息 Service 接口
20 * 18 *
21 - * @author 芋艿 19 + * @author 芋艿 TODO @aquan:作者是你哈
22 */ 20 */
23 public interface PayMerchantService { 21 public interface PayMerchantService {
24 22
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/merchant/impl/PayMerchantServiceImpl.java
@@ -21,6 +21,7 @@ import java.util.List; @@ -21,6 +21,7 @@ import java.util.List;
21 21
22 import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_MERCHANT_NOT_EXISTS; 22 import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_MERCHANT_NOT_EXISTS;
23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  24 +
24 /** 25 /**
25 * 支付商户信息 Service 实现类 26 * 支付商户信息 Service 实现类
26 * 27 *
@@ -86,6 +87,7 @@ public class PayMerchantServiceImpl implements PayMerchantService { @@ -86,6 +87,7 @@ public class PayMerchantServiceImpl implements PayMerchantService {
86 return merchantMapper.selectList(exportReqVO); 87 return merchantMapper.selectList(exportReqVO);
87 } 88 }
88 89
  90 + // TODO @aquan:接口上已经有注释,这里不用在有啦
89 /** 91 /**
90 * 修改商户状态 92 * 修改商户状态
91 * 93 *
@@ -114,7 +116,6 @@ public class PayMerchantServiceImpl implements PayMerchantService { @@ -114,7 +116,6 @@ public class PayMerchantServiceImpl implements PayMerchantService {
114 return this.merchantMapper.getMerchantListByName(merchantName); 116 return this.merchantMapper.getMerchantListByName(merchantName);
115 } 117 }
116 118
117 -  
118 /** 119 /**
119 * 检查商户是否存在 120 * 检查商户是否存在
120 * @param id 商户编号 121 * @param id 商户编号
@@ -134,6 +135,7 @@ public class PayMerchantServiceImpl implements PayMerchantService { @@ -134,6 +135,7 @@ public class PayMerchantServiceImpl implements PayMerchantService {
134 // TODO @芋艿:后续增加下合适的算法 135 // TODO @芋艿:后续增加下合适的算法
135 /** 136 /**
136 * 根据年月日时分秒毫秒生成商户号 137 * 根据年月日时分秒毫秒生成商户号
  138 + *
137 * @return 商户号 139 * @return 商户号
138 */ 140 */
139 private String generateMerchantNo(){ 141 private String generateMerchantNo(){
yudao-admin-server/src/main/resources/application-local.yaml
@@ -44,17 +44,16 @@ spring: @@ -44,17 +44,16 @@ spring:
44 datasource: 44 datasource:
45 master: 45 master:
46 name: ruoyi-vue-pro 46 name: ruoyi-vue-pro
47 - url: jdbc:mysql://rm-j6cxl87683w973f78ho.mysql.rds.aliyuncs.com:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT 47 + url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT
48 driver-class-name: com.mysql.jdbc.Driver 48 driver-class-name: com.mysql.jdbc.Driver
49 - username: chenquan  
50 - password: Miraclequan@990429 49 + username: root
  50 + password: 123456
51 slave: # 模拟从库,可根据自己需要修改 51 slave: # 模拟从库,可根据自己需要修改
52 name: ruoyi-vue-pro 52 name: ruoyi-vue-pro
53 - url: jdbc:mysql://rm-j6cxl87683w973f78ho.mysql.rds.aliyuncs.com:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT 53 + url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT
54 driver-class-name: com.mysql.jdbc.Driver 54 driver-class-name: com.mysql.jdbc.Driver
55 - username: chenquan  
56 - password: Miraclequan@990429  
57 - 55 + username: root
  56 + password: 123456
58 57
59 activiti: 58 activiti:
60 #1.false:默认值,activiti启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常 59 #1.false:默认值,activiti启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常
yudao-admin-ui/src/utils/dict.js
@@ -35,7 +35,7 @@ export const DICT_TYPE = { @@ -35,7 +35,7 @@ export const DICT_TYPE = {
35 OA_LEAVE_TYPE: 'oa_leave_type', 35 OA_LEAVE_TYPE: 'oa_leave_type',
36 36
37 // 商户状态 37 // 商户状态
38 - PAY_MERCHANT_STATUS: 'pay_merchant_status', 38 + PAY_MERCHANT_STATUS: 'pay_merchant_status', // TODO @aquan:一般使用 COMMON_RESULT 即可。保持数值一致,以后加更多状态的时候,在单独数据字典
39 // 应用状态 39 // 应用状态
40 PAY_APP_STATUS: 'pay_app_status', 40 PAY_APP_STATUS: 'pay_app_status',
41 // 渠道状态 41 // 渠道状态