Commit 4b5c185608d8dab5a60360d86342233c1752bdd2
1 parent
ff21fdc5
code review 支付商户逻辑
Showing
8 changed files
with
23 additions
and
24 deletions
sql/pay-dict.sql
| ... | ... | @@ -175,17 +175,17 @@ VALUES (3, '全部退款', '20', 'pay_order_refund_status', 0, '全部退款', ' |
| 175 | 175 | |
| 176 | 176 | -- 退款订单状态 |
| 177 | 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 | 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 | 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 | 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 | 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
sql/pay-order-menu.sql
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/merchant/PayMerchantController.java
| ... | ... | @@ -75,7 +75,7 @@ public class PayMerchantController { |
| 75 | 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 | 79 | @ApiOperation("根据商户名称获得支付商户信息列表") |
| 80 | 80 | @ApiImplicitParam(name = "name", value = "商户名称", example = "芋道", dataTypeClass = Long.class) |
| 81 | 81 | @PreAuthorize("@ss.hasPermission('pay:merchant:query')") | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/service/merchant/PayMerchantService.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.pay.service.merchant; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | 3 | import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantCreateReqVO; |
| 5 | 4 | import cn.iocoder.yudao.adminserver.modules.pay.controller.merchant.vo.PayMerchantExportReqVO; |
| 6 | 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 | 10 | |
| 12 | 11 | import javax.validation.Valid; |
| 13 | 12 | import java.util.Collection; |
| 14 | -import java.util.Collections; | |
| 15 | 13 | import java.util.List; |
| 16 | 14 | import java.util.Map; |
| 17 | 15 | |
| 18 | 16 | /** |
| 19 | 17 | * 支付商户信息 Service 接口 |
| 20 | 18 | * |
| 21 | - * @author 芋艿 | |
| 19 | + * @author 芋艿 TODO @aquan:作者是你哈 | |
| 22 | 20 | */ |
| 23 | 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 | 21 | |
| 22 | 22 | import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_MERCHANT_NOT_EXISTS; |
| 23 | 23 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 24 | + | |
| 24 | 25 | /** |
| 25 | 26 | * 支付商户信息 Service 实现类 |
| 26 | 27 | * |
| ... | ... | @@ -86,6 +87,7 @@ public class PayMerchantServiceImpl implements PayMerchantService { |
| 86 | 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 | 116 | return this.merchantMapper.getMerchantListByName(merchantName); |
| 115 | 117 | } |
| 116 | 118 | |
| 117 | - | |
| 118 | 119 | /** |
| 119 | 120 | * 检查商户是否存在 |
| 120 | 121 | * @param id 商户编号 |
| ... | ... | @@ -134,6 +135,7 @@ public class PayMerchantServiceImpl implements PayMerchantService { |
| 134 | 135 | // TODO @芋艿:后续增加下合适的算法 |
| 135 | 136 | /** |
| 136 | 137 | * 根据年月日时分秒毫秒生成商户号 |
| 138 | + * | |
| 137 | 139 | * @return 商户号 |
| 138 | 140 | */ |
| 139 | 141 | private String generateMerchantNo(){ | ... | ... |
yudao-admin-server/src/main/resources/application-local.yaml
| ... | ... | @@ -44,17 +44,16 @@ spring: |
| 44 | 44 | datasource: |
| 45 | 45 | master: |
| 46 | 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 | 48 | driver-class-name: com.mysql.jdbc.Driver |
| 49 | - username: chenquan | |
| 50 | - password: Miraclequan@990429 | |
| 49 | + username: root | |
| 50 | + password: 123456 | |
| 51 | 51 | slave: # 模拟从库,可根据自己需要修改 |
| 52 | 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 | 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 | 58 | activiti: |
| 60 | 59 | #1.false:默认值,activiti启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常 | ... | ... |
yudao-admin-ui/src/utils/dict.js
| ... | ... | @@ -35,7 +35,7 @@ export const DICT_TYPE = { |
| 35 | 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 | 40 | PAY_APP_STATUS: 'pay_app_status', |
| 41 | 41 | // 渠道状态 | ... | ... |