From 42cfd24558ea6e36f92ec9a5ec5f430fbcd0ca11 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Wed, 5 Jun 2024 20:05:25 +0800 Subject: [PATCH 01/34] =?UTF-8?q?feat=20=E6=96=B0=E5=A2=9E=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E6=92=A4=E9=94=80,=20=E6=94=AF=E4=BB=98=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=A2=9E=E5=8A=A0=E6=92=A4=E9=94=80=E7=8A=B6=E6=80=81?= =?UTF-8?q?,=20=E5=88=A0=E9=99=A4=E6=97=A0=E5=85=B3=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 24 ++-- .../baseapi/dto/chinaword/ChinaWordDto.java | 30 ----- .../dto/chinaword/ChinaWordVerifyResult.java | 27 ----- .../param/chinaword/ChinaWordImportParam.java | 19 --- .../param/chinaword/ChinaWordParam.java | 31 ----- .../single/sdk/model/pay/PayCancelModel.java | 17 +++ .../single/sdk/param/pay/PayCancelParam.java | 41 +++++++ .../single/sdk/param/pay/PayCloseParam.java | 9 +- .../daxpay/single/sdk/param/pay/PayParam.java | 2 - .../single/sdk/payment/PayCloseOrderTest.java | 11 ++ .../cn/daxpay/single/code/PayStatusEnum.java | 1 + .../cn/daxpay/single/code/PaymentApiCode.java | 2 + .../daxpay/single/entity/RefundableInfo.java | 25 ---- .../param/payment/pay/PayCancelParam.java | 2 + .../param/payment/pay/PayCloseParam.java | 2 +- .../single/result/pay/PayCancelResult.java | 21 ++-- .../gateway/controller/UniPayController.java | 12 ++ .../single/service/code/PayCloseTypeEnum.java | 25 ++++ .../alipay/service/AliPayCloseService.java | 46 +++++-- .../wechat/service/WeChatPayCloseService.java | 31 ++++- .../core/order/pay/entity/PayOrder.java | 2 + .../order/pay/service/PayOrderService.java | 5 +- .../factory/PayCancelStrategyFactory.java | 38 ++++++ .../cancel/service/PayCancelService.java | 113 ++++++++++++++++++ .../cancel/strategy/AliPayCancelStrategy.java | 51 ++++++++ .../strategy/WeChatPayCancelStrategy.java | 58 +++++++++ .../close/service/PayCloseService.java | 5 +- .../payment/pay/service/PayAssistService.java | 2 +- .../refund/service/RefundAssistService.java | 1 + .../repair/service/PayRepairService.java | 14 +-- .../payment/sync/service/PaySyncService.java | 3 +- .../record/close/entity/PayCloseRecord.java | 8 ++ .../dto/record/close/PayCloseRecordDto.java | 8 ++ .../service/func/AbsPayCancelStrategy.java | 28 +++++ .../param/record/PayCloseRecordQuery.java | 2 +- 35 files changed, 517 insertions(+), 199 deletions(-) delete mode 100644 bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordDto.java delete mode 100644 bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordVerifyResult.java delete mode 100644 bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordImportParam.java delete mode 100644 bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordParam.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayCancelModel.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCancelParam.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/entity/RefundableInfo.java rename bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordVerifyParam.java => daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCancelResult.java (30%) create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/PayCloseTypeEnum.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayCancelStrategy.java diff --git a/_doc/Task.md b/_doc/Task.md index ea2506bb..9917ac51 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,28 +1,22 @@ ## 单商户 2.0.8: 对账完善和系统优化 -- [ ] 细分各种支付异常类和编码 -- [ ] 修复功能支付/退款/对账 +- [ ] 支持撤销接口 - [ ] 增加转账接口功能 +- [ ] 细分各种支付异常类和编码 +- [ ] 增加对账修复功能拆 - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 - [ ] 管理端界面支持扫码绑定对账接收方功能 -- [ ] 对账提供外部接口调用 - - [ ] 下载系统账单 -- [ ] 分账结果通知处理 - - [ ] 支付宝通知 - - [ ] 微信通知 - - [ ] 通知记录保存 - [ ] 增加收单收银台功能 - [ ] 增加资金对账单功能 - [ ] 支付通道两个独立的配置进行合并为一个 -- [ ] 支持撤销接口 -- [ ] 支付和退款达到终态不可以再回退回之前的状态, 只能添加差错单进行处理 - -2.0.8: 转账和功能功能优化 -- [ ] 支持转账操作, 通过支付通道专有参数进行实现, 转账时只能单个通道进行操作 +- [ ] 支付和退款达到终态不可以再回退回之前的状态 +- [x] 修复支付关闭参数名称不正确问题 +2.0.9: 消息通知和功能功能优化 +- [ ] 将系统通知消息重构为类似支付宝应用通知的方式 - [ ] 支付成功回调后, 如果订单已超时, 则进入待退款订单中,提示进行退款,或者自动退款 -- [ ] 新增支付单预警功能, 处理支付单与网关状态不一致且无法自动修复的情况 -2.1.x 版本内容 + 2.1.x 版本内容 +- [ ] 新增支付单预警功能, 处理支付单与网关状态不一致且无法自动修复的情况 - [ ] 差错单据处理 - [ ] 特殊退款接口 - [ ] 统计报表功能 diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordDto.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordDto.java deleted file mode 100644 index f31a395b..00000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.baseapi.dto.chinaword; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 敏感词 - * @author xxm - * @since 2023-08-09 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "敏感词") -@Accessors(chain = true) -public class ChinaWordDto extends BaseDto { - - @Schema(description = "敏感词") - private String word; - @Schema(description = "分类") - private String type; - @Schema(description = "描述") - private String description; - @Schema(description = "是否启用") - private Boolean enable; - @Schema(description = "是否是白名单名词") - private Boolean white; -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordVerifyResult.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordVerifyResult.java deleted file mode 100644 index dc8887f5..00000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordVerifyResult.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.baseapi.dto.chinaword; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.Set; - -/** - * 敏感词验证结果 - * @author xxm - * @since 2023/8/9 - */ -@Data -@Accessors(chain = true) -@Schema(title = "敏感词验证结果") -public class ChinaWordVerifyResult { - - @Schema(description = "是否敏感") - private boolean sensitive; - @Schema(description = "敏感词数量") - private int count; - @Schema(description = "去重后的敏感词列表") - private Set<String> sensitiveWords; - @Schema(description = "脱敏后的文本") - private String text; -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordImportParam.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordImportParam.java deleted file mode 100644 index 5edd178b..00000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordImportParam.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.baseapi.param.chinaword; - -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -/** - * 敏感词导入参数 - * @author xxm - * @since 2023/8/12 - */ -@Data -public class ChinaWordImportParam { - @ExcelProperty(value = "类型") - private String type; - @ExcelProperty("黑/白名单") - private String whiteOrBlack; - @ExcelProperty("敏感词") - private String word; -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordParam.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordParam.java deleted file mode 100644 index 3e5c1fc7..00000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordParam.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.bootx.platform.baseapi.param.chinaword; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 敏感词 - * @author xxm - * @since 2023-08-09 - */ -@Data -@Schema(title = "敏感词") -@Accessors(chain = true) -public class ChinaWordParam { - - @Schema(description= "主键") - private Long id; - - @Schema(description = "敏感词") - private String word; - @Schema(description = "分类") - private String type; - @Schema(description = "描述") - private String description; - @Schema(description = "是否启用") - private Boolean enable; - @Schema(description = "白名单名词") - private Boolean white; - -} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayCancelModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayCancelModel.java new file mode 100644 index 00000000..427cd572 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayCancelModel.java @@ -0,0 +1,17 @@ +package cn.daxpay.single.sdk.model.pay; + +import cn.daxpay.single.sdk.net.DaxPayResponseModel; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * 支付撤销 + * @author xxm + * @since 2024/2/2 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class PayCancelModel extends DaxPayResponseModel { +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCancelParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCancelParam.java new file mode 100644 index 00000000..089994a1 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCancelParam.java @@ -0,0 +1,41 @@ +package cn.daxpay.single.sdk.param.pay; + +import cn.daxpay.single.sdk.model.pay.PayCancelModel; +import cn.daxpay.single.sdk.net.DaxPayRequest; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.json.JSONUtil; +import lombok.Getter; +import lombok.Setter; + +/** + * 支付撤销参数 + * @author xxm + * @since 2023/12/17 + */ +@Getter +@Setter +public class PayCancelParam extends DaxPayRequest<PayCancelModel> { + + /** 订单号 */ + private String orderNo; + + /** 商户订单号 */ + private String bizOrderNo; + + /** + * 方法请求路径 + */ + @Override + public String path() { + return "/unipay/cancel"; + } + + /** + * 将请求返回结果反序列化为实体类 + */ + @Override + public DaxPayResult<PayCancelModel> toModel(String json) { + return JSONUtil.toBean(json, new TypeReference<DaxPayResult<PayCancelModel>>() {}, false); + } +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java index f0883458..7d6e752e 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java @@ -5,23 +5,22 @@ import cn.daxpay.single.sdk.net.DaxPayRequest; import cn.daxpay.single.sdk.response.DaxPayResult; import cn.hutool.core.lang.TypeReference; import cn.hutool.json.JSONUtil; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.*; /** * 支付关闭参数 * @author xxm * @since 2023/12/17 */ -@EqualsAndHashCode(callSuper = true) -@Data +@Getter +@Setter public class PayCloseParam extends DaxPayRequest<PayCloseModel> { /** 订单号 */ private String orderNo; /** 商户订单号 */ - private String bizTradeNo; + private String bizOrderNo; /** * 方法请求路径 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java index 10f5555c..1f275bdc 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java @@ -13,7 +13,6 @@ import cn.hutool.core.lang.TypeReference; import cn.hutool.json.JSONUtil; import lombok.Getter; import lombok.Setter; -import lombok.ToString; import java.time.LocalDateTime; @@ -24,7 +23,6 @@ import java.time.LocalDateTime; */ @Getter @Setter -@ToString(callSuper = true) public class PayParam extends DaxPayRequest<PayModel> { /** 商户订单号 */ diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java index 51592947..8cb86723 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java @@ -1,9 +1,11 @@ package cn.daxpay.single.sdk.payment; import cn.daxpay.single.sdk.code.SignTypeEnum; +import cn.daxpay.single.sdk.model.pay.PayCancelModel; import cn.daxpay.single.sdk.model.pay.PayCloseModel; import cn.daxpay.single.sdk.net.DaxPayConfig; import cn.daxpay.single.sdk.net.DaxPayKit; +import cn.daxpay.single.sdk.param.pay.PayCancelParam; import cn.daxpay.single.sdk.param.pay.PayCloseParam; import cn.daxpay.single.sdk.response.DaxPayResult; import cn.hutool.json.JSONUtil; @@ -37,4 +39,13 @@ public class PayCloseOrderTest { DaxPayResult<PayCloseModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); } + + @Test + public void cancel(){ + PayCancelParam param = new PayCancelParam(); + param.setOrderNo("DEVP24060518083863000001"); + param.setClientIp("127.0.0.1"); + DaxPayResult<PayCancelModel> execute = DaxPayKit.execute(param); + System.out.println(JSONUtil.toJsonStr(execute)); + } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java index 87946d9d..92da5218 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java @@ -18,6 +18,7 @@ public enum PayStatusEnum { PROGRESS("progress","支付中"), SUCCESS("success","成功"), CLOSE("close","支付关闭"), + CANCEL("cancel","支付撤销"), REFUNDING("refunding","退款中"), PARTIAL_REFUND("partial_refund","部分退款"), REFUNDED("refunded","全部退款"), diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java index fbe8bd27..d0d7e930 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java @@ -12,6 +12,8 @@ public interface PaymentApiCode { String REFUND = "refund"; /** 关闭订单 */ String CLOSE = "close"; + /** 撤销订单 */ + String CANCEL = "cancel"; /** 分账 */ String ALLOCATION = "allocation"; /** 转账 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/entity/RefundableInfo.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/entity/RefundableInfo.java deleted file mode 100644 index 450bcfeb..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/entity/RefundableInfo.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.daxpay.single.entity; - -import cn.daxpay.single.code.PayChannelEnum; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 可退款信息(不持久化,直接保存为json) - * @author xxm - * @since 2023/12/18 - */ -@Data -@Accessors(chain = true) -public class RefundableInfo { - /** - * 通道 - * @see PayChannelEnum#getCode() - */ - private String channel; - - /** - * 可退款金额 - */ - private Integer amount; -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java index d0688229..e1ebcbb9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java @@ -16,9 +16,11 @@ import lombok.EqualsAndHashCode; @Schema(title = "支付订单撤销") public class PayCancelParam extends PaymentCommonParam { + /** 订单号 */ @Schema(description = "订单号") private String orderNo; + /** 商户订单号 */ @Schema(description = "商户订单号") private String bizOrderNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java index d372aae5..35eda5c9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java @@ -21,5 +21,5 @@ public class PayCloseParam extends PaymentCommonParam { /** 商户订单号 */ @Schema(description = "商户订单号") - private String bizTradeNo; + private String bizOrderNo; } diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordVerifyParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCancelResult.java similarity index 30% rename from bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordVerifyParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCancelResult.java index 46d2465a..769fc2bb 100644 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordVerifyParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCancelResult.java @@ -1,24 +1,19 @@ -package cn.bootx.platform.baseapi.param.chinaword; +package cn.daxpay.single.result.pay; +import cn.daxpay.single.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * 敏感词验证参数类 + * 支付关闭响应参数 * @author xxm - * @since 2023/8/10 + * @since 2024/4/23 */ +@EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@Schema(title = "敏感词验证参数类") -public class ChinaWordVerifyParam { - @Schema(description = "文本") - private String text; - - @Schema(description = "间隔距离") - private int skip = 0; - - @Schema(description = "替换字符") - private char symbol = '*'; +@Schema(title = "支付撤销响应参数") +public class PayCancelResult extends PaymentCommonResult { } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java index 697c9fbf..51b581d9 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java @@ -2,16 +2,19 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.code.PaymentApiCode; +import cn.daxpay.single.param.payment.pay.PayCancelParam; import cn.daxpay.single.param.payment.pay.PayCloseParam; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.param.payment.refund.RefundParam; import cn.daxpay.single.param.payment.transfer.TransferParam; import cn.daxpay.single.result.DaxResult; +import cn.daxpay.single.result.pay.PayCancelResult; import cn.daxpay.single.result.pay.PayCloseResult; import cn.daxpay.single.result.pay.PayResult; import cn.daxpay.single.result.pay.RefundResult; import cn.daxpay.single.service.annotation.PaymentSign; import cn.daxpay.single.service.annotation.InitPaymentContext; +import cn.daxpay.single.service.core.payment.cancel.service.PayCancelService; import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.pay.service.PayService; import cn.daxpay.single.service.core.payment.refund.service.RefundService; @@ -38,6 +41,7 @@ public class UniPayController { private final PayService payService; private final RefundService refundService; private final PayCloseService payCloseService; + private final PayCancelService payCancelService; @PaymentSign @InitPaymentContext(PaymentApiCode.PAY) @@ -55,6 +59,14 @@ public class UniPayController { return DaxRes.ok(payCloseService.close(param)); } + @PaymentSign + @InitPaymentContext(PaymentApiCode.CANCEL) + @Operation(summary = "支付撤销接口") + @PostMapping("/cancel") + public DaxResult<PayCancelResult> cancel(@RequestBody PayCancelParam param){ + return DaxRes.ok(payCancelService.cancel(param)); + } + @PaymentSign @InitPaymentContext(PaymentApiCode.REFUND) @Operation(summary = "统一退款接口") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/PayCloseTypeEnum.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/PayCloseTypeEnum.java new file mode 100644 index 00000000..629186d7 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/PayCloseTypeEnum.java @@ -0,0 +1,25 @@ +package cn.daxpay.single.service.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 订单关闭类型 + * @author xxm + * @since 2024/6/5 + */ +@Getter +@AllArgsConstructor +public enum PayCloseTypeEnum { + /** + * 订单关闭 + */ + CLOSE("close", "订单关闭"), + /** + * 订单撤销 + */ + CANCEL("cancel", "订单撤销"), + ; + final String code; + final String name; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java index 2d936af9..50143899 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java @@ -1,24 +1,24 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.bootx.platform.common.spring.exception.RetryableException; import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; -import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import com.alipay.api.AlipayApiException; +import com.alipay.api.domain.AlipayTradeCancelModel; import com.alipay.api.domain.AlipayTradeCloseModel; +import com.alipay.api.response.AlipayTradeCancelResponse; import com.alipay.api.response.AlipayTradeCloseResponse; import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Service; import java.util.Objects; /** - * 支付宝支付取消和支付关闭 + * 支付宝支付撤销和支付关闭 * * @author xxm * @since 2021/4/20 @@ -30,15 +30,13 @@ public class AliPayCloseService { private final AliPaySyncService aliPaySyncService; /** - * 关闭支付 此处使用交易关闭接口, 支付宝支持 交易关闭 和 交易撤销 两种关闭订单的方式, 区别如下 + * 关闭支付 此处使用交易关闭接口 * 交易关闭: 只有订单在未支付的状态下才可以进行关闭, 商户不需要额外申请就有此接口的权限 - * 交易撤销: 如果用户支付成功,会将此订单资金退还给用户. 限制时间为1天,过了24小时,该接口无法再使用。可以视为一个特殊的接口, 需要专门签约这个接口的权限 * <p> * 1. 如果未查询到支付单,视为支付关闭, * 2. 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 * */ - @Retryable(value = RetryableException.class) public void close(PayOrder payOrder) { AlipayTradeCloseModel model = new AlipayTradeCloseModel(); model.setOutTradeNo(payOrder.getOrderNo()); @@ -65,6 +63,38 @@ public class AliPayCloseService { } } + /** + * 交易撤销: 如果用户支付成功,会将此订单资金退还给用户. 限制时间为1天,过了24小时,该接口无法再使用。 + * 可以视为一个特殊的接口, 需要专门签约这个接口的权限 + */ + public void cancel(PayOrder payOrder) { + AlipayTradeCancelModel model = new AlipayTradeCancelModel(); + model.setOutTradeNo(payOrder.getOrderNo()); + + try { + AlipayTradeCancelResponse response = AliPayApi.tradeCancelToResponse(model); + if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { + if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { + // 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 + if (Objects.equals(response.getSubCode(),AliPayCode.ACQ_TRADE_STATUS_ERROR)){ + if (this.syncStatus(payOrder)){ + return; + } + } + // 返回"交易不存在"视同关闭成功 + if (Objects.equals(response.getSubCode(),AliPayCode.ACQ_TRADE_NOT_EXIST)){ + return; + } + log.error("网关返回关闭失败: {}", response.getSubMsg()); + throw new PayFailureException(response.getSubMsg()); + } + } + } catch (AlipayApiException e) { + log.error("关闭订单失败:", e); + throw new PayFailureException("关闭订单失败"); + } + } + /** * 关闭失败后, 获取支付网关的状态, 如果是关闭返回true, 其他情况抛出异常 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java index b14142df..7be1efbe 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.bootx.platform.common.spring.exception.RetryableException; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; +import cn.hutool.core.codec.Base64; import cn.hutool.core.util.StrUtil; import com.ijpay.core.enums.SignType; import com.ijpay.core.kit.WxPayKit; @@ -12,9 +12,9 @@ import com.ijpay.wxpay.WxPayApi; import com.ijpay.wxpay.model.CloseOrderModel; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Service; +import java.io.ByteArrayInputStream; import java.util.Map; /** @@ -31,7 +31,6 @@ public class WeChatPayCloseService { /** * 关闭支付, 微信对已经关闭的支付单也可以重复关闭 */ - @Retryable(value = RetryableException.class) public void close(PayOrder payOrder, WeChatPayConfig weChatPayConfig) { // 只有部分需要调用微信网关进行关闭 Map<String, String> params = CloseOrderModel.builder() @@ -47,6 +46,32 @@ public class WeChatPayCloseService { this.verifyErrorMsg(result); } + /** + * 撤销接口 + */ + public void cancel(PayOrder payOrder, WeChatPayConfig weChatPayConfig){ + // 只有部分需要调用微信网关进行关闭 + Map<String, String> params = CloseOrderModel.builder() + .appid(weChatPayConfig.getWxAppId()) + .mch_id(weChatPayConfig.getWxMchId()) + .out_trade_no(payOrder.getOrderNo()) + .nonce_str(WxPayKit.generateStr()) + .build() + .createSign(weChatPayConfig.getApiKeyV2(), SignType.HMACSHA256); + + // 获取证书文件 + if (StrUtil.isBlank(weChatPayConfig.getP12())){ + String errorMsg = "微信p.12证书未配置,无法进行退款"; + throw new PayFailureException(errorMsg); + } + byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); + ByteArrayInputStream inputStream = new ByteArrayInputStream(fileBytes); + // 证书密码为 微信商户号 + String xmlResult = WxPayApi.orderReverse(params,inputStream,weChatPayConfig.getWxMchId()); + Map<String, String> result = WxPayKit.xmlToMap(xmlResult); + this.verifyErrorMsg(result); + } + /** * 验证错误信息 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index 6bb7e72f..0e4d5644 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.order.pay.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.daxpay.single.code.PayMethodEnum; import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PayStatusEnum; @@ -71,6 +72,7 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde /** * 支付方式 + * @see PayMethodEnum */ @DbColumn(comment = "支付方式") private String method; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java index a0918b93..ea9e047d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java @@ -28,7 +28,10 @@ public class PayOrderService { private final PayExpiredTimeService expiredTimeService; // 支付完成常量集合 - private final List<String> ORDER_FINISH = Arrays.asList(PayStatusEnum.CLOSE.getCode(), PayStatusEnum.SUCCESS.getCode()); + private final List<String> ORDER_FINISH = Arrays.asList( + PayStatusEnum.CLOSE.getCode(), + PayStatusEnum.CANCEL.getCode(), + PayStatusEnum.SUCCESS.getCode()); /** * 查询 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java new file mode 100644 index 00000000..1ed871cd --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java @@ -0,0 +1,38 @@ +package cn.daxpay.single.service.core.payment.cancel.factory; + +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; +import cn.daxpay.single.service.core.payment.cancel.strategy.AliPayCancelStrategy; +import cn.daxpay.single.service.core.payment.cancel.strategy.WeChatPayCancelStrategy; +import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import cn.hutool.extra.spring.SpringUtil; +import lombok.experimental.UtilityClass; + +/** + * 订单撤销策略工厂 + * @author xxm + * @since 2024/6/5 + */ +@UtilityClass +public class PayCancelStrategyFactory { + + /** + * 根据传入的支付通道创建策略 + * @return 支付策略 + */ + public static AbsPayCancelStrategy create(String channel) { + PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); + AbsPayCancelStrategy strategy; + switch (channelEnum) { + case ALI: + strategy = SpringUtil.getBean(AliPayCancelStrategy.class); + break; + case WECHAT: + strategy = SpringUtil.getBean(WeChatPayCancelStrategy.class); + break; + default: + throw new PayUnsupportedMethodException(); + } + return strategy; + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java new file mode 100644 index 00000000..ebcc7158 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java @@ -0,0 +1,113 @@ +package cn.daxpay.single.service.core.payment.cancel.service; + +import cn.bootx.platform.common.core.exception.RepetitiveOperationException; +import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.param.payment.pay.PayCancelParam; +import cn.daxpay.single.result.pay.PayCancelResult; +import cn.daxpay.single.service.code.PayCloseTypeEnum; +import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.order.pay.entity.PayOrder; +import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; +import cn.daxpay.single.service.core.order.pay.service.PayOrderService; +import cn.daxpay.single.service.core.payment.cancel.factory.PayCancelStrategyFactory; +import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; +import cn.daxpay.single.service.core.record.close.entity.PayCloseRecord; +import cn.daxpay.single.service.core.record.close.service.PayCloseRecordService; +import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import com.baomidou.lock.LockInfo; +import com.baomidou.lock.LockTemplate; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.Objects; + +/** + * 支付关闭和撤销服务 + * @author xxm + * @since 2023/12/18 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PayCancelService { + private final PayOrderService payOrderService; + private final PayOrderQueryService payOrderQueryService; + private final PayCloseRecordService payCloseRecordService; + private final ClientNoticeService clientsService;; + + private final LockTemplate lockTemplate; + + /** + * 撤销支付 + */ + public PayCancelResult cancel(PayCancelParam param){ + PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) + .orElseThrow(() -> new PayFailureException("支付订单不存在")); + LockInfo lock = lockTemplate.lock("payment:cancel:" + payOrder.getId(),10000, 50); + if (Objects.isNull(lock)){ + throw new RepetitiveOperationException("支付订单已在撤销中,请勿重复发起"); + } + try { + PayCancelResult result = new PayCancelResult(); + // 状态检查, 只有支付中可以进行撤销支付 + if (!Objects.equals(payOrder.getStatus(), PayStatusEnum.PROGRESS.getCode())) { + throw new PayFailureException("订单不是支付中, 无法进行撤销订单"); + } + try { + AbsPayCancelStrategy strategy = PayCancelStrategyFactory.create(payOrder.getChannel()); + // 设置支付订单 + strategy.setOrder(payOrder); + // 撤销前准备 + strategy.doBeforeCancelHandler(); + // 执行撤销策略 + strategy.doCancelHandler(); + // 成功处理 + this.successHandler(payOrder); + // 返回结果 + return result; + } catch (Exception e) { + log.error("撤销订单失败, id: {}:", payOrder.getId()); + log.error("撤销订单失败:", e); + // 记录撤销失败的记录 + this.saveRecord(payOrder, false, e.getMessage()); + throw new PayFailureException("撤销订单失败"); + } + } finally { + lockTemplate.releaseLock(lock); + } + } + + /** + * 成功后处理方法 + */ + private void successHandler(PayOrder payOrder){ + // 撤销订单 + payOrder.setStatus(PayStatusEnum.CANCEL.getCode()) + .setCloseTime(LocalDateTime.now()); + payOrderService.updateById(payOrder); + // 发送通知 + clientsService.registerPayNotice(payOrder,null); + this.saveRecord(payOrder,true,null); + } + + /** + * 保存撤销记录 + */ + private void saveRecord(PayOrder payOrder, boolean closed, String errMsg){ + String clientIp = PaymentContextLocal.get() + .getRequestInfo() + .getClientIp(); + PayCloseRecord record = new PayCloseRecord() + .setOrderNo(payOrder.getOrderNo()) + .setBizOrderNo(payOrder.getBizOrderNo()) + .setChannel(payOrder.getChannel()) + .setCloseType(PayCloseTypeEnum.CANCEL.getCode()) + .setClosed(closed) + .setErrorMsg(errMsg) + .setClientIp(clientIp); + payCloseRecordService.saveRecord(record); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java new file mode 100644 index 00000000..75865b43 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java @@ -0,0 +1,51 @@ +package cn.daxpay.single.service.core.payment.cancel.strategy; + +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.service.core.channel.alipay.service.AliPayCloseService; +import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; +import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 支付宝撤销策略 + * @author xxm + * @since 2024/6/5 + */ +@Slf4j +@Scope(SCOPE_PROTOTYPE) +@Service +@RequiredArgsConstructor +public class AliPayCancelStrategy extends AbsPayCancelStrategy { + + private final AliPayConfigService alipayConfigService; + + private final AliPayCloseService aliPayCloseService; + + @Override + public PayChannelEnum getChannel() { + return PayChannelEnum.ALI; + } + + /** + * 关闭前的处理方式 + */ + @Override + public void doBeforeCancelHandler() { + AliPayConfig config = alipayConfigService.getConfig(); + alipayConfigService.initConfig(config); + } + + /** + * 关闭操作 + */ + @Override + public void doCancelHandler() { + aliPayCloseService.cancel(this.getOrder()); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java new file mode 100644 index 00000000..df91dde0 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java @@ -0,0 +1,58 @@ +package cn.daxpay.single.service.core.payment.cancel.strategy; + +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.PayMethodEnum; +import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCloseService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; +import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 微信支付关闭策略 + * @author xxm + * @since 2023/12/30 + */ +@Slf4j +@Scope(SCOPE_PROTOTYPE) +@Service +@RequiredArgsConstructor +public class WeChatPayCancelStrategy extends AbsPayCancelStrategy { + + private final WeChatPayConfigService weChatPayConfigService; + private final WeChatPayCloseService weChatPayCloseService; + + private WeChatPayConfig weChatPayConfig; + + @Override + public PayChannelEnum getChannel() { + return PayChannelEnum.WECHAT; + } + + /** + * 关闭前的处理方式 + */ + @Override + public void doBeforeCancelHandler() { + // 非当面付订单不可以关闭 + if (!Objects.equals(this.getOrder().getMethod(), PayMethodEnum.BARCODE.getCode())) { + throw new RuntimeException("微信当面付订单才可以被撤销"); + } + this.weChatPayConfig = weChatPayConfigService.getConfig(); + } + + /** + * 关闭操作 + */ + @Override + public void doCancelHandler() { + weChatPayCloseService.cancel(this.getOrder(), weChatPayConfig); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index 3ebce3a2..75e13c79 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -5,6 +5,7 @@ import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.pay.PayCloseParam; import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; @@ -43,7 +44,7 @@ public class PayCloseService { * 关闭支付 */ public PayCloseResult close(PayCloseParam param){ - PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizTradeNo()) + PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) .orElseThrow(() -> new PayFailureException("支付订单不存在")); LockInfo lock = lockTemplate.lock("payment:close:" + payOrder.getId(),10000, 50); if (Objects.isNull(lock)){ @@ -83,7 +84,6 @@ public class PayCloseService { // 记录关闭失败的记录 this.saveRecord(payOrder, false, e.getMessage()); throw new PayFailureException("关闭订单失败"); - } } @@ -111,6 +111,7 @@ public class PayCloseService { .setOrderNo(payOrder.getOrderNo()) .setBizOrderNo(payOrder.getBizOrderNo()) .setChannel(payOrder.getChannel()) + .setCloseType(PayCloseTypeEnum.CLOSE.getCode()) .setClosed(closed) .setErrorMsg(errMsg) .setClientIp(clientIp); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 443af489..a863f50b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -200,7 +200,7 @@ public class PayAssistService { throw new PayFailureException("已经支付成功,请勿重新支付"); } // 支付失败类型状态 - List<String> tradesStatus = Arrays.asList(FAIL.getCode(), CLOSE.getCode()); + List<String> tradesStatus = Arrays.asList(FAIL.getCode(), CLOSE.getCode(), CANCEL.getCode()); if (tradesStatus.contains(payOrder.getStatus())) { throw new PayFailureException("支付失败或已经被关闭"); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 8d011662..7bf7de3a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -83,6 +83,7 @@ public class RefundAssistService { List<String> tradesStatus = Arrays.asList( PayStatusEnum.PROGRESS.getCode(), PayStatusEnum.CLOSE.getCode(), + PayStatusEnum.CANCEL.getCode(), PayStatusEnum.REFUNDED.getCode(), PayStatusEnum.REFUNDING.getCode(), PayStatusEnum.FAIL.getCode()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java index c9f1a866..7a8a03ea 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java @@ -74,8 +74,7 @@ public class PayRepairService { repairResult.setAfterPayStatus(PayStatusEnum.CLOSE); break; case PROGRESS: - this.waitPay(order); - repairResult.setAfterPayStatus(PayStatusEnum.PROGRESS); + // TODO 保存为异常订单 break; case CLOSE_GATEWAY: this.closeRemote(order, repairStrategy); @@ -93,17 +92,6 @@ public class PayRepairService { return repairResult; } - /** - * 变更未待支付 - * TODO 后期保存为异常订单 - */ - private void waitPay(PayOrder order) { - // 修改订单支付状态为待支付 - order.setStatus(PayStatusEnum.PROGRESS.getCode()) - .setPayTime(null) - .setCloseTime(null); - payOrderService.updateById(order); - } /** * 变更为已支付 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java index a26d371e..29e18b60 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java @@ -33,7 +33,6 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Objects; @@ -163,7 +162,7 @@ public class PaySyncService { 未找到订单可能是发起支付用户未操作、支付已关闭、交易未找到三种情况 所以需要根据本地订单不同的状态进行特殊处理, 此处视为支付已关闭、交易未找到这两种, 处理方式相同, 都作为支付关闭处理 */ - List<String> payCloseEnums = Collections.singletonList(PayStatusEnum.CLOSE.getCode()); + List<String> payCloseEnums = Arrays.asList(PayStatusEnum.CLOSE.getCode(), PayStatusEnum.CANCEL.getCode()); List<PaySyncStatusEnum> syncClose = Arrays.asList(CLOSED, NOT_FOUND, NOT_FOUND_UNKNOWN); if (payCloseEnums.contains(orderStatus) && syncClose.contains(syncStatus)){ return true; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java index b4e1adf2..f96ac5ec 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.record.close.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.core.record.close.convert.PayCloseRecordConvert; import cn.daxpay.single.service.dto.record.close.PayCloseRecordDto; import cn.bootx.table.modify.annotation.DbColumn; @@ -39,6 +40,13 @@ public class PayCloseRecord extends MpCreateEntity implements EntityBaseFunction @DbColumn(comment = "关闭的支付通道") private String channel; + /** + * 关闭类型 关闭/撤销 + * @see PayCloseTypeEnum + */ + @DbColumn(comment = "关闭类型") + private String closeType; + /** * 是否关闭成功 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java index 0659b306..b165e89a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.dto.record.close; import cn.bootx.platform.common.core.rest.dto.BaseDto; import cn.daxpay.single.code.PayChannelEnum; import cn.bootx.table.modify.annotation.DbColumn; +import cn.daxpay.single.service.code.PayCloseTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -34,6 +35,13 @@ public class PayCloseRecordDto extends BaseDto { @DbColumn(comment = "关闭的异步支付通道") private String channel; + /** + * 关闭类型 关闭/撤销 + * @see PayCloseTypeEnum + */ + @DbColumn(comment = "关闭类型") + private String closeType; + /** * 是否关闭成功 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayCancelStrategy.java new file mode 100644 index 00000000..7ef7848d --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayCancelStrategy.java @@ -0,0 +1,28 @@ +package cn.daxpay.single.service.func; + +import cn.daxpay.single.service.core.order.pay.entity.PayOrder; +import lombok.Getter; +import lombok.Setter; + +/** + * 支付订单撤销接口 + * @author xxm + * @since 2024/6/5 + */ +@Getter +@Setter +public abstract class AbsPayCancelStrategy implements PayStrategy { + /** 支付订单 */ + private PayOrder order = null; + + + /** + * 撤销前的处理方式 + */ + public void doBeforeCancelHandler() {} + + /** + * 撤销操作 + */ + public abstract void doCancelHandler(); +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java index 2fbdface..686a991c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java @@ -38,7 +38,7 @@ public class PayCloseRecordQuery extends QueryOrder { * 是否关闭成功 */ @DbColumn(comment = "是否关闭成功") - private boolean closed; + private Boolean closed; /** 错误码 */ @DbColumn(comment = "错误码") -- Gitee From 848c55d13c9d64fa4fe2974ae4ebc822724b4a4e Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Thu, 6 Jun 2024 20:35:37 +0800 Subject: [PATCH 02/34] =?UTF-8?q?feat=20=E8=BD=AC=E8=B4=A6=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 25 +++++---- .../single/code/AllocReceiverTypeEnum.java | 2 +- .../single/code/TransferPayeeTypeEnum.java | 51 +++++++++++++++++++ .../daxpay/single/code/TransferTypeEnum.java | 26 ++++++++++ .../param/payment/transfer/TransferParam.java | 51 +++++++++++++++++++ .../result/transfer/TransferResult.java | 19 +++++++ .../gateway/controller/TestController.java | 3 ++ .../gateway/controller/UniPayController.java | 7 ++- .../alipay/service/AliPayTransferService.java | 13 ++++- .../refund/service/RefundOrderService.java | 1 - .../dao/TransferOrderExtraManager.java | 16 ++++++ .../dao/TransferOrderExtraMapper.java | 14 +++++ .../order/transfer/entity/TransferOrder.java | 44 +++++++++++++--- .../transfer/entity/TransferOrderExtra.java | 43 ++++++++++++++++ .../service/TransferOrderService.java | 4 ++ .../sync/factory/PaySyncStrategyFactory.java | 6 ++- .../transfer/factory/TransferFactory.java | 23 +++++++++ .../service/TransferAssistService.java | 44 ++++++++++++++++ .../transfer/service/TransferService.java | 48 +++++++++++++++++ .../strategy/AliPayTransferStrategy.java | 4 ++ .../service/func/AbsRefundStrategy.java | 1 - .../service/func/AbsTransferStrategy.java | 12 +++++ 22 files changed, 431 insertions(+), 26 deletions(-) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferTypeEnum.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java diff --git a/_doc/Task.md b/_doc/Task.md index 9917ac51..19dc8892 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,31 +1,34 @@ ## 单商户 2.0.8: 对账完善和系统优化 -- [ ] 支持撤销接口 +- [x] 支持撤销接口 - [ ] 增加转账接口功能 -- [ ] 细分各种支付异常类和编码 -- [ ] 增加对账修复功能拆 +- [ ] 细分各种支付异常类和编码(完成部分) +- [ ] 增加分账修复功能 - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 - [ ] 管理端界面支持扫码绑定对账接收方功能 -- [ ] 增加收单收银台功能 -- [ ] 增加资金对账单功能 - [ ] 支付通道两个独立的配置进行合并为一个 -- [ ] 支付和退款达到终态不可以再回退回之前的状态 +- [ ] 支付宝拆分退款状态为单独的字段 +- [ ] 工厂支持自适应 +- [x] 支付和退款达到终态不可以再回退回之前的状态 - [x] 修复支付关闭参数名称不正确问题 -2.0.9: 消息通知和功能功能优化 -- [ ] 将系统通知消息重构为类似支付宝应用通知的方式 -- [ ] 支付成功回调后, 如果订单已超时, 则进入待退款订单中,提示进行退款,或者自动退款 +2.0.9: 消息通知改版和功能优化 +- [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 +- [ ] 平台配置和接口配置删除回调地址配置, 只保留接口参数设置 +- [ ] 增加支付宝和微信通知回调地址一键生成功能 2.1.x 版本内容 +- [ ] 增加收单收银台功能 +- [ ] 增加资金对账单功能 - [ ] 新增支付单预警功能, 处理支付单与网关状态不一致且无法自动修复的情况 - [ ] 差错单据处理 + - [ ] 支付成功回调订单已超时 + - [ ] 对账单据不平 - [ ] 特殊退款接口 - [ ] 统计报表功能 - [ ] 微信新增V3版本接口 - [ ] 支付宝新增V3版本接口 - [ ] 增加各类日志记录,例如钱包的各项操作 -- [ ] 增加撤销功能,用于处理线下支付订单的情况 - [ ] 数据库表进行规则, 字段设置长度, 增加索引 -- [ ] 订单超时支持数据表级别触发 - [ ] 针对同步/对账等出现脏数据导致阻塞的问题, 进行优化 - [ ] 同步接口 - [ ] 对账接口 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java index 944a3280..9b755987 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java @@ -24,7 +24,7 @@ public enum AllocReceiverTypeEnum { ALI_USER_ID("ali_user_id","userId", "用户ID"), /** openId */ ALI_OPEN_ID("ali_open_id","openId", "openId"), - /** 账号 */ + /** 账号 支持邮箱和手机号格式 */ ALI_LOGIN_NAME("ali_login_name","loginName", "账号"); /** 编码 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java new file mode 100644 index 00000000..06cc8934 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java @@ -0,0 +1,51 @@ +package cn.daxpay.single.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 转账接收方类型 + * @author xxm + * @since 2024/4/1 + */ +@Getter +@AllArgsConstructor +public enum TransferPayeeTypeEnum { + /** 个人 */ + WX_PERSONAL("wx_personal","openid", "个人"), + + + /** userId 以2088开头的纯16位数字 */ + ALI_USER_ID("ali_user_id","ALIPAY_USERID", "用户ID"), + /** openId */ + ALI_OPEN_ID("ali_open_id","ALIPAY_OPENID", "openId"), + /** 账号 支持邮箱和手机号格式 */ + ALI_LOGIN_NAME("ali_login_name","ALIPAY_LOGONID", "账号"); + + /** 编码 */ + private final String code; + /** 外部编码, 三方支付系统使用的编码 */ + private final String outCode; + /** 名称 */ + private final String name; + + /** + * 根据编码查找 + */ + public static TransferPayeeTypeEnum findByCode(String code) { + return Arrays.stream(TransferPayeeTypeEnum.values()) + .filter(e -> e.getCode().equals(code)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("未找到对应的分账接收方类型")); + } + + /** 微信支持类型 */ + public static final List<TransferPayeeTypeEnum> WECHAT_LIST = Collections.singletonList(WX_PERSONAL); + /** 支付宝支持类型 */ + public static final List<TransferPayeeTypeEnum> ALI_LIST = Collections.unmodifiableList(Arrays.asList(ALI_OPEN_ID, ALI_USER_ID, ALI_LOGIN_NAME)); + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferTypeEnum.java new file mode 100644 index 00000000..2f97d3ca --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferTypeEnum.java @@ -0,0 +1,26 @@ +package cn.daxpay.single.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账类型注解 + * @author xxm + * @since 2024/6/6 + */ +@Getter +@AllArgsConstructor +public enum TransferTypeEnum { + /** 转账给用户 */ + USER("user", "转账给用户"), + /** 转账给员工 */ + EMPLOYEE("employee", "转账给员工"), + /** 转账给合作伙 */ + PARTNER("partner", "转账给合作伙"), + /** 转账给其他对象 */ + OTHER("other", "转账给其他对象"),; + + private final String code; + private final String name; + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java index 99f50633..2951b0ed 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java @@ -1,5 +1,8 @@ package cn.daxpay.single.param.payment.transfer; +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.TransferPayeeTypeEnum; +import cn.daxpay.single.code.TransferTypeEnum; import cn.daxpay.single.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -16,4 +19,52 @@ import lombok.experimental.Accessors; @Accessors(chain = true) @Schema(title = "转账参数") public class TransferParam extends PaymentCommonParam { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Schema(description = "标题") + private String title; + + /** 转账原因/备注 */ + @Schema(description = "转账原因/备注") + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Schema(description = "转账类型, 微信使用") + private String transferType; + + /** 付款方显示名称 */ + private String payerShowName; + + /** + * 收款人账号类型 + * @see TransferPayeeTypeEnum + */ + @Schema(description = "收款人账号类型") + private String payeeType; + + /** 收款人账号 */ + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Schema(description = "收款人姓名") + private String payeeName; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java new file mode 100644 index 00000000..8bb46932 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.result.transfer; + +import cn.daxpay.single.result.PaymentCommonResult; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 转账结果 + * @author xxm + * @since 2024/6/6 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账结果") +public class TransferResult extends PaymentCommonResult { +} diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java index 12c2c58b..9dccf823 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java @@ -3,6 +3,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.daxpay.single.service.core.payment.transfer.service.TransferService; import cn.hutool.core.thread.ThreadUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -27,6 +28,8 @@ import java.util.Objects; public class TestController { private final LockTemplate lockTemplate; + private final TransferService transferService; + @Operation(summary = "锁测试1") @GetMapping("/lock1") // @Lock4j(keys = "#name", acquireTimeout = 50) diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java index 51b581d9..dffe9409 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java @@ -12,12 +12,14 @@ import cn.daxpay.single.result.pay.PayCancelResult; import cn.daxpay.single.result.pay.PayCloseResult; import cn.daxpay.single.result.pay.PayResult; import cn.daxpay.single.result.pay.RefundResult; +import cn.daxpay.single.result.transfer.TransferResult; import cn.daxpay.single.service.annotation.PaymentSign; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.cancel.service.PayCancelService; import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.pay.service.PayService; import cn.daxpay.single.service.core.payment.refund.service.RefundService; +import cn.daxpay.single.service.core.payment.transfer.service.TransferService; import cn.daxpay.single.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -42,6 +44,7 @@ public class UniPayController { private final RefundService refundService; private final PayCloseService payCloseService; private final PayCancelService payCancelService; + private final TransferService transferService; @PaymentSign @InitPaymentContext(PaymentApiCode.PAY) @@ -79,8 +82,8 @@ public class UniPayController { @InitPaymentContext(PaymentApiCode.TRANSFER) @Operation(summary = "统一转账接口") @PostMapping("/transfer") - public DaxResult<Void> transfer(@RequestBody TransferParam param){ - return DaxRes.ok(); + public DaxResult<TransferResult> transfer(@RequestBody TransferParam param){ + return DaxRes.ok(transferService.transfer(param)); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index 0d02f272..3cf3381a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -1,6 +1,8 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.hutool.core.util.IdUtil; import com.alipay.api.domain.AlipayFundAccountQueryModel; import com.alipay.api.domain.AlipayFundTransToaccountTransferModel; import com.alipay.api.response.AlipayFundAccountQueryResponse; @@ -36,8 +38,17 @@ public class AliPayTransferService { * 转账接口 */ @SneakyThrows - public void transfer() { + public void transfer(TransferOrder order) { AlipayFundTransToaccountTransferModel model = new AlipayFundTransToaccountTransferModel(); +// model.setAmount(PayUtil.conversionAmount(order.getAmount()).toString()); + model.setAmount("1.00"); + model.setOutBizNo(IdUtil.getSnowflakeNextIdStr()); + model.setPayeeType("ALIPAY_USERID"); + model.setPayeeAccount("2088722032251651"); + model.setPayerShowName("易杯光年"); + model.setExtParam("{order_title: '订单标题'}"); + model.setRemark("易杯光年的备注"); AlipayFundTransToaccountTransferResponse response = AliPayApi.transferToResponse(model); + System.out.println(response); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java index ad20a130..2b0484b4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java @@ -40,7 +40,6 @@ public class RefundOrderService { /** * 手动发起退款 - * 退款涉及到回调通知, 索所以需要手动初始化一下上下文 */ public void refund(PayOrderRefundParam param) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java new file mode 100644 index 00000000..73462d30 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java @@ -0,0 +1,16 @@ +package cn.daxpay.single.service.core.order.transfer.dao; + +import cn.bootx.platform.common.mybatisplus.impl.BaseManager; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrderExtra; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Repository; + +/** + * 转账订单扩展数据 + * @author xxm + * @since 2024/6/6 + */ +@Slf4j +@Repository +public class TransferOrderExtraManager extends BaseManager<TransferOrderExtraMapper, TransferOrderExtra> { +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java new file mode 100644 index 00000000..74eca265 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java @@ -0,0 +1,14 @@ +package cn.daxpay.single.service.core.order.transfer.dao; + +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrderExtra; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 转账订单扩展 + * @author xxm + * @since 2024/6/6 + */ +@Mapper +public interface TransferOrderExtraMapper extends BaseMapper<TransferOrderExtra> { +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index 005fd285..a3758e60 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.order.transfer.entity; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.daxpay.single.code.PayChannelEnum; import cn.bootx.table.modify.annotation.DbTable; +import cn.daxpay.single.code.TransferPayeeTypeEnum; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -22,8 +23,14 @@ import java.time.LocalDateTime; @TableName("pay_transfer_order") public class TransferOrder extends MpBaseEntity { - /** 业务号 */ - private String outTradeNo; + /** 商户转账号 */ + private String bizTransferNo; + + /** 转账号 */ + private String transferNo; + + /** 通道转账号 */ + private String outTransferNo; /** * 支付通道 @@ -31,17 +38,40 @@ public class TransferOrder extends MpBaseEntity { */ private String channel; - /** 金额 */ + /** 转账金额 */ private Integer amount; - /** 状态 */ - private String status; + /** 标题 */ + private String title; + + /** 转账原因/备注 */ + private String reason; + + /** + * 转账类型, 微信使用 + */ + private String transferType; /** 付款方 */ private String payer; - /** 收款方 */ - private String payee; + /** 付款方显示名称 */ + private String payerShowName; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + private String payeeType; + + /** 收款人账号 */ + private String payeeAccount; + + /** 收款人姓名 */ + private String payeeName; + + /** 状态 */ + private String status; /** 成功时间 */ private LocalDateTime successTime; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java new file mode 100644 index 00000000..1092179d --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java @@ -0,0 +1,43 @@ +package cn.daxpay.single.service.core.order.transfer.entity; + +import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 转账订单扩展数据 + * @author xxm + * @since 2024/6/6 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@DbTable(comment = "转账订单扩展数据") +@TableName("pay_transfer_order_extra") +public class TransferOrderExtra extends MpBaseEntity { + + /** 异步通知地址 */ + @DbColumn(comment = "异步通知地址") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间 */ + @DbColumn(comment = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @DbColumn(comment = "支付终端ip") + private String clientIp; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java index 3ff3bf11..055b18a2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java @@ -13,4 +13,8 @@ import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class TransferOrderService { + + /** + * 创建订单 + */ } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java index 5030cb2f..fb6cc8c5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java @@ -8,19 +8,21 @@ import cn.daxpay.single.service.core.payment.sync.strategy.pay.UnionPaySyncStrat import cn.daxpay.single.service.core.payment.sync.strategy.pay.WeChatPaySyncStrategy; import cn.daxpay.single.service.func.AbsPaySyncStrategy; import cn.hutool.extra.spring.SpringUtil; +import lombok.experimental.UtilityClass; /** * 支付同步策略工厂类 * @author xxm * @since 2023/7/14 */ +@UtilityClass public class PaySyncStrategyFactory { /** - * 获取支付同步策略, 只有异步支付方式才需要这个功能 + * 获取支付同步策略 * @param channelCode 支付通道编码 * @return 支付同步策略类 */ - public static AbsPaySyncStrategy create(String channelCode) { + public AbsPaySyncStrategy create(String channelCode) { AbsPaySyncStrategy strategy; PayChannelEnum channelEnum = PayChannelEnum.findByCode(channelCode); switch (channelEnum) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java index 9cde56ac..ca6ed388 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java @@ -1,5 +1,10 @@ package cn.daxpay.single.service.core.payment.transfer.factory; +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; +import cn.daxpay.single.service.core.payment.transfer.strategy.AliPayTransferStrategy; +import cn.daxpay.single.service.func.AbsTransferStrategy; +import cn.hutool.extra.spring.SpringUtil; import lombok.experimental.UtilityClass; /** @@ -9,4 +14,22 @@ import lombok.experimental.UtilityClass; */ @UtilityClass public class TransferFactory { + + /** + * 获取转账策略 + * @param channelCode 支付通道编码 + * @return 支付同步策略类 + */ + public AbsTransferStrategy create(String channelCode) { + AbsTransferStrategy strategy; + PayChannelEnum channelEnum = PayChannelEnum.findByCode(channelCode); + switch (channelEnum) { + case ALI: + strategy = SpringUtil.getBean(AliPayTransferStrategy.class); + break; + default: + throw new PayUnsupportedMethodException(); + } + return strategy; + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java new file mode 100644 index 00000000..fa4a9222 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -0,0 +1,44 @@ +package cn.daxpay.single.service.core.payment.transfer.service; + +import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.result.transfer.TransferResult; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 转账辅助服务 + * @author xxm + * @since 2024/6/6 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class TransferAssistService { + + /** + * 创建转账订单 + */ + public TransferOrder createOrder(TransferParam param) { + // 1. 创建转账订单 + + return null; + } + + /** + * 更新转账订单错误信息 + */ + public void updateOrderByError(TransferOrder order) { + + } + + /** + * 构造 + * @param order + */ + public TransferResult buildResult(TransferOrder order) { + + return null; + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index acf7e17e..f5f15422 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -1,5 +1,14 @@ package cn.daxpay.single.service.core.payment.transfer.service; +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.result.transfer.TransferResult; +import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.core.payment.transfer.factory.TransferFactory; +import cn.daxpay.single.service.func.AbsTransferStrategy; +import cn.hutool.extra.spring.SpringUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -13,4 +22,43 @@ import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class TransferService { + + private final TransferAssistService transferAssistService; + + /** + * 转账 + */ + public TransferResult transfer(TransferParam transferParam){ + + // 获取策略 + AbsTransferStrategy transferStrategy = TransferFactory.create(PayChannelEnum.ALI.getCode()); + // 检查转账参数 + transferStrategy.doValidateParam(transferParam); + // 创建转账订单并设置 + TransferOrder order = transferAssistService.createOrder(transferParam); + transferStrategy.setTransferOrder(order); + // 执行预处理 + transferStrategy.doBeforeHandler(); + try { + // 执行转账策略 + transferStrategy.doTransferHandler(); + } catch (Exception e) { + log.error("转账出现错误", e); + // 记录处理失败状态 + PaymentContextLocal.get().getRefundInfo().setStatus(RefundStatusEnum.FAIL); + // 更新退款失败的记录 + transferAssistService.updateOrderByError(order); + return transferAssistService.buildResult(order); + } + SpringUtil.getBean(this.getClass()).successHandler(order); + return transferAssistService.buildResult(order); + } + + /** + * 成功处理 + */ + public void successHandler(TransferOrder order){ + } + + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index 244e45b4..0e88b877 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -46,4 +46,8 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { payConfigService.initConfig(this.config); } + @Override + public void doTransferHandler() { + aliPayTransferService.transfer(this.getTransferOrder()); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java index 845b8483..c471c9a8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java @@ -17,7 +17,6 @@ public abstract class AbsRefundStrategy implements PayStrategy{ /** 退款订单 */ private RefundOrder refundOrder = null; - /** * 退款前对处理, 主要进行配置的加载和检查 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java index 13a67aea..6e597d09 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.func; +import cn.daxpay.single.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import lombok.Getter; import lombok.Setter; @@ -15,9 +16,20 @@ public abstract class AbsTransferStrategy implements PayStrategy{ /** 转账订单 */ private TransferOrder transferOrder; + /** + * 校验参数 + */ + public void doValidateParam(TransferParam transferParam) { + } + /** * 转账前操作 */ public void doBeforeHandler(){} + /** + * 转账操作 + */ + public abstract void doTransferHandler(); + } -- Gitee From ce8dee8afe48110faa34045f218681feec631520 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Fri, 7 Jun 2024 17:21:02 +0800 Subject: [PATCH 03/34] =?UTF-8?q?feat=20=E6=94=AF=E4=BB=98=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=8B=86=E5=88=86=E9=80=80=E6=AC=BE=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=BA=E5=8D=95=E7=8B=AC=E7=9A=84=E5=AD=97=E6=AE=B5,=20?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E5=B7=A5=E5=8E=82=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E9=80=9A=E7=94=A8=E7=AD=96=E7=95=A5=E5=B7=A5=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 4 +- .../single/code/PayOrderAllocStatusEnum.java | 2 +- .../single/code/PayOrderRefundStatusEnum.java | 36 ++++++++++++++ .../cn/daxpay/single/code/PayStatusEnum.java | 3 -- .../core/order/pay/builder/PayBuilder.java | 2 + .../core/order/pay/dao/PayOrderManager.java | 23 ++------- .../core/order/pay/entity/PayOrder.java | 9 ++++ .../allocation/AliPayAllocationStrategy.java | 4 +- .../WeChatPayAllocationStrategy.java | 4 +- .../AliPayAllocationReceiverStrategy.java | 4 +- .../WeChatPayAllocationReceiverStrategy.java | 4 +- .../factory/PayCancelStrategyFactory.java | 38 --------------- .../cancel/service/PayCancelService.java | 5 +- .../cancel/strategy/AliPayCancelStrategy.java | 4 +- .../strategy/WeChatPayCancelStrategy.java | 4 +- .../factory/PayCloseStrategyFactory.java | 42 ---------------- .../close/service/PayCloseService.java | 5 +- .../close/strategy/AliPayCloseStrategy.java | 4 +- .../close/strategy/UnionPayCloseStrategy.java | 4 +- .../strategy/WeChatPayCloseStrategy.java | 4 +- .../pay/factory/PayStrategyFactory.java | 48 ------------------- .../payment/pay/service/PayAssistService.java | 4 +- .../core/payment/pay/service/PayService.java | 22 +++++++-- .../payment/pay/strategy/AliPayStrategy.java | 6 +-- .../pay/strategy/UnionPayStrategy.java | 4 +- .../pay/strategy/WalletPayStrategy.java | 4 +- .../pay/strategy/WeChatPayStrategy.java | 4 +- .../reconcile/service/ReconcileService.java | 10 ++-- .../strategy/AlipayReconcileStrategy.java | 6 +-- .../strategy/UnionPayReconcileStrategy.java | 4 +- .../strategy/WechatPayReconcileStrategy.java | 4 +- .../refund/factory/RefundStrategyFactory.java | 47 ------------------ .../refund/service/RefundAssistService.java | 23 ++++----- .../payment/refund/service/RefundService.java | 16 +++---- .../refund/strategy/AliRefundStrategy.java | 6 +-- .../refund/strategy/UnionRefundStrategy.java | 4 +- .../refund/strategy/WalletRefundStrategy.java | 4 +- .../refund/strategy/WeChatRefundStrategy.java | 4 +- .../factory/PayRepairStrategyFactory.java | 42 ---------------- .../repair/result/RefundRepairResult.java | 6 +-- .../repair/service/PayRepairService.java | 7 +-- .../repair/service/RefundRepairService.java | 22 +++++---- .../strategy/pay/AliPayRepairStrategy.java | 6 +-- .../strategy/pay/UnionPayRepairStrategy.java | 4 +- .../strategy/pay/WeChatPayRepairStrategy.java | 4 +- .../sync/factory/PaySyncStrategyFactory.java | 44 ----------------- .../factory/RefundSyncStrategyFactory.java | 43 ----------------- .../payment/sync/service/PaySyncService.java | 21 ++++---- .../sync/service/RefundSyncService.java | 8 +++- .../Refund/AliRefundSyncStrategy.java | 6 +-- .../Refund/UnionRefundSyncStrategy.java | 4 +- .../Refund/WeChatRefundSyncStrategy.java | 4 +- .../sync/strategy/pay/AliPaySyncStrategy.java | 6 +-- .../strategy/pay/UnionPaySyncStrategy.java | 4 +- .../strategy/pay/WeChatPaySyncStrategy.java | 4 +- .../strategy/AliPayTransferStrategy.java | 6 +-- .../single/service/func/PayStrategy.java | 5 +- .../PayStrategyFactory.java} | 29 ++++++----- 58 files changed, 224 insertions(+), 476 deletions(-) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderRefundStatusEnum.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/factory/PayCloseStrategyFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/factory/PayStrategyFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/factory/RefundStrategyFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/factory/PayRepairStrategyFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/RefundSyncStrategyFactory.java rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/{core/payment/reconcile/factory/ReconcileStrategyFactory.java => util/PayStrategyFactory.java} (34%) diff --git a/_doc/Task.md b/_doc/Task.md index 19dc8892..a8363a12 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -7,8 +7,8 @@ - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 - [ ] 管理端界面支持扫码绑定对账接收方功能 - [ ] 支付通道两个独立的配置进行合并为一个 -- [ ] 支付宝拆分退款状态为单独的字段 -- [ ] 工厂支持自适应 +- [x] 支付订单拆分退款状态为单独的字段 +- [x] 策略工厂修改为通用策略工厂 - [x] 支付和退款达到终态不可以再回退回之前的状态 - [x] 修复支付关闭参数名称不正确问题 2.0.9: 消息通知改版和功能优化 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java index 9cd55683..29646632 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java @@ -4,7 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * 支付订单分账状态 + * 支付订单的分账状态 * @author xxm * @since 2024/4/16 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderRefundStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderRefundStatusEnum.java new file mode 100644 index 00000000..7785b288 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderRefundStatusEnum.java @@ -0,0 +1,36 @@ +package cn.daxpay.single.code; + +import cn.bootx.platform.common.core.exception.DataNotExistException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; +import java.util.Objects; + +/** + * 支付订单的退款状态 + * @author xxm + * @since 2024/6/7 + */ +@Getter +@AllArgsConstructor +public enum PayOrderRefundStatusEnum { + NO_REFUND("no_refund","未退款"), + REFUNDING("refunding","退款中"), + PARTIAL_REFUND("partial_refund","部分退款"), + REFUNDED("refunded","全部退款"), + ; + private final String code; + private final String name; + + /** + * 根据编码获取枚举 + */ + public static PayOrderRefundStatusEnum findByCode(String code){ + return Arrays.stream(values()) + .filter(payStatusEnum -> Objects.equals(payStatusEnum.getCode(), code)) + .findFirst() + .orElseThrow(() -> new DataNotExistException("该枚举不存在")); + } + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java index 92da5218..0d1b0f75 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java @@ -19,9 +19,6 @@ public enum PayStatusEnum { SUCCESS("success","成功"), CLOSE("close","支付关闭"), CANCEL("cancel","支付撤销"), - REFUNDING("refunding","退款中"), - PARTIAL_REFUND("partial_refund","部分退款"), - REFUNDED("refunded","全部退款"), FAIL("fail","失败"); /** 编码 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java index f6ae4a65..85e6a34a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.order.pay.builder; import cn.daxpay.single.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.service.common.context.NoticeLocal; @@ -38,6 +39,7 @@ public class PayBuilder { .setTitle(payParam.getTitle()) .setDescription(payParam.getDescription()) .setStatus(PayStatusEnum.PROGRESS.getCode()) + .setRefundStatus(PayOrderRefundStatusEnum.NO_REFUND.getCode()) .setAllocation(payParam.getAllocation()) .setAmount(payParam.getAmount()) .setChannel(payParam.getChannel()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java index 2c36ca5e..6f6cae72 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java @@ -15,7 +15,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; import java.time.LocalDateTime; -import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -58,14 +57,10 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { * 查询对账用订单记录(指定时间和状态的订单) */ public List<PayOrder> findReconcile(String channel, LocalDateTime startTime, LocalDateTime endTime) { - List<String> status = Arrays.asList(PayStatusEnum.SUCCESS.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.REFUNDED.getCode()); return this.lambdaQuery() .eq(PayOrder::getChannel, channel) .between(PayOrder::getPayTime, startTime, endTime) - .in(PayOrder::getStatus, status) + .eq(PayOrder::getStatus, PayStatusEnum.SUCCESS.getCode()) .list(); } @@ -73,15 +68,11 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { * 查询自动分账的订单记录(指定时间和状态的订单) */ public List<PayOrder> findAutoAllocation() { - List<String> status = Arrays.asList(PayStatusEnum.SUCCESS.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.REFUNDED.getCode()); return this.lambdaQuery() .eq(PayOrder::getAllocation, true) .eq(PayOrder::getAutoAllocation, true) .eq(PayOrder::getAllocationStatus, PayOrderAllocStatusEnum.WAITING.getCode()) - .in(PayOrder::getStatus, status) + .eq(PayOrder::getStatus, PayStatusEnum.SUCCESS.getCode()) .list(); } @@ -90,13 +81,7 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { */ public Integer getTalAmount(PayOrderQuery query){ QueryWrapper<PayOrder> generator = QueryGenerator.generator(query); - // 成功, 退款相关都算 - generator.in(MpUtil.getColumnName(PayOrder::getStatus), - PayStatusEnum.SUCCESS.getCode(), - PayStatusEnum.REFUNDED.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode() - ); + generator.eq(MpUtil.getColumnName(PayOrder::getStatus), PayStatusEnum.SUCCESS.getCode()); return baseMapper.getTalAmount(generator); } @@ -105,7 +90,7 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { */ public List<PayOrder> queryExpiredOrder() { return lambdaQuery() - .eq(PayOrder::getStatus, PayStatusEnum.REFUNDING.getCode()) + .eq(PayOrder::getStatus, PayStatusEnum.PROGRESS.getCode()) .lt(PayOrder::getExpiredTime, LocalDateTime.now()) .list(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index 0e4d5644..df3fa244 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -5,6 +5,7 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.daxpay.single.code.PayMethodEnum; import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; @@ -92,6 +93,14 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde @DbColumn(comment = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @DbColumn(comment = "退款状态") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java index 1aa55744..107eca30 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java @@ -38,8 +38,8 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java index 039c0593..721c6769 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java @@ -37,8 +37,8 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java index a7e89719..dfca3440 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java @@ -36,8 +36,8 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java index 5291fca4..39b80397 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java @@ -36,8 +36,8 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java deleted file mode 100644 index 1ed871cd..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/factory/PayCancelStrategyFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.daxpay.single.service.core.payment.cancel.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.cancel.strategy.AliPayCancelStrategy; -import cn.daxpay.single.service.core.payment.cancel.strategy.WeChatPayCancelStrategy; -import cn.daxpay.single.service.func.AbsPayCancelStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 订单撤销策略工厂 - * @author xxm - * @since 2024/6/5 - */ -@UtilityClass -public class PayCancelStrategyFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsPayCancelStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - AbsPayCancelStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayCancelStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayCancelStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java index ebcc7158..94617100 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java @@ -10,11 +10,11 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; -import cn.daxpay.single.service.core.payment.cancel.factory.PayCancelStrategyFactory; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.record.close.entity.PayCloseRecord; import cn.daxpay.single.service.core.record.close.service.PayCloseRecordService; import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -57,7 +57,7 @@ public class PayCancelService { throw new PayFailureException("订单不是支付中, 无法进行撤销订单"); } try { - AbsPayCancelStrategy strategy = PayCancelStrategyFactory.create(payOrder.getChannel()); + AbsPayCancelStrategy strategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPayCancelStrategy.class); // 设置支付订单 strategy.setOrder(payOrder); // 撤销前准备 @@ -110,4 +110,5 @@ public class PayCancelService { .setClientIp(clientIp); payCloseRecordService.saveRecord(record); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java index 75865b43..a2bbbc48 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java @@ -28,8 +28,8 @@ public class AliPayCancelStrategy extends AbsPayCancelStrategy { private final AliPayCloseService aliPayCloseService; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java index df91dde0..2fc9d529 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java @@ -32,8 +32,8 @@ public class WeChatPayCancelStrategy extends AbsPayCancelStrategy { private WeChatPayConfig weChatPayConfig; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/factory/PayCloseStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/factory/PayCloseStrategyFactory.java deleted file mode 100644 index 6119753b..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/factory/PayCloseStrategyFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.daxpay.single.service.core.payment.close.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.close.strategy.AliPayCloseStrategy; -import cn.daxpay.single.service.core.payment.close.strategy.UnionPayCloseStrategy; -import cn.daxpay.single.service.core.payment.close.strategy.WeChatPayCloseStrategy; -import cn.daxpay.single.service.func.AbsPayCloseStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 支付关闭策略工厂 - * @author xxm - * @since 2023/12/29 - */ -@UtilityClass -public class PayCloseStrategyFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsPayCloseStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - AbsPayCloseStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayCloseStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayCloseStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPayCloseStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index 75e13c79..20f23352 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -10,11 +10,11 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; -import cn.daxpay.single.service.core.payment.close.factory.PayCloseStrategyFactory; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.record.close.entity.PayCloseRecord; import cn.daxpay.single.service.core.record.close.service.PayCloseRecordService; import cn.daxpay.single.service.func.AbsPayCloseStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -67,7 +67,7 @@ public class PayCloseService { throw new PayFailureException("订单不是支付中, 无法进行关闭订单"); } try { - AbsPayCloseStrategy strategy = PayCloseStrategyFactory.create(payOrder.getChannel()); + AbsPayCloseStrategy strategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPayCloseStrategy.class); // 设置支付订单 strategy.setOrder(payOrder); // 关闭前准备 @@ -117,4 +117,5 @@ public class PayCloseService { .setClientIp(clientIp); payCloseRecordService.saveRecord(record); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java index 2ad4cd5f..0ac9fd4a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java @@ -28,8 +28,8 @@ public class AliPayCloseStrategy extends AbsPayCloseStrategy { private final AliPayCloseService aliPayCloseService; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java index d0b53bd3..599c335a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java @@ -32,8 +32,8 @@ public class UnionPayCloseStrategy extends AbsPayCloseStrategy { @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java index 6054635f..02a25e0b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java @@ -29,8 +29,8 @@ public class WeChatPayCloseStrategy extends AbsPayCloseStrategy { private WeChatPayConfig weChatPayConfig; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/factory/PayStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/factory/PayStrategyFactory.java deleted file mode 100644 index 9b20803f..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/factory/PayStrategyFactory.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.daxpay.single.service.core.payment.pay.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.pay.strategy.AliPayStrategy; -import cn.daxpay.single.service.core.payment.pay.strategy.UnionPayStrategy; -import cn.daxpay.single.service.core.payment.pay.strategy.WalletPayStrategy; -import cn.daxpay.single.service.core.payment.pay.strategy.WeChatPayStrategy; -import cn.daxpay.single.service.func.AbsPayStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - - -/** - * 支付策略工厂 - * - * @author xxm - * @since 2020/12/11 - */ -@UtilityClass -public class PayStrategyFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public AbsPayStrategy create(String channel) { - AbsPayStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPayStrategy.class); - break; - case WALLET: - strategy = SpringUtil.getBean(WalletPayStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index a863f50b..9a0483aa 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.payment.pay.service; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.result.pay.PayResult; @@ -205,8 +206,7 @@ public class PayAssistService { throw new PayFailureException("支付失败或已经被关闭"); } // 退款类型状态 - tradesStatus = Arrays.asList(REFUNDED.getCode(), PARTIAL_REFUND.getCode(), REFUNDING.getCode()); - if (tradesStatus.contains(payOrder.getStatus())) { + if (Objects.equals(payOrder.getRefundStatus(), PayOrderRefundStatusEnum.REFUNDING.getCode())) { throw new PayFailureException("该订单处于退款状态"); } // 其他状态直接抛出兜底异常 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java index da28450a..e49b6d7e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.service; import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.result.pay.PayResult; import cn.daxpay.single.service.common.context.PayLocal; @@ -10,15 +11,17 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; -import cn.daxpay.single.service.core.payment.pay.factory.PayStrategyFactory; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsPayStrategy; +import cn.daxpay.single.service.func.AbsRefundSyncStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.daxpay.single.util.PayUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -94,7 +97,7 @@ public class PayService { */ public PayResult firstPay(PayParam payParam){ // 获取支付策略类 - AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel()); + AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel(), AbsPayStrategy.class); // 初始化支付的参数 payStrategy.setPayParam(payParam); // 执行支付前处理动作, 进行各种校验, 校验通过才会进行下面的操作 @@ -145,7 +148,7 @@ public class PayService { */ public PayResult repeatPay(PayParam payParam, PayOrder payOrder){ // 获取支付策略类 - AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel()); + AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel(),AbsPayStrategy.class); // 初始化支付的参数 payStrategy.initPayParam(payOrder, payParam); // 执行支付前处理动作 @@ -192,4 +195,17 @@ public class PayService { } return payAssistService.buildResult(payOrder); } + + + /** + * 根据传入的通道获取策略 + * @return 支付策略 + */ + private AbsPayStrategy getStrategy(String channel) { + val beansOfType = SpringUtil.getBeansOfType(AbsPayStrategy.class); + return beansOfType.values().stream() + .filter(strategy -> strategy.getChannel().equals(channel)) + .findFirst() + .orElseThrow(PayUnsupportedMethodException::new); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java index ae4aaba2..36bbb47c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java @@ -37,9 +37,9 @@ public class AliPayStrategy extends AbsPayStrategy { private AliPayParam aliPayParam; - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java index 16690df5..70744a49 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java @@ -41,8 +41,8 @@ public class UnionPayStrategy extends AbsPayStrategy { private UnionPayConfig unionPayConfig; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** * 支付前操作 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java index 87a0867e..8d3a9f8e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java @@ -44,8 +44,8 @@ public class WalletPayStrategy extends AbsPayStrategy { private Wallet wallet; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WALLET; + public String getChannel() { + return PayChannelEnum.WALLET.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java index 5f1a93b7..684e14f0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java @@ -39,8 +39,8 @@ public class WeChatPayStrategy extends AbsPayStrategy { * 类型 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java index a115b1e8..089b8de2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java @@ -12,17 +12,17 @@ import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileDiffManager; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileOrderManager; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileOutTradeManager; -import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileDiff; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; +import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.service.ReconcileOrderService; import cn.daxpay.single.service.core.payment.reconcile.domain.GeneralTradeInfo; -import cn.daxpay.single.service.core.payment.reconcile.factory.ReconcileStrategyFactory; import cn.daxpay.single.service.dto.order.reconcile.ReconcileDiffExcel; import cn.daxpay.single.service.dto.order.reconcile.ReconcileTradeDetailExcel; import cn.daxpay.single.service.func.AbsReconcileStrategy; import cn.daxpay.single.service.param.reconcile.ReconcileUploadParam; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.daxpay.single.util.OrderNoGenerateUtil; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DatePattern; @@ -106,7 +106,7 @@ public class ReconcileService { // 将对账订单写入到上下文中 PaymentContextLocal.get().getReconcileInfo().setReconcileOrder(reconcileOrder); // 构建对账策略 - AbsReconcileStrategy reconcileStrategy = ReconcileStrategyFactory.create(reconcileOrder.getChannel()); + AbsReconcileStrategy reconcileStrategy = PayStrategyFactory.create(reconcileOrder.getChannel(), AbsReconcileStrategy.class); reconcileStrategy.setRecordOrder(reconcileOrder); reconcileStrategy.doBeforeHandler(); try { @@ -136,7 +136,7 @@ public class ReconcileService { .orElseThrow(() -> new DataNotExistException("未找到对账订单")); // 将对账订单写入到上下文中 PaymentContextLocal.get().getReconcileInfo().setReconcileOrder(reconcileOrder); - AbsReconcileStrategy reconcileStrategy = ReconcileStrategyFactory.create(reconcileOrder.getChannel()); + AbsReconcileStrategy reconcileStrategy = PayStrategyFactory.create(reconcileOrder.getChannel(), AbsReconcileStrategy.class); reconcileStrategy.setRecordOrder(reconcileOrder); reconcileStrategy.doBeforeHandler(); @@ -183,7 +183,7 @@ public class ReconcileService { // 查询对账单 List<ReconcileOutTrade> reconcileTradeDetails = reconcileOutTradeManager.findAllByReconcileId(reconcileOrder.getId()); // 构建对账策略 - AbsReconcileStrategy reconcileStrategy = ReconcileStrategyFactory.create(reconcileOrder.getChannel()); + AbsReconcileStrategy reconcileStrategy =PayStrategyFactory.create(reconcileOrder.getChannel(), AbsReconcileStrategy.class); // 初始化参数 reconcileStrategy.setRecordOrder(reconcileOrder); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java index 64711fc0..3b66275f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java @@ -37,9 +37,9 @@ public class AlipayReconcileStrategy extends AbsReconcileStrategy { * * @see PayChannelEnum */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java index 58d4b385..5390d7dc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java @@ -40,8 +40,8 @@ public class UnionPayReconcileStrategy extends AbsReconcileStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java index 34e5d04f..7044206c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java @@ -40,8 +40,8 @@ public class WechatPayReconcileStrategy extends AbsReconcileStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/factory/RefundStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/factory/RefundStrategyFactory.java deleted file mode 100644 index c4662efb..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/factory/RefundStrategyFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.daxpay.single.service.core.payment.refund.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.refund.strategy.AliRefundStrategy; -import cn.daxpay.single.service.core.payment.refund.strategy.UnionRefundStrategy; -import cn.daxpay.single.service.core.payment.refund.strategy.WalletRefundStrategy; -import cn.daxpay.single.service.core.payment.refund.strategy.WeChatRefundStrategy; -import cn.daxpay.single.service.func.AbsRefundStrategy; -import cn.hutool.extra.spring.SpringUtil; - -/** - * 退款策略工厂 - * @author xxm - * @since 2023/7/4 - */ -public class RefundStrategyFactory { - - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsRefundStrategy create(String channel) { - - AbsRefundStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliRefundStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatRefundStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionRefundStrategy.class); - break; - case WALLET: - strategy = SpringUtil.getBean(WalletRefundStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 7bf7de3a..d5400fe2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.payment.refund.service; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PaySignTypeEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.code.RefundStatusEnum; @@ -21,6 +22,7 @@ import cn.daxpay.single.util.PaySignUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -78,20 +80,19 @@ public class RefundAssistService { * 检查并处理退款参数 */ public void checkAndParam(RefundParam param, PayOrder payOrder){ - - // 状态判断, 支付中/失败/取消等不能进行退款 - List<String> tradesStatus = Arrays.asList( - PayStatusEnum.PROGRESS.getCode(), - PayStatusEnum.CLOSE.getCode(), - PayStatusEnum.CANCEL.getCode(), - PayStatusEnum.REFUNDED.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.FAIL.getCode()); - if (tradesStatus.contains(payOrder.getStatus())) { + // 非支付完成的不能进行退款 + if (!Objects.equals(SUCCESS.getCode(), payOrder.getStatus())) { PayStatusEnum statusEnum = PayStatusEnum.findByCode(payOrder.getStatus()); throw new PayFailureException("当前支付单订状态["+statusEnum.getName()+"]不允许发起退款操作"); } - + // 退款中和退款完成不能退款 + List<String> tradesStatus = Arrays.asList( + PayOrderRefundStatusEnum.REFUNDED.getCode(), + PayOrderRefundStatusEnum.REFUNDING.getCode()); + if (tradesStatus.contains(payOrder.getRefundStatus())){ + val statusEnum = PayOrderRefundStatusEnum.findByCode(payOrder.getRefundStatus()); + throw new PayFailureException("当前支付单退款状态["+statusEnum.getName()+"]不允许发起退款操作"); + } // 退款号唯一校验 if (StrUtil.isNotBlank(param.getBizRefundNo()) && refundOrderManager.existsByRefundNo(param.getBizRefundNo())){ throw new PayFailureException("退款单号已存在"); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index 3f15365b..f8e13051 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.payment.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.refund.RefundParam; @@ -18,9 +18,9 @@ import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; -import cn.daxpay.single.service.core.payment.refund.factory.RefundStrategyFactory; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsRefundStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.extra.spring.SpringUtil; import cn.hutool.json.JSONUtil; import com.baomidou.lock.LockInfo; @@ -106,7 +106,7 @@ public class RefundService { // 检查退款参数 refundAssistService.checkAndParam(param, payOrder); // 通过退款参数获取退款策略 - AbsRefundStrategy refundStrategy = RefundStrategyFactory.create(payOrder.getChannel()); + AbsRefundStrategy refundStrategy = PayStrategyFactory.create(payOrder.getChannel(), AbsRefundStrategy.class); // 进行退款前预处理 refundStrategy.doBeforeRefundHandler(); // 退款操作的预处理, 对支付订单进行预扣款, 返回创建成功的退款订单, 成功后才可以进行下一阶段的操作 @@ -136,7 +136,7 @@ public class RefundService { // 预扣支付订单要退款的金额并进行更新 int orderRefundableBalance = payOrder.getRefundableBalance() - refundParam.getAmount(); payOrder.setRefundableBalance(orderRefundableBalance) - .setStatus(PayStatusEnum.REFUNDING.getCode()); + .setRefundStatus(PayOrderRefundStatusEnum.REFUNDING.getCode()); payOrderService.updateById(payOrder); // ----------------------- 退款订单创建 ------------------------- return refundAssistService.createOrder(refundParam, payOrder); @@ -158,7 +158,7 @@ public class RefundService { .orElseThrow(() -> new DataNotExistException("支付订单不存在")); RefundOrderExtra refundOrderExtra = refundOrderExtraManager.findById(refundOrder.getId()) .orElseThrow(() -> new DataNotExistException("退款订单扩展信息不存在")); - AbsRefundStrategy refundStrategy = RefundStrategyFactory.create(refundOrder.getChannel()); + AbsRefundStrategy refundStrategy = PayStrategyFactory.create(refundOrder.getChannel(), AbsRefundStrategy.class); // 设置退款订单对象 refundStrategy.setRefundOrder(refundOrder); // 退款前准备操作 @@ -208,14 +208,14 @@ public class RefundService { int refundableBalance = payOrder.getRefundableBalance(); // 退款状态为退款中 if (refundInfo.getStatus() == RefundStatusEnum.PROGRESS) { - payOrder.setStatus(PayStatusEnum.REFUNDING.getCode()); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.REFUNDING.getCode()); } // 退款状态为成功 else { if (refundableBalance == 0) { - payOrder.setStatus(PayStatusEnum.REFUNDED.getCode()); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.REFUNDED.getCode()); } else { - payOrder.setStatus(PayStatusEnum.PARTIAL_REFUND.getCode()); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.PARTIAL_REFUND.getCode()); } // 记录流水 tradeFlowRecordService.saveRefund(refundOrder); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java index 8c7dcb3d..b84427d8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java @@ -28,9 +28,9 @@ public class AliRefundStrategy extends AbsRefundStrategy { * * @see PayChannelEnum */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java index db5f53e1..320a39a2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java @@ -34,8 +34,8 @@ public class UnionRefundStrategy extends AbsRefundStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java index 0e232475..be3cdafd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java @@ -36,8 +36,8 @@ public class WalletRefundStrategy extends AbsRefundStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WALLET; + public String getChannel() { + return PayChannelEnum.WALLET.getCode(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java index 1433ece8..d34a9a9d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java @@ -33,8 +33,8 @@ public class WeChatRefundStrategy extends AbsRefundStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/factory/PayRepairStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/factory/PayRepairStrategyFactory.java deleted file mode 100644 index 4914805d..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/factory/PayRepairStrategyFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.daxpay.single.service.core.payment.repair.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.repair.strategy.pay.AliPayRepairStrategy; -import cn.daxpay.single.service.core.payment.repair.strategy.pay.UnionPayRepairStrategy; -import cn.daxpay.single.service.core.payment.repair.strategy.pay.WeChatPayRepairStrategy; -import cn.daxpay.single.service.func.AbsPayRepairStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 支付修复策略工厂类 - * @author xxm - * @since 2023/12/29 - */ -@UtilityClass -public class PayRepairStrategyFactory { - /** - * 根据传入的支付通道创建策略 - * @return 支付修复策略 - */ - public static AbsPayRepairStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - AbsPayRepairStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayRepairStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayRepairStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPayRepairStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java index 2c8d8a5d..2ac681bf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.repair.result; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; import lombok.Data; import lombok.experimental.Accessors; @@ -21,7 +21,7 @@ public class RefundRepairResult { /** 退款修复后状态 */ private RefundStatusEnum afterRefundStatus; /** 支付修复前状态 */ - private PayStatusEnum beforePayStatus; + private PayOrderRefundStatusEnum beforePayStatus; /** 支付修复后状态 */ - private PayStatusEnum afterPayStatus; + private PayOrderRefundStatusEnum afterPayStatus; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java index 7a8a03ea..1bd37df1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java @@ -8,12 +8,12 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; -import cn.daxpay.single.service.core.payment.repair.factory.PayRepairStrategyFactory; import cn.daxpay.single.service.core.payment.repair.result.PayRepairResult; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.core.record.repair.entity.PayRepairRecord; import cn.daxpay.single.service.core.record.repair.service.PayRepairRecordService; import cn.daxpay.single.service.func.AbsPayRepairStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.core.util.IdUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -23,7 +23,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.util.*; +import java.util.Objects; +import java.util.Optional; /** * 支付修复服务 @@ -57,7 +58,7 @@ public class PayRepairService { } // 2.1 初始化修复参数 - AbsPayRepairStrategy repairStrategy = PayRepairStrategyFactory.create(order.getChannel()); + AbsPayRepairStrategy repairStrategy = PayStrategyFactory.create(order.getChannel(),AbsPayRepairStrategy.class); repairStrategy.setOrder(order); // 2.2 执行前置处理 repairStrategy.doBeforeHandler(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java index a6563fe4..6f4b980c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.service; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; @@ -100,20 +101,20 @@ public class RefundRepairService { private RefundRepairResult success(RefundOrder refundOrder, PayOrder payOrder) { RepairLocal repairInfo = PaymentContextLocal.get().getRepairInfo(); // 订单相关状态 - PayStatusEnum beforePayStatus = PayStatusEnum.findByCode(payOrder.getStatus()); - PayStatusEnum afterPayRefundStatus; + PayOrderRefundStatusEnum beforePayStatus = PayOrderRefundStatusEnum.findByCode(payOrder.getRefundStatus()); + PayOrderRefundStatusEnum afterPayRefundStatus; RefundStatusEnum beforeRefundStatus = RefundStatusEnum.findByCode(refundOrder.getStatus()); // 判断订单全部退款还是部分退款 if (Objects.equals(payOrder.getRefundableBalance(),0)){ - afterPayRefundStatus = PayStatusEnum.REFUNDED; + afterPayRefundStatus = PayOrderRefundStatusEnum.REFUNDED; } else { - afterPayRefundStatus = PayStatusEnum.PARTIAL_REFUND; + afterPayRefundStatus = PayOrderRefundStatusEnum.PARTIAL_REFUND; } // 设置退款为完成状态和完成时间 refundOrder.setStatus(RefundStatusEnum.SUCCESS.getCode()) .setFinishTime(repairInfo.getFinishTime()); - payOrder.setStatus(afterPayRefundStatus.getCode()); + payOrder.setRefundStatus(afterPayRefundStatus.getCode()); // 更新订单和退款相关订单 payOrderService.updateById(payOrder); @@ -144,7 +145,7 @@ public class RefundRepairService { RefundRepairResult repairResult = new RefundRepairResult(); // 订单修复前状态 - PayStatusEnum beforePayStatus = PayStatusEnum.findByCode(refundOrder.getStatus()); + PayOrderRefundStatusEnum beforePayStatus = PayOrderRefundStatusEnum.findByCode(payOrder.getRefundStatus()); RefundStatusEnum beforeRefundStatus = RefundStatusEnum.findByCode(refundOrder.getStatus()); repairResult.setBeforePayStatus(beforePayStatus) .setBeforeRefundStatus(beforeRefundStatus); @@ -154,11 +155,11 @@ public class RefundRepairService { // 退款失败返还后的余额+可退余额 == 订单金额 支付订单回退为为支付成功状态 if (payOrderAmount == payOrder.getAmount()){ payOrder.setStatus(PayStatusEnum.SUCCESS.getCode()); - repairResult.setAfterPayStatus(PayStatusEnum.SUCCESS); + repairResult.setAfterPayStatus(PayOrderRefundStatusEnum.NO_REFUND); } else { // 回归部分退款状态 - payOrder.setStatus(PayStatusEnum.PARTIAL_REFUND.getCode()); - repairResult.setAfterPayStatus(PayStatusEnum.PARTIAL_REFUND); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.PARTIAL_REFUND.getCode()); + repairResult.setAfterPayStatus(PayOrderRefundStatusEnum.PARTIAL_REFUND); } // 更新支付订单相关的可退款金额 @@ -179,7 +180,8 @@ public class RefundRepairService { */ private PayRepairRecord payRepairRecord(PayOrder order, RefundRepairWayEnum repairType, RefundRepairResult repairResult){ // 修复前的状态 - String beforeStatus = Optional.ofNullable(repairResult.getBeforePayStatus()).map(PayStatusEnum::getCode).orElse(null); + String beforeStatus = Optional.ofNullable(repairResult.getBeforePayStatus()) + .map(PayOrderRefundStatusEnum::getCode).orElse(null); // 修复发起来源 String source = PaymentContextLocal.get() .getRepairInfo() diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java index c6f2e76e..1722c07f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java @@ -29,9 +29,9 @@ public class AliPayRepairStrategy extends AbsPayRepairStrategy { /** * 策略标识 */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java index 58cae03a..2d655eb9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java @@ -24,8 +24,8 @@ public class UnionPayRepairStrategy extends AbsPayRepairStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java index afdfd780..1ec19e5c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java @@ -32,8 +32,8 @@ public class WeChatPayRepairStrategy extends AbsPayRepairStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java deleted file mode 100644 index fb6cc8c5..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.daxpay.single.service.core.payment.sync.factory; - - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.sync.strategy.pay.AliPaySyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.pay.UnionPaySyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.pay.WeChatPaySyncStrategy; -import cn.daxpay.single.service.func.AbsPaySyncStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 支付同步策略工厂类 - * @author xxm - * @since 2023/7/14 - */ -@UtilityClass -public class PaySyncStrategyFactory { - /** - * 获取支付同步策略 - * @param channelCode 支付通道编码 - * @return 支付同步策略类 - */ - public AbsPaySyncStrategy create(String channelCode) { - AbsPaySyncStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channelCode); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPaySyncStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPaySyncStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPaySyncStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - // noinspection ConstantConditions - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/RefundSyncStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/RefundSyncStrategyFactory.java deleted file mode 100644 index ce839bd2..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/RefundSyncStrategyFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.daxpay.single.service.core.payment.sync.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.sync.strategy.Refund.AliRefundSyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.Refund.UnionRefundSyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.Refund.WeChatRefundSyncStrategy; -import cn.daxpay.single.service.func.AbsRefundSyncStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 支付退款同步策略工厂 - * @author xxm - * @since 2024/1/29 - */ -@UtilityClass -public class RefundSyncStrategyFactory { - /** - * 获取支付同步策略, 只有异步支付方式才需要这个功能 - * @param channelCode 支付通道编码 - * @return 支付同步策略类 - */ - public static AbsRefundSyncStrategy create(String channelCode) { - AbsRefundSyncStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channelCode); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliRefundSyncStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionRefundSyncStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatRefundSyncStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - // noinspection ConstantConditions - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java index 29e18b60..0a17e6cc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.payment.sync.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.code.PaySyncStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; @@ -18,11 +19,11 @@ import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.repair.result.PayRepairResult; import cn.daxpay.single.service.core.payment.repair.service.PayRepairService; -import cn.daxpay.single.service.core.payment.sync.factory.PaySyncStrategyFactory; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService; import cn.daxpay.single.service.func.AbsPaySyncStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -64,9 +65,10 @@ public class PaySyncService { public PaySyncResult sync(PaySyncParam param) { PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) .orElseThrow(() -> new PayFailureException("支付订单不存在")); - // 钱包支付钱包不需要 + + // 钱包支付钱包不需要同步 if (PayChannelEnum.WALLET.getCode().equals(payOrder.getChannel())){ - throw new PayFailureException("订单没有异步支付方式,不需要同步"); + throw new PayFailureException("支付订单不需要同步"); } // 执行订单同步逻辑 return this.syncPayOrder(payOrder); @@ -84,10 +86,9 @@ public class PaySyncService { if (Objects.isNull(lock)){ throw new RepetitiveOperationException("支付同步处理中,请勿重复操作"); } - try { // 获取支付同步策略类 - AbsPaySyncStrategy syncPayStrategy = PaySyncStrategyFactory.create(payOrder.getChannel()); + AbsPaySyncStrategy syncPayStrategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPaySyncStrategy.class); syncPayStrategy.initPayParam(payOrder); // 执行操作, 获取支付网关同步的结果 PayRemoteSyncResult payRemoteSyncResult = syncPayStrategy.doSyncStatus(); @@ -168,12 +169,9 @@ public class PaySyncService { return true; } - // 退款比对状态不做额外处理, 需要通过退款接口进行处理 - List<String> orderClose = Arrays.asList( - PayStatusEnum.REFUNDED.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode()); - if (orderClose.contains(orderStatus) || syncStatus.equals(PaySyncStatusEnum.REFUND)){ + // 退款状态不做额外处理, 需要通过退款接口进行处理 + if (!Objects.equals(order.getRefundStatus(),PayOrderRefundStatusEnum.NO_REFUND.getCode()) + || syncStatus.equals(PaySyncStatusEnum.REFUND)){ return true; } return false; @@ -248,4 +246,5 @@ public class PaySyncService { .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java index eff3f96b..d5f9c007 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java @@ -5,6 +5,7 @@ import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.code.RefundSyncStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; import cn.daxpay.single.param.payment.refund.RefundSyncParam; import cn.daxpay.single.result.sync.RefundSyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; @@ -17,15 +18,17 @@ import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; import cn.daxpay.single.service.core.payment.repair.result.RefundRepairResult; import cn.daxpay.single.service.core.payment.repair.service.RefundRepairService; -import cn.daxpay.single.service.core.payment.sync.factory.RefundSyncStrategyFactory; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService; import cn.daxpay.single.service.func.AbsRefundSyncStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; +import cn.hutool.extra.spring.SpringUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -78,7 +81,7 @@ public class RefundSyncService { } try { // 获取支付同步策略类 - AbsRefundSyncStrategy syncPayStrategy = RefundSyncStrategyFactory.create(refundOrder.getChannel()); + AbsRefundSyncStrategy syncPayStrategy = PayStrategyFactory.create(refundOrder.getChannel(),AbsRefundSyncStrategy.class); syncPayStrategy.setRefundOrder(refundOrder); // 同步前处理, 主要预防请求过于迅速 syncPayStrategy.doBeforeHandler(); @@ -203,4 +206,5 @@ public class RefundSyncService { .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java index 4b55e3a3..cca9d89d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java @@ -30,9 +30,9 @@ public class AliRefundSyncStrategy extends AbsRefundSyncStrategy { /** * 策略标识 */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java index a2ab9706..75217545 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java @@ -43,7 +43,7 @@ public class UnionRefundSyncStrategy extends AbsRefundSyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java index 328aa49e..b2d2b25b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java @@ -28,8 +28,8 @@ public class WeChatRefundSyncStrategy extends AbsRefundSyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java index eec17a41..f43457a5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java @@ -30,9 +30,9 @@ public class AliPaySyncStrategy extends AbsPaySyncStrategy { /** * 策略标识 */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java index b9cb5450..c7d60c2d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java @@ -44,7 +44,7 @@ public class UnionPaySyncStrategy extends AbsPaySyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java index b1413c21..ba804e89 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java @@ -32,8 +32,8 @@ public class WeChatPaySyncStrategy extends AbsPaySyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index 0e88b877..8124c2d0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -32,9 +32,9 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { /** * 策略标识 */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java index 2ee80f4e..9c5475f1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java @@ -1,7 +1,5 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.code.PayChannelEnum; - /** * 支付相关策略标识接口 * @author xxm @@ -11,6 +9,7 @@ public interface PayStrategy { /** * 策略标识 + * @see cn.daxpay.single.param.payment.pay.PayCancelParam */ - PayChannelEnum getChannel(); + String getChannel(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/factory/ReconcileStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java similarity index 34% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/factory/ReconcileStrategyFactory.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java index 1f9fb8c5..c2f1cf7c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/factory/ReconcileStrategyFactory.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java @@ -1,32 +1,31 @@ -package cn.daxpay.single.service.core.payment.reconcile.factory; +package cn.daxpay.single.service.util; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.func.AbsReconcileStrategy; +import cn.daxpay.single.service.func.PayStrategy; import cn.hutool.extra.spring.SpringUtil; import lombok.experimental.UtilityClass; - -import java.util.Map; -import java.util.Objects; +import lombok.val; /** - * 支付对账工厂类 + * 策略工厂工具类 * @author xxm - * @since 2024/1/18 + * @since 2024/6/7 */ @UtilityClass -public class ReconcileStrategyFactory { +public class PayStrategyFactory { /** - * 根据传入的支付类型批量创建策略 + * 获取策略 + * @param channel 通道编码 + * @param clazz 策略类型 + * @return 策略类 + * @param <T> 需要为 PayStrategy 的子类 */ - public AbsReconcileStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - Map<String, AbsReconcileStrategy> beansOfType = SpringUtil.getBeansOfType(AbsReconcileStrategy.class); + public <T extends PayStrategy> T create(String channel, Class<T> clazz) { + val beansOfType = SpringUtil.getBeansOfType(clazz); return beansOfType.values().stream() - .filter(strategy -> Objects.equals(strategy.getChannel(), channelEnum)) + .filter(strategy -> strategy.getChannel().equals(channel)) .findFirst() .orElseThrow(PayUnsupportedMethodException::new); } - } -- Gitee From 91b2b3d9614190d8ebe1bef74b528e9ee229c7e8 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Sat, 8 Jun 2024 23:22:46 +0800 Subject: [PATCH 04/34] =?UTF-8?q?ref=20=E5=88=86=E8=B4=A6=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=BB=9F=E4=B8=80=E4=B8=BAAlloc,=20=E4=B8=8D=E5=8C=85?= =?UTF-8?q?=E6=8B=AC=E6=8E=A5=E5=8F=A3=E5=90=8D=E7=A7=B0,=20=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E8=AE=A2=E5=8D=95=E6=8B=86=E5=88=86=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=BA=E5=8D=95=E7=8B=AC=E7=9A=84=E5=AD=97?= =?UTF-8?q?=E6=AE=B5,=20=E7=AD=96=E7=95=A5=E5=B7=A5=E5=8E=82=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E9=80=9A=E7=94=A8=E7=AD=96=E7=95=A5=E5=B7=A5?= =?UTF-8?q?=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 4 +- .../single/sdk/code/PayChannelEnum.java | 14 ------- .../sdk/code/PayOrderRefundStatusEnum.java | 21 ++++++++++ .../sdk/model/allocation/AllocOrderModel.java | 6 +-- .../sdk/model/allocation/AllocationModel.java | 4 +- .../sdk/model/notice/AllocNoticeModel.java | 6 +-- .../sdk/model/notice/PayNoticeModel.java | 10 ++++- .../single/sdk/model/pay/PayOrderModel.java | 10 ++++- .../param/allocation/AllocFinishParam.java | 8 ++-- .../sdk/param/allocation/AllocSyncParam.java | 4 +- .../allocation/QueryAllocOrderParam.java | 4 +- .../single/sdk/allocation/AllocationTest.java | 4 +- .../single/sdk/query/QueryAllocOrderTest.java | 2 +- .../allocation/AllocationOrderController.java | 6 +-- .../payment/allocation/AllocFinishParam.java | 4 +- .../payment/allocation/AllocSyncParam.java | 4 +- .../allocation/QueryAllocOrderParam.java | 4 +- .../result/allocation/AllocationResult.java | 4 +- .../single/result/order/AllocOrderResult.java | 6 +-- .../single/result/order/PayOrderResult.java | 10 ++++- .../service/AliPayAllocationService.java | 6 +-- .../service/AliPayReconcileService.java | 3 +- .../service/UnionPayReconcileService.java | 3 +- .../service/WeChatPayAllocationService.java | 6 +-- .../service/WechatPayReconcileService.java | 3 +- .../dao/AllocationOrderManager.java | 4 +- .../allocation/entity/AllocationOrder.java | 6 +-- .../service/AllocationOrderService.java | 6 +-- .../core/order/pay/builder/PayBuilder.java | 2 +- .../core/order/pay/dao/PayOrderManager.java | 2 +- .../core/order/pay/entity/PayOrder.java | 2 +- .../allocation/factory/AllocationFactory.java | 39 ------------------- .../factory/AllocationReceiverFactory.java | 38 ------------------ .../service/AllocationCallbackService.java | 2 +- .../service/AllocationGroupService.java | 1 - .../service/AllocationReceiverService.java | 8 ++-- .../allocation/service/AllocationService.java | 38 +++++++++--------- .../service/AllocationSyncService.java | 16 ++++---- .../notice/result/AllocNoticeResult.java | 6 +-- .../notice/result/PayNoticeResult.java | 10 ++++- .../service/ClientNoticeAssistService.java | 2 +- .../payment/pay/service/PayAssistService.java | 2 +- .../reconcile/service/ReconcileService.java | 5 ++- .../transfer/factory/TransferFactory.java | 35 ----------------- .../transfer/service/TransferService.java | 5 +-- .../order/allocation/AllocationOrderDto.java | 6 +-- .../service/dto/order/pay/PayOrderDto.java | 10 ++++- .../handler/excel/PayChannelConvert.java | 1 + .../param/order/AllocationOrderQuery.java | 2 +- .../service/param/order/PayOrderQuery.java | 10 ++++- .../service/task/AllocationSyncTask.java | 2 +- 51 files changed, 177 insertions(+), 239 deletions(-) create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayOrderRefundStatusEnum.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationReceiverFactory.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java diff --git a/_doc/Task.md b/_doc/Task.md index a8363a12..5e085a91 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -7,13 +7,15 @@ - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 - [ ] 管理端界面支持扫码绑定对账接收方功能 - [ ] 支付通道两个独立的配置进行合并为一个 +- [ ] 平台配置和接口配置删除回调地址配置, 只保留接口参数设置 +- [ ] 接口配置删除验签配置, 放到平台配置进行统一处理 +- [x] 分账字段统一为Alloc, 不包括接口名称 - [x] 支付订单拆分退款状态为单独的字段 - [x] 策略工厂修改为通用策略工厂 - [x] 支付和退款达到终态不可以再回退回之前的状态 - [x] 修复支付关闭参数名称不正确问题 2.0.9: 消息通知改版和功能优化 - [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 -- [ ] 平台配置和接口配置删除回调地址配置, 只保留接口参数设置 - [ ] 增加支付宝和微信通知回调地址一键生成功能 2.1.x 版本内容 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java index 51e1f56c..214e140d 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java @@ -3,9 +3,6 @@ package cn.daxpay.single.sdk.code; import lombok.Getter; import lombok.RequiredArgsConstructor; -import java.util.Arrays; -import java.util.Objects; - /** * 支付通道枚举 * @@ -26,15 +23,4 @@ public enum PayChannelEnum { /** 支付通道名称 */ private final String name; - - /** - * 根据编码获取枚举 - */ - public static PayChannelEnum findByCode(String code){ - return Arrays.stream(values()) - .filter(o -> Objects.equals(o.getCode(), code)) - .findFirst() - .orElseThrow(() -> new IllegalArgumentException("该枚举不存在")); - } - } diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayOrderRefundStatusEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayOrderRefundStatusEnum.java new file mode 100644 index 00000000..b3edddb3 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayOrderRefundStatusEnum.java @@ -0,0 +1,21 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 支付订单的退款状态 + * @author xxm + * @since 2024/6/7 + */ +@Getter +@AllArgsConstructor +public enum PayOrderRefundStatusEnum { + NO_REFUND("no_refund","未退款"), + REFUNDING("refunding","退款中"), + PARTIAL_REFUND("partial_refund","部分退款"), + REFUNDED("refunded","全部退款"), + ; + private final String code; + private final String name; +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java index 36b0e4ba..996aabf0 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java @@ -22,13 +22,13 @@ import java.util.List; public class AllocOrderModel extends DaxPayResponseModel { /** 分账单号 */ - private String allocationNo; + private String allocNo; /** 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** 通道分账号 */ - private String outAllocationNo; + private String outAllocNo; /** 支付订单号 */ private String orderNo; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java index 96ffbe80..ecd65e63 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java @@ -17,10 +17,10 @@ import lombok.ToString; public class AllocationModel extends DaxPayResponseModel { /** 分账订单号 */ - private String allocationNo; + private String allocNo; /** 分账订单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** * 分账状态 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java index 0f0492a4..7b289e0a 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java @@ -22,17 +22,17 @@ public class AllocNoticeModel extends DaxPayResponseModel { /** * 分账单号 */ - private String allocationNo; + private String allocNo; /** * 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** * 通道分账号 */ - private String outAllocationNo; + private String outAllocNo; /** * 支付订单号 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java index e17653e0..f01747ef 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java @@ -2,6 +2,7 @@ package cn.daxpay.single.sdk.model.notice; import cn.daxpay.single.sdk.code.PayChannelEnum; import cn.daxpay.single.sdk.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.sdk.code.PayOrderRefundStatusEnum; import cn.daxpay.single.sdk.code.PayStatusEnum; import cn.daxpay.single.sdk.net.DaxPayResponseModel; import lombok.Getter; @@ -56,11 +57,18 @@ public class PayNoticeModel extends DaxPayResponseModel { */ private String status; + + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ - private String allocationStatus; + private String allocStatus; /** 支付成功时间 */ private Long payTime; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java index decf9c4a..e035de88 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java @@ -2,6 +2,7 @@ package cn.daxpay.single.sdk.model.pay; import cn.daxpay.single.sdk.code.PayChannelEnum; import cn.daxpay.single.sdk.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.sdk.code.PayOrderRefundStatusEnum; import cn.daxpay.single.sdk.code.PayStatusEnum; import cn.daxpay.single.sdk.net.DaxPayResponseModel; import lombok.Getter; @@ -18,7 +19,6 @@ import lombok.ToString; @ToString(callSuper = true) public class PayOrderModel extends DaxPayResponseModel { - /** 订单号 */ private String orderNo; @@ -63,11 +63,17 @@ public class PayOrderModel extends DaxPayResponseModel { */ private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ - private String allocationStatus; + private String allocStatus; /** 支付时间 */ diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java index bb7e887c..37253cf4 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java @@ -17,11 +17,11 @@ import lombok.EqualsAndHashCode; @Data public class AllocFinishParam extends DaxPayRequest<AllocationModel> { - /** 商户分账单号 */ - private String bizAllocationNo; - /** 分账单号 */ - private String allocationNo; + private String allocNo; + + /** 商户分账单号 */ + private String bizAllocNo; /** * 方法请求路径 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java index efda2cb3..b61b37ab 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java @@ -18,10 +18,10 @@ import lombok.Setter; public class AllocSyncParam extends DaxPayRequest<AllocSyncModel> { /** 分账号 */ - private String allocationNo; + private String allocNo; /** 商户分账号 */ - private String bizAllocationNo; + private String bizAllocNo; @Override public String path() { diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java index ff482e8d..d8f3efdd 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java @@ -18,10 +18,10 @@ import lombok.Setter; public class QueryAllocOrderParam extends DaxPayRequest<AllocOrderModel> { /** 分账单号 */ - private String allocationNo; + private String allocNo; /** 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** * 方法请求路径 diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java index 4e9c6fdd..d4ccfc36 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java @@ -149,7 +149,7 @@ public class AllocationTest { public void allocationFinish() { // 分账完结参数 AllocFinishParam param = new AllocFinishParam(); - param.setAllocationNo("DEVA24060117191963000003"); + param.setAllocNo("DEVA24060117191963000003"); DaxPayResult<AllocationModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); @@ -162,7 +162,7 @@ public class AllocationTest { public void allocationSync() { // 分账同步参数 AllocSyncParam param = new AllocSyncParam(); - param.setAllocationNo("DEVA24060117191963000003"); + param.setAllocNo("DEVA24060117191963000003"); DaxPayResult<AllocSyncModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java index d7c98c2c..3ce113a5 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java @@ -37,7 +37,7 @@ public class QueryAllocOrderTest { @Test public void queryAllocOrder() { QueryAllocOrderParam param = new QueryAllocOrderParam(); - param.setAllocationNo("DEVA240602000243630000101"); + param.setAllocNo("DEVA240602000243630000101"); param.setClientIp("127.0.0.1"); DaxPayResult<AllocOrderModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java index 11aad17e..11842d43 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java @@ -88,9 +88,9 @@ public class AllocationOrderController { @InitPaymentContext(PaymentApiCode.SYNC_ALLOCATION) @Operation(summary = "同步分账结果") @PostMapping("/sync") - public ResResult<Void> sync(String allocationNo){ + public ResResult<Void> sync(String allocNo){ AllocSyncParam param = new AllocSyncParam(); - param.setAllocationNo(allocationNo); + param.setAllocNo(allocNo); allocationSyncService.sync(param); return Res.ok(); } @@ -100,7 +100,7 @@ public class AllocationOrderController { @PostMapping("/finish") public ResResult<Void> finish(String allocationNo){ AllocFinishParam param = new AllocFinishParam(); - param.setAllocationNo(allocationNo); + param.setAllocNo(allocationNo); allocationService.finish(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java index 57b9bfe2..4ad4cd62 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java @@ -16,8 +16,8 @@ import lombok.EqualsAndHashCode; public class AllocFinishParam extends PaymentCommonParam { @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java index b01508a0..9b863f4b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java @@ -16,8 +16,8 @@ import lombok.EqualsAndHashCode; public class AllocSyncParam extends PaymentCommonParam { @Schema(description = "分账号") - private String allocationNo; + private String allocNo; @Schema(description = "商户分账号") - private String bizAllocationNo; + private String bizAllocNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java index 6ba1a788..f43aa85c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java @@ -16,8 +16,8 @@ import lombok.EqualsAndHashCode; public class QueryAllocOrderParam extends PaymentCommonParam { @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java index ca0444cc..832e528e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java @@ -20,11 +20,11 @@ public class AllocationResult extends PaymentCommonResult { /** 分账订单号 */ @Schema(description = "分账订单号") - private String allocationNo; + private String allocNo; /** 商户分账订单号 */ @Schema(description = "商户分账订单号") - private String bizAllocationNo; + private String bizAllocNo; /** * 分账状态 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java index 2ab85ea4..a9b1014f 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java @@ -25,15 +25,15 @@ public class AllocOrderResult extends PaymentCommonResult { /** 分账单号 */ @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; /** 商户分账单号 */ @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** 通道分账号 */ @Schema(description = "通道分账号") - private String outAllocationNo; + private String outAllocNo; /** * 支付订单号 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java index d7bdbb57..a73c460f 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java @@ -2,6 +2,7 @@ package cn.daxpay.single.result.order; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.result.PaymentCommonResult; import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; @@ -79,12 +80,19 @@ public class PayOrderResult extends PaymentCommonResult { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 支付时间 */ @Schema(description = "支付时间") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java index 314b22c6..dd2985a5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java @@ -49,7 +49,7 @@ public class AliPayAllocationService { public void allocation(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails){ // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); - model.setOutRequestNo(allocationOrder.getAllocationNo()); + model.setOutRequestNo(allocationOrder.getAllocNo()); model.setTradeNo(allocationOrder.getOutOrderNo()); model.setRoyaltyMode(AliPayCode.ALLOC_ASYNC); @@ -79,7 +79,7 @@ public class AliPayAllocationService { public void finish(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails ){ // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); - model.setOutRequestNo(String.valueOf(allocationOrder.getAllocationNo())); + model.setOutRequestNo(String.valueOf(allocationOrder.getAllocNo())); model.setTradeNo(allocationOrder.getOutOrderNo()); model.setRoyaltyMode(AliPayCode.ALLOC_ASYNC); // 分账完结参数 @@ -109,7 +109,7 @@ public class AliPayAllocationService { public AllocRemoteSyncResult sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails){ AlipayTradeOrderSettleQueryModel model = new AlipayTradeOrderSettleQueryModel(); model.setTradeNo(allocationOrder.getOutOrderNo()); - model.setOutRequestNo(allocationOrder.getAllocationNo()); + model.setOutRequestNo(allocationOrder.getAllocNo()); AlipayTradeOrderSettleQueryRequest request = new AlipayTradeOrderSettleQueryRequest(); request.setBizModel(model); AlipayTradeOrderSettleQueryResponse response = AliPayApi.execute(request); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java index 0d71396d..aaeb7be9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java @@ -239,10 +239,9 @@ public class AliPayReconcileService { */ private void saveOriginalFile(ReconcileOrder reconcileOrder, byte[] bytes) { // 将原始文件进行保存 - PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 - String fileName = StrUtil.format("交易对账单-{}-{}.csv", channelEnum.getName(),date); + String fileName = StrUtil.format("交易对账单-支付宝-{}.csv",date); UploadPretreatment uploadPretreatment = fileStorageService.of(bytes); if (StrUtil.isNotBlank(fileName)) { uploadPretreatment.setOriginalFilename(fileName); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java index 169c56af..44722bc4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java @@ -210,10 +210,9 @@ public class UnionPayReconcileService { * 保存下载的原始对账文件 */ private void saveOriginalFile(ReconcileOrder reconcileOrder, byte[] bytes) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 - String fileName = StrUtil.format("交易对账单-{}-{}.txt", channelEnum.getName(),date); + String fileName = StrUtil.format("交易对账单-云闪付-{}.txt",date); UploadPretreatment uploadPretreatment = fileStorageService.of(bytes); if (StrUtil.isNotBlank(fileName)) { uploadPretreatment.setOriginalFilename(fileName); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java index ab0e47b6..c27a9d2d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java @@ -75,7 +75,7 @@ public class WeChatPayAllocationService { .appid(config.getWxAppId()) .nonce_str(WxPayKit.generateStr()) .transaction_id(allocationOrder.getOutOrderNo()) - .out_order_no(allocationOrder.getAllocationNo()) + .out_order_no(allocationOrder.getAllocNo()) .receivers(JSON.toJSONString(list)) .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); @@ -97,7 +97,7 @@ public class WeChatPayAllocationService { .nonce_str(WxPayKit.generateStr()) .transaction_id(allocationOrder.getOutOrderNo()) // 分账要使用单独的的流水号, 不能与分账号相同 - .out_order_no(allocationOrder.getAllocationNo()+'F') + .out_order_no(allocationOrder.getAllocNo()+'F') .description("分账已完成") .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); @@ -118,7 +118,7 @@ public class WeChatPayAllocationService { .mch_id(config.getWxMchId()) .nonce_str(WxPayKit.generateStr()) .transaction_id(allocationOrder.getOutOrderNo()) - .out_order_no(allocationOrder.getAllocationNo()) + .out_order_no(allocationOrder.getAllocNo()) .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); String xmlResult = WxPayApi.profitSharingQuery(params); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java index 074ce4dd..d2954596 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java @@ -320,10 +320,9 @@ public class WechatPayReconcileService{ */ private void saveOriginalFile(ReconcileOrder reconcileOrder, String text) { // 微信接收结果转换为 byte[] - PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 - String fileName = StrUtil.format("交易对账单-{}-{}.txt", channelEnum.getName(),date); + String fileName = StrUtil.format("交易对账单-微信-{}.txt",date); byte[] bytes = StrUtil.bytes(text, CharsetUtil.CHARSET_UTF_8); UploadPretreatment uploadPretreatment = fileStorageService.of(bytes); if (StrUtil.isNotBlank(fileName)) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java index 542ff8bc..aa9cdf1a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java @@ -31,14 +31,14 @@ public class AllocationOrderManager extends BaseManager<AllocationOrderMapper, A * 根据分账单号查询 */ public Optional<AllocationOrder> findByAllocationNo(String allocationNo){ - return findByField(AllocationOrder::getAllocationNo, allocationNo); + return findByField(AllocationOrder::getAllocNo, allocationNo); } /** * 根据商户分账号查询 */ public Optional<AllocationOrder> findByBizAllocationNo(String bizAllocationNo){ - return findByField(AllocationOrder::getBizAllocationNo, bizAllocationNo); + return findByField(AllocationOrder::getBizAllocNo, bizAllocationNo); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java index e5b900b5..879e6ae8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java @@ -34,19 +34,19 @@ public class AllocationOrder extends MpBaseEntity implements EntityBaseFunction< * 分账单号 */ @DbColumn(comment = "分账单号") - private String allocationNo; + private String allocNo; /** * 商户分账单号 */ @DbColumn(comment = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** * 通道分账号 */ @DbColumn(comment = "通道分账号") - private String outAllocationNo; + private String outAllocNo; /** 支付订单ID */ @DbColumn(comment = "支付订单ID") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java index c6cf4b27..7692b5a9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java @@ -164,8 +164,8 @@ public class AllocationOrderService { .setBizOrderNo(payOrder.getBizOrderNo()) .setOutOrderNo(payOrder.getOutOrderNo()) .setTitle(payOrder.getTitle()) - .setAllocationNo(OrderNoGenerateUtil.allocation()) - .setBizAllocationNo(param.getBizAllocationNo()) + .setAllocNo(OrderNoGenerateUtil.allocation()) + .setBizAllocNo(param.getBizAllocationNo()) .setChannel(payOrder.getChannel()) .setDescription(param.getDescription()) .setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) @@ -187,7 +187,7 @@ public class AllocationOrderService { extend.setId(allocId); // 更新支付订单分账状态 - payOrder.setAllocationStatus(PayOrderAllocStatusEnum.ALLOCATION.getCode()); + payOrder.setAllocStatus(PayOrderAllocStatusEnum.ALLOCATION.getCode()); payOrderManager.updateById(payOrder); allocationOrderDetailManager.saveAll(details); allocationOrderExtraManager.save(extend); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java index 85e6a34a..2a1d3741 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java @@ -48,7 +48,7 @@ public class PayBuilder { .setRefundableBalance(payParam.getAmount()); // 如果支持分账, 设置分账状态为代分账 if (payOrder.getAllocation()) { - payOrder.setAllocationStatus(PayOrderAllocStatusEnum.WAITING.getCode()); + payOrder.setAllocStatus(PayOrderAllocStatusEnum.WAITING.getCode()); } return payOrder; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java index 6f6cae72..58d734c0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java @@ -71,7 +71,7 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { return this.lambdaQuery() .eq(PayOrder::getAllocation, true) .eq(PayOrder::getAutoAllocation, true) - .eq(PayOrder::getAllocationStatus, PayOrderAllocStatusEnum.WAITING.getCode()) + .eq(PayOrder::getAllocStatus, PayOrderAllocStatusEnum.WAITING.getCode()) .eq(PayOrder::getStatus, PayStatusEnum.SUCCESS.getCode()) .list(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index df3fa244..f4a99e2b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -106,7 +106,7 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde * @see PayOrderAllocStatusEnum */ @DbColumn(comment = "分账状态") - private String allocationStatus; + private String allocStatus; /** 支付时间 */ @DbColumn(comment = "支付时间") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationFactory.java deleted file mode 100644 index 07de9705..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationFactory.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.daxpay.single.service.core.payment.allocation.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.allocation.strategy.allocation.AliPayAllocationStrategy; -import cn.daxpay.single.service.core.payment.allocation.strategy.allocation.WeChatPayAllocationStrategy; -import cn.daxpay.single.service.func.AbsAllocationStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 分账策略工厂 - * @author xxm - * @since 2024/4/7 - */ -@UtilityClass -public class AllocationFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsAllocationStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - - AbsAllocationStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayAllocationStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayAllocationStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationReceiverFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationReceiverFactory.java deleted file mode 100644 index 38cbffaa..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationReceiverFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.daxpay.single.service.core.payment.allocation.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.allocation.strategy.receiver.AliPayAllocationReceiverStrategy; -import cn.daxpay.single.service.core.payment.allocation.strategy.receiver.WeChatPayAllocationReceiverStrategy; -import cn.daxpay.single.service.func.AbsAllocationReceiverStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 分账接收方策略工厂 - * @author xxm - * @since 2024/4/1 - */ -@UtilityClass -public class AllocationReceiverFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsAllocationReceiverStrategy create(PayChannelEnum channelEnum) { - - AbsAllocationReceiverStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayAllocationReceiverStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayAllocationReceiverStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java index 85efcfe3..80aeb95d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java @@ -18,7 +18,7 @@ public class AllocationCallbackService { /** * */ - public void callback(String allocationNo){ + public void callback(String allocNo){ } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java index c84bc588..6000a18c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java @@ -94,7 +94,6 @@ public class AllocationGroupService { * 创建分账组 */ public void create(AllocationGroupParam param){ - PayChannelEnum.findByCode(param.getChannel()); AllocationGroup group = AllocationGroupConvert.CONVERT.convert(param); group.setTotalRate(0); groupManager.save(group); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java index 0ebf8185..8b9473e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java @@ -20,10 +20,10 @@ import cn.daxpay.single.service.core.payment.allocation.convert.AllocationReceiv import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupReceiverManager; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationReceiverManager; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; -import cn.daxpay.single.service.core.payment.allocation.factory.AllocationReceiverFactory; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; import cn.daxpay.single.service.func.AbsAllocationReceiverStrategy; import cn.daxpay.single.service.param.allocation.receiver.AllocationReceiverQuery; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.core.util.StrUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -120,8 +120,7 @@ public class AllocationReceiverService { } AllocationReceiver receiver = AllocationReceiverConvert.CONVERT.convert(param); // 获取策略 - PayChannelEnum channelEnum = PayChannelEnum.findByCode(param.getChannel()); - AbsAllocationReceiverStrategy receiverStrategy = AllocationReceiverFactory.create(channelEnum); + AbsAllocationReceiverStrategy receiverStrategy = PayStrategyFactory.create(param.getChannel(), AbsAllocationReceiverStrategy.class); // 校验 receiverStrategy.setAllocationReceiver(receiver); if (!receiverStrategy.validation()){ @@ -148,8 +147,7 @@ public class AllocationReceiverService { throw new PayFailureException("该接收方已被使用,无法被删除"); } // 获取策略 - PayChannelEnum channelEnum = PayChannelEnum.findByCode(receiver.getChannel()); - AbsAllocationReceiverStrategy receiverStrategy = AllocationReceiverFactory.create(channelEnum); + AbsAllocationReceiverStrategy receiverStrategy = PayStrategyFactory.create(receiver.getChannel(), AbsAllocationReceiverStrategy.class); LockInfo lock = lockTemplate.lock("payment:receiver:" + param.getReceiverNo(),10000,200); if (Objects.isNull(lock)){ throw new PayFailureException("分账方处理中,请勿重复操作"); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index e0d03785..0c12a9c4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -11,9 +11,9 @@ import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.allocation.AllocFinishParam; import cn.daxpay.single.param.payment.allocation.AllocationParam; import cn.daxpay.single.param.payment.allocation.QueryAllocOrderParam; +import cn.daxpay.single.result.allocation.AllocationResult; import cn.daxpay.single.result.order.AllocOrderDetailResult; import cn.daxpay.single.result.order.AllocOrderResult; -import cn.daxpay.single.result.allocation.AllocationResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; @@ -28,9 +28,9 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupManager; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationGroup; -import cn.daxpay.single.service.core.payment.allocation.factory.AllocationFactory; import cn.daxpay.single.service.dto.allocation.AllocationGroupReceiverResult; import cn.daxpay.single.service.func.AbsAllocationStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -111,13 +111,13 @@ public class AllocationService { // 无需进行分账, if (Objects.equals(order.getStatus(),AllocOrderStatusEnum.IGNORE.getCode())){ return new AllocationResult() - .setAllocationNo(order.getAllocationNo()) - .setBizAllocationNo(order.getBizAllocationNo()) + .setAllocNo(order.getAllocNo()) + .setBizAllocNo(order.getBizAllocNo()) .setStatus(order.getStatus()); } // 创建分账策略并初始化 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(payOrder.getChannel()); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(payOrder.getChannel(),AbsAllocationStrategy.class); allocationStrategy.initParam(order, details); try { // 分账预处理 @@ -139,11 +139,11 @@ public class AllocationService { String outAllocationNo = PaymentContextLocal.get() .getAllocationInfo() .getOutAllocationNo(); - order.setOutAllocationNo(outAllocationNo); + order.setOutAllocNo(outAllocationNo); allocationOrderManager.updateById(order); return new AllocationResult() - .setAllocationNo(order.getAllocationNo()) - .setBizAllocationNo(order.getBizAllocationNo()) + .setAllocNo(order.getAllocNo()) + .setBizAllocNo(order.getBizAllocNo()) .setStatus(order.getStatus()); } finally { lockTemplate.releaseLock(lock); @@ -168,7 +168,7 @@ public class AllocationService { } List<AllocationOrderDetail> details = this.getDetails(order.getId()); // 创建分账策略并初始化 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(order.getChannel()); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(order.getChannel(),AbsAllocationStrategy.class); allocationStrategy.initParam(order, details); // 分账预处理 allocationStrategy.doBeforeHandler(); @@ -191,8 +191,8 @@ public class AllocationService { } allocationOrderManager.updateById(order); return new AllocationResult() - .setAllocationNo(order.getAllocationNo()) - .setBizAllocationNo(order.getBizAllocationNo()) + .setAllocNo(order.getAllocNo()) + .setBizAllocNo(order.getBizAllocNo()) .setStatus(order.getStatus()); } finally { lockTemplate.releaseLock(lock); @@ -204,11 +204,11 @@ public class AllocationService { */ public AllocationResult finish(AllocFinishParam param) { AllocationOrder allocationOrder; - if (Objects.nonNull(param.getAllocationNo())){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocationNo()) + if (Objects.nonNull(param.getAllocNo())){ + allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocNo()) .orElseThrow(() -> new DataNotExistException("未查询到分账单信息")); } else { - allocationOrder = allocationOrderManager.findByBizAllocationNo(param.getBizAllocationNo()) + allocationOrder = allocationOrderManager.findByBizAllocationNo(param.getBizAllocNo()) .orElseThrow(() -> new DataNotExistException("未查询到分账单信息")); } return this.finish(allocationOrder); @@ -225,7 +225,7 @@ public class AllocationService { List<AllocationOrderDetail> details = this.getDetails(allocationOrder.getId()); // 创建分账策略并初始化 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(allocationOrder.getChannel()); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocationOrder.getChannel(),AbsAllocationStrategy.class); allocationStrategy.initParam(allocationOrder, details); // 分账完结预处理 @@ -245,8 +245,8 @@ public class AllocationService { } allocationOrderManager.updateById(allocationOrder); return new AllocationResult() - .setAllocationNo(allocationOrder.getAllocationNo()) - .setBizAllocationNo(allocationOrder.getBizAllocationNo()) + .setAllocNo(allocationOrder.getAllocNo()) + .setBizAllocNo(allocationOrder.getBizAllocNo()) .setStatus(allocationOrder.getStatus()); } @@ -262,7 +262,7 @@ public class AllocationService { throw new PayFailureException("该订单不允许分账"); } // 判断分账状态 - if (Objects.equals(PayOrderAllocStatusEnum.ALLOCATION.getCode(), payOrder.getAllocationStatus())){ + if (Objects.equals(PayOrderAllocStatusEnum.ALLOCATION.getCode(), payOrder.getAllocStatus())){ throw new PayFailureException("该订单已分账完成"); } return payOrder; @@ -273,7 +273,7 @@ public class AllocationService { */ public AllocOrderResult queryAllocationOrder(QueryAllocOrderParam param) { // 查询分账单 - AllocationOrder allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocationNo()) + AllocationOrder allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocNo()) .orElseThrow(() -> new PayFailureException("分账单不存在")); AllocOrderResult result = AllocationConvert.CONVERT.toResult(allocationOrder); // 查询分账单明细 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java index c4dd9308..1ac347f2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java @@ -13,12 +13,12 @@ import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailM import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.payment.allocation.factory.AllocationFactory; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService; import cn.daxpay.single.service.func.AbsAllocationStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -58,12 +58,12 @@ public class AllocationSyncService { public AllocSyncResult sync(AllocSyncParam param) { // 获取分账订单 AllocationOrder allocationOrder = null; - if (Objects.nonNull(param.getAllocationNo())){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocationNo()) + if (Objects.nonNull(param.getAllocNo())){ + allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocNo()) .orElseThrow(() -> new DataNotExistException("分账单不存在")); } if (Objects.isNull(allocationOrder)){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getBizAllocationNo()) + allocationOrder = allocationOrderManager.findByAllocationNo(param.getBizAllocNo()) .orElseThrow(() -> new DataNotExistException("分账单不存在")); } // 如果类型为忽略, 不进行同步处理 @@ -87,7 +87,7 @@ public class AllocationSyncService { try { List<AllocationOrderDetail> detailList = allocationOrderDetailManager.findAllByOrderId(allocationOrder.getId()); // 获取分账策略 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(allocationOrder.getChannel()); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocationOrder.getChannel(),AbsAllocationStrategy.class); allocationStrategy.initParam(allocationOrder, detailList); // 分账完结预处理 allocationStrategy.doBeforeHandler(); @@ -159,9 +159,9 @@ public class AllocationSyncService { */ private void saveRecord(AllocationOrder order, AllocRemoteSyncResult syncResult, String errorCode, String errorMsg){ PaySyncRecord paySyncRecord = new PaySyncRecord() - .setBizTradeNo(order.getBizAllocationNo()) - .setTradeNo(order.getAllocationNo()) - .setOutTradeNo(order.getOutAllocationNo()) + .setBizTradeNo(order.getBizAllocNo()) + .setTradeNo(order.getAllocNo()) + .setOutTradeNo(order.getOutAllocNo()) .setSyncType(PaymentTypeEnum.ALLOCATION.getCode()) .setChannel(order.getChannel()) .setSyncInfo(syncResult.getSyncInfo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java index 896779b1..1b29227f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java @@ -28,19 +28,19 @@ public class AllocNoticeResult extends PaymentCommonResult { * 分账单号 */ @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; /** * 商户分账单号 */ @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** * 通道分账号 */ @Schema(description = "通道分账号") - private String outAllocationNo; + private String outAllocNo; /** * 支付订单号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java index e92a5f30..84f842cf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.payment.notice.result; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.result.PaymentCommonResult; import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; @@ -75,12 +76,19 @@ public class PayNoticeResult extends PaymentCommonResult { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 支付时间 */ @Schema(description = "支付时间") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java index 6f729778..a4e00b7d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java @@ -97,7 +97,7 @@ public class ClientNoticeAssistService { .setNoticeType(ClientNoticeTypeEnum.ALLOCATION.getType()) .setSendCount(0) .setTradeId(order.getId()) - .setTradeNo(order.getAllocationNo()) + .setTradeNo(order.getAllocNo()) .setTradeStatus(order.getStatus()); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 9a0483aa..8b5758b3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -157,7 +157,7 @@ public class PayAssistService { .setChannel(payParam.getChannel()) .setMethod(payParam.getMethod()); if (!order.getAllocation()) { - order.setAllocationStatus(null); + order.setAllocStatus(null); } // 扩展信息 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java index 089b8de2..0712453d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java @@ -257,7 +257,7 @@ public class ReconcileService { // 设置header信息 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); - + // TODO 后续使用数据库中数据 PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 @@ -284,7 +284,7 @@ public class ReconcileService { byte[] bytes = byteArrayOutputStream.toByteArray();// 设置header信息 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); - + // TODO 后续使用数据库中数据 PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 @@ -316,6 +316,7 @@ public class ReconcileService { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); + // TODO 后续使用数据库中数据 PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java deleted file mode 100644 index ca6ed388..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.daxpay.single.service.core.payment.transfer.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.transfer.strategy.AliPayTransferStrategy; -import cn.daxpay.single.service.func.AbsTransferStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 转账工具类 - * @author xxm - * @since 2024/3/21 - */ -@UtilityClass -public class TransferFactory { - - /** - * 获取转账策略 - * @param channelCode 支付通道编码 - * @return 支付同步策略类 - */ - public AbsTransferStrategy create(String channelCode) { - AbsTransferStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channelCode); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayTransferStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index f5f15422..179b410a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -1,13 +1,12 @@ package cn.daxpay.single.service.core.payment.transfer.service; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.param.payment.transfer.TransferParam; import cn.daxpay.single.result.transfer.TransferResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; -import cn.daxpay.single.service.core.payment.transfer.factory.TransferFactory; import cn.daxpay.single.service.func.AbsTransferStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.extra.spring.SpringUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -31,7 +30,7 @@ public class TransferService { public TransferResult transfer(TransferParam transferParam){ // 获取策略 - AbsTransferStrategy transferStrategy = TransferFactory.create(PayChannelEnum.ALI.getCode()); + AbsTransferStrategy transferStrategy = PayStrategyFactory.create(transferParam.getChannel(),AbsTransferStrategy.class); // 检查转账参数 transferStrategy.doValidateParam(transferParam); // 创建转账订单并设置 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java index f30c2817..e3aff101 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java @@ -23,18 +23,18 @@ public class AllocationOrderDto extends BaseDto { * 分账订单号 */ @Schema(description = "分账订单号") - private String allocationNo; + private String allocNo; /** * 商户分账单号 */ @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** * 通道分账单号 */ @Schema(description = "通道分账单号") - private String outAllocationNo; + private String outAllocNo; /** * 支付订单ID diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java index 7b37b0ef..912c3ad8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.dto.order.pay; import cn.bootx.platform.common.core.rest.dto.BaseDto; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -78,12 +79,19 @@ public class PayOrderDto extends BaseDto { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 支付时间 */ @Schema(description = "支付时间") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java index 3d0d7c8d..2a604db9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java @@ -8,6 +8,7 @@ import com.alibaba.excel.metadata.property.ExcelContentProperty; /** * 支付通道转换 + * TODO 改为读取数据库 * @author xxm * @since 2024/5/6 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java index 5bcf0d1c..7ad532b5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java @@ -24,7 +24,7 @@ public class AllocationOrderQuery { private String title; @Schema(description = "分账业务号") - private String allocationNo; + private String allocNo; @Schema(description = "分账通道") private String channel; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java index 831f0325..8c8a39dd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java @@ -4,6 +4,7 @@ import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -71,12 +72,19 @@ public class PayOrderQuery extends QueryOrder { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 错误码 */ @Schema(description = "错误码") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java index 9ba89cd2..fbb2ac61 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java @@ -43,7 +43,7 @@ public class AllocationSyncTask implements Job { allocationService.finish(allocationOrder); } } catch (Exception e) { - log.warn("分账同步或完结失败, 分账号:{}", allocationOrder.getAllocationNo()); + log.warn("分账同步或完结失败, 分账号:{}", allocationOrder.getAllocNo()); log.warn("分账同步或完结失败", e); } } -- Gitee From 5b49ff70dc7588c27646ae19a8a5e21f0f7065ce Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Sun, 9 Jun 2024 18:36:27 +0800 Subject: [PATCH 05/34] =?UTF-8?q?ref=20=E5=B9=B3=E5=8F=B0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=94=B9=E7=89=88.=20=E6=8E=A5=E5=8F=A3=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=94=B9=E7=89=88.=20=E8=84=9A=E6=89=8B=E6=9E=B6?= =?UTF-8?q?=E7=B2=BE=E7=AE=80,=20=E5=88=A0=E9=99=A4=E6=97=A0=E5=85=B3?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 24 +- .../common-starter-dingtalk/pom.xml | 29 -- .../dingtalk/DingTalkAutoConfiguration.java | 21 -- .../starter/dingtalk/code/DingTalkCode.java | 123 ------- .../dingtalk/code/DingTalkNoticeCode.java | 36 -- .../configuration/DingTalkProperties.java | 27 -- .../controller/DingRobotConfigController.java | 78 ----- .../core/base/result/AccessTokenResult.java | 23 -- .../core/base/result/DingTalkResult.java | 34 -- .../core/base/result/MediaResult.java | 39 --- .../core/base/service/DingAccessService.java | 97 ------ .../core/media/dao/DingMediaMd5Manager.java | 29 -- .../core/media/dao/DingMediaMd5Mapper.java | 14 - .../core/media/entity/DingMediaMd5.java | 31 -- .../media/service/DingMediaMd5Service.java | 19 -- .../core/media/service/DingMediaService.java | 91 ----- .../core/notice/result/ChatNoticeResult.java | 28 -- .../core/notice/result/CorpNoticeResult.java | 35 -- .../notice/service/DingNoticeService.java | 101 ------ .../core/robot/convert/DingRobotConvert.java | 24 -- .../robot/dao/DingRobotConfigManager.java | 47 --- .../core/robot/dao/DingRobotConfigMapper.java | 16 - .../core/robot/entity/DingRobotConfig.java | 52 --- .../robot/service/DingRobotConfigService.java | 102 ------ .../robot/service/DingRobotSendService.java | 68 ---- .../core/user/entity/UserIdResult.java | 25 -- .../core/user/service/DingUserService.java | 60 ---- .../dto/robot/DingRobotConfigDto.java | 40 --- .../dingtalk/param/notice/ChatNotice.java | 39 --- .../dingtalk/param/notice/CorpNotice.java | 55 --- .../param/notice/RecallCorpNotice.java | 36 -- .../param/notice/UpdateCorpNotice.java | 40 --- .../param/notice/msg/ActionCardMsg.java | 70 ---- .../starter/dingtalk/param/notice/msg/At.java | 59 ---- .../dingtalk/param/notice/msg/DingMedia.java | 27 -- .../dingtalk/param/notice/msg/FileMsg.java | 37 -- .../dingtalk/param/notice/msg/ImageMsg.java | 37 -- .../dingtalk/param/notice/msg/LinkMsg.java | 78 ----- .../param/notice/msg/MarkdownMsg.java | 70 ---- .../dingtalk/param/notice/msg/Msg.java | 50 --- .../dingtalk/param/notice/msg/OaMsg.java | 139 -------- .../dingtalk/param/notice/msg/TextMsg.java | 51 --- .../dingtalk/param/notice/msg/VoiceMsg.java | 55 --- .../param/robot/DingRobotConfigParam.java | 41 --- .../starter/dingtalk/util/DingTalkUtil.java | 41 --- ...ot.autoconfigure.AutoConfiguration.imports | 1 - .../common-starter-wechat/pom.xml | 81 ----- .../wechat/WeChatAutoConfiguration.java | 21 -- .../starter/wechat/code/WeChatCode.java | 28 -- .../configuration/WeChatAppletProperties.java | 24 -- .../configuration/WeChatConfiguration.java | 64 ---- .../WeChatMessageRouterConfiguration.java | 48 --- .../configuration/WeChatProperties.java | 30 -- .../controller/WeChatArticleController.java | 34 -- .../controller/WeChatMediaController.java | 55 --- .../controller/WeChatMenuController.java | 91 ----- .../controller/WeChatPortalController.java | 55 --- .../controller/WeChatQrLoginController.java | 43 --- .../controller/WeChatTemplateController.java | 62 ---- .../article/service/WeChatArticleService.java | 43 --- .../login/service/WeChatQrLoginService.java | 99 ------ .../media/service/WeChatMediaService.java | 103 ------ .../core/menu/convert/WeChatMenuConvert.java | 30 -- .../core/menu/dao/WeChatMenuManager.java | 42 --- .../core/menu/dao/WeChatMenuMapper.java | 16 - .../core/menu/domin/WeChatMenuInfo.java | 164 --------- .../wechat/core/menu/entity/WeChatMenu.java | 54 --- .../core/menu/service/WeChatMenuService.java | 130 -------- .../notice/convert/WeChatTemplateConvert.java | 27 -- .../notice/dao/WeChatTemplateManager.java | 55 --- .../core/notice/dao/WeChatTemplateMapper.java | 14 - .../core/notice/entity/WeChatTemplate.java | 76 ----- .../notice/service/WeChatTemplateService.java | 125 ------- .../notice/service/WechatNoticeService.java | 61 ---- .../portal/service/WeChatPortalService.java | 90 ----- .../core/user/convert/WechatFansConvert.java | 24 -- .../core/user/dao/WechatFansManager.java | 45 --- .../core/user/dao/WechatFansMapper.java | 16 - .../wechat/core/user/entity/WechatFans.java | 56 ---- .../core/user/service/WeChatUserService.java | 86 ----- .../wechat/dto/article/WeChatArticleDto.java | 48 --- .../wechat/dto/login/WeChatLoginQrCode.java | 26 -- .../wechat/dto/media/WeChatMediaDto.java | 39 --- .../wechat/dto/menu/WeChatMenuDto.java | 34 -- .../wechat/dto/notice/WeChatTemplateDto.java | 48 --- .../wechat/dto/user/WechatFansDto.java | 56 ---- .../wechat/event/WeChatQrScanEvent.java | 27 -- .../handler/WeChatMpMessageHandler.java | 30 -- .../wechat/handler/WeChatMsgHandler.java | 38 --- .../wechat/handler/WeChatQrScanHandler.java | 64 ---- .../handler/WeChatSubscribeHandler.java | 59 ---- .../handler/WeChatUnSubscribeHandler.java | 37 -- .../wechat/handler/WechatMenuHandler.java | 36 -- .../handler/qrscene/WeChatQrLoginHandler.java | 56 ---- .../qrscene/WeChatQrSceneMsgHandler.java | 29 -- .../wechat/param/menu/WeChatMenuParam.java | 34 -- .../param/notice/WeChatTemplateParam.java | 48 --- .../param/portal/WeChatPortalParam.java | 11 - .../wechat/param/user/WechatFansParam.java | 56 ---- .../starter/wechat/util/WeChatUtil.java | 22 -- ...ot.autoconfigure.AutoConfiguration.imports | 1 - .../common-starter-wecom/pom.xml | 40 --- .../starter/wecom/WeComAutoConfiguration.java | 21 -- .../starter/wecom/code/WeComCode.java | 38 --- .../configuration/WeComConfiguration.java | 45 --- .../wecom/configuration/WeComProperties.java | 33 -- .../WecomRobotConfigController.java | 80 ----- .../notice/domain/WxCpRecallNoticeResult.java | 5 - .../executor/RecallNoticeRequestExecutor.java | 45 --- .../notice/service/WeComNoticeService.java | 71 ---- .../convert/WecomRobotConfigConvert.java | 24 -- .../robot/dao/WecomRobotConfigManager.java | 53 --- .../robot/dao/WecomRobotConfigMapper.java | 16 - .../wecom/core/robot/domin/UploadMedia.java | 29 -- .../core/robot/entity/WecomRobotConfig.java | 57 ---- .../RobotMediaFileUploadRequestExecutor.java | 47 --- .../service/WeComRobotNoticeService.java | 132 -------- .../service/WecomRobotConfigService.java | 94 ------ .../wecom/dto/robot/WecomRobotConfigDto.java | 35 -- .../param/robot/WecomRobotConfigParam.java | 33 -- ...ot.autoconfigure.AutoConfiguration.imports | 1 - bootx-platform/bootx-common-starters/pom.xml | 3 - bootx-platform/bootx-services/pom.xml | 2 - .../region/ChinaRegionInitSqlHandler.java | 31 -- .../bootx-services/service-iam/pom.xml | 10 - .../core/auth/login/DingTalkLoginHandler.java | 146 -------- .../auth/login/WeChatAppletLoginHandler.java | 98 ------ .../core/auth/login/WeChatLoginHandler.java | 92 ----- .../bootx-services/service-notice/pom.xml | 83 ----- .../platform/notice/NoticeApplication.java | 17 - .../bootx/platform/notice/code/MailCode.java | 26 -- .../notice/code/MessageTemplateCode.java | 23 -- .../notice/code/NoticeCenterErrorCode.java | 61 ---- .../platform/notice/code/SiteMessageCode.java | 32 -- .../notice/code/SmsChannelStatusCode.java | 14 - .../controller/MailConfigController.java | 83 ----- .../controller/MessageTemplateController.java | 80 ----- .../controller/SiteMessageController.java | 99 ------ .../SmsChannelConfigController.java | 60 ---- .../controller/SmsTemplateController.java | 67 ---- .../entity/chat/DingChatNoticeParam.java | 30 -- .../entity/corp/DingCorpNoticeParam.java | 40 --- .../entity/corp/DingCorpNoticeReceive.java | 36 -- .../entity/corp/DingCorpNoticeUpdate.java | 35 -- .../entity/msg/DingActionCardMsg.java | 76 ----- .../core/dingtalk/entity/msg/DingFileMsg.java | 35 -- .../dingtalk/entity/msg/DingImageMsg.java | 35 -- .../core/dingtalk/entity/msg/DingLinkMsg.java | 40 --- .../dingtalk/entity/msg/DingMarkDownMsg.java | 29 -- .../core/dingtalk/entity/msg/DingMsg.java | 18 - .../core/dingtalk/entity/msg/DingOaMsg.java | 51 --- .../core/dingtalk/entity/msg/DingTextMsg.java | 34 -- .../dingtalk/entity/msg/DingVoiceMsg.java | 38 --- .../service/DingRobotNoticeSenderImpl.java | 46 --- .../service/DingTalkNoticeSenderImpl.java | 315 ------------------ .../notice/core/mail/convert/MailConvert.java | 26 -- .../core/mail/dao/MailConfigManager.java | 55 --- .../core/mail/dao/MailConfigMapper.java | 16 - .../notice/core/mail/entity/MailConfig.java | 69 ---- .../mail/service/EmailNoticeSenderImpl.java | 242 -------------- .../core/mail/service/MailConfigService.java | 119 ------- .../core/site/convert/SiteMessageConvert.java | 21 -- .../core/site/dao/SiteMessageManager.java | 112 ------- .../core/site/dao/SiteMessageMapper.java | 26 -- .../core/site/dao/SiteMessageUserManager.java | 47 --- .../core/site/dao/SiteMessageUserMapper.java | 14 - .../core/site/domain/SiteMessageInfo.java | 59 ---- .../site/domain/SiteMessageInfoMapper.java | 15 - .../notice/core/site/entity/SiteMessage.java | 68 ---- .../core/site/entity/SiteMessageUser.java | 35 -- .../core/site/service/SiteMessageService.java | 235 ------------- .../sms/convert/SmsChannelConfigConvert.java | 22 -- .../core/sms/convert/SmsTemplateConvert.java | 22 -- .../core/sms/dao/SmsChannelConfigManager.java | 27 -- .../core/sms/dao/SmsChannelConfigMapper.java | 13 - .../core/sms/dao/SmsTemplateManager.java | 35 -- .../core/sms/dao/SmsTemplateMapper.java | 14 - .../core/sms/entity/SmsChannelConfig.java | 91 ----- .../notice/core/sms/entity/SmsTemplate.java | 43 --- .../sms/service/SmsChannelConfigService.java | 246 -------------- .../core/sms/service/SmsTemplateService.java | 75 ----- .../convert/MessageTemplateConvert.java | 26 -- .../template/dao/MessageTemplateManager.java | 48 --- .../template/dao/MessageTemplateMapper.java | 14 - .../core/template/entity/MessageTemplate.java | 47 --- .../service/MessageTemplateService.java | 110 ------ .../core/wecom/entity/WeComNoticeParam.java | 39 --- .../core/wecom/entity/WeComNoticeReceive.java | 52 --- .../core/wecom/entity/msg/WeComFileMsg.java | 25 -- .../core/wecom/entity/msg/WeComImageMsg.java | 29 -- .../wecom/entity/msg/WeComMarkdownMsg.java | 29 -- .../core/wecom/entity/msg/WeComMpNewsMsg.java | 37 -- .../core/wecom/entity/msg/WeComMsg.java | 19 -- .../core/wecom/entity/msg/WeComNewsMsg.java | 37 -- .../wecom/entity/msg/WeComRobotReceive.java | 24 -- .../wecom/entity/msg/WeComTextCardMsg.java | 34 -- .../core/wecom/entity/msg/WeComTextMsg.java | 29 -- .../core/wecom/entity/msg/WeComVideoMsg.java | 35 -- .../core/wecom/entity/msg/WeComVoiceMsg.java | 29 -- .../wecom/service/WeComNoticeSenderImpl.java | 139 -------- .../service/WeComRobotNoticeSenderImpl.java | 101 ------ .../notice/dto/mail/BaseMailParam.java | 20 -- .../notice/dto/mail/MailConfigDto.java | 60 ---- .../notice/dto/mail/MailFileParam.java | 36 -- .../notice/dto/mail/MailTemplateDto.java | 30 -- .../notice/dto/mail/NoticeReceiverDto.java | 42 --- .../notice/dto/mail/SendMailParam.java | 54 --- .../dto/mail/ToUserRequiredMailParam.java | 20 -- .../notice/dto/site/SiteMessageDto.java | 58 ---- .../notice/dto/sms/SmsChannelConfigDto.java | 39 --- .../notice/dto/sms/SmsTemplateDto.java | 29 -- .../dto/template/MessageTemplateDto.java | 44 --- .../dto/wechat/WeChatNoticeConfigDto.java | 25 -- .../notice/event/sms/SmsChannelAddEvent.java | 20 -- .../sms/SmsChannelDisableEnableEvent.java | 19 -- .../event/sms/SmsChannelEnableEvent.java | 19 -- .../event/sms/SmsChannelUpdateEvent.java | 20 -- .../CodeTemplateExistedException.java | 23 -- ...aultMailConfigAlreadyExistedException.java | 23 -- ...MailConfigCodeAlreadyExistedException.java | 23 -- .../MailConfigNotExistException.java | 16 - .../MailTemplateNotExistException.java | 19 -- .../notice/param/mail/MailConfigParam.java | 52 --- .../notice/param/mail/MailTemplateParam.java | 37 -- .../param/site/SendSiteMessageParam.java | 65 ---- .../param/sms/SmsChannelConfigParam.java | 39 --- .../notice/param/sms/SmsTemplateParam.java | 29 -- .../param/template/MessageTemplateParam.java | 49 --- .../notice/service/DingRobotNoticeSender.java | 35 -- .../notice/service/DingTalkNoticeSender.java | 155 --------- .../notice/service/EmailNoticeSender.java | 26 -- .../notice/service/SmsNoticeSender.java | 11 - .../notice/service/WeChatNoticeSender.java | 11 - .../notice/service/WeComNoticeSender.java | 76 ----- .../service/WeComRobotNoticeSender.java | 57 ---- ...ot.autoconfigure.AutoConfiguration.imports | 1 - .../resources/mapper/SiteMessageMapper.xml | 31 -- bootx-platform/pom.xml | 18 - daxpay-single/daxpay-single-admin/pom.xml | 7 - .../system/PayChannelConfigController.java | 12 +- .../system/WechatNoticeConfigController.java | 37 -- .../service/code/TradeNotifyTypeEnum.java | 24 ++ .../service/common/context/ApiInfoLocal.java | 5 - .../service/common/context/NoticeLocal.java | 32 -- .../common/context/PaymentContext.java | 6 - .../service/common/context/PlatformLocal.java | 12 +- .../service/common/context/RequestLocal.java | 8 - .../alipay/service/AliPayConfigService.java | 6 - .../channel/alipay/service/AliPayService.java | 4 - .../union/service/UnionPayConfigService.java | 7 - .../wallet/service/WalletConfigService.java | 6 - .../service/WeChatPayConfigService.java | 8 +- .../service/AllocationOrderService.java | 5 +- .../core/order/pay/builder/PayBuilder.java | 6 +- .../service/AllocationAssistService.java | 36 +- .../allocation/service/AllocationService.java | 2 - .../common/aop/InitPlatformInfoAop.java | 5 - .../common/service/PaymentAssistService.java | 4 +- .../common/service/PaymentSignService.java | 5 +- .../payment/pay/service/PayAssistService.java | 45 +-- .../refund/service/RefundAssistService.java | 35 +- .../payment/refund/service/RefundService.java | 2 - .../convert/WechatNoticeConfigConvert.java | 18 - .../config/dao/WechatNoticeConfigManager.java | 19 -- .../config/dao/WechatNoticeConfigMapper.java | 14 - .../config/entity/PayApiCallRecord.java | 20 -- .../system/config/entity/PayApiConfig.java | 22 +- .../config/entity/PayChannelConfig.java | 12 - .../system/config/entity/PlatformConfig.java | 19 +- .../config/entity/WechatNoticeConfig.java | 52 --- .../config/service/PayApiConfigService.java | 16 - .../service/PayChannelConfigService.java | 22 -- .../config/service/PlatformConfigService.java | 3 +- .../service/WechatNoticeConfigService.java | 41 --- .../dto/system/config/PayApiConfigDto.java | 17 - .../system/config/PayChannelConfigDto.java | 13 - .../dto/system/config/PlatformConfigDto.java | 19 +- .../system/config/WechatNoticeConfigDto.java | 16 - .../system/config/PayApiConfigParam.java | 9 - .../system/config/PlatformConfigParam.java | 16 +- .../config/WechatNoticeConfigParam.java | 16 - 281 files changed, 118 insertions(+), 12360 deletions(-) delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/pom.xml delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/DingTalkAutoConfiguration.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkCode.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkNoticeCode.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/configuration/DingTalkProperties.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/controller/DingRobotConfigController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/AccessTokenResult.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/DingTalkResult.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/MediaResult.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/service/DingAccessService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Manager.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Mapper.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/entity/DingMediaMd5.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaMd5Service.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/ChatNoticeResult.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/CorpNoticeResult.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/service/DingNoticeService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/convert/DingRobotConvert.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigManager.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigMapper.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/entity/DingRobotConfig.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotConfigService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotSendService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/entity/UserIdResult.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/service/DingUserService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/dto/robot/DingRobotConfigDto.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/ChatNotice.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/CorpNotice.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/RecallCorpNotice.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/UpdateCorpNotice.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ActionCardMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/At.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/DingMedia.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/FileMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ImageMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/LinkMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/MarkdownMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/Msg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/OaMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/TextMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/VoiceMsg.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/robot/DingRobotConfigParam.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/util/DingTalkUtil.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/pom.xml delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/WeChatAutoConfiguration.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/code/WeChatCode.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatAppletProperties.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatConfiguration.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatMessageRouterConfiguration.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatProperties.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatArticleController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMediaController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMenuController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatPortalController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatQrLoginController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatTemplateController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/article/service/WeChatArticleService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/login/service/WeChatQrLoginService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/media/service/WeChatMediaService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/convert/WeChatMenuConvert.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuManager.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuMapper.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/domin/WeChatMenuInfo.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/entity/WeChatMenu.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/service/WeChatMenuService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/convert/WeChatTemplateConvert.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateManager.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateMapper.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/entity/WeChatTemplate.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WeChatTemplateService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WechatNoticeService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/portal/service/WeChatPortalService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/convert/WechatFansConvert.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansManager.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansMapper.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/entity/WechatFans.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/service/WeChatUserService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/article/WeChatArticleDto.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/login/WeChatLoginQrCode.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/media/WeChatMediaDto.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/menu/WeChatMenuDto.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/notice/WeChatTemplateDto.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/user/WechatFansDto.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/event/WeChatQrScanEvent.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMpMessageHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMsgHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatQrScanHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatSubscribeHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatUnSubscribeHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WechatMenuHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrLoginHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrSceneMsgHandler.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/menu/WeChatMenuParam.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/notice/WeChatTemplateParam.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/portal/WeChatPortalParam.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/user/WechatFansParam.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/util/WeChatUtil.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wechat/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/pom.xml delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/WeComAutoConfiguration.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/code/WeComCode.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComConfiguration.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComProperties.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/controller/WecomRobotConfigController.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/domain/WxCpRecallNoticeResult.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/executor/RecallNoticeRequestExecutor.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/service/WeComNoticeService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/convert/WecomRobotConfigConvert.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigManager.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigMapper.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/domin/UploadMedia.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/entity/WecomRobotConfig.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/executor/RobotMediaFileUploadRequestExecutor.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WeComRobotNoticeService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WecomRobotConfigService.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/dto/robot/WecomRobotConfigDto.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/param/robot/WecomRobotConfigParam.java delete mode 100644 bootx-platform/bootx-common-starters/common-starter-wecom/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/handler/region/ChinaRegionInitSqlHandler.java delete mode 100644 bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/DingTalkLoginHandler.java delete mode 100644 bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java delete mode 100644 bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatLoginHandler.java delete mode 100644 bootx-platform/bootx-services/service-notice/pom.xml delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/NoticeApplication.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MailCode.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MessageTemplateCode.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/NoticeCenterErrorCode.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SiteMessageCode.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SmsChannelStatusCode.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MailConfigController.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MessageTemplateController.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SiteMessageController.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsChannelConfigController.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsTemplateController.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/chat/DingChatNoticeParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeReceive.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeUpdate.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingActionCardMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingFileMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingImageMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingLinkMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMarkDownMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingOaMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingTextMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingVoiceMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingRobotNoticeSenderImpl.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingTalkNoticeSenderImpl.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/convert/MailConvert.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigManager.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigMapper.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/entity/MailConfig.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/EmailNoticeSenderImpl.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/MailConfigService.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/convert/SiteMessageConvert.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageManager.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageMapper.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserManager.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserMapper.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfo.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfoMapper.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessage.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessageUser.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/service/SiteMessageService.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsChannelConfigConvert.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsTemplateConvert.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigManager.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigMapper.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateManager.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateMapper.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsTemplate.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsChannelConfigService.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsTemplateService.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/convert/MessageTemplateConvert.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateManager.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateMapper.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/entity/MessageTemplate.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/service/MessageTemplateService.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeReceive.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComFileMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComImageMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMarkdownMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMpNewsMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComNewsMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComRobotReceive.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextCardMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVideoMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVoiceMsg.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComNoticeSenderImpl.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComRobotNoticeSenderImpl.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/BaseMailParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailConfigDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailFileParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailTemplateDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/NoticeReceiverDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/SendMailParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/ToUserRequiredMailParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/site/SiteMessageDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsChannelConfigDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsTemplateDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/template/MessageTemplateDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/wechat/WeChatNoticeConfigDto.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelAddEvent.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelDisableEnableEvent.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelEnableEvent.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelUpdateEvent.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/CodeTemplateExistedException.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/DefaultMailConfigAlreadyExistedException.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigCodeAlreadyExistedException.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigNotExistException.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailTemplateNotExistException.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailConfigParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailTemplateParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/site/SendSiteMessageParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsChannelConfigParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsTemplateParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/template/MessageTemplateParam.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingRobotNoticeSender.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingTalkNoticeSender.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/EmailNoticeSender.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/SmsNoticeSender.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeChatNoticeSender.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComNoticeSender.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComRobotNoticeSender.java delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 bootx-platform/bootx-services/service-notice/src/main/resources/mapper/SiteMessageMapper.xml delete mode 100644 daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/WechatNoticeConfigController.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/TradeNotifyTypeEnum.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/NoticeLocal.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/convert/WechatNoticeConfigConvert.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigManager.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigMapper.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiCallRecord.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/WechatNoticeConfig.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/WechatNoticeConfigService.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/WechatNoticeConfigDto.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/WechatNoticeConfigParam.java diff --git a/_doc/Task.md b/_doc/Task.md index 5e085a91..a15d70a5 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,22 +1,32 @@ ## 单商户 -2.0.8: 对账完善和系统优化 +2.0.8: 转账/撤销接口和系统优化 - [x] 支持撤销接口 - [ ] 增加转账接口功能 - [ ] 细分各种支付异常类和编码(完成部分) - [ ] 增加分账修复功能 - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 +- [ ] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 -- [ ] 支付通道两个独立的配置进行合并为一个 -- [ ] 平台配置和接口配置删除回调地址配置, 只保留接口参数设置 -- [ ] 接口配置删除验签配置, 放到平台配置进行统一处理 +- [x] 支付通道两个独立的配置进行合并为一个 + - [X] 去除有效, icon, 颜色等字段 +- [x] 平台配置改版 + - [x] 平台配置和接口配置删除回调地址配置 + - [X] 删除回调地址配置, 更换为消息通知地址和消息通知类型 +- [X] 接口配置改版 + - [x] 删除是否验签配置和回调地址 + - [x] 去掉上下文相关类 + - [x] 回调通知固定为读取参数传递的数据 - [x] 分账字段统一为Alloc, 不包括接口名称 - [x] 支付订单拆分退款状态为单独的字段 - [x] 策略工厂修改为通用策略工厂 - [x] 支付和退款达到终态不可以再回退回之前的状态 - [x] 修复支付关闭参数名称不正确问题 -2.0.9: 消息通知改版和功能优化 +- [ ] 脚手架优化 + - [ ] 请求权限改版, 使用专用配置类 + - [X] 去除消息通知模块 +2.0.9: 消息通知改版和系统优化 - [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 -- [ ] 增加支付宝和微信通知回调地址一键生成功能 +- [ ] 优化前端各种状态颜色展示 2.1.x 版本内容 - [ ] 增加收单收银台功能 @@ -34,8 +44,6 @@ - [ ] 针对同步/对账等出现脏数据导致阻塞的问题, 进行优化 - [ ] 同步接口 - [ ] 对账接口 -- [ ] 增加通道开通能力管理,在操作发起前的校验时提前进行拦截 - **任务池** - [ ] 通道费率计算 - [ ] 每日资金流水计算 diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/pom.xml b/bootx-platform/bootx-common-starters/common-starter-dingtalk/pom.xml deleted file mode 100644 index c4b69d15..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>bootx-common-starters</artifactId> - <groupId>cn.bootx.platform</groupId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>common-starter-dingtalk</artifactId> - <description>钉钉接口</description> - - <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-mybatis-plus</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-data-perm</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/DingTalkAutoConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/DingTalkAutoConfiguration.java deleted file mode 100644 index 48cdf45a..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/DingTalkAutoConfiguration.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.starter.dingtalk; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.context.properties.ConfigurationPropertiesScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 钉钉对接 - * - * @author xxm - * @since 2022/4/2 - */ -@ComponentScan -@ConfigurationPropertiesScan -@AutoConfiguration -@MapperScan(annotationClass = Mapper.class) -public class DingTalkAutoConfiguration { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkCode.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkCode.java deleted file mode 100644 index 85f12e81..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkCode.java +++ /dev/null @@ -1,123 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.code; - -/** - * 钉钉消息类型 - * - * @author xxm - * @since 2020/11/30 - */ -public interface DingTalkCode { - - /** 钉钉Access参数 */ - String ACCESS_TOKEN_PARAM = "?access_token={}"; - - /** 内部应用获取access_token */ - String APP_ACCESS_TOKEN_URL = "https://oapi.dingtalk.com/gettoken?appkey={appKey}&appsecret={appSecret}"; - - /** 带sign的机器人消息发送请求 */ - String ROBOT_SEND_SIGN_URL = "https://oapi.dingtalk.com/robot/send?access_token={accessToken}×tamp={timestamp}&sign={sign}"; - - /** 不带sign的机器人消息发送请求 */ - String ROBOT_SEND_NOT_SIGN_URL = "https://oapi.dingtalk.com/robot/send" + ACCESS_TOKEN_PARAM; - - /** 发送工作通知 */ - String NOTICE_CORP_SEND_URL = "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2" - + ACCESS_TOKEN_PARAM; - - /** 更新工作通知(OA消息) */ - String NOTICE_CORP_UPDATE_URL = "https://oapi.dingtalk.com/topapi/message/corpconversation/status_bar/update" - + ACCESS_TOKEN_PARAM; - - /** 撤回工作通知 */ - String NOTICE_CORP_RECALL_URL = "https://oapi.dingtalk.com/topapi/message/corpconversation/recall" - + ACCESS_TOKEN_PARAM; - - /** 发送企业群通知 */ - String NOTICE_CHAT_URL = "https://oapi.dingtalk.com/chat/send" + ACCESS_TOKEN_PARAM; - - /** 发送普通消息通知 */ - String NOTICE_MESSAGE_URL = "https://oapi.dingtalk.com/message/send_to_conversation" + ACCESS_TOKEN_PARAM; - - /** 根据unionid获取用户userid */ - String USER_GET_URL = "https://oapi.dingtalk.com/topapi/user/getbyunionid" + ACCESS_TOKEN_PARAM; - - /** 媒体文件上传 */ - String MEDIA_UPLOAD_URL = "https://oapi.dingtalk.com/media/upload" + ACCESS_TOKEN_PARAM; - - /** 钉钉字段 */ - String ACCESS_TOKEN = "accessToken"; - - String SIGN = "sign"; - - String TIMESTAMP = "timestamp"; - - String APP_KEY = "appKey"; - - String APP_SECRET = "appSecret"; - - /** 应用id */ - String CLIENT_ID = "clientId"; - - // 应用密钥 - String CLIENT_SECRET = "clientSecret"; - - String CODE = "code"; - - // OAuth2.0刷新令牌,从返回结果里面获取。 - String REFRESH_TOKEN = "refreshToken"; - - String GRANT_TYPE = "grantType"; - - String RESPONSE_TYPE = "responseType"; - - String SCOPE = "scope"; - - String REDIRECT_URI = "redirectUri"; - - String STATE = "state"; - - String PROMPT = "prompt"; - - /** 媒体 */ - String MEDIA = "media"; - - /** 类型 */ - String TYPE = "type"; - - /** 请求头参数调用服务端接口的授权凭证 */ - String HEADER_TOKEN = "x-acs-dingtalk-access-token"; - - /* 认证字段 */ - /** 授权码换token */ - String AUTH_AUTHORIZATION_CODE = "authorization_code"; - - /** 刷新token换用户token */ - String AUTH_REFRESH_TOKEN = "refresh_token"; - - /** openid */ - String OPEN_ID = "openid"; - - /** union_id */ - String UNION_ID = "unionid"; - - /* 响应值 */ - /** 成功 */ - int SUCCESS_CODE = 0; - - /** 未找到对应员工 */ - int NOT_FUND_STAFF = 60121; - - /* 媒体类型 */ - /** 图片 */ - String MEDIA_IMAGE = "image"; - - /** 语音 */ - String MEDIA_VOICE = "voice"; - - /** 视频 */ - String MEDIA_VIDEO = "video"; - - /** 普通文件 */ - String MEDIA_FILE = "file"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkNoticeCode.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkNoticeCode.java deleted file mode 100644 index 45e94266..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkNoticeCode.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.code; - -/** - * 钉钉通知消息常量 - * - * @author xxm - * @since 2022/4/2 - */ -public interface DingTalkNoticeCode { - - /* 消息类型 */ - /** 文本消息 */ - String MSG_TEXT = "text"; - - /** 图片消息 */ - String MSG_IMAGE = "image"; - - /** 语音消息 */ - String MSG_VOICE = "voice"; - - /** 文件消息 */ - String MSG_FILE = "file"; - - /** 链接消息 */ - String MSG_LINK = "link"; - - /** OA消息 */ - String MSG_OA = "oa"; - - /** markdown消息 */ - String MSG_MARKDOWN = "markdown"; - - /** 卡片消息 */ - String MSG_ACTION_CARD = "action_card"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/configuration/DingTalkProperties.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/configuration/DingTalkProperties.java deleted file mode 100644 index ee8f4aff..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/configuration/DingTalkProperties.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 钉钉应用配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.ding-talk") -public class DingTalkProperties { - - /** AppKey */ - private String appKey; - - /** AppSecret */ - private String appSecret; - - /** 应用id */ - private Long agentId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/controller/DingRobotConfigController.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/controller/DingRobotConfigController.java deleted file mode 100644 index 07d8806b..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/controller/DingRobotConfigController.java +++ /dev/null @@ -1,78 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.dingtalk.core.robot.service.DingRobotConfigService; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @author xxm - * @since 2021/9/25 - */ -@Tag(name = "钉钉机器人配置") -@RestController -@RequestMapping("/ding/robot/config") -@RequiredArgsConstructor -public class DingRobotConfigController { - - private final DingRobotConfigService dingRobotConfigService; - - @Operation(summary = "新增机器人配置") - @PostMapping("/add") - public ResResult<DingRobotConfigDto> add(@RequestBody DingRobotConfigParam param) { - return Res.ok(dingRobotConfigService.add(param)); - } - - @Operation(summary = "修改机器人配置") - @PostMapping("/update") - public ResResult<DingRobotConfigDto> update(@RequestBody DingRobotConfigParam param) { - return Res.ok(dingRobotConfigService.update(param)); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<DingRobotConfigDto>> page(PageParam pageParam, DingRobotConfigParam param) { - return Res.ok(dingRobotConfigService.page(pageParam, param)); - } - - @Operation(summary = "查询全部") - @GetMapping("/findAll") - public ResResult<List<DingRobotConfigDto>> findAll() { - return Res.ok(dingRobotConfigService.findAll()); - } - - @Operation(summary = "获取详情") - @GetMapping("/findById") - public ResResult<DingRobotConfigDto> findById(Long id) { - return Res.ok(dingRobotConfigService.findById(id)); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - dingRobotConfigService.delete(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(dingRobotConfigService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(dingRobotConfigService.existsByCode(code, id)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/AccessTokenResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/AccessTokenResult.java deleted file mode 100644 index a0b6f2f5..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/AccessTokenResult.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "AccessToken响应类") -public class AccessTokenResult<T> extends DingTalkResult<T> { - - @JsonProperty("access_token") - @Schema(description = "访问凭证") - private String accessToken; - - @JsonProperty("expires_in") - @Schema(description = "过期时间") - private Integer expiresIn; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/DingTalkResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/DingTalkResult.java deleted file mode 100644 index ceb76aad..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/DingTalkResult.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉响应结果 - * - * @author xxm - * @since 2020/11/30 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉发送响应类") -public class DingTalkResult<T> implements Serializable { - - private static final long serialVersionUID = 4298060961428118100L; - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @Schema(description = "返回数据") - private T result; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/MediaResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/MediaResult.java deleted file mode 100644 index c9cc5698..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/MediaResult.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉媒体上传返回类 - * - * @author xxm - * @since 2022/7/25 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉媒体上传返回类") -public class MediaResult { - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - - @JsonProperty("type") - @Schema(description = "媒体文件类型") - private String type; - - @JsonProperty("media_id") - @Schema(description = "唯一标识") - private String mediaId; - - @JsonProperty("created_at") - @Schema(description = "媒体文件上传时间戳") - private long createdAt; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/service/DingAccessService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/service/DingAccessService.java deleted file mode 100644 index c5d658d5..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/service/DingAccessService.java +++ /dev/null @@ -1,97 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.service; - -import cn.bootx.platform.starter.dingtalk.configuration.DingTalkProperties; -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.bootx.platform.starter.dingtalk.core.base.result.AccessTokenResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.extra.spring.SpringUtil; -import cn.hutool.http.HttpException; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.retry.annotation.Retryable; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉访问凭证 - * - * @author xxm - * @since 2022/4/2 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingAccessService { - - private final DingTalkProperties dingTalkProperties; - - private long expiresTime; - - private String accessToken; - - /** - * 企业内部应用的access_token - */ - public String getAccessToken() { - if (System.currentTimeMillis() < expiresTime) { - return accessToken; - } - Lock lock = new ReentrantLock(); - boolean locked = false; - try { - do { - locked = lock.tryLock(100, TimeUnit.MILLISECONDS); - if (System.currentTimeMillis() < expiresTime) { - return accessToken; - } - } - while (!locked); - SpringUtil.getBean(getClass()) - .getAppAccessToken(dingTalkProperties.getAppKey(), dingTalkProperties.getAppSecret()); - } - catch (InterruptedException e) { - throw new BizException("获取钉钉应用AccessToken失败"); - } - finally { - if (locked) { - lock.unlock(); - } - } - return accessToken; - } - - /** - * 企业内部应用的access_token - */ - @Retryable(value = RetryableException.class) - public void getAppAccessToken(String appKey, String appSecret) { - // 获取accessToken - Map<String, String> map = new HashMap<>(); - map.put(APP_KEY, appKey); - map.put(APP_SECRET, appSecret); - try { - String responseBody = HttpUtil.createGet(StrUtil.format(APP_ACCESS_TOKEN_URL, map)).execute().body(); - AccessTokenResult<?> dingTalkResult = JacksonUtil.toBean(responseBody, AccessTokenResult.class); - if (StrUtil.isBlank(dingTalkResult.getAccessToken())) { - throw new RetryableException(); - } - this.accessToken = dingTalkResult.getAccessToken(); - // 设置超时时间 - this.expiresTime = System.currentTimeMillis() + (dingTalkResult.getExpiresIn() - 200) * 1000L; - } - catch (HttpException e) { - throw new RetryableException(); - } - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Manager.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Manager.java deleted file mode 100644 index 1ba98a15..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Manager.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.dao; - -import cn.bootx.platform.starter.dingtalk.core.media.entity.DingMediaMd5; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 钉钉 - * - * @author xxm - * @since 2022/7/26 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class DingMediaMd5Manager extends BaseManager<DingMediaMd5Mapper, DingMediaMd5> { - - /** - * 根据md5查询 - */ - public Optional<DingMediaMd5> findByMd5(String md5) { - return findByField(DingMediaMd5::getMd5, md5); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Mapper.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Mapper.java deleted file mode 100644 index 6d9ae7c6..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Mapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.dao; - -import cn.bootx.platform.starter.dingtalk.core.media.entity.DingMediaMd5; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2022/7/26 - */ -@Mapper -public interface DingMediaMd5Mapper extends BaseMapper<DingMediaMd5> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/entity/DingMediaMd5.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/entity/DingMediaMd5.java deleted file mode 100644 index 6b9800f4..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/entity/DingMediaMd5.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.entity; - -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.RequiredArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉媒体文件MD5值关联关系 - * - * @author xxm - * @since 2022/7/26 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@AllArgsConstructor -@RequiredArgsConstructor -@TableName("starter_ding_media_md5") -public class DingMediaMd5 extends MpCreateEntity { - - /** 媒体文件id */ - private String mediaId; - - /** 媒体文件的md5值 */ - private String md5; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaMd5Service.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaMd5Service.java deleted file mode 100644 index cd4c27d1..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaMd5Service.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.service; - -import cn.bootx.platform.starter.dingtalk.core.media.dao.DingMediaMd5Manager; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * @author xxm - * @since 2022/7/26 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingMediaMd5Service { - - private final DingMediaMd5Manager dingMediaMd5Manager; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaService.java deleted file mode 100644 index 0bd7b1dd..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaService.java +++ /dev/null @@ -1,91 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.util.FileUtil; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.code.DingTalkCode; -import cn.bootx.platform.starter.dingtalk.core.base.result.MediaResult; -import cn.bootx.platform.starter.dingtalk.core.base.service.DingAccessService; -import cn.bootx.platform.starter.dingtalk.core.media.dao.DingMediaMd5Manager; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.io.file.FileNameUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.InputStream; -import java.util.Objects; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉媒体文件管理 - * - * @author xxm - * @since 2022/7/25 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingMediaService { - - private final DingAccessService dingAccessService; - - private final DingMediaMd5Manager dingMediaMd5Manager; - - /** - * 文件上传 - */ - @SneakyThrows - public String uploadMedia(InputStream inputStream, String fileName, String mediaType) { - // 判断md5是否是已经上传过的, 上传过的直接使用媒体id( 发现钉钉媒体id只能使用一次, 和文档描述不一致 ) - byte[] bytes = IoUtil.readBytes(inputStream); - String filePrefix = FileNameUtil.mainName(fileName); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes), fileName); - File tmpFile = FileUtil.createTempFile(new ByteArrayInputStream(bytes), filePrefix, fileType); - String body = HttpUtil - .createPost(StrUtil.format(DingTalkCode.MEDIA_UPLOAD_URL, dingAccessService.getAccessToken())) - .form(MEDIA, tmpFile, fileName) - .form(TYPE, mediaType) - .execute() - .body(); - MediaResult mediaResult = JacksonUtil.toBean(body, MediaResult.class); - if (!Objects.equals(mediaResult.getCode(), SUCCESS_CODE)) { - throw new BizException(mediaResult.getMsg()); - } - String mediaId = mediaResult.getMediaId(); - // dingMediaMd5Manager.save(new DingMediaMd5(mediaId,md5)); - return mediaId; - } - - /** - * 文件上传 - */ - @SneakyThrows - public String uploadMedia(InputStream inputStream, String mediaType) { - byte[] bytes = IoUtil.readBytes(inputStream); - - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes)); - File tmpFile = FileUtil.createTempFile(new ByteArrayInputStream(bytes), IdUtil.getSnowflakeNextIdStr(), - fileType); - String body = HttpUtil - .createPost(StrUtil.format(DingTalkCode.MEDIA_UPLOAD_URL, dingAccessService.getAccessToken())) - .form(MEDIA, tmpFile) - .form(TYPE, mediaType) - .execute() - .body(); - MediaResult mediaResult = JacksonUtil.toBean(body, MediaResult.class); - if (!Objects.equals(mediaResult.getCode(), SUCCESS_CODE)) { - throw new BizException(mediaResult.getMsg()); - } - return mediaResult.getMediaId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/ChatNoticeResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/ChatNoticeResult.java deleted file mode 100644 index 6494bc73..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/ChatNoticeResult.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.notice.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "通知消息返回值") -public class ChatNoticeResult { - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - - @Schema(description = "异步发送任务ID") - private String messageId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/CorpNoticeResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/CorpNoticeResult.java deleted file mode 100644 index 89a42eeb..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/CorpNoticeResult.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.notice.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉消息响应 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "通知消息返回值") -public class CorpNoticeResult { - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - - @JsonProperty("task_id") - @Schema(description = "异步发送任务ID") - private Long taskId; - - @JsonProperty("request_id") - @Schema(description = "请求ID") - private String requestId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/service/DingNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/service/DingNoticeService.java deleted file mode 100644 index 34d689ee..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/service/DingNoticeService.java +++ /dev/null @@ -1,101 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.notice.service; - -import cn.bootx.platform.starter.dingtalk.param.notice.ChatNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.CorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.RecallCorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.UpdateCorpNotice; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.core.base.service.DingAccessService; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.bootx.platform.starter.dingtalk.core.notice.result.ChatNoticeResult; -import cn.bootx.platform.starter.dingtalk.core.notice.result.CorpNoticeResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉通知发送服务 - * - * @author xxm - * @since 2022/7/17 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingNoticeService { - - private final DingAccessService dingAccessService; - - /** - * 发送普通消息, 支持普通群和个人会话 - * - * <a href= - * "https://open.dingtalk.com/document/orgapp-server/send-normal-messages">...</a> - */ - public void sendNotice() { - } - - /** - * 发送企业群消息 - * - * <a href= - * "https://open.dingtalk.com/document/orgapp-server/enterprise-group-message-overview">...</a> - */ - public ChatNoticeResult sendChatNotice(ChatNotice param) { - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CHAT_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, ChatNoticeResult.class); - } - - /** - * 发送工作通知 - * - * <a href= - * "https://open.dingtalk.com/document/orgapp-server/asynchronous-sending-of-enterprise-session-messages">...</a> - */ - public CorpNoticeResult sendCorpNotice(CorpNotice param) { - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CORP_SEND_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, CorpNoticeResult.class); - } - - /** - * 更新工作通知状态栏 - * @url <a href= - * "https://open.dingtalk.com/document/orgapp-server/update-work-notification-status-bar">...</a> - */ - public CorpNoticeResult updateCorpNotice(UpdateCorpNotice param) { - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CORP_UPDATE_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, CorpNoticeResult.class); - } - - /** - * 撤回工作通知消息 - * @url <a href= - * "https://open.dingtalk.com/document/orgapp-server/notification-of-work-withdrawal">...</a> - */ - public DingTalkResult<?> recallCorpNotice(RecallCorpNotice param) { - - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CORP_RECALL_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, DingTalkResult.class); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/convert/DingRobotConvert.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/convert/DingRobotConvert.java deleted file mode 100644 index a6b586b6..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/convert/DingRobotConvert.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.convert; - -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 钉钉相关类转换 - * - * @author xxm - * @since 2021/8/5 - */ -@Mapper -public interface DingRobotConvert { - - DingRobotConvert CONVERT = Mappers.getMapper(DingRobotConvert.class); - - DingRobotConfig convert(DingRobotConfigParam in); - - DingRobotConfigDto convert(DingRobotConfig in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigManager.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigManager.java deleted file mode 100644 index be0f01b2..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigManager.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.dao; - -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 钉钉机器人 - * - * @author xxm - * @since 2020/11/29 - */ -@Repository -@RequiredArgsConstructor -public class DingRobotConfigManager extends BaseManager<DingRobotConfigMapper, DingRobotConfig> { - - public Optional<DingRobotConfig> findByCode(String code) { - return findByField(DingRobotConfig::getCode, code); - } - - public boolean existsByCode(String code) { - return existedByField(DingRobotConfig::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return lambdaQuery().eq(DingRobotConfig::getCode, code).ne(MpIdEntity::getId, id).exists(); - } - - public Page<DingRobotConfig> page(PageParam pageParam, DingRobotConfigParam param) { - Page<DingRobotConfig> mpPage = MpUtil.getMpPage(pageParam, DingRobotConfig.class); - return lambdaQuery().orderByDesc(MpIdEntity::getId) - .like(StrUtil.isNotBlank(param.getCode()), DingRobotConfig::getCode, param.getCode()) - .like(StrUtil.isNotBlank(param.getName()), DingRobotConfig::getName, param.getName()) - .like(StrUtil.isNotBlank(param.getAccessToken()), DingRobotConfig::getAccessToken, param.getAccessToken()) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigMapper.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigMapper.java deleted file mode 100644 index f1514179..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.dao; - -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 钉钉机器人配置 - * - * @author xxm - * @since 2021/8/5 - */ -@Mapper -public interface DingRobotConfigMapper extends BaseMapper<DingRobotConfig> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/entity/DingRobotConfig.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/entity/DingRobotConfig.java deleted file mode 100644 index 2532efee..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/entity/DingRobotConfig.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.entity; - -import cn.bootx.platform.starter.dingtalk.core.robot.convert.DingRobotConvert; -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 钉钉机器人配置 - * - * @author xxm - * @since 2020/11/29 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("starter_ding_robot_config") -public class DingRobotConfig extends MpBaseEntity implements EntityBaseFunction<DingRobotConfigDto> { - - /** 机器人编号编号 */ - private String code; - - /** 机器人配置名称 */ - private String name; - - /** 钉钉机器人的accessToken */ - private String accessToken; - - /** 是否开启验签 */ - private boolean enableSignatureCheck; - - /** 验签秘钥 */ - private String signSecret; - - /** 备注 */ - private String remark; - - public static DingRobotConfig init(DingRobotConfigParam in) { - return DingRobotConvert.CONVERT.convert(in); - } - - @Override - public DingRobotConfigDto toDto() { - return DingRobotConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotConfigService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotConfigService.java deleted file mode 100644 index 72d4781e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotConfigService.java +++ /dev/null @@ -1,102 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.service; - -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.dingtalk.core.robot.dao.DingRobotConfigManager; -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 钉钉机器人消息发送 - * - * @author xxm - * @since 2020/11/29 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingRobotConfigService { - - private final DingRobotConfigManager robotConfigManager; - - /** - * 添加新配置 - */ - @Transactional(rollbackFor = Exception.class) - public DingRobotConfigDto add(DingRobotConfigParam param) { - if (robotConfigManager.existsByCode(param.getCode())) { - throw new BizException("code重复"); - } - - DingRobotConfig dingRobotConfig = DingRobotConfig.init(param); - - return robotConfigManager.save(dingRobotConfig).toDto(); - } - - /** - * 更新钉钉机器人配置 - */ - @Transactional(rollbackFor = Exception.class) - public DingRobotConfigDto update(DingRobotConfigParam param) { - DingRobotConfig dingRobotConfig = robotConfigManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param, dingRobotConfig, CopyOptions.create().ignoreNullValue()); - return robotConfigManager.updateById(dingRobotConfig).toDto(); - } - - /** - * 获取所有配置 - */ - public List<DingRobotConfigDto> findAll() { - return ResultConvertUtil.dtoListConvert(robotConfigManager.findAll()); - } - - /** - * 获取所有配置 - */ - public PageResult<DingRobotConfigDto> page(PageParam pageParam, DingRobotConfigParam param) { - return MpUtil.convert2DtoPageResult(robotConfigManager.page(pageParam, param)); - } - - /** - * 根据 id 获取相应的配置 - */ - public DingRobotConfigDto findById(Long id) { - return ResultConvertUtil.dtoConvert(robotConfigManager.findById(id)); - } - - /** - * 根据 id 删除相应的机器人配置 - */ - public void delete(Long id) { - robotConfigManager.deleteById(id); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return robotConfigManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return robotConfigManager.existsByCode(code, id); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotSendService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotSendService.java deleted file mode 100644 index 3cf12784..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotSendService.java +++ /dev/null @@ -1,68 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.service; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.util.DingTalkUtil; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.code.DingTalkCode; -import cn.bootx.platform.starter.dingtalk.core.robot.dao.DingRobotConfigManager; -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.SUCCESS_CODE; - -/** - * 钉钉机器人消息发送 - * - * @author xxm - * @since 2020/11/29 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingRobotSendService { - - private final DingRobotConfigManager dingRobotConfigManager; - - /** - * 发送钉钉机器人消息 - */ - public void sendNotice(String code, Msg body) { - DingRobotConfig dingRobotConfig = dingRobotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("钉钉机器人配置不存在")); - long timestamp = System.currentTimeMillis(); - - Map<String, Object> map = new HashMap<>(3); - map.put(DingTalkCode.ACCESS_TOKEN, dingRobotConfig.getAccessToken()); - String url; - // 验签 - if (dingRobotConfig.isEnableSignatureCheck()) { - url = DingTalkCode.ROBOT_SEND_SIGN_URL; - map.put(DingTalkCode.SIGN, DingTalkUtil.generateSign(timestamp, dingRobotConfig.getSignSecret())); - map.put(DingTalkCode.TIMESTAMP, timestamp); - } - else { - url = DingTalkCode.ROBOT_SEND_NOT_SIGN_URL; - } - - // 请求消息 - String responseBody = HttpUtil.createPost(StrUtil.format(url, map)) - .body(JacksonUtil.toJson(body)) - .execute() - .body(); - DingTalkResult<?> dingTalkResult = JacksonUtil.toBean(responseBody, DingTalkResult.class); - if (!Objects.equals(SUCCESS_CODE, dingTalkResult.getCode())) { - log.error("钉钉机器人发送消息失败: {}", dingTalkResult.getMsg()); - } - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/entity/UserIdResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/entity/UserIdResult.java deleted file mode 100644 index 82bb8f86..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/entity/UserIdResult.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.user.entity; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/21 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉id消息") -public class UserIdResult { - - @JsonProperty("contact_type") - @Schema(description = "联系类型") - private String contactType; - - @JsonProperty("userid") - @Schema(description = "用户id") - private String userId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/service/DingUserService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/service/DingUserService.java deleted file mode 100644 index 83a40902..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/service/DingUserService.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.user.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.bootx.platform.starter.dingtalk.core.base.service.DingAccessService; -import cn.bootx.platform.starter.dingtalk.core.user.entity.UserIdResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import com.fasterxml.jackson.core.type.TypeReference; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉用户信息 - * - * @author xxm - * @since 2022/7/17 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingUserService { - - private final DingAccessService dingAccessService; - - /** - * 根据unionid获取用户userid <a href= - * "https://open.dingtalk.com/document/isvapp-server/query-a-user-by-the-union-id">...</a> - */ - public String getUserIdByUnionId(String unionId) { - String accessToken = dingAccessService.getAccessToken(); - Map<String, String> map = new HashMap<>(1); - map.put(UNION_ID, unionId); - String responseBody = HttpUtil.createPost(StrUtil.format(USER_GET_URL, accessToken)) - .body(JacksonUtil.toJson(map)) - .execute() - .body(); - DingTalkResult<UserIdResult> dingTalkResult = JacksonUtil.toBean(responseBody, - new TypeReference<DingTalkResult<UserIdResult>>() { - }); - // 未找到用户, 返回空 - if (Objects.equals(dingTalkResult.getCode(), NOT_FUND_STAFF)) { - return null; - } - // 错误 - if (!Objects.equals(dingTalkResult.getCode(), SUCCESS_CODE)) { - throw new BizException(dingTalkResult.getMsg()); - } - return dingTalkResult.getResult().getUserId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/dto/robot/DingRobotConfigDto.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/dto/robot/DingRobotConfigDto.java deleted file mode 100644 index d9042be1..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/dto/robot/DingRobotConfigDto.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.dto.robot; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉机器人配置") -public class DingRobotConfigDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = -5642207413191556792L; - - @Schema(description = "编号") - private String code; - - @Schema(description = "配置名称") - private String name; - - @Schema(description = "钉钉机器人的AccessToken") - @SensitiveInfo - private String accessToken; - - @Schema(description = "是否开启验签") - private boolean enableSignatureCheck; - - @Schema(description = "验签秘钥") - @SensitiveInfo - private String signSecret; - - @Schema(description = "描述") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/ChatNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/ChatNotice.java deleted file mode 100644 index 6d8c0e3a..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/ChatNotice.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉发送企业群消息参数 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉发送企业群消息参数") -public class ChatNotice { - - @JsonProperty("chatid") - @Schema(description = "群Id") - private String chatId; - - @Schema(description = "消息内容") - private Msg msg; - - /** - * 输出参数 - */ - public String toParam() { - return JacksonUtil.toJson(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/CorpNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/CorpNotice.java deleted file mode 100644 index 7023a4d4..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/CorpNotice.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.hutool.core.lang.Opt; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 钉钉发送工作通知参数 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉发送工作通知参数") -public class CorpNotice { - - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long agentId; - - @Schema(description = "接收者的userid列表,最大用户列表长度100") - private List<String> useridList; - - @Schema(description = "接收者的部门id列表,最大列表长度20") - private List<String> deptIdList; - - @Schema(description = "是否发送给企业全部用户") - private boolean toAllUser; - - @Schema(description = "消息内容") - private Msg msg; - - /** - * 输出参数 - */ - public String toParam() { - Map<String, Object> map = new HashMap<>(5); - String useridList = Opt.ofEmptyAble(this.useridList).map(list -> String.join(",", list)).orElse(null); - String deptIdList = Opt.ofEmptyAble(this.deptIdList).map(list -> String.join(",", list)).orElse(null); - map.put("agent_id", agentId); - map.put("userid_list", useridList); - map.put("dept_id_list", deptIdList); - map.put("to_all_user", toAllUser); - map.put("msg", msg); - return JacksonUtil.toJson(map); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/RecallCorpNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/RecallCorpNotice.java deleted file mode 100644 index 805cbe72..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/RecallCorpNotice.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉撤回工作通知 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉撤回工作通知") -public class RecallCorpNotice { - - @JsonProperty("agent_id") - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long agentId; - - @JsonProperty("msg_task_id") - @Schema(description = "发送消息时钉钉返回的任务ID") - private Long taskId; - - public String toParam() { - return JacksonUtil.toJson(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/UpdateCorpNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/UpdateCorpNotice.java deleted file mode 100644 index d6e03630..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/UpdateCorpNotice.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉 更新工作通知状态栏 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉更新工作通知状态栏") -public class UpdateCorpNotice { - - @JsonProperty("agent_id") - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long agentId; - - @JsonProperty("task_id") - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long taskId; - - @JsonProperty("status_value") - @Schema(description = "状态栏值") - private String statusValue; - - @JsonProperty("status_bg") - @Schema(description = "状态栏背景色,推荐0xFF加六位颜色值") - private String statusBg; - - public String toParam() { - return JacksonUtil.toJson(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ActionCardMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ActionCardMsg.java deleted file mode 100644 index 20ee7b85..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ActionCardMsg.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 钉钉卡片消息 - * - * @author xxm - * @since 2022/7/19 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉卡片消息") -public class ActionCardMsg extends Msg { - - @Schema(description = "消息内容,支持markdown") - @JsonProperty("action_card") - private ActionCard actionCard; - - @Data - @Accessors(chain = true) - @Schema(title = "消息内容,支持markdown") - public static class ActionCard { - - @Schema(description = "透出到会话列表和通知的文案") - private String title; - - @Schema(description = "消息内容") - private String markdown; - - @JsonProperty("single_title") - @Schema(description = "标题") - private String singleTitle; - - @JsonProperty("single_url") - @Schema(description = "消息点击链接地址") - private String singleUrl; - - @JsonProperty("btn_orientation") - @Schema(description = "使用独立跳转ActionCard样式时的按钮排列方式") - private String btnOrientation; - - @JsonProperty("btn_json_list") - @Schema(description = "使用独立跳转ActionCard样式时的按钮列表") - private List<BtnJson> btnJsonList; - - @Data - @Accessors(chain = true) - @Schema(title = "使用独立跳转ActionCard样式时的按钮列表") - public static class BtnJson { - - @Schema(description = "按钮的标题") - private String title; - - @JsonProperty("action_url") - @Schema(description = "跳转链接") - private String actionUrl; - - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/At.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/At.java deleted file mode 100644 index 3aef3982..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/At.java +++ /dev/null @@ -1,59 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.hutool.core.collection.CollUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 钉钉At - * - * @author xxm - * @since 2020/11/29 - */ -@Data -@Accessors(chain = true) -@NoArgsConstructor -@Schema(title = "钉钉@指定用户") -public class At implements Serializable { - - private static final long serialVersionUID = -8677524557109058147L; - - @Schema(description = "@的用户手机号") - private List<String> atMobiles; - - @Schema(description = "@被@人的用户userid") - private List<String> atUserIds; - - @Schema(description = "是否@全体") - private boolean isAtAll = false; - - public At(List<String> atMobiles) { - this.atMobiles = atMobiles; - } - - /** - * 输出@xxx文本 - */ - public String toAtMobiles() { - if (CollUtil.isNotEmpty(atMobiles)) { - return " @" + String.join(" @", atMobiles); - } - return ""; - } - - /** - * 输出@xxx文本 - */ - public String toAtUserIds() { - if (CollUtil.isNotEmpty(atUserIds)) { - return " @" + String.join(" @", atUserIds); - } - return ""; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/DingMedia.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/DingMedia.java deleted file mode 100644 index 28012efd..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/DingMedia.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉图片 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉媒体") -@NoArgsConstructor -@AllArgsConstructor -public class DingMedia { - - @JsonProperty("media_id") - @Schema(description = "媒体文件id") - private String mediaId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/FileMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/FileMsg.java deleted file mode 100644 index d948b44d..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/FileMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉图片通知 - * - * @author xxm - * @since 2022/7/17 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉文件通知") -public class FileMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -835679566138176L; - - @Schema(description = "钉钉文件") - private DingMedia file; - - public FileMsg() { - super(DingTalkNoticeCode.MSG_FILE); - } - - public FileMsg(String mediaId) { - super(DingTalkNoticeCode.MSG_FILE); - this.file = new DingMedia(mediaId); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ImageMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ImageMsg.java deleted file mode 100644 index a1fa6cb8..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ImageMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉图片通知 - * - * @author xxm - * @since 2022/7/17 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉图片通知") -public class ImageMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -835679566138176L; - - @Schema(description = "钉钉图片") - private DingMedia image; - - public ImageMsg() { - super(DingTalkNoticeCode.MSG_IMAGE); - } - - public ImageMsg(String mediaId) { - super(DingTalkNoticeCode.MSG_IMAGE); - this.image = new DingMedia(mediaId); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/LinkMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/LinkMsg.java deleted file mode 100644 index 20b1ab0c..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/LinkMsg.java +++ /dev/null @@ -1,78 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉链接消息 - * - * @author xxm - * @since 2020/11/30 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉链接消息") -public class LinkMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -3094638065840434973L; - - @Schema(description = "钉钉link消息体") - private DingLink link; - - public LinkMsg() { - super(DingTalkNoticeCode.MSG_LINK); - } - - public LinkMsg(String title, String msg, String messageUrl) { - super(DingTalkNoticeCode.MSG_LINK); - link = new DingLink(title, msg, messageUrl); - } - - public LinkMsg(String title, String msg, String messageUrl, String picUrl) { - super(DingTalkNoticeCode.MSG_LINK); - link = new DingLink(title, msg, messageUrl, picUrl); - } - - @Data - @Accessors(chain = true) - @Schema(title = "钉钉link") - @NoArgsConstructor - public static class DingLink implements Serializable { - - private static final long serialVersionUID = 8191181631664337904L; - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - @Schema(description = "点击消息跳转的URL") - private String messageUrl; - - @Schema(description = "图片URL") - private String picUrl; - - public DingLink(String title, String text, String messageUrl) { - this.title = title; - this.text = text; - this.messageUrl = messageUrl; - } - - public DingLink(String title, String text, String messageUrl, String picUrl) { - this.title = title; - this.text = text; - this.messageUrl = messageUrl; - this.picUrl = picUrl; - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/MarkdownMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/MarkdownMsg.java deleted file mode 100644 index 40548c1d..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/MarkdownMsg.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 钉钉markdown消息 - * - * @author xxm - * @since 2020/11/30 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉文本消息") -public class MarkdownMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -2724590259000709240L; - - @Schema(description = "markdown消息体") - private DingMarkdown markdown; - - public MarkdownMsg() { - super(DingTalkNoticeCode.MSG_MARKDOWN); - } - - /** - * @param title 标题 - * @param msg 内容 - * @param phones @谁 - */ - public MarkdownMsg(String title, String msg, List<String> phones) { - super(new At(phones), DingTalkNoticeCode.MSG_MARKDOWN); - this.markdown = new DingMarkdown(title, msg); - } - - public MarkdownMsg(String title, String msg) { - super(DingTalkNoticeCode.MSG_MARKDOWN); - this.markdown = new DingMarkdown(title, msg); - } - - @Data - @Accessors(chain = true) - @NoArgsConstructor - @Schema(title = "钉钉markdown格式信息") - public static class DingMarkdown implements Serializable { - - private static final long serialVersionUID = 2353543901449818541L; - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - public DingMarkdown(String title, String text) { - this.title = title; - this.text = text; - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/Msg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/Msg.java deleted file mode 100644 index 656371c4..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/Msg.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉消息 - * - * @author xxm - * @since 2020/11/30 - */ -@Data -@Accessors(chain = true) -@NoArgsConstructor -@Schema(title = "钉钉消息基础类") -public class Msg implements Serializable { - - private static final long serialVersionUID = -8548175773944126488L; - - /** - * <a href="https://open.dingtalk.com/document/group/custom-robot-access">...</a> - */ - @JsonInclude(JsonInclude.Include.NON_NULL) - @Schema(description = "@谁(机器人消息用)") - private At at; - - /** - * @see DingTalkNoticeCode - */ - @JsonProperty("msgtype") - @Schema(description = "消息类型") - private String msgType; - - public Msg(At at, String msgType) { - this.at = at; - this.msgType = msgType; - } - - public Msg(String msgType) { - this.msgType = msgType; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/OaMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/OaMsg.java deleted file mode 100644 index fbaab913..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/OaMsg.java +++ /dev/null @@ -1,139 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 钉钉OA消息 - * - * @author xxm - * @since 2022/7/19 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉OA消息") -public class OaMsg extends Msg { - - @Schema(description = "OA消息体") - private Oa oa; - - @Data - @Accessors(chain = true) - @Schema(title = "OA消息体") - public static class Oa { - - @JsonProperty("message_url") - @Schema(description = "消息点击链接地址") - private String messageUrl; - - @JsonProperty("pc_message_url") - @Schema(description = "PC端点击消息时跳转到的地址") - private String pcMessageUrl; - - @Schema(description = "消息头部内容") - private Head head; - - @Schema(description = "消息体") - private Body body; - - @JsonProperty("status_bar") - @Schema(description = "消息状态栏") - private StatusBar statusBar; - - @Data - @Accessors(chain = true) - @Schema(title = "消息头部内容") - public static class Head { - - @JsonProperty("bgcolor") - @Schema(description = "消息头部的背景颜色") - private String bgColor; - - @Schema(description = "消息的头部标题") - private String text; - - } - - @Data - @Accessors(chain = true) - @Schema(title = "消息状态栏") - public static class StatusBar { - - @Schema(description = "状态栏文案") - @JsonProperty("status_value") - private String statusValue; - - @Schema(description = "状态栏背景色") - @JsonProperty("status_bg") - private String statusBg; - - } - - @Data - @Accessors(chain = true) - @Schema(title = "消息体") - public static class Body { - - @Schema(description = "消息体的标题") - private String title; - - @Schema(description = "消息体的表单") - private List<Form> form; - - @Schema(description = "单行富文本信息") - private Rich rich; - - @Schema(description = "消息体的内容") - private String content; - - @Schema(description = "消息体中的图片(媒体id)") - private String image; - - @Schema(description = "自定义的附件数目") - @JsonProperty("file_count") - private String fileCount; - - @Schema(description = "自定义的作者名字") - private String author; - - @Data - @Accessors(chain = true) - @Schema(title = "消息体的表单,最多显示6个,超过会被隐藏") - public static class Form { - - @Schema(description = "消息体的关键字") - private String key; - - @Schema(description = "消息体的关键字对应的值") - private String value; - - } - - @Data - @Accessors(chain = true) - @Schema(title = "单行富文本信息") - public static class Rich { - - @Schema(description = "单行富文本信息的数目") - private String num; - - @Schema(description = "单行富文本信息的单位") - private String unit; - - } - - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/TextMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/TextMsg.java deleted file mode 100644 index 72e71d04..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/TextMsg.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2020/11/29 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉文本消息") -public class TextMsg extends Msg implements Serializable { - - private static final long serialVersionUID = 8237431306046852539L; - - @Schema(description = "文本消息体") - private DingText text; - - public TextMsg() { - super(DingTalkNoticeCode.MSG_TEXT); - } - - public TextMsg(String msg) { - super(DingTalkNoticeCode.MSG_TEXT); - text = new DingText(msg); - } - - @Data - @Accessors(chain = true) - @NoArgsConstructor - @AllArgsConstructor - @Schema(title = "钉钉文本") - public static class DingText implements Serializable { - - private static final long serialVersionUID = 3582073816491238620L; - - @Schema(description = "文本") - private String content; - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/VoiceMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/VoiceMsg.java deleted file mode 100644 index d4b95c51..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/VoiceMsg.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉语音消息 - * - * @author xxm - * @since 2022/7/17 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉语音消息") -public class VoiceMsg extends Msg implements Serializable { - - @Schema(description = "钉钉语音") - private DingVoice voice; - - public VoiceMsg() { - super(DingTalkNoticeCode.MSG_VOICE); - } - - public VoiceMsg(String mediaId, String duration) { - super(DingTalkNoticeCode.MSG_VOICE); - this.voice = new DingVoice(mediaId, duration); - } - - @Data - @Accessors(chain = true) - @Schema(title = "钉钉语音") - @NoArgsConstructor - @AllArgsConstructor - public static class DingVoice { - - @JsonProperty("media_id") - @Schema(description = "媒体文件id") - private String mediaId; - - @JsonProperty("duration") - @Schema(description = "音频时长") - private String duration; - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/robot/DingRobotConfigParam.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/robot/DingRobotConfigParam.java deleted file mode 100644 index 620604d8..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/robot/DingRobotConfigParam.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.robot; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2021/8/5 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉机器人配置参数") -public class DingRobotConfigParam implements Serializable { - - private static final long serialVersionUID = -3979174622716815670L; - - @Schema(description = "主键") - private Long id; - - @Schema(description = "编号") - private String code; - - @Schema(description = "配置名称") - private String name; - - @Schema(description = "钉钉机器人的accessToken") - private String accessToken; - - @Schema(description = "是否开启验签") - private boolean enableSignatureCheck; - - @Schema(description = "验签秘钥") - private String signSecret; - - @Schema(description = "描述") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/util/DingTalkUtil.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/util/DingTalkUtil.java deleted file mode 100644 index ba4494ed..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/util/DingTalkUtil.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.util; - -import cn.hutool.crypto.digest.HmacAlgorithm; -import lombok.experimental.UtilityClass; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.codec.binary.Base64; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import java.nio.charset.StandardCharsets; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; - -/** - * 钉钉工具类 - * - * @author xxm - * @since 2022/4/2 - */ -@Slf4j -@UtilityClass -public class DingTalkUtil { - - /** - * 生成sign - */ - public String generateSign(Long timestamp, String sec) { - String combine = String.format("%d\n%s", timestamp, sec); - try { - Mac mac = Mac.getInstance(HmacAlgorithm.HmacSHA256.getValue()); - mac.init(new SecretKeySpec(sec.getBytes(StandardCharsets.UTF_8), HmacAlgorithm.HmacSHA256.getValue())); - byte[] signData = mac.doFinal(combine.getBytes(StandardCharsets.UTF_8)); - return Base64.encodeBase64String(signData); - } - catch (NoSuchAlgorithmException | InvalidKeyException e) { - log.warn(e.getMessage(), e); - } - return null; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 73283971..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.starter.dingtalk.DingTalkAutoConfiguration diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/pom.xml b/bootx-platform/bootx-common-starters/common-starter-wechat/pom.xml deleted file mode 100644 index f2d39d7e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>bootx-common-starters</artifactId> - <groupId>cn.bootx.platform</groupId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>common-starter-wechat</artifactId> - <packaging>jar</packaging> - - <dependencies> - <!-- web --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - <!-- 数据库持久层 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-mybatis-plus</artifactId> - </dependency> - <!-- weixin-java 公众号(包括订阅号和服务号) --> - <dependency> - <groupId>com.github.binarywang</groupId> - <artifactId>weixin-java-mp</artifactId> - <version>${wxjava.version}</version> - <exclusions> - <exclusion> - <artifactId>commons-io</artifactId> - <groupId>commons-io</groupId> - </exclusion> - <exclusion> - <artifactId>guava</artifactId> - <groupId>com.google.guava</groupId> - </exclusion> - <exclusion> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - </exclusion> - </exclusions> - </dependency> - <!-- weixin-java 公众号(包括订阅号和服务号) --> - <dependency> - <groupId>com.github.binarywang</groupId> - <artifactId>weixin-java-miniapp</artifactId> - <version>${wxjava.version}</version> - <exclusions> - <exclusion> - <artifactId>commons-io</artifactId> - <groupId>commons-io</groupId> - </exclusion> - <exclusion> - <artifactId>guava</artifactId> - <groupId>com.google.guava</groupId> - </exclusion> - <exclusion> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - </exclusion> - </exclusions> - </dependency> - <!-- TODO 有cve高危漏洞, 先替换下版本 --> - <dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.4.20</version> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-websocket</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-auth</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/WeChatAutoConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/WeChatAutoConfiguration.java deleted file mode 100644 index 42089c6f..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/WeChatAutoConfiguration.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.starter.wechat; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.context.properties.ConfigurationPropertiesScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 微信操作封装 - * - * @author xxm - * @since 2022/7/15 - */ -@ComponentScan -@MapperScan(annotationClass = Mapper.class) -@AutoConfiguration -@ConfigurationPropertiesScan -public class WeChatAutoConfiguration { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/code/WeChatCode.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/code/WeChatCode.java deleted file mode 100644 index edf7660e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/code/WeChatCode.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.bootx.platform.starter.wechat.code; - -/** - * 微信编码 - * - * @author xxm - * @since 2022/8/5 - */ -public interface WeChatCode { - - /** qrscene_为前缀,后面为二维码的参数值 */ - String EVENT_KEY_QRSCENE = "qrscene_"; - - /* 带参数的扫码事件(qrscene_为前缀)参数前缀, 需要配合 qrscene_ 一起使用 */ - /** 扫码登录 */ - String QRSCENE_LOGIN = "login_"; - - /* 扫码登录状态 */ - /** 已过期 */ - String QR_LOGIN_EXPIRED = "expired"; - - /** 等待中 */ - String QR_LOGIN_WAIT = "wait"; - - /** */ - String QR_LOGIN_OK = "ok"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatAppletProperties.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatAppletProperties.java deleted file mode 100644 index 1a95ed7d..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatAppletProperties.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 微信公众平台配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.wechat-applet") -public class WeChatAppletProperties { - - /** AppKey */ - private String appId = "?"; - - /** AppSecret */ - private String appSecret = "?"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatConfiguration.java deleted file mode 100644 index d1bce120..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatConfiguration.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; -import cn.binarywang.wx.miniapp.config.WxMaConfig; -import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; -import lombok.RequiredArgsConstructor; -import me.chanjar.weixin.mp.api.*; -import me.chanjar.weixin.mp.api.impl.*; -import me.chanjar.weixin.mp.config.WxMpConfigStorage; -import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * 微信配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Configuration -@RequiredArgsConstructor -public class WeChatConfiguration { - - private final WeChatProperties weChatProperties; - - private final WeChatAppletProperties weChatAppletProperties; - - /** - * 微信公众号APIService - */ - @Bean - public WxMpService wxMpService(WxMpConfigStorage wxMpConfigStorage) { - WxMpService wxMpService = new WxMpServiceImpl(); - wxMpService.setWxMpConfigStorage(wxMpConfigStorage); - return wxMpService; - } - - /** - * 微信配置 - */ - @Bean - public WxMpConfigStorage wxMpConfigStorage() { - WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl(); - config.setAppId(weChatProperties.getAppId()); // 设置微信公众号的appid - config.setSecret(weChatProperties.getAppSecret()); // 设置微信公众号的app corpSecret - config.setToken(weChatProperties.getToken()); // 设置微信公众号的Token - config.setAesKey(weChatProperties.getEncodingAesKey()); // 消息加解密密钥 - return config; - } - @Bean - public WxMaService wxMaService(WxMaConfig wxMaConfigStorage) { - WxMaService wxMpService = new WxMaServiceImpl(); - wxMpService.setWxMaConfig(wxMaConfigStorage); - return wxMpService; - } - @Bean - public WxMaConfig wxMaConfigStorage() { - WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); - config.setAppid(weChatAppletProperties.getAppId()); // 设置微信公众号的appid - config.setSecret(weChatAppletProperties.getAppSecret()); // 设置微信公众号的app corpSecret - return config; - } -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatMessageRouterConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatMessageRouterConfiguration.java deleted file mode 100644 index 9799789b..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatMessageRouterConfiguration.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import cn.bootx.platform.starter.wechat.handler.WeChatMpMessageHandler; -import cn.bootx.platform.starter.wechat.handler.WeChatMsgHandler; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpMessageRouter; -import me.chanjar.weixin.mp.api.WxMpService; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.List; - -/** - * 微信信息路由配置 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Configuration -@RequiredArgsConstructor -public class WeChatMessageRouterConfiguration { - - private final List<WeChatMpMessageHandler> weChatMpMessageHandlers; - - private final WeChatMsgHandler weChatMsgHandler; - - @Bean - public WxMpMessageRouter wxMpMessageRouter(WxMpService wxMpService) { - WxMpMessageRouter router = new WxMpMessageRouter(wxMpService); - // 记录日志 - - // 消息路由绑定 - for (WeChatMpMessageHandler weChatMpMessageHandler : weChatMpMessageHandlers) { - router.rule() - .async(false) - .msgType(weChatMpMessageHandler.getMsgType()) - .event(weChatMpMessageHandler.getEvent()) - .handler(weChatMpMessageHandler) - .end(); - } - // 默认的 文本消息处理 - router.rule().async(false).handler(weChatMsgHandler).end(); - return router; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatProperties.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatProperties.java deleted file mode 100644 index b6246580..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatProperties.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 微信公众平台配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.wechat") -public class WeChatProperties { - - /** AppKey */ - private String appId = "?"; - - /** AppSecret */ - private String appSecret = "?"; - - /** token */ - private String token = "?"; - - /** 消息加解密密钥 */ - private String encodingAesKey = "?"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatArticleController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatArticleController.java deleted file mode 100644 index 29749eaa..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatArticleController.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.core.article.service.WeChatArticleService; -import cn.bootx.platform.starter.wechat.dto.article.WeChatArticleDto; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author xxm - * @since 2022/8/11 - */ -@Tag(name = "微信文章管理") -@RestController -@RequestMapping("/wechat/article") -@RequiredArgsConstructor -public class WeChatArticleController { - - private final WeChatArticleService weChatArticleService; - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<WeChatArticleDto>> page(PageParam pageParam) { - return Res.ok(weChatArticleService.page(pageParam)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMediaController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMediaController.java deleted file mode 100644 index bfd82f4e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMediaController.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.core.media.service.WeChatMediaService; -import cn.bootx.platform.starter.wechat.dto.media.WeChatMediaDto; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import static me.chanjar.weixin.mp.bean.material.WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem; - -/** - * @author xxm - * @since 2022/8/9 - */ -@Tag(name = "微信素材管理") -@RestController -@RequestMapping("/wechat/media") -@RequiredArgsConstructor -public class WeChatMediaController { - - private final WeChatMediaService weChatMediaService; - - @Operation(summary = "非图文素材分页") - @GetMapping("/pageFile") - public ResResult<PageResult<WeChatMediaDto>> pageFile(PageParam pageParam, String type) { - return Res.ok(weChatMediaService.pageFile(pageParam, type)); - } - - @Operation(summary = "图文素材分页") - @GetMapping("/pageNews") - public ResResult<PageResult<WxMaterialNewsBatchGetNewsItem>> pageNews(PageParam pageParam) { - return Res.ok(weChatMediaService.pageNews(pageParam)); - } - - @Operation(summary = "删除素材") - @DeleteMapping("/deleteFile") - public ResResult<Void> deleteFile(String mediaId) { - weChatMediaService.deleteFile(mediaId); - return Res.ok(); - } - - @Operation(summary = "上传素材") - @PostMapping("/uploadFile") - public ResResult<Void> uploadFile(String mediaType, MultipartFile file) { - weChatMediaService.uploadFile(mediaType, file); - return Res.ok(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMenuController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMenuController.java deleted file mode 100644 index 1c556776..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMenuController.java +++ /dev/null @@ -1,91 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.core.menu.service.WeChatMenuService; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 微信菜单管理 - * - * @author xxm - * @since 2022/8/6 - */ -@Tag(name = "微信菜单管理") -@RestController -@RequestMapping("/wechat/menu") -@RequiredArgsConstructor -public class WeChatMenuController { - - private final WeChatMenuService weChatMenuService; - - @Operation(summary = "添加") - @PostMapping(value = "/add") - public ResResult<Void> add(@RequestBody WeChatMenuParam param) { - weChatMenuService.add(param); - return Res.ok(); - } - - @Operation(summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody WeChatMenuParam param) { - weChatMenuService.update(param); - return Res.ok(); - } - - @Operation(summary = "删除") - @DeleteMapping(value = "/delete") - public ResResult<Void> delete(Long id) { - weChatMenuService.delete(id); - return Res.ok(); - } - - @Operation(summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<WeChatMenuDto> findById(Long id) { - return Res.ok(weChatMenuService.findById(id)); - } - - @Operation(summary = "查询所有") - @GetMapping(value = "/findAll") - public ResResult<List<WeChatMenuDto>> findAll() { - return Res.ok(weChatMenuService.findAll()); - } - - @Operation(summary = "分页查询") - @GetMapping(value = "/page") - public ResResult<PageResult<WeChatMenuDto>> page(PageParam pageParam, WeChatMenuParam weChatMenuParam) { - return Res.ok(weChatMenuService.page(pageParam, weChatMenuParam)); - } - - @Operation(summary = "发布菜单") - @PostMapping("/publish") - public ResResult<Void> publish(Long id) { - weChatMenuService.publish(id); - return Res.ok(); - } - - @Operation(summary = "导入微信自定义菜单到系统中") - @PostMapping("/importMenu") - public ResResult<Void> importMenu() { - weChatMenuService.importMenu(); - return Res.ok(); - } - - @Operation(summary = "清空微信自定义菜单") - @PostMapping("/clearMenu") - public ResResult<Void> clearMenu() { - weChatMenuService.clearMenu(); - return Res.ok(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatPortalController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatPortalController.java deleted file mode 100644 index 5028b4a0..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatPortalController.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.bootx.platform.starter.wechat.core.portal.service.WeChatPortalService; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -/** - * 微信工作台接入入口 - * - * @author xxm - * @since 2022/7/16 - */ -@IgnoreAuth -@Slf4j -@Tag(name = "微信接入入口") -@RestController -@RequestMapping("/wechat/portal") -@RequiredArgsConstructor -public class WeChatPortalController { - - private final WeChatPortalService weChatPortalService; - - /** - * 微信接入校验处理 - * @param signature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - * @param echostr 随机字符串 - */ - @GetMapping(produces = "text/plain;charset=utf-8") - public String auth(String signature, String timestamp, String nonce, String echostr) { - return weChatPortalService.auth(signature, timestamp, nonce, echostr); - } - - /** - * 微信消息处理 - * @param requestBody 请求报文体 - * @param signature 微信签名 - * @param encType 加签方式 - * @param msgSignature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - */ - @PostMapping(produces = "application/xml; charset=UTF-8") - public String post(@RequestBody String requestBody, String signature, String timestamp, String nonce, String openid, - @RequestParam(name = "encrypt_type", required = false) String encType, - @RequestParam(name = "msg_signature", required = false) String msgSignature) { - return weChatPortalService.handleMessage(requestBody, signature, timestamp, nonce, openid, encType, - msgSignature); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatQrLoginController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatQrLoginController.java deleted file mode 100644 index 825f5630..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatQrLoginController.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import cn.bootx.platform.starter.wechat.dto.login.WeChatLoginQrCode; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 微信 - * - * @author xxm - * @since 2022/8/4 - */ -@IgnoreAuth -@Tag(name = "微信扫码登录") -@RestController -@RequestMapping("/token/wechat/qr") -@RequiredArgsConstructor -public class WeChatQrLoginController { - - private final WeChatQrLoginService weChatQrLoginService; - - @Operation(summary = "申请登录用QR码") - @PostMapping("/applyQrCode") - public ResResult<WeChatLoginQrCode> applyQrCode() { - return Res.ok(weChatQrLoginService.applyQrCode()); - } - - @Operation(summary = "获取扫码状态") - @GetMapping("/getStatus") - public ResResult<String> getStatus(String qrCodeKey) { - return Res.ok(weChatQrLoginService.getStatus(qrCodeKey)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatTemplateController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatTemplateController.java deleted file mode 100644 index d618de59..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatTemplateController.java +++ /dev/null @@ -1,62 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.notice.service.WeChatTemplateService; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -/** - * @author xxm - * @since 2022/7/16 - */ -@Tag(name = "微信模板消息") -@RestController -@RequestMapping("/wechat/template") -@RequiredArgsConstructor -public class WeChatTemplateController { - - private final WeChatTemplateService weChatTemplateService; - - @Operation(summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody WeChatTemplateParam param) { - weChatTemplateService.update(param); - return Res.ok(); - } - - @Operation(summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<WeChatTemplateDto> findById(Long id) { - return Res.ok(weChatTemplateService.findById(id)); - } - - @Operation(summary = "分页查询") - @GetMapping(value = "/page") - public ResResult<PageResult<WeChatTemplateDto>> page(PageParam pageParam, WeChatTemplateParam weChatTemplateParam) { - return Res.ok(weChatTemplateService.page(pageParam, weChatTemplateParam)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(weChatTemplateService.existsByCode(code, id)); - } - - @Operation(summary = "同步消息模板数据") - @PostMapping("/sync") - public ResResult<Void> sync() { - // 为了获取用户生效, 测试用 - SecurityUtil.getUserId(); - weChatTemplateService.sync(); - return Res.ok(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/article/service/WeChatArticleService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/article/service/WeChatArticleService.java deleted file mode 100644 index ade2a2b1..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/article/service/WeChatArticleService.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.article.service; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.dto.article.WeChatArticleDto; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import me.chanjar.weixin.mp.api.WxMpService; -import org.springframework.stereotype.Service; - -import java.util.stream.Collectors; - -/** - * @author xxm - * @since 2022/8/11 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatArticleService { - - private final WxMpService wxMpService; - - /** - * 查询图文 - * @return - */ - @SneakyThrows - public PageResult<WeChatArticleDto> page(PageParam pageParam) { - val freePublishService = wxMpService.getFreePublishService(); - val result = freePublishService.getPublicationRecords(pageParam.start(), pageParam.getSize()); - val items = result.getItems().stream().map(WeChatArticleDto::init).collect(Collectors.toList()); - PageResult<WeChatArticleDto> pageResult = new PageResult<>(); - pageResult.setCurrent(pageParam.getCurrent()) - .setRecords(items) - .setSize(pageParam.getSize()) - .setTotal(result.getTotalCount()); - return pageResult; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/login/service/WeChatQrLoginService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/login/service/WeChatQrLoginService.java deleted file mode 100644 index 19af0f27..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/login/service/WeChatQrLoginService.java +++ /dev/null @@ -1,99 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.login.service; - -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.common.redis.RedisClient; -import cn.bootx.platform.starter.wechat.dto.login.WeChatLoginQrCode; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpQrcodeService; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; -import org.springframework.stereotype.Service; - -import java.util.Objects; - -import static cn.bootx.platform.starter.wechat.code.WeChatCode.*; - -/** - * 扫码事件 - * - * @author xxm - * @since 2022/8/4 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatQrLoginService { - - private final RedisClient redisClient; - - private final WxMpService wxMpService; - - private final String PREFIX_KEY = "third:wechat:login:qr:"; - - /** - * 申请待扫描的二维码 - */ - @SneakyThrows - public WeChatLoginQrCode applyQrCode() { - WxMpQrcodeService qrcodeService = wxMpService.getQrcodeService(); - long timeout = 5 * 60 * 1000; - String qrCodeKey = IdUtil.getSnowflakeNextIdStr(); - // 创建微信临时Key, 需要有指定的前缀 - String wxKey = QRSCENE_LOGIN + qrCodeKey; - WxMpQrCodeTicket wxMpQrCodeTicket = qrcodeService.qrCodeCreateTmpTicket(wxKey, (int) timeout); - String url = wxMpQrCodeTicket.getUrl(); - redisClient.setWithTimeout(PREFIX_KEY + qrCodeKey, "", timeout); - return new WeChatLoginQrCode(qrCodeKey, url); - } - - /** - * 查询二维码状态 等待扫码/登录成功/过期 - */ - public String getStatus(String key) { - String openId = redisClient.get(PREFIX_KEY + key); - // 超时 - if (Objects.isNull(openId)) { - return QR_LOGIN_EXPIRED; - } - // 等待 - else if (StrUtil.isBlank(openId)) { - return QR_LOGIN_WAIT; - } - // 登录成功 - else { - return QR_LOGIN_OK; - } - } - - /** - * 设置微信openId - */ - public void setOpenId(String key, String openId) { - if (redisClient.exists(PREFIX_KEY + key)) { - redisClient.set(PREFIX_KEY + key, openId); - } - } - - /** - * 获取 openId - */ - public String getOpenId(String key) { - String openId = redisClient.get(PREFIX_KEY + key); - if (StrUtil.isBlank(openId)) { - throw new LoginFailureException("数据已过期或不存在"); - } - return openId; - } - - /** - * 清除扫码信息 - */ - public void clear(String key) { - redisClient.deleteKey(PREFIX_KEY + key); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/media/service/WeChatMediaService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/media/service/WeChatMediaService.java deleted file mode 100644 index bfbb2095..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/media/service/WeChatMediaService.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.media.service; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.FileUtil; -import cn.bootx.platform.starter.wechat.dto.media.WeChatMediaDto; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.io.file.FileNameUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.api.WxMpMaterialService; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.material.WxMpMaterial; -import me.chanjar.weixin.mp.bean.material.WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 素材管理 - * - * @author xxm - * @since 2022/8/9 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatMediaService { - - private final WxMpService wxMpService; - - /** - * 分页查询 - */ - @SneakyThrows - public PageResult<WeChatMediaDto> pageFile(PageParam pageParam, String type) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - val result = materialService.materialFileBatchGet(type, pageParam.start(), pageParam.getSize()); - // val result = new WxMpMaterialFileBatchGetResult(); - val items = result.getItems().stream().map(WeChatMediaDto::init).collect(Collectors.toList()); - PageResult<WeChatMediaDto> pageResult = new PageResult<>(); - pageResult.setCurrent(pageParam.getCurrent()) - .setRecords(items) - .setSize(pageParam.getSize()) - .setTotal(result.getTotalCount()); - return pageResult; - } - - /** - * 分页查询(图文) - */ - @SneakyThrows - public PageResult<WxMaterialNewsBatchGetNewsItem> pageNews(PageParam pageParam) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - val result = materialService.materialNewsBatchGet(pageParam.start(), pageParam.getSize()); - val items = result.getItems(); - PageResult<WxMaterialNewsBatchGetNewsItem> pageResult = new PageResult<>(); - pageResult.setCurrent(pageParam.getCurrent()) - .setRecords(items) - .setSize(pageParam.getSize()) - .setTotal(result.getTotalCount()); - return pageResult; - } - - /** - * 删除素材 - */ - @SneakyThrows - public void deleteFile(String mediaId) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - materialService.materialDelete(mediaId); - } - - /** - * 上传 非图文素材 - * @see WxConsts.MediaFileType - */ - @SneakyThrows - public void uploadFile(String mediaType, MultipartFile multipartFile) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - byte[] bytes = IoUtil.readBytes(multipartFile.getInputStream()); - String originalFilename = multipartFile.getOriginalFilename(); - String fileName = FileNameUtil.mainName(originalFilename); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes), originalFilename); - File tempFile = FileUtil.createTempFile(new ByteArrayInputStream(bytes), fileName, fileType); - WxMpMaterial material = new WxMpMaterial(); - material.setFile(tempFile); - if (Objects.equals(mediaType, WxConsts.MediaFileType.VIDEO)) { - material.setVideoTitle(fileName); - material.setVideoIntroduction(fileName); - } - materialService.materialFileUpload(mediaType, material); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/convert/WeChatMenuConvert.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/convert/WeChatMenuConvert.java deleted file mode 100644 index 0b27d719..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/convert/WeChatMenuConvert.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.convert; - -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import me.chanjar.weixin.common.bean.menu.WxMenu; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Mapper -public interface WeChatMenuConvert { - - WeChatMenuConvert CONVERT = Mappers.getMapper(WeChatMenuConvert.class); - - WeChatMenu convert(WeChatMenuParam in); - - WeChatMenuDto convert(WeChatMenu in); - - WeChatMenuInfo convert(WxMenu in); - - WxMenu convert(WeChatMenuInfo in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuManager.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuManager.java deleted file mode 100644 index d60b693f..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuManager.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.dao; - -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Repository -@RequiredArgsConstructor -public class WeChatMenuManager extends BaseManager<WeChatMenuMapper, WeChatMenu> { - - /** - * 分页 - */ - public Page<WeChatMenu> page(PageParam pageParam, WeChatMenuParam param) { - Page<WeChatMenu> mpPage = MpUtil.getMpPage(pageParam, WeChatMenu.class); - return lambdaQuery().select(this.getEntityClass(), MpUtil::excludeBigField) - .like(StrUtil.isNotBlank(param.getName()), WeChatMenu::getName, param.getName()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - - /** - * 清除其他发布状态 - */ - public void clearPublish() { - lambdaUpdate().eq(WeChatMenu::isPublish, true).set(WeChatMenu::isPublish, false).update(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuMapper.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuMapper.java deleted file mode 100644 index 6934ab0e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.dao; - -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Mapper -public interface WeChatMenuMapper extends BaseMapper<WeChatMenu> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/domin/WeChatMenuInfo.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/domin/WeChatMenuInfo.java deleted file mode 100644 index aeb482c9..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/domin/WeChatMenuInfo.java +++ /dev/null @@ -1,164 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.domin; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.common.bean.menu.WxMenu; -import me.chanjar.weixin.common.bean.menu.WxMenuButton; -import me.chanjar.weixin.mp.bean.menu.WxMpMenu; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022/8/8 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信自定义菜单") -public class WeChatMenuInfo { - - private List<Button> buttons = new ArrayList<>(); - - @Data - @Accessors(chain = true) - @Schema(title = "菜单按钮") - public static class Button { - - /** - * <pre> - * 菜单的响应动作类型. - * view表示网页类型, - * click表示点击类型, - * miniprogram表示小程序类型 - * </pre> - */ - private String type; - - /** - * 菜单标题,不超过16个字节,子菜单不超过60个字节. - */ - private String name; - - /** - * <pre> - * 菜单KEY值,用于消息接口推送,不超过128字节. - * click等点击类型必须 - * </pre> - */ - private String key; - - /** - * <pre> - * 网页链接. - * 用户点击菜单可打开链接,不超过1024字节。type为miniprogram时,不支持小程序的老版本客户端将打开本url。 - * view、miniprogram类型必须 - * </pre> - */ - private String url; - - /** - * <pre> - * 调用新增永久素材接口返回的合法media_id. - * media_id类型和view_limited类型必须 - * </pre> - */ - private String mediaId; - - /** - * <pre> - * 调用发布图文接口获得的article_id. - * article_id类型和article_view_limited类型必须 - * </pre> - */ - private String articleId; - - /** - * <pre> - * 小程序的appid. - * miniprogram类型必须 - * </pre> - */ - private String appId; - - /** - * <pre> - * 小程序的页面路径. - * miniprogram类型必须 - * </pre> - */ - private String pagePath; - - private List<Button> subButtons = new ArrayList<>(); - - } - - /** - * 转换成wxJava的对象 - */ - public WxMenu toWxMenu() { - WxMenu wxMenu = new WxMenu(); - List<WxMenuButton> collect = this.getButtons().stream().map(this::toWxButton).collect(Collectors.toList()); - wxMenu.setButtons(collect); - return wxMenu; - } - - private WxMenuButton toWxButton(Button button) { - List<WxMenuButton> subButtons = button.getSubButtons() - .stream() - .map(this::toWxButton) - .collect(Collectors.toList()); - WxMenuButton wxMenuButton = new WxMenuButton(); - wxMenuButton.setType(button.getType()); - wxMenuButton.setName(button.getName()); - wxMenuButton.setKey(button.getKey()); - wxMenuButton.setUrl(button.getUrl()); - wxMenuButton.setMediaId(button.getMediaId()); - wxMenuButton.setArticleId(button.getArticleId()); - wxMenuButton.setAppId(button.getAppId()); - wxMenuButton.setPagePath(button.getPagePath()); - wxMenuButton.setSubButtons(subButtons); - return wxMenuButton; - } - - /** - * 从WxJava对象转成 - */ - public static WeChatMenuInfo init(WxMpMenu wxMpMenu) { - WeChatMenuInfo weChatMenuInfo = new WeChatMenuInfo(); - List<Button> buttons = wxMpMenu.getMenu() - .getButtons() - .stream() - .map(WeChatMenuInfo::initButton) - .collect(Collectors.toList()); - - weChatMenuInfo.setButtons(buttons); - return weChatMenuInfo; - } - - /** - * 菜单按钮转换 - */ - private static Button initButton(WxMenuButton wxMenuButton) { - List<Button> subButtons = wxMenuButton.getSubButtons() - .stream() - .map(WeChatMenuInfo::initButton) - .collect(Collectors.toList()); - Button button = new Button(); - button.setType(wxMenuButton.getType()); - button.setName(wxMenuButton.getName()); - button.setKey(wxMenuButton.getKey()); - button.setUrl(wxMenuButton.getUrl()); - button.setMediaId(wxMenuButton.getMediaId()); - button.setArticleId(wxMenuButton.getArticleId()); - button.setAppId(wxMenuButton.getAppId()); - button.setPagePath(wxMenuButton.getPagePath()); - button.setSubButtons(subButtons); - return button; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/entity/WeChatMenu.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/entity/WeChatMenu.java deleted file mode 100644 index b983003c..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/entity/WeChatMenu.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.entity; - -import cn.bootx.platform.starter.wechat.core.menu.convert.WeChatMenuConvert; -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.common.core.annotation.BigField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName(value = "starter_wx_menu", autoResultMap = true) -public class WeChatMenu extends MpBaseEntity implements EntityBaseFunction<WeChatMenuDto> { - - /** 名称 */ - private String name; - - /** 菜单信息 */ - @BigField - @TableField(typeHandler = JacksonTypeHandler.class) - private WeChatMenuInfo menuInfo; - - /** 是否发布 */ - private boolean publish; - - /** 备注 */ - private String remark; - - /** 创建对象 */ - public static WeChatMenu init(WeChatMenuParam in) { - return WeChatMenuConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public WeChatMenuDto toDto() { - return WeChatMenuConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/service/WeChatMenuService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/service/WeChatMenuService.java deleted file mode 100644 index b1b5ace7..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/service/WeChatMenuService.java +++ /dev/null @@ -1,130 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.service; - -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.wechat.core.menu.dao.WeChatMenuManager; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.date.DateUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.bean.menu.WxMenu; -import me.chanjar.weixin.mp.api.WxMpMenuService; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.menu.WxMpMenu; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 微信菜单 - * - * @author xxm - * @since 2022/8/6 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatMenuService { - - private final WxMpService wxMpService; - - private final WeChatMenuManager weChatMenuManager; - - /** - * 添加 - */ - public void add(WeChatMenuParam param) { - WeChatMenu weChatMenu = WeChatMenu.init(param); - weChatMenuManager.save(weChatMenu); - } - - /** - * 修改 - */ - public void update(WeChatMenuParam param) { - WeChatMenu weChatMenu = weChatMenuManager.findById(param.getId()).orElseThrow(DataNotExistException::new); - - BeanUtil.copyProperties(param, weChatMenu, CopyOptions.create().ignoreNullValue()); - weChatMenuManager.updateById(weChatMenu); - } - - /** - * 分页 - */ - public PageResult<WeChatMenuDto> page(PageParam pageParam, WeChatMenuParam weChatMenuParam) { - return MpUtil.convert2DtoPageResult(weChatMenuManager.page(pageParam, weChatMenuParam)); - } - - /** - * 获取单条 - */ - public WeChatMenuDto findById(Long id) { - return weChatMenuManager.findById(id).map(WeChatMenu::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<WeChatMenuDto> findAll() { - return ResultConvertUtil.dtoListConvert(weChatMenuManager.findAll()); - } - - /** - * 删除 - */ - public void delete(Long id) { - weChatMenuManager.deleteById(id); - } - - /** - * 发布菜单 - */ - @SneakyThrows - @Transactional(rollbackFor = Exception.class) - public void publish(Long id) { - WeChatMenu weChatMenu = weChatMenuManager.findById(id).orElseThrow(() -> new DataNotExistException("菜单信息不存在")); - WxMenu wxMenu = weChatMenu.getMenuInfo().toWxMenu(); - WxMpMenuService menuService = wxMpService.getMenuService(); - menuService.menuCreate(wxMenu); - weChatMenu.setPublish(true); - weChatMenuManager.clearPublish(); - weChatMenuManager.updateById(weChatMenu); - } - - /** - * 导入当前微信菜单 - */ - @Transactional(rollbackFor = Exception.class) - @SneakyThrows - public void importMenu() { - WxMpMenuService menuService = wxMpService.getMenuService(); - WxMpMenu wxMpMenu = menuService.menuGet(); - WeChatMenuInfo weChatMenuInfo = WeChatMenuInfo.init(wxMpMenu); - WeChatMenu weChatMenu = new WeChatMenu().setName("微信自定义菜单") - .setRemark("导入时间" + DateUtil.now()) - .setPublish(true) - .setMenuInfo(weChatMenuInfo); - weChatMenuManager.clearPublish(); - weChatMenuManager.save(weChatMenu); - } - - /** - * 清空菜单 - */ - @SneakyThrows - public void clearMenu() { - WxMpMenuService menuService = wxMpService.getMenuService(); - menuService.menuDelete(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/convert/WeChatTemplateConvert.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/convert/WeChatTemplateConvert.java deleted file mode 100644 index 1b2ab3a1..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/convert/WeChatTemplateConvert.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.convert; - -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; -import me.chanjar.weixin.mp.bean.template.WxMpTemplate; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -/** - * @author xxm - * @since 2022/7/17 - */ -@Mapper -public interface WeChatTemplateConvert { - - WeChatTemplateConvert CONVERT = Mappers.getMapper(WeChatTemplateConvert.class); - - @Mapping(source = "title", target = "name") - WeChatTemplate convert(WxMpTemplate in); - - WeChatTemplate convert(WeChatTemplateParam in); - - WeChatTemplateDto convert(WeChatTemplate in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateManager.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateManager.java deleted file mode 100644 index 888a9b30..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateManager.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.dao; - -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * @author xxm - * @since 2022/7/17 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class WeChatTemplateManager extends BaseManager<WeChatTemplateMapper, WeChatTemplate> { - - public Page<WeChatTemplate> page(PageParam pageParam, WeChatTemplateParam param) { - Page<WeChatTemplate> mpPage = MpUtil.getMpPage(pageParam, WeChatTemplate.class); - return this.lambdaQuery() - .select(WeChatTemplate.class, MpUtil::excludeBigField) - .like(StrUtil.isNotBlank(param.getTemplateId()), WeChatTemplate::getTemplateId, param.getTemplateId()) - .like(StrUtil.isNotBlank(param.getName()), WeChatTemplate::getName, param.getName()) - .like(StrUtil.isNotBlank(param.getCode()), WeChatTemplate::getCode, param.getCode()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - - public boolean existsByCode(String code, Long id) { - return existedByField(WeChatTemplate::getCode, code, id); - } - - /** - * 根据code查询 - */ - public Optional<WeChatTemplate> findByCode(String code) { - return this.findByField(WeChatTemplate::getCode, code); - } - - /** - * 根据code查询 - */ - public Optional<WeChatTemplate> findTemplateIdByCode(String code) { - return lambdaQuery().select(WeChatTemplate::getTemplateId).eq(WeChatTemplate::getCode, code).oneOpt(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateMapper.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateMapper.java deleted file mode 100644 index 6cafda22..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.dao; - -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2022/7/17 - */ -@Mapper -public interface WeChatTemplateMapper extends BaseMapper<WeChatTemplate> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/entity/WeChatTemplate.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/entity/WeChatTemplate.java deleted file mode 100644 index 54b835f8..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/entity/WeChatTemplate.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.entity; - -import cn.bootx.platform.starter.wechat.core.notice.convert.WeChatTemplateConvert; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.common.core.annotation.BigField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpDelEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import lombok.experimental.FieldNameConstants; -import me.chanjar.weixin.mp.bean.template.WxMpTemplate; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022-08-03 - */ -@FieldNameConstants -@EqualsAndHashCode(callSuper = true) -@Data -@TableName("starter_wx_template") -@Accessors(chain = true) -public class WeChatTemplate extends MpDelEntity implements EntityBaseFunction<WeChatTemplateDto> { - - /** 名称 */ - private String name; - - /** 编码 */ - private String code; - - /** 是否启用 */ - private Boolean enable; - - /** 模板ID */ - private String templateId; - - /** 模板标题 */ - private String title; - - /** 模板所属行业的一级行业 */ - private String primaryIndustry; - - /** 模板所属行业的二级行业 */ - private String deputyIndustry; - - /** 模板内容 */ - @BigField - private String content; - - /** 示例 */ - @BigField - private String example; - - /** 创建对象 */ - public static WeChatTemplate init(WeChatTemplateParam in) { - return WeChatTemplateConvert.CONVERT.convert(in); - } - - public static WeChatTemplate init(WxMpTemplate wxMpTemplate) { - WeChatTemplate template = WeChatTemplateConvert.CONVERT.convert(wxMpTemplate); - template.setEnable(true); - return template; - } - - /** 转换成dto */ - @Override - public WeChatTemplateDto toDto() { - return WeChatTemplateConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WeChatTemplateService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WeChatTemplateService.java deleted file mode 100644 index b91c7507..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WeChatTemplateService.java +++ /dev/null @@ -1,125 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.service; - -import cn.bootx.platform.common.websocket.entity.WsRes; -import cn.bootx.platform.common.websocket.service.UserWsNoticeService; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.notice.dao.WeChatTemplateManager; -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.api.WxMpTemplateMsgService; -import me.chanjar.weixin.mp.bean.template.WxMpTemplate; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022/7/15 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatTemplateService { - - private final WxMpService wxMpService; - - private final WeChatTemplateManager weChatTemplateManager; - - private final UserWsNoticeService userWsNoticeService; - - /** - * 修改 - */ - public void update(WeChatTemplateParam param) { - WeChatTemplate weChatTemplate = weChatTemplateManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param, weChatTemplate, CopyOptions.create().ignoreNullValue()); - weChatTemplateManager.updateById(weChatTemplate); - } - - /** - * 分页 - */ - public PageResult<WeChatTemplateDto> page(PageParam pageParam, WeChatTemplateParam weChatTemplateParam) { - return MpUtil.convert2DtoPageResult(weChatTemplateManager.page(pageParam, weChatTemplateParam)); - } - - /** - * 获取单条 - */ - public WeChatTemplateDto findById(Long id) { - return weChatTemplateManager.findById(id).map(WeChatTemplate::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<WeChatTemplateDto> findAll() { - return ResultConvertUtil.dtoListConvert(weChatTemplateManager.findAll()); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return weChatTemplateManager.existsByCode(code, id); - } - - /** - * 同步 - */ - @SneakyThrows - @Async("asyncExecutor") - @Transactional(rollbackFor = Exception.class) - public void sync() { - WxMpTemplateMsgService templateMsgService = wxMpService.getTemplateMsgService(); - // 微信公众号订阅模板 - List<WxMpTemplate> wxTemplates = templateMsgService.getAllPrivateTemplate() - .stream() - .filter(o -> StrUtil.isNotBlank(o.getPrimaryIndustry())) - .collect(Collectors.toList()); - List<String> wxTemplateIds = wxTemplates.stream().map(WxMpTemplate::getTemplateId).collect(Collectors.toList()); - - // 系统中模板 - List<WeChatTemplate> weChatTemplates = weChatTemplateManager.findAll(); - List<String> weChatTemplatesIds = weChatTemplates.stream() - .map(WeChatTemplate::getTemplateId) - .collect(Collectors.toList()); - - // 删除 本地有有,服务端没有 - List<Long> deleteIds = weChatTemplates.stream() - .filter(o -> !wxTemplateIds.contains(o.getTemplateId())) - .map(MpIdEntity::getId) - .collect(Collectors.toList()); - // 新增 服务端有且本地没有 - List<WeChatTemplate> saveTemplate = wxTemplates.stream() - .filter(o -> !weChatTemplatesIds.contains(o.getTemplateId())) - .map(WeChatTemplate::init) - .collect(Collectors.toList()); - weChatTemplateManager.saveAll(saveTemplate); - weChatTemplateManager.deleteByIds(deleteIds); - SecurityUtil.getCurrentUser() - .ifPresent(userDetail -> userWsNoticeService.sendMessageByUser(WsRes.notificationInfo("微信消息模板同步成功"), - userDetail.getId())); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WechatNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WechatNoticeService.java deleted file mode 100644 index 83eae983..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WechatNoticeService.java +++ /dev/null @@ -1,61 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.dto.KeyValue; -import cn.bootx.platform.starter.wechat.core.notice.dao.WeChatTemplateManager; -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.api.WxMpTemplateMsgService; -import me.chanjar.weixin.mp.bean.template.WxMpTemplateData; -import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信消息通知功能 - * - * @author xxm - * @since 2022/7/15 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WechatNoticeService { - - private final WxMpService wxMpService; - - private final WeChatTemplateManager weChatTemplateManager; - - /** - * 发送模板信息 根据模板编号 - */ - @SneakyThrows - public String sentNotice(String code, String wxOpenId, List<KeyValue> keyValues) { - WeChatTemplate weChatTemplate = weChatTemplateManager.findTemplateIdByCode(code) - .orElseThrow(() -> new DataNotExistException("微信消息模板不存在")); - return this.sentNoticeByTemplateId(weChatTemplate.getTemplateId(), wxOpenId, keyValues); - } - - /** - * 发送模板信息 根据微信消息模板ID - */ - @SneakyThrows - public String sentNoticeByTemplateId(String templateId, String wxOpenId, List<KeyValue> keyValues) { - WxMpTemplateMsgService templateMsgService = wxMpService.getTemplateMsgService(); - WxMpTemplateMessage message = new WxMpTemplateMessage(); - message.setToUser(wxOpenId); - message.setTemplateId(templateId); - - List<WxMpTemplateData> wxMpTemplateData = keyValues.stream() - .map(keyValue -> new WxMpTemplateData(keyValue.getKey(), keyValue.getValue())) - .collect(Collectors.toList()); - message.setData(wxMpTemplateData); - return templateMsgService.sendTemplateMsg(message); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/portal/service/WeChatPortalService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/portal/service/WeChatPortalService.java deleted file mode 100644 index 6b8d7c23..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/portal/service/WeChatPortalService.java +++ /dev/null @@ -1,90 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.portal.service; - -import cn.bootx.platform.common.core.exception.ValidationFailedException; -import cn.hutool.core.util.StrUtil; -import cn.hutool.crypto.symmetric.SymmetricAlgorithm; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpMessageRouter; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Service; - -/** - * 微信门户处理 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatPortalService { - - private final WxMpService wxMpService; - - private final WxMpMessageRouter wxMpMessageRouter; - - /** - * 微信接入校验处理 - * @param signature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - * @param echostr 随机字符串 - */ - public String auth(String signature, String timestamp, String nonce, String echostr) { - log.info("接收到来自微信服务器的认证消息:[{}, {}, {}, {}]", signature, timestamp, nonce, echostr); - if (StrUtil.isAllBlank(signature, timestamp, nonce, echostr)) { - throw new ValidationFailedException(); - } - - if (wxMpService.checkSignature(timestamp, nonce, signature)) { - return echostr; - } - return "非法请求"; - } - - /** - * 微信消息处理 - * @param requestBody 请求报文体 - * @param signature 微信签名 - * @param encType 加签方式 - * @param msgSignature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - */ - public String handleMessage(String requestBody, String signature, String timestamp, String nonce, String openid, - String encType, String msgSignature) { - if (!wxMpService.checkSignature(timestamp, nonce, signature)) { - throw new ValidationFailedException("非法请求,可能属于伪造的请求!"); - } - String out = "success"; - - // 明文模式 - if (StrUtil.isBlank(encType)) { - WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody); - WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage); - if (outMessage != null) { - out = outMessage.toXml(); - } - } - - // aes加密模式 - if (SymmetricAlgorithm.AES.name().equalsIgnoreCase(encType)) { - WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, wxMpService.getWxMpConfigStorage(), - timestamp, nonce, msgSignature); - - log.debug("消息解密后内容为:{} ", inMessage.toString()); - - WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage); - if (outMessage != null) { - out = outMessage.toEncryptedXml(wxMpService.getWxMpConfigStorage()); - } - } - - log.debug("组装回复信息:{}", out); - return out; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/convert/WechatFansConvert.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/convert/WechatFansConvert.java deleted file mode 100644 index 125f4686..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/convert/WechatFansConvert.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.convert; - -import cn.bootx.platform.starter.wechat.param.user.WechatFansParam; -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import cn.bootx.platform.starter.wechat.dto.user.WechatFansDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Mapper -public interface WechatFansConvert { - - WechatFansConvert CONVERT = Mappers.getMapper(WechatFansConvert.class); - - WechatFans convert(WechatFansParam in); - - WechatFansDto convert(WechatFans in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansManager.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansManager.java deleted file mode 100644 index e526a91b..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansManager.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.dao; - -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import cn.bootx.platform.starter.wechat.param.user.WechatFansParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Repository -@RequiredArgsConstructor -public class WechatFansManager extends BaseManager<WechatFansMapper, WechatFans> { - - /** - * 分页 - */ - public Page<WechatFans> page(PageParam pageParam, WechatFansParam param) { - Page<WechatFans> mpPage = MpUtil.getMpPage(pageParam, WechatFans.class); - return lambdaQuery().orderByDesc(MpIdEntity::getId).page(mpPage); - } - - /** - * 获取最新的一条 - */ - public Optional<WechatFans> findLatest() { - Page<WechatFans> mpPage = new Page<>(0, 1); - Page<WechatFans> fansPage = this.lambdaQuery().orderByDesc(MpIdEntity::getId).page(mpPage); - if (fansPage.getTotal() > 0) { - return Optional.of(fansPage.getRecords().get(0)); - } - return Optional.empty(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansMapper.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansMapper.java deleted file mode 100644 index fcea7f9e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.dao; - -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Mapper -public interface WechatFansMapper extends BaseMapper<WechatFans> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/entity/WechatFans.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/entity/WechatFans.java deleted file mode 100644 index ce1a61ea..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/entity/WechatFans.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.entity; - -import cn.bootx.platform.starter.wechat.core.user.convert.WechatFansConvert; -import cn.bootx.platform.starter.wechat.param.user.WechatFansParam; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.starter.wechat.dto.user.WechatFansDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 微信粉丝 - * - * @author xxm - * @since 2022/7/15 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("starter_wx_fans") -public class WechatFans extends MpIdEntity implements EntityBaseFunction<WechatFansDto> { - - /** 关联OpenId */ - private String openid; - - /** unionId */ - private String unionId; - - /** 订阅状态,未关注/已关注 */ - private Boolean subscribe; - - /** 订阅时间 */ - private LocalDateTime subscribeTime; - - /** 语言 */ - private String language; - - /** 备注 */ - private String remark; - - /** 创建对象 */ - public static WechatFans init(WechatFansParam in) { - return WechatFansConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public WechatFansDto toDto() { - return WechatFansConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/service/WeChatUserService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/service/WeChatUserService.java deleted file mode 100644 index 7da1a592..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/service/WeChatUserService.java +++ /dev/null @@ -1,86 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.service; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import cn.hutool.core.collection.CollUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.api.WxMpUserService; -import me.chanjar.weixin.mp.bean.WxMpUserQuery; -import me.chanjar.weixin.mp.bean.result.WxMpUser; -import me.chanjar.weixin.mp.bean.result.WxMpUserList; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信用户相关接口 (获取不到详细信息了) - * - * @author xxm - * @since 2022/7/15 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatUserService { - - private final WxMpService wxMpService; - - private static final int SIZE = 100; - - /** - * 获取关注用户列表 - */ - public void page(PageParam pageParam) { - WxMpUserService userService = wxMpService.getUserService(); - WxMpUserQuery userQuery = new WxMpUserQuery(); - } - - /** - * 同步粉丝 - */ - @Async("asyncExecutor") - public void sync() { - // 根据公众号查询已同步用户openid 查询最新的一条 - } - - /** - * 获取微信用户 (获取不到昵称和头像了, 感觉没什么用了) - * @param nextOpenid 下一组开始的openid - */ - @SneakyThrows - public void fetchUser(String nextOpenid) { - WxMpUserList wxMpUserList = wxMpService.getUserService().userList(nextOpenid); - // openId 分组 每组 100个 openid - List<List<String>> openIdsList = CollUtil.split(wxMpUserList.getOpenids(), SIZE) - .stream() - .filter(CollUtil::isNotEmpty) - .collect(Collectors.toList()); - // 处理每个分组. 调用查询用户信息 - for (List<String> openIdList : openIdsList) { - log.info("开始批量获取用户信息 {}", openIdList); - List<WechatFans> wxAccountFansList = new ArrayList<>(); - log.info("批量插入用户信息完成 {}", openIdList); - } - // 如果nextOpenId 不为空,则继续获取 - } - - /** - * 构建对象 - */ - private WechatFans buildFans(WxMpUser wxMpUser) { - return new WechatFans().setOpenid(wxMpUser.getOpenId()) - .setUnionId(wxMpUser.getUnionId()) - .setSubscribe(true) - .setSubscribeTime(LocalDateTimeUtil.of(wxMpUser.getSubscribeTime())) - .setLanguage(wxMpUser.getLanguage()) - .setRemark(wxMpUser.getRemark()); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/article/WeChatArticleDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/article/WeChatArticleDto.java deleted file mode 100644 index c7b145a7..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/article/WeChatArticleDto.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.article; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.mp.bean.freepublish.WxMpFreePublishArticles; -import me.chanjar.weixin.mp.bean.freepublish.WxMpFreePublishItem; - -import java.time.LocalDateTime; -import java.util.stream.Collectors; - -/** - * 微信文章 - * - * @author xxm - * @since 2022/8/12 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信文章") -public class WeChatArticleDto { - - @Schema(description = "文章id") - private String articleId; - - @Schema(description = "标题组") - private String titles; - - @Schema(description = "更新时间") - private LocalDateTime updateTime; - - /** - * 构建 - */ - public static WeChatArticleDto init(WxMpFreePublishItem item) { - DateTime date = DateUtil.date(Long.parseLong(item.getUpdateTime())); - LocalDateTime localDateTime = DateUtil.toLocalDateTime(date); - String titles = item.getContent() - .getNewsItem() - .stream() - .map(WxMpFreePublishArticles::getTitle) - .collect(Collectors.joining(",")); - return new WeChatArticleDto().setArticleId(item.getArticleId()).setUpdateTime(localDateTime).setTitles(titles); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/login/WeChatLoginQrCode.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/login/WeChatLoginQrCode.java deleted file mode 100644 index adab6d5f..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/login/WeChatLoginQrCode.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.login; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/8/4 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "登录二维码") -public class WeChatLoginQrCode { - - @Schema(description = "key") - private String qrCodeKey; - - @Schema(description = "qrCode") - private String qrCodeUrl; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/media/WeChatMediaDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/media/WeChatMediaDto.java deleted file mode 100644 index 850a3028..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/media/WeChatMediaDto.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.media; - -import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.mp.bean.material.WxMpMaterialFileBatchGetResult.WxMaterialFileBatchGetNewsItem; - -import java.time.LocalDateTime; - -/** - * @author xxm - * @since 2022/8/12 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信素材") -public class WeChatMediaDto { - - @Schema(description = "媒体id") - private String mediaId; - - @Schema(description = "名称") - private String name; - - @Schema(description = "链接地址") - private String url; - - @Schema(description = "更新时间") - private LocalDateTime updateTime; - - public static WeChatMediaDto init(WxMaterialFileBatchGetNewsItem item) { - return new WeChatMediaDto().setMediaId(item.getMediaId()) - .setName(item.getName()) - .setUrl(item.getUrl()) - .setUpdateTime(LocalDateTimeUtil.of(item.getUpdateTime())); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/menu/WeChatMenuDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/menu/WeChatMenuDto.java deleted file mode 100644 index e9a93a59..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/menu/WeChatMenuDto.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.menu; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "微信自定义菜单") -@Accessors(chain = true) -public class WeChatMenuDto extends BaseDto { - - @Schema(description = "名称") - private String name; - - @Schema(description = "菜单信息") - private WeChatMenuInfo menuInfo; - - @Schema(description = "是否发布") - private boolean publish; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/notice/WeChatTemplateDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/notice/WeChatTemplateDto.java deleted file mode 100644 index c2a42b8d..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/notice/WeChatTemplateDto.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.notice; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022-08-03 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "微信消息模板") -@Accessors(chain = true) -public class WeChatTemplateDto extends BaseDto { - - @Schema(description = "名称") - private String name; - - @Schema(description = "编码") - private String code; - - @Schema(description = "是否启用") - private Boolean enable; - - @Schema(description = "模板ID") - private String templateId; - - @Schema(description = "模板标题") - private String title; - - @Schema(description = "模板所属行业的一级行业") - private String primaryIndustry; - - @Schema(description = "模板所属行业的二级行业") - private String deputyIndustry; - - @Schema(description = "模板内容") - private String content; - - @Schema(description = "示例") - private String example; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/user/WechatFansDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/user/WechatFansDto.java deleted file mode 100644 index a0024f9e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/user/WechatFansDto.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.user; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "微信公众号粉丝") -@Accessors(chain = true) -public class WechatFansDto extends BaseDto { - - @Schema(description = "关联OpenId") - private String openid; - - @Schema(description = "订阅状态") - private Boolean subscribeStatus; - - @Schema(description = "订阅时间") - private LocalDateTime subscribeTime; - - @Schema(description = "昵称") - private String nickname; - - @Schema(description = "性别") - private String sex; - - @Schema(description = "语言") - private String language; - - @Schema(description = "国家") - private String country; - - @Schema(description = "省份") - private String province; - - @Schema(description = "城市") - private String city; - - @Schema(description = "头像地址") - private String avatarUrl; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/event/WeChatQrScanEvent.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/event/WeChatQrScanEvent.java deleted file mode 100644 index b055a405..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/event/WeChatQrScanEvent.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.wechat.event; - -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 微信扫码关注事件 - * - * @author xxm - * @since 2022/8/4 - */ -@Getter -public class WeChatQrScanEvent extends ApplicationEvent { - - /** 微信id */ - private final String openId; - - /** key值 */ - private final String eventKey; - - public WeChatQrScanEvent(Object source, String openId, String eventKey) { - super(source); - this.openId = openId; - this.eventKey = eventKey; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMpMessageHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMpMessageHandler.java deleted file mode 100644 index c49f32a5..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMpMessageHandler.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.constant.WxMpEventConstants; - -/** - * 处理微信推送消息的处理器接口 (进行微封装) - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeChatMpMessageHandler extends WxMpMessageHandler { - - /** - * 消息类型 - * @see WxConsts.XmlMsgType - */ - default String getMsgType() { - return WxConsts.XmlMsgType.EVENT; - } - - /** - * event值 - * @see WxMpEventConstants - * @see WxConsts.XmlMsgType - */ - String getEvent(); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMsgHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMsgHandler.java deleted file mode 100644 index e2aa40b4..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMsgHandler.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 微信接受文本消息处理 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatMsgHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - - // 回复消息的时候发送人和接收人要反过来 - return WxMpXmlOutMessage.TEXT() - .toUser(wxMessage.getFromUser()) - .fromUser(wxMessage.getToUser()) - .content("我复述了一遍: " + wxMessage.getContent()) - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatQrScanHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatQrScanHandler.java deleted file mode 100644 index e7df4b35..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatQrScanHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import cn.bootx.platform.starter.wechat.handler.qrscene.WeChatQrSceneMsgHandler; -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.builder.outxml.TextBuilder; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * 微信扫码事件 - * - * @author xxm - * @since 2022/8/4 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatQrScanHandler implements WeChatMpMessageHandler { - - private final WeChatQrLoginService weChatQrLoginService; - - private final List<WeChatQrSceneMsgHandler> weChatQrSceneMsgHandlers; - - @Override - public String getEvent() { - return WxConsts.EventType.SCAN; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> map, WxMpService wxMpService, - WxSessionManager wxSessionManager) { - // 扫描用户的OpenId - String openId = wxMessage.getFromUser(); - // 判断是否携带扫码参数 - for (WeChatQrSceneMsgHandler msgHandler : weChatQrSceneMsgHandlers) { - if (StrUtil.startWith(wxMessage.getEventKey(), msgHandler.getPrefix())) { - WxMpXmlOutMessage message = msgHandler.handler(wxMessage, map, wxMpService, wxSessionManager); - if (Objects.nonNull(message)) { - return message; - } - } - } - // 二维码key值 - String qrCodeKey = wxMessage.getEventKey(); - weChatQrLoginService.setOpenId(qrCodeKey, openId); - - return new TextBuilder().fromUser(wxMessage.getToUser()) - .toUser(wxMessage.getFromUser()) - .content("感谢关注") - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatSubscribeHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatSubscribeHandler.java deleted file mode 100644 index 92018552..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatSubscribeHandler.java +++ /dev/null @@ -1,59 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import cn.bootx.platform.starter.wechat.handler.qrscene.WeChatQrSceneMsgHandler; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.builder.outxml.TextBuilder; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * 新增关注订阅消息 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatSubscribeHandler implements WeChatMpMessageHandler { - - private final List<WeChatQrSceneMsgHandler> weChatQrSceneMsgHandlers; - - @Override - public String getEvent() { - return WxConsts.EventType.SUBSCRIBE; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - String openId = wxMessage.getFromUser(); - // 处理关注事件 - log.info("新关注用户 OPENID: " + openId); - - // 判断是否携带扫码参数 - for (WeChatQrSceneMsgHandler msgHandler : weChatQrSceneMsgHandlers) { - if (StrUtil.startWith(wxMessage.getEventKey(), msgHandler.getPrefix())) { - WxMpXmlOutMessage message = msgHandler.handler(wxMessage, context, wxMpService, sessionManager); - if (Objects.nonNull(message)) { - return message; - } - } - } - return new TextBuilder().fromUser(wxMessage.getToUser()) - .toUser(wxMessage.getFromUser()) - .content("感谢关注") - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatUnSubscribeHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatUnSubscribeHandler.java deleted file mode 100644 index e1cd0b82..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatUnSubscribeHandler.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 用户取消关注订阅消息 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatUnSubscribeHandler implements WeChatMpMessageHandler { - - @Override - public String getEvent() { - return WxConsts.EventType.UNSUBSCRIBE; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - log.info("取消关注用户 OPENID: " + wxMessage.getFromUser()); - return null; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WechatMenuHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WechatMenuHandler.java deleted file mode 100644 index d3ebe7a1..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WechatMenuHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 菜单点击事件 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WechatMenuHandler implements WeChatMpMessageHandler { - - @Override - public String getEvent() { - return WxConsts.MenuButtonType.CLICK; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - return null; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrLoginHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrLoginHandler.java deleted file mode 100644 index 5e9b012a..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrLoginHandler.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler.qrscene; - -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.builder.outxml.TextBuilder; -import org.springframework.stereotype.Component; - -import java.util.Map; - -import static cn.bootx.platform.starter.wechat.code.WeChatCode.EVENT_KEY_QRSCENE; -import static cn.bootx.platform.starter.wechat.code.WeChatCode.QRSCENE_LOGIN; - -/** - * 微信扫码登录 - * - * @author xxm - * @since 2023/3/21 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatQrLoginHandler implements WeChatQrSceneMsgHandler { - - private final WeChatQrLoginService weChatQrLoginService; - - /** - * 消息前缀 - */ - @Override - public String getPrefix() { - return EVENT_KEY_QRSCENE + QRSCENE_LOGIN; - } - - /** - * 处理消息 - */ - @Override - public WxMpXmlOutMessage handler(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - String openId = wxMessage.getFromUser(); - // 将扫码获取的二维码key值进行保存 - String qrCodeKey = StrUtil.subAfter(wxMessage.getEventKey(), getPrefix(), false); - weChatQrLoginService.setOpenId(qrCodeKey, openId); - return new TextBuilder().fromUser(wxMessage.getToUser()) - .toUser(wxMessage.getFromUser()) - .content("感谢关注") - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrSceneMsgHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrSceneMsgHandler.java deleted file mode 100644 index 8bd427f3..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrSceneMsgHandler.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler.qrscene; - -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; - -import java.util.Map; - -/** - * 微信扫码消息处理 - * - * @author xxm - * @since 2023/3/21 - */ -public interface WeChatQrSceneMsgHandler { - - /** - * 消息前缀 - */ - String getPrefix(); - - /** - * 处理消息 - */ - WxMpXmlOutMessage handler(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/menu/WeChatMenuParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/menu/WeChatMenuParam.java deleted file mode 100644 index 22b95030..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/menu/WeChatMenuParam.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.menu; - -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Data -@Schema(title = "微信自定义菜单") -@Accessors(chain = true) -public class WeChatMenuParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "菜单信息") - private WeChatMenuInfo menuInfo = new WeChatMenuInfo(); - - @Schema(description = "是否发布") - private boolean publish; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/notice/WeChatTemplateParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/notice/WeChatTemplateParam.java deleted file mode 100644 index 53bfe8e9..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/notice/WeChatTemplateParam.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.notice; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022-08-03 - */ -@Data -@Schema(title = "微信消息模板") -@Accessors(chain = true) -public class WeChatTemplateParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编码") - private String code; - - @Schema(description = "是否启用") - private Boolean enable; - - @Schema(description = "模板ID") - private String templateId; - - @Schema(description = "模板标题") - private String title; - - @Schema(description = "模板所属行业的一级行业") - private String primaryIndustry; - - @Schema(description = "模板所属行业的二级行业") - private String deputyIndustry; - - @Schema(description = "模板内容") - private String content; - - @Schema(description = "示例") - private String example; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/portal/WeChatPortalParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/portal/WeChatPortalParam.java deleted file mode 100644 index 8e3aec90..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/portal/WeChatPortalParam.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.portal; - -/** - * 微信返回的消息入参 - * - * @author xxm - * @since 2022/7/16 - */ -public class WeChatPortalParam { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/user/WechatFansParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/user/WechatFansParam.java deleted file mode 100644 index 17b198b9..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/user/WechatFansParam.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Data -@Schema(title = "微信公众号粉丝") -@Accessors(chain = true) -public class WechatFansParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "关联OpenId") - private String openid; - - @Schema(description = "订阅状态") - private Boolean subscribeStatus; - - @Schema(description = "订阅时间") - private LocalDateTime subscribeTime; - - @Schema(description = "昵称") - private String nickname; - - @Schema(description = "性别") - private String sex; - - @Schema(description = "语言") - private String language; - - @Schema(description = "国家") - private String country; - - @Schema(description = "省份") - private String province; - - @Schema(description = "城市") - private String city; - - @Schema(description = "头像地址") - private String avatarUrl; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/util/WeChatUtil.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/util/WeChatUtil.java deleted file mode 100644 index 9995319c..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/util/WeChatUtil.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.bootx.platform.starter.wechat.util; - -import cn.hutool.core.util.StrUtil; -import lombok.experimental.UtilityClass; - -/** - * 微信工具类 - * - * @author xxm - * @since 2022/8/5 - */ -@UtilityClass -public class WeChatUtil { - - /** - * 获取微信二维码链接的参数值 - */ - public String getKeyByUrl(String url) { - return StrUtil.subAfter(url, "/q/", true); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 21bbc213..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.starter.wechat.WeChatAutoConfiguration diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/pom.xml b/bootx-platform/bootx-common-starters/common-starter-wecom/pom.xml deleted file mode 100644 index 95b8d19f..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>cn.bootx.platform</groupId> - <artifactId>bootx-common-starters</artifactId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - <packaging>jar</packaging> - - <artifactId>common-starter-wecom</artifactId> - - <dependencies> - <dependency> - <groupId>com.github.binarywang</groupId> - <artifactId>weixin-java-cp</artifactId> - <version>${wxjava.version}</version> - <exclusions> - <exclusion> - <artifactId>commons-io</artifactId> - <groupId>commons-io</groupId> - </exclusion> - <exclusion> - <artifactId>guava</artifactId> - <groupId>com.google.guava</groupId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-mybatis-plus</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-data-perm</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/WeComAutoConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/WeComAutoConfiguration.java deleted file mode 100644 index 1f2b4f74..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/WeComAutoConfiguration.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.starter.wecom; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.context.properties.ConfigurationPropertiesScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 企业微信 - * - * @author xxm - * @since 2022/7/22 - */ -@ComponentScan -@ConfigurationPropertiesScan -@AutoConfiguration -@MapperScan(annotationClass = Mapper.class) -public class WeComAutoConfiguration { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/code/WeComCode.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/code/WeComCode.java deleted file mode 100644 index 802a2367..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/code/WeComCode.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bootx.platform.starter.wecom.code; - -/** - * 企微常量 - * - * @author xxm - * @since 2022/7/23 - */ -public interface WeComCode { - - /* 请求地址 */ - /** 撤回应用消息 */ - String NOTICE_RECALL_URL = "https://qyapi.weixin.qq.com/cgi-bin/message/recall"; - - /** 机器人webhook */ - String ROBOT_WEBHOOK_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={}"; - - /** 机器人文件上传 */ - String ROBOT_UPLOAD_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key={}&type=file"; - - /* 消息通知 */ - /** 消息ID */ - String NOTICE_MSG_ID = "msgid"; - - /* 请求参数 */ - /** 文件名称 */ - String FILE_NAME = "filename"; - - /** 文件长度 */ - String FILE_LENGTH = "filelength"; - - /** 文件类型 */ - String CONTENT_TYPE = "content-type"; - - /** 文件 */ - String MEDIA = "media"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComConfiguration.java deleted file mode 100644 index 7eb779a1..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComConfiguration.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.bootx.platform.starter.wecom.configuration; - -import lombok.RequiredArgsConstructor; -import me.chanjar.weixin.cp.api.WxCpService; -import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl; -import me.chanjar.weixin.cp.config.WxCpConfigStorage; -import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Configuration -@RequiredArgsConstructor -public class WeComConfiguration { - - private final WeComProperties weComProperties; - - /** - * 微信公众号APIService - */ - @Bean - public WxCpService wxCpService(WxCpConfigStorage wxMpConfigStorage) { - WxCpService wxMpService = new WxCpServiceImpl(); - wxMpService.setWxCpConfigStorage(wxMpConfigStorage); - return wxMpService; - } - - /** - * 微信配置 - */ - @Bean - public WxCpConfigStorage wxCpConfigStorage() { - WxCpDefaultConfigImpl config = new WxCpDefaultConfigImpl(); - config.setAgentId(weComProperties.getAgentId()); - config.setCorpId(weComProperties.getCorpId()); - config.setCorpSecret(weComProperties.getCorpSecret()); - config.setToken(weComProperties.getToken()); // 设置微信公众号的Token - config.setAesKey(weComProperties.getEncodingAesKey()); // 消息加解密密钥 - return config; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComProperties.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComProperties.java deleted file mode 100644 index d3ee837a..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComProperties.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.bootx.platform.starter.wecom.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 企业微信配置 - * - * @author xxm - * @since 2022/7/22 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.wecom") -public class WeComProperties { - - /** 应用id */ - private Integer agentId; - - /** 企业id */ - private String corpId; - - /** 企业Secret */ - private String corpSecret; - - /** token */ - private String token; - - /** 消息加解密密钥 */ - private String encodingAesKey; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/controller/WecomRobotConfigController.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/controller/WecomRobotConfigController.java deleted file mode 100644 index c0cd78d4..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/controller/WecomRobotConfigController.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.bootx.platform.starter.wecom.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wecom.core.robot.service.WecomRobotConfigService; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @author xxm - * @since 2022/7/26 - */ -@Tag(name = "企业微信机器人配置") -@RestController -@RequestMapping("/wecom/robot/config") -@RequiredArgsConstructor -public class WecomRobotConfigController { - - private final WecomRobotConfigService robotConfigService; - - @Operation(summary = "新增机器人配置") - @PostMapping("/add") - public ResResult<Void> add(@RequestBody WecomRobotConfigParam param) { - robotConfigService.add(param); - return Res.ok(); - } - - @Operation(summary = "修改机器人配置") - @PostMapping("/update") - public ResResult<Void> update(@RequestBody WecomRobotConfigParam param) { - robotConfigService.update(param); - return Res.ok(); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<WecomRobotConfigDto>> page(PageParam pageParam, WecomRobotConfigParam param) { - return Res.ok(robotConfigService.page(pageParam, param)); - } - - @Operation(summary = "查询全部") - @GetMapping("/findAll") - public ResResult<List<WecomRobotConfigDto>> findAll() { - return Res.ok(robotConfigService.findAll()); - } - - @Operation(summary = "获取详情") - @GetMapping("/findById") - public ResResult<WecomRobotConfigDto> findById(Long id) { - return Res.ok(robotConfigService.findById(id)); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - robotConfigService.delete(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(robotConfigService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(robotConfigService.existsByCode(code, id)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/domain/WxCpRecallNoticeResult.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/domain/WxCpRecallNoticeResult.java deleted file mode 100644 index d7ea241a..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/domain/WxCpRecallNoticeResult.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.notice.domain; - -public class WxCpRecallNoticeResult { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/executor/RecallNoticeRequestExecutor.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/executor/RecallNoticeRequestExecutor.java deleted file mode 100644 index 6283acee..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/executor/RecallNoticeRequestExecutor.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.notice.executor; - -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.hutool.http.HttpUtil; -import me.chanjar.weixin.common.enums.WxType; -import me.chanjar.weixin.common.error.WxError; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.util.http.RequestExecutor; -import me.chanjar.weixin.common.util.http.ResponseHandler; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import static cn.bootx.platform.starter.wecom.code.WeComCode.NOTICE_MSG_ID; - -/** - * 消息撤回请求执行器. - * - * @author xxm - * @since 2022/7/23 - */ -public class RecallNoticeRequestExecutor implements RequestExecutor<WxError, String> { - - @Override - public WxError execute(String uri, String data, WxType wxType) throws WxErrorException { - - Map<String, String> map = new HashMap<>(1); - map.put(NOTICE_MSG_ID, data); - String response = HttpUtil.createPost(uri).body(JacksonUtil.toJson(map)).execute().body(); - - WxError result = WxError.fromJson(response); - if (result.getErrorCode() != 0) { - throw new WxErrorException(result); - } - return result; - } - - @Override - public void execute(String uri, String data, ResponseHandler<WxError> handler, WxType wxType) - throws WxErrorException, IOException { - handler.handle(this.execute(uri, data, wxType)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/service/WeComNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/service/WeComNoticeService.java deleted file mode 100644 index 9c5f7c72..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/service/WeComNoticeService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.notice.service; - -import cn.bootx.platform.starter.wecom.configuration.WeComProperties; -import cn.bootx.platform.starter.wecom.core.notice.executor.RecallNoticeRequestExecutor; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; -import me.chanjar.weixin.cp.api.WxCpMediaService; -import me.chanjar.weixin.cp.api.WxCpMessageService; -import me.chanjar.weixin.cp.api.WxCpService; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; -import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult; -import org.springframework.stereotype.Service; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -import static cn.bootx.platform.starter.wecom.code.WeComCode.NOTICE_RECALL_URL; - -/** - * 企业微信消息发送 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComNoticeService { - - private final WxCpService wxCpService; - - private final WeComProperties weComProperties; - - /** - * 发送应用消息 - * @return 消息id, 可用于撤回 - */ - @SneakyThrows - public String sendNotice(WxCpMessage message) { - WxCpMessageService messageService = wxCpService.getMessageService(); - message.setAgentId(weComProperties.getAgentId()); - WxCpMessageSendResult result = messageService.send(message); - return result.getMsgId(); - } - - /** - * 撤回应用消息 - * @param msgId 消息id - */ - @SneakyThrows - public void recallNotice(String msgId) { - wxCpService.execute(new RecallNoticeRequestExecutor(), NOTICE_RECALL_URL, msgId); - } - - /** - * 上传临时素材 - */ - @SneakyThrows - public String updatedMedia(InputStream inputStream, String mediaType) { - WxCpMediaService mediaService = wxCpService.getMediaService(); - byte[] bytes = IoUtil.readBytes(inputStream); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes)); - WxMediaUploadResult result = mediaService.upload(mediaType, fileType, new ByteArrayInputStream(bytes)); - return result.getMediaId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/convert/WecomRobotConfigConvert.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/convert/WecomRobotConfigConvert.java deleted file mode 100644 index 35d481ed..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/convert/WecomRobotConfigConvert.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.convert; - -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Mapper -public interface WecomRobotConfigConvert { - - WecomRobotConfigConvert CONVERT = Mappers.getMapper(WecomRobotConfigConvert.class); - - WecomRobotConfig convert(WecomRobotConfigParam in); - - WecomRobotConfigDto convert(WecomRobotConfig in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigManager.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigManager.java deleted file mode 100644 index f69bbd12..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigManager.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.dao; - -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Repository -@RequiredArgsConstructor -public class WecomRobotConfigManager extends BaseManager<WecomRobotConfigMapper, WecomRobotConfig> { - - /** - * 根据code获取机器人配置 - */ - public Optional<WecomRobotConfig> findByCode(String code) { - return findByField(WecomRobotConfig::getCode, code); - } - - public boolean existsByCode(String code) { - return existedByField(WecomRobotConfig::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return lambdaQuery().eq(WecomRobotConfig::getCode, code).ne(MpIdEntity::getId, id).exists(); - } - - /** - * 分页 - */ - public Page<WecomRobotConfig> page(PageParam pageParam, WecomRobotConfigParam param) { - Page<WecomRobotConfig> mpPage = MpUtil.getMpPage(pageParam, WecomRobotConfig.class); - return lambdaQuery().like(StrUtil.isNotBlank(param.getCode()), WecomRobotConfig::getCode, param.getCode()) - .like(StrUtil.isNotBlank(param.getName()), WecomRobotConfig::getCode, param.getName()) - .like(StrUtil.isNotBlank(param.getWebhookKey()), WecomRobotConfig::getWebhookKey, param.getWebhookKey()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigMapper.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigMapper.java deleted file mode 100644 index 3eee2d08..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.dao; - -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Mapper -public interface WecomRobotConfigMapper extends BaseMapper<WecomRobotConfig> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/domin/UploadMedia.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/domin/UploadMedia.java deleted file mode 100644 index 8a4bb67d..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/domin/UploadMedia.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.domin; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.InputStream; - -/** - * 企微文件上传 - * - * @author xxm - * @since 2022/7/24 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企微文件上传") -public class UploadMedia { - - @Schema(description = "文件名称") - private String filename; - - @Schema(description = "文件类型") - private String fileType; - - @Schema(description = "文件流") - private InputStream inputStream; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/entity/WecomRobotConfig.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/entity/WecomRobotConfig.java deleted file mode 100644 index b38199c7..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/entity/WecomRobotConfig.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.entity; - -import cn.bootx.platform.starter.wecom.core.robot.convert.WecomRobotConfigConvert; -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.starter.wecom.code.WeComCode; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@TableName("starter_wecom_robot_config") -@Accessors(chain = true) -public class WecomRobotConfig extends MpBaseEntity implements EntityBaseFunction<WecomRobotConfigDto> { - - /** 名称 */ - private String name; - - /** 编号 */ - private String code; - - /** webhook地址的key */ - private String webhookKey; - - /** 备注 */ - private String remark; - - /** - * 获取webhook的地址 - */ - public String toWebhookUrl() { - return StrUtil.format(WeComCode.ROBOT_WEBHOOK_URL, webhookKey); - } - - /** 创建对象 */ - public static WecomRobotConfig init(WecomRobotConfigParam in) { - return WecomRobotConfigConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public WecomRobotConfigDto toDto() { - return WecomRobotConfigConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/executor/RobotMediaFileUploadRequestExecutor.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/executor/RobotMediaFileUploadRequestExecutor.java deleted file mode 100644 index b8abd006..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/executor/RobotMediaFileUploadRequestExecutor.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.executor; - -import cn.bootx.platform.starter.wecom.code.WeComCode; -import cn.bootx.platform.starter.wecom.core.robot.domin.UploadMedia; -import cn.hutool.http.HttpUtil; -import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; -import me.chanjar.weixin.common.enums.WxType; -import me.chanjar.weixin.common.error.WxError; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.util.fs.FileUtils; -import me.chanjar.weixin.common.util.http.RequestExecutor; -import me.chanjar.weixin.common.util.http.ResponseHandler; - -import java.io.File; -import java.io.IOException; - -/** - * 机器人文件素材上传 - * - * @author xxm - * @since 2022/7/23 - */ -public class RobotMediaFileUploadRequestExecutor implements RequestExecutor<WxMediaUploadResult, UploadMedia> { - - @Override - public WxMediaUploadResult execute(String uri, UploadMedia uploadMedia, WxType wxType) - throws WxErrorException, IOException { - File tmpFile = FileUtils.createTmpFile(uploadMedia.getInputStream(), uploadMedia.getFilename(), - uploadMedia.getFileType()); - String filename = uploadMedia.getFilename() + "." + uploadMedia.getFileType(); - String response; - response = HttpUtil.createPost(uri).form(WeComCode.MEDIA, tmpFile, filename).execute().body(); - - WxError result = WxError.fromJson(response); - if (result.getErrorCode() != 0) { - throw new WxErrorException(result); - } - return WxMediaUploadResult.fromJson(response); - } - - @Override - public void execute(String uri, UploadMedia data, ResponseHandler<WxMediaUploadResult> handler, WxType wxType) - throws WxErrorException, IOException { - handler.handle(this.execute(uri, data, wxType)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WeComRobotNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WeComRobotNoticeService.java deleted file mode 100644 index ee14630e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WeComRobotNoticeService.java +++ /dev/null @@ -1,132 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.service; - -import cn.bootx.platform.starter.wecom.core.robot.executor.RobotMediaFileUploadRequestExecutor; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.starter.wecom.core.robot.dao.WecomRobotConfigManager; -import cn.bootx.platform.starter.wecom.core.robot.domin.UploadMedia; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.io.file.FileNameUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; -import me.chanjar.weixin.cp.api.WxCpGroupRobotService; -import me.chanjar.weixin.cp.api.WxCpService; -import me.chanjar.weixin.cp.bean.article.NewArticle; -import org.springframework.stereotype.Service; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.List; - -import static cn.bootx.platform.starter.wecom.code.WeComCode.ROBOT_UPLOAD_URL; - -/** - * 企微机器人消息通知 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComRobotNoticeService { - - private final WxCpService wxCpService; - - private final WecomRobotConfigManager robotConfigManager; - - /** - * 发送文本消息 - */ - @SneakyThrows - public void sendTextNotice(String code, String content, List<String> mentionedList, List<String> mobileList) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendText(robotConfig.toWebhookUrl(), content, mentionedList, mobileList); - } - - /** - * 发送markdown消息 - */ - @SneakyThrows - public void sendMarkdownNotice(String code, String content) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendMarkdown(robotConfig.toWebhookUrl(), content); - } - - /** - * 发送图片消息 - */ - @SneakyThrows - public void sendImageNotice(String code, String imageBase64, String md5) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendImage(robotConfig.toWebhookUrl(), imageBase64, md5); - } - - /** - * 发送图文消息 - */ - @SneakyThrows - public void sendNewsNotice(String code, List<NewArticle> articleList) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendNews(robotConfig.toWebhookUrl(), articleList); - } - - /** - * 发送文件消息 - */ - @SneakyThrows - public void sendFIleNotice(String code, String mediaId) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendFile(robotConfig.toWebhookUrl(), mediaId); - } - - /** - * 机器人临时文件上传 - */ - @SneakyThrows - public String updatedMedia(String code, InputStream inputStream) { - byte[] bytes = IoUtil.readBytes(inputStream); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes)); - UploadMedia uploadMedia = new UploadMedia().setFileType(fileType) - .setFilename(IdUtil.getSnowflakeNextIdStr()) - .setInputStream(new ByteArrayInputStream(bytes)); - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - String url = StrUtil.format(ROBOT_UPLOAD_URL, robotConfig.getWebhookKey()); - WxMediaUploadResult result = wxCpService.execute(new RobotMediaFileUploadRequestExecutor(), url, uploadMedia); - return result.getMediaId(); - } - - /** - * 机器人临时文件上传 - */ - @SneakyThrows - public String updatedMedia(String code, InputStream inputStream, String filename) { - byte[] bytes = IoUtil.readBytes(inputStream); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes), filename); - UploadMedia uploadMedia = new UploadMedia().setFileType(fileType) - .setFilename(FileNameUtil.mainName(filename)) - .setInputStream(new ByteArrayInputStream(bytes)); - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - String url = StrUtil.format(ROBOT_UPLOAD_URL, robotConfig.getWebhookKey()); - WxMediaUploadResult result = wxCpService.execute(new RobotMediaFileUploadRequestExecutor(), url, uploadMedia); - return result.getMediaId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WecomRobotConfigService.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WecomRobotConfigService.java deleted file mode 100644 index c29ab88e..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WecomRobotConfigService.java +++ /dev/null @@ -1,94 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.service; - -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.wecom.core.robot.dao.WecomRobotConfigManager; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WecomRobotConfigService { - - private final WecomRobotConfigManager robotConfigManager; - - /** - * 添加 - */ - public void add(WecomRobotConfigParam param) { - WecomRobotConfig wecomRobotConfig = WecomRobotConfig.init(param); - robotConfigManager.save(wecomRobotConfig); - } - - /** - * 修改 - */ - public void update(WecomRobotConfigParam param) { - WecomRobotConfig wecomRobotConfig = robotConfigManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - - BeanUtil.copyProperties(param, wecomRobotConfig, CopyOptions.create().ignoreNullValue()); - robotConfigManager.updateById(wecomRobotConfig); - } - - /** - * 分页 - */ - public PageResult<WecomRobotConfigDto> page(PageParam pageParam, WecomRobotConfigParam wecomRobotConfigParam) { - return MpUtil.convert2DtoPageResult(robotConfigManager.page(pageParam, wecomRobotConfigParam)); - } - - /** - * 获取单条 - */ - public WecomRobotConfigDto findById(Long id) { - return robotConfigManager.findById(id).map(WecomRobotConfig::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<WecomRobotConfigDto> findAll() { - return ResultConvertUtil.dtoListConvert(robotConfigManager.findAll()); - } - - /** - * 删除 - */ - public void delete(Long id) { - robotConfigManager.deleteById(id); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return robotConfigManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return robotConfigManager.existsByCode(code, id); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/dto/robot/WecomRobotConfigDto.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/dto/robot/WecomRobotConfigDto.java deleted file mode 100644 index caa74343..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/dto/robot/WecomRobotConfigDto.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.starter.wecom.dto.robot; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "企业微信机器人配置") -@Accessors(chain = true) -public class WecomRobotConfigDto extends BaseDto { - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @SensitiveInfo - @Schema(description = "webhook地址的key值") - private String webhookKey; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/param/robot/WecomRobotConfigParam.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/param/robot/WecomRobotConfigParam.java deleted file mode 100644 index 6207c2c6..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/param/robot/WecomRobotConfigParam.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.bootx.platform.starter.wecom.param.robot; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Data -@Schema(title = "企业微信机器人配置") -@Accessors(chain = true) -public class WecomRobotConfigParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @Schema(description = "webhook地址的key值") - private String webhookKey; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 79adedc8..00000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.starter.wecom.WeComAutoConfiguration diff --git a/bootx-platform/bootx-common-starters/pom.xml b/bootx-platform/bootx-common-starters/pom.xml index 7083810d..dc01a88f 100644 --- a/bootx-platform/bootx-common-starters/pom.xml +++ b/bootx-platform/bootx-common-starters/pom.xml @@ -18,10 +18,7 @@ <module>common-starter-audit-log</module> <module>common-starter-data-perm</module> <module>common-starter-file</module> - <module>common-starter-dingtalk</module> <module>common-starter-monitor</module> - <module>common-starter-wechat</module> - <module>common-starter-wecom</module> </modules> <dependencies> diff --git a/bootx-platform/bootx-services/pom.xml b/bootx-platform/bootx-services/pom.xml index 5e2f2746..a20e23f7 100644 --- a/bootx-platform/bootx-services/pom.xml +++ b/bootx-platform/bootx-services/pom.xml @@ -17,7 +17,6 @@ <modules> <module>service-baseapi</module> <module>service-iam</module> - <module>service-notice</module> </modules> <dependencies> @@ -168,7 +167,6 @@ <artifactId>common-exception-handler</artifactId> </dependency> - <!-- 发号器 --> <dependency> <groupId>cn.bootx.platform</groupId> diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/handler/region/ChinaRegionInitSqlHandler.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/handler/region/ChinaRegionInitSqlHandler.java deleted file mode 100644 index df05b34d..00000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/handler/region/ChinaRegionInitSqlHandler.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.bootx.platform.baseapi.handler.region; - -import com.baomidou.mybatisplus.extension.ddl.SimpleDdl; -import org.springframework.stereotype.Component; - -import java.util.Arrays; -import java.util.List; - -/** - * 行政区域初始化 - * - * @author xxm - * @since 2023/2/7 - */ -@Component -public class ChinaRegionInitSqlHandler extends SimpleDdl { - - /** - * 速度太慢, 还是走手动SQL导入的方式 - */ - @Override - public List<String> getSqlFiles() { - return Arrays.asList( - // "db/region/base_province.sql", - // "db/region/base_city.sql", - // "db/region/base_area.sql", - // "db/region/base_street.sql" - ); - } - -} diff --git a/bootx-platform/bootx-services/service-iam/pom.xml b/bootx-platform/bootx-services/service-iam/pom.xml index 40bbb5b4..1047d42e 100644 --- a/bootx-platform/bootx-services/service-iam/pom.xml +++ b/bootx-platform/bootx-services/service-iam/pom.xml @@ -53,16 +53,6 @@ <groupId>cn.bootx.platform</groupId> <artifactId>common-websocket</artifactId> </dependency> - <!-- 钉钉平台 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-dingtalk</artifactId> - </dependency> - <!-- 微信公众平台 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wechat</artifactId> - </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> diff --git a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/DingTalkLoginHandler.java b/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/DingTalkLoginHandler.java deleted file mode 100644 index af48a97f..00000000 --- a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/DingTalkLoginHandler.java +++ /dev/null @@ -1,146 +0,0 @@ -package cn.bootx.platform.iam.core.auth.login; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.iam.core.third.dao.UserThirdManager; -import cn.bootx.platform.iam.core.third.entity.UserThird; -import cn.bootx.platform.iam.core.third.entity.UserThirdInfo; -import cn.bootx.platform.iam.core.third.service.UserTiredOperateService; -import cn.bootx.platform.iam.core.user.dao.UserInfoManager; -import cn.bootx.platform.iam.core.user.entity.UserInfo; -import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; -import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; -import cn.bootx.platform.starter.auth.configuration.AuthProperties; -import cn.bootx.platform.starter.auth.entity.AuthInfoResult; -import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.dingtalk.core.user.service.DingUserService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import me.zhyd.oauth.config.AuthConfig; -import me.zhyd.oauth.model.AuthCallback; -import me.zhyd.oauth.model.AuthResponse; -import me.zhyd.oauth.model.AuthUser; -import me.zhyd.oauth.request.AuthDingTalkRequest; -import me.zhyd.oauth.request.AuthRequest; -import me.zhyd.oauth.utils.AuthStateUtils; -import org.springframework.stereotype.Component; - -import java.util.Objects; - -/** - * 钉钉登录 - * - * @author xxm - * @since 2022/4/2 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class DingTalkLoginHandler implements OpenIdAuthentication { - - private final UserTiredOperateService userTiredOperateService; - - private final DingUserService dingUserService; - - private final UserThirdManager userThirdManager; - - private final UserInfoManager userInfoManager; - - private final AuthProperties authProperties; - - /** - * 钉钉登录 - */ - @Override - public String getLoginType() { - return AuthLoginTypeCode.DING_TALK; - } - - /** - * 尝试认证, 获取用户 - */ - @Override - public AuthInfoResult attemptAuthentication(LoginAuthContext context) { - String authCode = context.getRequest().getParameter(AuthLoginTypeCode.AUTH_CODE); - String state = context.getRequest().getParameter(AuthLoginTypeCode.STATE); - - AuthUser authUser = this.getAuthUser(authCode, state); - // 获取钉钉关联的用户id - UserThird userThird = userThirdManager.findByField(UserThird::getDingTalkId, authUser.getUuid()) - .orElseThrow(() -> new LoginFailureException("钉钉没有找到绑定的用户")); - - // 获取用户信息 - UserInfo userInfo = userInfoManager.findById(userThird.getUserId()) - .orElseThrow(() -> new LoginFailureException("用户不存在")); - - return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); - } - - /** - * 获取登录地址 - */ - @Override - public String getLoginUrl() { - AuthRequest authRequest = this.getAuthRequest(); - return authRequest.authorize(AuthStateUtils.createState()); - } - - /** - * 获取关联的的第三方平台用户信息 - */ - @Override - @SuppressWarnings("unchecked") - public AuthUser getAuthUser(String authCode, String state) { - AuthRequest authRequest = this.getAuthRequest(); - AuthCallback callback = AuthCallback.builder().code(authCode).state(state).build(); - AuthResponse<AuthUser> response = authRequest.login(callback); - if (!Objects.equals(response.getCode(), AuthLoginTypeCode.SUCCESS)) { - log.error("钉钉登录报错: {}", response.getMsg()); - throw new LoginFailureException("钉钉登录出错"); - } - return response.getData(); - } - - /** - * 绑定用户 - */ - @Override - public void bindUser(String authCode, String state) { - Long userId = SecurityUtil.getUserId(); - AuthUser authUser = this.getAuthUser(authCode, state); - userTiredOperateService.checkOpenIdBind(authUser.getUuid(), UserThird::getDingTalkId); - userTiredOperateService.bindOpenId(userId, authUser.getUuid(), UserThird::setDingTalkId); - String thirdUserId = dingUserService.getUserIdByUnionId(authUser.getUuid()); - - // 检查是否允许不在组织中的钉钉人员进行绑定 - if (!authProperties.getThirdLogin().getDingTalk().isCheckBelongOrg() && Objects.isNull(thirdUserId)) { - throw new BizException("未在钉钉组织找到该用户,无法进行绑定"); - } - - UserThirdInfo userThirdInfo = new UserThirdInfo().setUserId(userId) - .setClientCode(AuthLoginTypeCode.DING_TALK) - .setUsername(authUser.getUsername()) - .setNickname(authUser.getNickname()) - .setAvatar(authUser.getAvatar()) - .setThirdUserId(thirdUserId); - userTiredOperateService.bindOpenInfo(userThirdInfo); - } - - /** - * 获取钉钉认证请求 - */ - private AuthDingTalkRequest getAuthRequest() { - val thirdLogin = authProperties.getThirdLogin().getDingTalk(); - if (Objects.isNull(thirdLogin)) { - throw new LoginFailureException("钉钉开放登录配置有误"); - } - return new AuthDingTalkRequest(AuthConfig.builder() - .clientId(thirdLogin.getClientId()) - .clientSecret(thirdLogin.getClientSecret()) - .redirectUri(thirdLogin.getRedirectUri()) - .build()); - } - -} diff --git a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java b/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java deleted file mode 100644 index ebd68be0..00000000 --- a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java +++ /dev/null @@ -1,98 +0,0 @@ -package cn.bootx.platform.iam.core.auth.login; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.iam.core.third.dao.UserThirdManager; -import cn.bootx.platform.iam.core.third.entity.UserThird; -import cn.bootx.platform.iam.core.third.entity.UserThirdInfo; -import cn.bootx.platform.iam.core.third.service.UserTiredOperateService; -import cn.bootx.platform.iam.core.user.dao.UserInfoManager; -import cn.bootx.platform.iam.core.user.entity.UserInfo; -import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; -import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; -import cn.bootx.platform.starter.auth.entity.AuthInfoResult; -import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.user.service.WeChatUserService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.error.WxErrorException; -import me.zhyd.oauth.model.AuthUser; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatAppletLoginHandler implements OpenIdAuthentication { - - - private final UserTiredOperateService userTiredOperateService; - private final WxMaService wxMaService; - - private final UserThirdManager userThirdManager; - - private final UserInfoManager userInfoManager; - - - private final WeChatUserService weChatUserService; - - @Override - public String getLoginType() { - return AuthLoginTypeCode.WE_CHAT_APPLET; - } - - @Override - public AuthInfoResult attemptAuthentication(LoginAuthContext context) { - - String authCode = context.getRequest().getParameter(AuthLoginTypeCode.WE_CHAT_APPLET); - - AuthUser authUser = this.getAuthUser(authCode, null); - - // 获取企微关联的用户id - UserThird userThird = userThirdManager.findByField(UserThird::getWeChatId, authUser.getUuid()) - .orElseThrow(() -> new LoginFailureException("微信没有找到绑定的用户")); - - // 获取用户信息 - UserInfo userInfo = userInfoManager.findById(userThird.getUserId()) - .orElseThrow(() -> new LoginFailureException("用户不存在")); - - return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); - } - - @Override - public AuthUser getAuthUser(String authCode, String state) { - try { - WxMaJscode2SessionResult result = wxMaService.getUserService().getSessionInfo(authCode); - log.debug("微信服务器返回的用户信息:{}", JacksonUtil.toJson(result)); - return AuthUser.builder() - .avatar("") - .uuid(result.getOpenid()). - nickname("未知") - .username("未知") - .avatar("未知") - .build(); - } catch (WxErrorException e) { - log.error("请求微信服务器异常:{}", e.getError()); - throw new RuntimeException(e); - } - - } - - @Override - public void bindUser(String authCode, String state) { - Long userId = SecurityUtil.getUserId(); - AuthUser authUser = this.getAuthUser(authCode, state); - userTiredOperateService.checkOpenIdBind(authUser.getUuid(), UserThird::getWeChatId); - userTiredOperateService.bindOpenId(userId, authUser.getUuid(), UserThird::setWeChatId); - - UserThirdInfo userThirdInfo = new UserThirdInfo().setUserId(userId) - .setClientCode(AuthLoginTypeCode.WE_CHAT) - .setUsername(authUser.getUsername()) - .setNickname(authUser.getNickname()) - .setAvatar(authUser.getAvatar()) - .setThirdUserId(authUser.getUuid()); - userTiredOperateService.bindOpenInfo(userThirdInfo); - } -} diff --git a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatLoginHandler.java b/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatLoginHandler.java deleted file mode 100644 index 9c3be64e..00000000 --- a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatLoginHandler.java +++ /dev/null @@ -1,92 +0,0 @@ -package cn.bootx.platform.iam.core.auth.login; - -import cn.bootx.platform.iam.core.third.dao.UserThirdManager; -import cn.bootx.platform.iam.core.third.entity.UserThird; -import cn.bootx.platform.iam.core.third.service.UserTiredOperateService; -import cn.bootx.platform.iam.core.user.dao.UserInfoManager; -import cn.bootx.platform.iam.core.user.entity.UserInfo; -import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; -import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; -import cn.bootx.platform.starter.auth.entity.AuthInfoResult; -import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.zhyd.oauth.model.AuthUser; -import org.springframework.stereotype.Component; - -/** - * 微信登录(公众号) - * - * @author xxm - * @since 2021/8/2 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatLoginHandler implements OpenIdAuthentication { - - private final UserTiredOperateService userTiredOperateService; - - private final WeChatQrLoginService weChatQrLoginService; - - private final UserThirdManager userThirdManager; - - private final UserInfoManager userInfoManager; - - @Override - public String getLoginType() { - return AuthLoginTypeCode.WE_CHAT; - } - - /** - * 认证 - */ - @Override - public AuthInfoResult attemptAuthentication(LoginAuthContext context) { - String authCode = context.getRequest().getParameter(AuthLoginTypeCode.AUTH_CODE); - AuthUser authUser = this.getAuthUser(authCode, null); - - // 获取微信公众号关联的用户id - UserThird userThird = userThirdManager.findByField(UserThird::getWeChatId, authUser.getUuid()) - .orElseThrow(() -> new LoginFailureException("没有找到绑定的微信公众号用户")); - - // 获取用户信息 - UserInfo userInfo = userInfoManager.findById(userThird.getUserId()) - .orElseThrow(() -> new LoginFailureException("用户不存在")); - - return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); - } - - /** - * 获取关联的的第三方平台用户信息 - * @param authCode key 值, 可以用来拿用户信息 - */ - @Override - public AuthUser getAuthUser(String authCode, String state) { - // 根据微信二维码的值获取关联扫码的微信信息 - String uuid = weChatQrLoginService.getOpenId(authCode); - AuthUser authUser = new AuthUser(); - authUser.setNickname("未知"); - authUser.setUsername("未知"); - authUser.setAvatar("未知"); - authUser.setUuid(uuid); - weChatQrLoginService.clear(authCode); - return authUser; - } - - /** - * 绑定用户 - */ - @Override - public void bindUser(String authCode, String state) { - Long userId = SecurityUtil.getUserId(); - AuthUser authUser = this.getAuthUser(authCode, state); - userTiredOperateService.checkOpenIdBind(authUser.getUuid(), UserThird::getWeChatId); - userTiredOperateService.bindOpenId(userId, authUser.getUuid(), UserThird::setWeChatId); - userTiredOperateService.bindOpenInfo(userId, authUser, AuthLoginTypeCode.WE_CHAT); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/pom.xml b/bootx-platform/bootx-services/service-notice/pom.xml deleted file mode 100644 index 9b9c194a..00000000 --- a/bootx-platform/bootx-services/service-notice/pom.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>bootx-services</artifactId> - <groupId>cn.bootx.platform</groupId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>service-notice</artifactId> - - <dependencies> - <!-- mysql --> - <dependency> - <groupId>com.mysql</groupId> - <artifactId>mysql-connector-j</artifactId> - <scope>runtime</scope> - </dependency> - - <!-- mp --> - <dependency> - <groupId>com.baomidou</groupId> - <artifactId>mybatis-plus-boot-starter</artifactId> - </dependency> - - <!-- 邮件 --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-mail</artifactId> - </dependency> - - <!-- 模板引擎 --> - <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity-engine-core</artifactId> - </dependency> - - <!-- 认证模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-auth</artifactId> - </dependency> - - <!-- 基础功能模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>service-baseapi</artifactId> - <version>${bootx-platform.version}</version> - </dependency> - - <!-- ws --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-websocket</artifactId> - </dependency> - - <!-- 钉钉 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-dingtalk</artifactId> - </dependency> - - <!-- 微信 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wechat</artifactId> - </dependency> - - <!-- 企业微信 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wecom</artifactId> - </dependency> - - <!-- SMS4J 短信发送--> - <dependency> - <groupId>org.dromara.sms4j</groupId> - <artifactId>sms4j-spring-boot-starter</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/NoticeApplication.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/NoticeApplication.java deleted file mode 100644 index 89ee0ab1..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/NoticeApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.bootx.platform.notice; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 通知中心 - * - * @author xxm - * @since 2021/8/5 - */ -@ComponentScan -@MapperScan(annotationClass = Mapper.class) -public class NoticeApplication { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MailCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MailCode.java deleted file mode 100644 index 36546714..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MailCode.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 邮箱常量 - * - * @author xxm - * @since 2021/8/5 - */ -public interface MailCode { - - /** - * 普通方式 - */ - Integer SECURITY_TYPE_PLAIN = 1; - - /** - * TLS方式 - */ - Integer SECURITY_TYPE_TLS = 2; - - /** - * SSL方式 - */ - Integer SECURITY_TYPE_SSL = 3; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MessageTemplateCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MessageTemplateCode.java deleted file mode 100644 index a8e24118..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MessageTemplateCode.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 消息模板类型 - * - * @author xxm - * @since 2021/8/10 - */ -public interface MessageTemplateCode { - - /** 站内信 */ - String SITE = "site"; - - /** 钉钉 */ - String DING_TALK = "ding_talk"; - - /** 钉钉机器人 */ - String DING_TALK_ROBOT = "ding_talk_robot"; - - /** Email */ - String EMAIL = "email"; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/NoticeCenterErrorCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/NoticeCenterErrorCode.java deleted file mode 100644 index 7cabadf0..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/NoticeCenterErrorCode.java +++ /dev/null @@ -1,61 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 通知中心错误码 - * - * @author xxm - * @since 2021/8/5 - */ -public interface NoticeCenterErrorCode { - - /** - * 邮箱配置编号已存在 - */ - int MAIL_CONFIG_CODE_ALREADY_EXISTED = 24010; - - /** - * 邮箱配置不存在 - */ - int MAIL_CONFIG_NOT_EXIST = 24011; - - /** - * 默认邮箱配置已存在 - */ - int DEFAULT_MAIL_CONFIG_ALREADY_EXISTED = 24012; - - /** - * 短信配置编号已存在 - */ - int SMS_CONFIG_CODE_ALREADY_EXISTED = 24020; - - /** - * 短信配置不存在 - */ - int SMS_CONFIG_NOT_EXIST = 24021; - - /** - * 默认短信配置已存在 - */ - int DEFAULT_SMS_CONFIG_ALREADY_EXISTED = 24022; - - /** - * Bandwidth 短信发送失败 - */ - int BANDWIDTH_SMS_SEND_ERROR = 24023; - - /** - * WeChat配置编号已存在 - */ - int WECHAT_CONFIG_CODE_ALREADY_EXISTED = 24030; - - /** - * WeChat配置不存在 - */ - int WECHAT_CONFIG_NOT_EXIST = 24031; - - /** - * 邮箱配置不存在 - */ - int MAIL_TEMPLATE_NOT_EXIST = 24041; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SiteMessageCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SiteMessageCode.java deleted file mode 100644 index 44887d55..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SiteMessageCode.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 站内信编码 - * - * @author xxm - * @since 2022/8/14 - */ -public interface SiteMessageCode { - - /* 接收类型 */ - /** 指定用户 */ - String RECEIVE_USER = "user"; - - /** 全部用户 */ - String RECEIVE_ALL = "all"; - - /* 发布状态 */ - /** 草稿 */ - String STATE_DRAFT = "draft"; - - /** 已发送 */ - String STATE_SENT = "sent"; - - /** 撤销 */ - String STATE_CANCEL = "cancel"; - - /* 事件 */ - /** 消息更新 */ - String EVENT_MESSAGE_UPDATE = "notice_message_update"; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SmsChannelStatusCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SmsChannelStatusCode.java deleted file mode 100644 index ae6a7b9d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SmsChannelStatusCode.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 短信渠道商配置状态 - * @author xxm - * @since 2023/8/3 - */ -public interface SmsChannelStatusCode { - /** 正常 */ - String NORMAL = "normal"; - - /** 停用 */ - String FORBIDDEN = "forbidden"; -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MailConfigController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MailConfigController.java deleted file mode 100644 index 8160bd4a..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MailConfigController.java +++ /dev/null @@ -1,83 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.bootx.platform.notice.core.mail.service.MailConfigService; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; - -/** - * @author xxm - * @since 2020/5/2 14:38 - */ -@Tag(name = "邮箱配置") -@RestController -@RequestMapping("/mail/config") -@AllArgsConstructor -public class MailConfigController { - - private final MailConfigService mailConfigService; - - @Operation(summary = "通过 id 获取指定邮箱配置") - @GetMapping("/findById") - public ResResult<MailConfigDto> findById(Long id) { - MailConfigDto mailConfig = mailConfigService.findById(id); - return Res.ok(mailConfig); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<MailConfigDto>> page(PageParam pageParam, MailConfigParam param) { - return Res.ok(mailConfigService.page(pageParam, param)); - } - - @Operation(summary = "增加新邮箱配置") - @PostMapping("/add") - public ResResult<MailConfigDto> add(@RequestBody MailConfigParam param) { - ValidationUtil.validateParam(param); - MailConfigDto mailConfig = mailConfigService.add(param); - return Res.ok(mailConfig); - } - - @Operation(summary = "更新邮箱配置") - @PostMapping("/update") - public ResResult<MailConfigDto> updateMailConfig(@RequestBody MailConfigParam param) { - ValidationUtil.validateParam(param); - MailConfigDto update = mailConfigService.update(param); - return Res.ok(update); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - mailConfigService.delete(id); - return Res.ok(); - } - - @Operation(summary = "设置启用的邮箱配置") - @PostMapping("/setUpActivity") - public ResResult<Void> setUpActivity(Long id) { - mailConfigService.setUpActivity(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(mailConfigService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(mailConfigService.existsByCode(code, id)); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MessageTemplateController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MessageTemplateController.java deleted file mode 100644 index 91351250..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MessageTemplateController.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.notice.core.template.service.MessageTemplateService; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/10 - */ -@Tag(name = "消息模板") -@RestController -@RequestMapping("/message/template") -@RequiredArgsConstructor -public class MessageTemplateController { - - private final MessageTemplateService messageTemplateService; - - @Operation(summary = "添加") - @PostMapping("/add") - public ResResult<MessageTemplateDto> add(@RequestBody MessageTemplateParam param) { - return Res.ok(messageTemplateService.add(param)); - } - - @Operation(summary = "更新") - @PostMapping("/update") - public ResResult<MessageTemplateDto> update(@RequestBody MessageTemplateParam param) { - return Res.ok(messageTemplateService.update(param)); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<MessageTemplateDto>> page(PageParam pageParam, MessageTemplateParam query) { - return Res.ok(messageTemplateService.page(pageParam, query)); - } - - @Operation(summary = "获取详情") - @GetMapping("/findById") - public ResResult<MessageTemplateDto> findById(Long id) { - return Res.ok(messageTemplateService.findById(id)); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - messageTemplateService.delete(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(messageTemplateService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(messageTemplateService.existsByCode(code, id)); - } - - @Operation(summary = "渲染模板") - @PostMapping("/rendering") - public ResResult<String> rendering(@RequestParam String code, @RequestBody Map<String, Object> paramMap) { - return Res.ok(messageTemplateService.rendering(code, paramMap)); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SiteMessageController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SiteMessageController.java deleted file mode 100644 index 0c173b26..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SiteMessageController.java +++ /dev/null @@ -1,99 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.service.SiteMessageService; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import cn.bootx.platform.notice.param.site.SendSiteMessageParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @author xxm - * @since 2021/8/8 - */ -@Tag(name = "站内信") -@RestController -@RequestMapping("/site/message") -@RequiredArgsConstructor -public class SiteMessageController { - - private final SiteMessageService siteMessageService; - - @Operation(summary = "保存站内信草稿") - @PostMapping("/saveOrUpdate") - public ResResult<Void> saveOrUpdate(@RequestBody SendSiteMessageParam param) { - siteMessageService.saveOrUpdate(param); - return Res.ok(); - } - - @Operation(summary = "发送站内信") - @PostMapping("/send") - public ResResult<Void> send(Long id) { - siteMessageService.send(id); - return Res.ok(); - } - - @Operation(summary = "消息详情") - @GetMapping("/findById") - public ResResult<SiteMessageDto> findById(Long id) { - return Res.ok(siteMessageService.findById(id)); - } - - @IgnoreAuth - @Operation(summary = "获取未读的接收消息条数") - @GetMapping("/countByReceiveNotRead") - public ResResult<Integer> countByReceiveNotRead(SiteMessageInfo query) { - return Res.ok(siteMessageService.countByReceiveNotRead(query)); - } - - @IgnoreAuth - @Operation(summary = "接收消息分页") - @GetMapping("/pageByReceive") - public ResResult<PageResult<SiteMessageInfo>> pageByReceive(PageParam pageParam, SiteMessageInfo query) { - return Res.ok(siteMessageService.pageByReceive(pageParam, query)); - } - - @Operation(summary = "发送消息分页") - @GetMapping("/pageBySender") - public ResResult<PageResult<SiteMessageDto>> pageBySender(PageParam pageParam, SiteMessageInfo query) { - return Res.ok(siteMessageService.pageBySender(pageParam, query)); - } - - @Operation(summary = "撤回消息") - @PostMapping("/cancel") - public ResResult<Void> cancel(Long id) { - siteMessageService.cancel(id); - return Res.ok(); - } - - @Operation(summary = "删除消息") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - siteMessageService.delete(id); - return Res.ok(); - } - - @IgnoreAuth - @Operation(summary = "标为已读") - @PostMapping("/read") - public ResResult<Void> read(Long id) { - siteMessageService.read(id); - return Res.ok(); - } - - @IgnoreAuth - @Operation(summary = "小程序获取未读的接收消息标题列表") - @GetMapping("/listByReceiveNotRead") - public ResResult<List<String>> listByReceiveNotRead(SiteMessageInfo query) { - return Res.ok(siteMessageService.listByReceiveNotRead(query)); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsChannelConfigController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsChannelConfigController.java deleted file mode 100644 index 5ed30259..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsChannelConfigController.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.notice.core.sms.service.SmsChannelConfigService; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * - * @author xxm - * @since 2023/8/5 - */ -@Tag(name = "短信渠道配置") -@RestController -@RequestMapping("/sms/config") -@RequiredArgsConstructor -public class SmsChannelConfigController { - private final SmsChannelConfigService configService; - - @Operation(summary = "添加") - @PostMapping(value = "/add") - public ResResult<Void> add(@RequestBody Map<String,Object> map) { - configService.add(map); - return Res.ok(); - } - - @Operation(summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody Map<String,Object> map) { - configService.update(map); - return Res.ok(); - } - - @Operation(summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<SmsChannelConfigDto> findById(Long id) { - return Res.ok(configService.findById(id)); - } - - @Operation(summary = "通过Code查询") - @GetMapping(value = "/findByCode") - public ResResult<SmsChannelConfigDto> findByCode(String code) { - return Res.ok(configService.findByCode(code)); - } - - @Operation(summary = "查询所有") - @GetMapping(value = "/findAll") - public ResResult<List<SmsChannelConfigDto>> findAll() { - return Res.ok(configService.findAll()); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsTemplateController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsTemplateController.java deleted file mode 100644 index 3f607530..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsTemplateController.java +++ /dev/null @@ -1,67 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.notice.core.sms.service.SmsTemplateService; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Tag(name ="短信模板配置") -@RestController -@RequestMapping("/sms/template") -@RequiredArgsConstructor -public class SmsTemplateController { - private final SmsTemplateService smsTemplateService; - - @Operation( summary = "添加") - @PostMapping(value = "/add") - public ResResult<Void> add(@RequestBody SmsTemplateParam param){ - smsTemplateService.add(param); - return Res.ok(); - } - - @Operation( summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody SmsTemplateParam param){ - smsTemplateService.update(param); - return Res.ok(); - } - - @Operation( summary = "删除") - @DeleteMapping(value = "/delete") - public ResResult<Void> delete(Long id){ - smsTemplateService.delete(id); - return Res.ok(); - } - - @Operation( summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<SmsTemplateDto> findById(Long id){ - return Res.ok(smsTemplateService.findById(id)); - } - - @Operation( summary = "查询所有") - @GetMapping(value = "/findAll") - public ResResult<List<SmsTemplateDto>> findAll(){ - return Res.ok(smsTemplateService.findAll()); - } - - @Operation( summary = "分页查询") - @GetMapping(value = "/page") - public ResResult<PageResult<SmsTemplateDto>> page(PageParam pageParam, SmsTemplateParam smsTemplateParam){ - return Res.ok(smsTemplateService.page(pageParam,smsTemplateParam)); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/chat/DingChatNoticeParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/chat/DingChatNoticeParam.java deleted file mode 100644 index e900fc2e..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/chat/DingChatNoticeParam.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.chat; - -import cn.bootx.platform.starter.dingtalk.param.notice.ChatNotice; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.DingMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 企业群消息参数 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业群消息参数") -public class DingChatNoticeParam { - - @Schema(description = "群Id") - private String chatId; - - @Schema(description = "钉钉消息内容") - private DingMsg dingMsg; - - public ChatNotice toDingChatNotice() { - return new ChatNotice().setChatId(chatId).setMsg(dingMsg.toDingMsg()); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeParam.java deleted file mode 100644 index ad83dc65..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeParam.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.corp; - -import cn.bootx.platform.starter.dingtalk.param.notice.CorpNotice; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.DingMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉企业通知消息父类 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉企业通知消息父类") -@AllArgsConstructor -@NoArgsConstructor -public class DingCorpNoticeParam { - - @Schema(description = "接收人配置") - private DingCorpNoticeReceive receive; - - @Schema(description = "钉钉消息内容") - private DingMsg dingMsg; - - /** - * 转换成钉钉消息发送参数 - */ - public CorpNotice toDingCorpNotice() { - return new CorpNotice().setToAllUser(receive.isToAllUser()) - .setDeptIdList(receive.getDeptIdList()) - .setUseridList(receive.getUseridList()) - .setMsg(dingMsg.toDingMsg()); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeReceive.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeReceive.java deleted file mode 100644 index b2f5b33a..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeReceive.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.corp; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 企业通知接收人配置 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业通知接收人配置") -public class DingCorpNoticeReceive { - - @Schema(description = "接收者的userid列表,最大用户列表长度100") - private List<String> useridList; - - @Schema(description = "接收者的部门id列表,最大列表长度20") - private List<String> deptIdList; - - @Schema(description = "是否发送给企业全部用户") - private boolean toAllUser; - - /** - * 发送给全部用户 - */ - public static DingCorpNoticeReceive toAll() { - return new DingCorpNoticeReceive().setToAllUser(true); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeUpdate.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeUpdate.java deleted file mode 100644 index 78e51a4b..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeUpdate.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.corp; - -import cn.bootx.platform.starter.dingtalk.param.notice.UpdateCorpNotice; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 企业通知(OA消息)更新 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业通知(OA消息)更新") -public class DingCorpNoticeUpdate { - - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long taskId; - - @Schema(description = "状态栏值") - private String statusValue; - - @Schema(description = "状态栏背景色,推荐0xFF加六位颜色值") - private String statusBg; - - /** - * 转换为钉钉参数对象 - */ - public UpdateCorpNotice toDingUpdateCorpNotice() { - return new UpdateCorpNotice().setTaskId(taskId).setStatusValue(statusValue).setStatusBg(statusBg); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingActionCardMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingActionCardMsg.java deleted file mode 100644 index c5638a13..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingActionCardMsg.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.common.core.util.CollUtil; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.ActionCardMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 钉钉卡片工作通知消息 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉卡片工作通知消息") -public class DingActionCardMsg implements DingMsg { - - @Schema(description = "透出到会话列表和通知的文案") - private String title; - - @Schema(description = "消息内容") - private String markdown; - - @Schema(description = "标题") - private String singleTitle; - - @Schema(description = "消息点击链接地址") - private String singleUrl; - - @Schema(description = "使用独立跳转ActionCard样式时的按钮排列方式(1竖直排列/2横向排列)") - private String btnOrientation; - - @Schema(description = "独立跳转ActionCard样式时的按钮列表") - private List<OrientationBtn> orientationBtnList; - - @Data - @Accessors(chain = true) - @Schema(title = "独立跳转ActionCard样式时的按钮列表") - public static class OrientationBtn { - - @Schema(description = "按钮的标题") - private String title; - - @JsonProperty("action_url") - @Schema(description = "跳转链接") - private String actionUrl; - - } - - /** - * 转换成钉钉消息 - */ - public Msg toDingMsg() { - ActionCardMsg.ActionCard actionCard = new ActionCardMsg.ActionCard().setTitle(title) - .setMarkdown(markdown) - .setSingleTitle(singleTitle) - .setSingleUrl(singleUrl) - .setBtnOrientation(btnOrientation); - if (CollUtil.isNotEmpty(orientationBtnList)) { - List<ActionCardMsg.ActionCard.BtnJson> btnJsons = orientationBtnList.stream() - .map(o -> new ActionCardMsg.ActionCard.BtnJson().setTitle(o.title).setActionUrl(o.actionUrl)) - .collect(Collectors.toList()); - actionCard.setBtnJsonList(btnJsons); - } - - return new ActionCardMsg().setActionCard(actionCard); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingFileMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingFileMsg.java deleted file mode 100644 index 50dca7a7..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingFileMsg.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.FileMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉文件工作通知消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉图片工作通知消息") -public class DingFileMsg implements DingMsg { - - @Schema(description = "媒体文件id") - private String mediaId; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new FileMsg(mediaId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingImageMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingImageMsg.java deleted file mode 100644 index 9d88fcdc..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingImageMsg.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.ImageMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.RequiredArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉图片工作通知消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@RequiredArgsConstructor -@Schema(title = "钉钉图片工作通知消息") -public class DingImageMsg implements DingMsg { - - @Schema(description = "媒体文件id") - private String mediaId; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new ImageMsg(mediaId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingLinkMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingLinkMsg.java deleted file mode 100644 index 3bcb6bac..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingLinkMsg.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.LinkMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉链接信息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉链接信息") -public class DingLinkMsg implements DingMsg { - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - @Schema(description = "点击消息跳转的URL") - private String messageUrl; - - @Schema(description = "图片URL") - private String picUrl; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new LinkMsg(title, text, messageUrl, picUrl); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMarkDownMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMarkDownMsg.java deleted file mode 100644 index 36bc79ec..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMarkDownMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.MarkdownMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉MarkDown工作通知消息") -public class DingMarkDownMsg implements DingMsg { - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - @Override - public Msg toDingMsg() { - return new MarkdownMsg(title, text); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMsg.java deleted file mode 100644 index 2c85da39..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMsg.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; - -/** - * 钉钉消息接口 - * - * @author xxm - * @since 2022/7/20 - */ -public interface DingMsg { - - /** - * 转换成钉钉消息 - */ - Msg toDingMsg(); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingOaMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingOaMsg.java deleted file mode 100644 index 24e582f1..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingOaMsg.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.OaMsg; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉OA消息") -public class DingOaMsg implements DingMsg { - - @JsonProperty("message_url") - @Schema(description = "消息点击链接地址") - private String messageUrl; - - @JsonProperty("pc_message_url") - @Schema(description = "PC端点击消息时跳转到的地址") - private String pcMessageUrl; - - @Schema(description = "消息头部内容") - private OaMsg.Oa.Head head; - - @Schema(description = "消息体") - private OaMsg.Oa.Body body; - - @JsonProperty("status_bar") - @Schema(description = "消息状态栏") - private OaMsg.Oa.StatusBar statusBar; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - OaMsg.Oa oa = new OaMsg.Oa().setMessageUrl(messageUrl) - .setPcMessageUrl(pcMessageUrl) - .setHead(head) - .setBody(body) - .setStatusBar(statusBar); - - return new OaMsg(oa); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingTextMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingTextMsg.java deleted file mode 100644 index c0956a14..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingTextMsg.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.TextMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉工作通知消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@Schema(title = "钉钉文本工作通知消息") -public class DingTextMsg implements DingMsg { - - @Schema(description = "文本内容") - private String content; - - /** - * 转换成钉钉消息 - */ - public Msg toDingMsg() { - return new TextMsg(content); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingVoiceMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingVoiceMsg.java deleted file mode 100644 index 879b95cb..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingVoiceMsg.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.VoiceMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 声音消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "声音工作通知消息") -public class DingVoiceMsg implements DingMsg { - - @Schema(description = "媒体文件id") - private String mediaId; - - @Schema(description = "音频时长") - private String duration; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new VoiceMsg(mediaId, duration); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingRobotNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingRobotNoticeSenderImpl.java deleted file mode 100644 index f5adfe92..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingRobotNoticeSenderImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.service; - -import cn.bootx.platform.notice.service.DingRobotNoticeSender; -import cn.bootx.platform.starter.dingtalk.core.robot.service.DingRobotSendService; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.LinkMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.MarkdownMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.TextMsg; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * 钉钉机器人消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingRobotNoticeSenderImpl implements DingRobotNoticeSender { - - private final DingRobotSendService dingRobotSendService; - - @Override - public void sendSimpleText(String code, String msg) { - TextMsg dingTalkTextNotice = new TextMsg(msg); - dingRobotSendService.sendNotice(code, dingTalkTextNotice); - } - - @Override - public void sendText(String code, TextMsg dingTalkTextNotice) { - dingRobotSendService.sendNotice(code, dingTalkTextNotice); - } - - @Override - public void sendLink(String code, LinkMsg notice) { - dingRobotSendService.sendNotice(code, notice); - } - - @Override - public void sendMarkdown(String code, MarkdownMsg notice) { - dingRobotSendService.sendNotice(code, notice); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingTalkNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingTalkNoticeSenderImpl.java deleted file mode 100644 index 692a4246..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingTalkNoticeSenderImpl.java +++ /dev/null @@ -1,315 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.*; -import cn.bootx.platform.notice.service.DingTalkNoticeSender; -import cn.bootx.platform.starter.dingtalk.code.DingTalkCode; -import cn.bootx.platform.starter.dingtalk.configuration.DingTalkProperties; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.bootx.platform.starter.dingtalk.core.media.service.DingMediaService; -import cn.bootx.platform.starter.dingtalk.core.notice.result.ChatNoticeResult; -import cn.bootx.platform.starter.dingtalk.core.notice.result.CorpNoticeResult; -import cn.bootx.platform.starter.dingtalk.core.notice.service.DingNoticeService; -import cn.bootx.platform.starter.dingtalk.param.notice.ChatNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.CorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.RecallCorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.UpdateCorpNotice; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeParam; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeReceive; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeUpdate; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.io.InputStream; -import java.util.Objects; - -/** - * 钉钉消息通知 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingTalkNoticeSenderImpl implements DingTalkNoticeSender { - - private final DingNoticeService dingNoticeService; - - private final DingMediaService dingMediaService; - - private final DingTalkProperties dingTalkProperties; - - /** - * 发送文本消息 - * @return 发布消息任务ID - */ - @Override - public Long sendTextCorpNotice(DingTextMsg dingTextMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingTextMsg, receive); - } - - /** - * 发送图片消息 - * @return 发布消息任务ID - */ - @Override - public Long sendImageCorpNotice(DingImageMsg dingImageMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingImageMsg, receive); - } - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - @Override - public Long sendImageCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, DingTalkCode.MEDIA_IMAGE); - DingImageMsg dingImageMsg = new DingImageMsg(mediaId); - return this.sendCorpNotice(dingImageMsg, receive); - } - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - @Override - public Long sendImageCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, filename, DingTalkCode.MEDIA_IMAGE); - DingImageMsg dingImageMsg = new DingImageMsg(mediaId); - return this.sendCorpNotice(dingImageMsg, receive); - } - - /** - * 发送语音消息 - * @return 发布消息任务ID - */ - @Override - public Long sendVoiceCorpNotice(DingVoiceMsg dingVoiceMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingVoiceMsg, receive); - } - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - @Override - public Long sendVoiceCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, DingTalkCode.MEDIA_VOICE); - DingVoiceMsg dingVoiceMsg = new DingVoiceMsg(mediaId, "10"); - return this.sendCorpNotice(dingVoiceMsg, receive); - } - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - @Override - public Long sendVoiceCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, filename, DingTalkCode.MEDIA_VOICE); - DingVoiceMsg dingVoiceMsg = new DingVoiceMsg(mediaId, "10"); - return this.sendCorpNotice(dingVoiceMsg, receive); - } - - /** - * 发送文件消息 - * @return 发布消息任务ID - */ - @Override - public Long sendFileCorpNotice(DingFileMsg dingFileMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingFileMsg, receive); - } - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - @Override - public Long sendFileCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, DingTalkCode.MEDIA_FILE); - DingFileMsg dingFileMsg = new DingFileMsg(mediaId); - return this.sendCorpNotice(dingFileMsg, receive); - } - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - @Override - public Long sendFileCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, filename, DingTalkCode.MEDIA_FILE); - DingFileMsg dingFileMsg = new DingFileMsg(mediaId); - return this.sendCorpNotice(dingFileMsg, receive); - } - - /** - * 发送链接消息 - * @return 发布消息任务ID - */ - @Override - public Long sendLinkCorpNotice(DingLinkMsg dingLinkMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingLinkMsg, receive); - } - - /** - * 发送OA消息 - * @return 发布消息任务ID - */ - @Override - public Long sendOaCorpNotice(DingOaMsg dingOaMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingOaMsg, receive); - } - - /** - * 发送markdown消息 - */ - @Override - public Long sendMarkDownCorpNotice(DingMarkDownMsg dingMarkDownMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingMarkDownMsg, receive); - } - - /** - * 发送卡片消息 - */ - @Override - public Long sendActionCardCorpNotice(DingActionCardMsg dingActionCardMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingActionCardMsg, receive); - } - - /** - * 返回任务id(OA消息更新状态使用) - */ - private Long sendCorpNotice(DingMsg dingMsg, DingCorpNoticeReceive receive) { - DingCorpNoticeParam dingCorpNoticeParam = new DingCorpNoticeParam(receive, dingMsg); - CorpNotice corpNotice = dingCorpNoticeParam.toDingCorpNotice(); - corpNotice.setAgentId(dingTalkProperties.getAgentId()); - CorpNoticeResult result = dingNoticeService.sendCorpNotice(corpNotice); - - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - return result.getTaskId(); - } - - /** - * 更新OA工作通知消息 - */ - @Override - public void updateOaCorpNotice(DingCorpNoticeUpdate updateCorpNotice) { - UpdateCorpNotice dingUpdateCorpNotice = updateCorpNotice.toDingUpdateCorpNotice(); - dingUpdateCorpNotice.setAgentId(dingTalkProperties.getAgentId()); - CorpNoticeResult result = dingNoticeService.updateCorpNotice(dingUpdateCorpNotice); - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - } - - /** - * 撤回工作通知消息 - */ - @Override - public void recallCorpNotice(Long msgTaskId) { - RecallCorpNotice recallCorpNotice = new RecallCorpNotice(dingTalkProperties.getAgentId(), msgTaskId); - DingTalkResult<?> result = dingNoticeService.recallCorpNotice(recallCorpNotice); - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - } - - /** - * 发送文本企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendTextChatNotice(DingTextMsg dingTextMsg, String chatId) { - return this.sendChatNotice(dingTextMsg, chatId); - } - - /** - * 发送图片企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendImageChatNotice(DingImageMsg dingImageMsg, String chatId) { - return this.sendChatNotice(dingImageMsg, chatId); - } - - /** - * 发送语音企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendVoiceChatNotice(DingVoiceMsg dingVoiceMsg, String chatId) { - return this.sendChatNotice(dingVoiceMsg, chatId); - } - - /** - * 发送文件企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendFileChatNotice(DingFileMsg dingFileMsg, String chatId) { - return this.sendChatNotice(dingFileMsg, chatId); - } - - /** - * 发送链接企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendLinkChatNotice(DingLinkMsg dingLinkMsg, String chatId) { - return this.sendChatNotice(dingLinkMsg, chatId); - } - - /** - * 发送OA企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendOaChatNotice(DingOaMsg dingOaMsg, String chatId) { - return this.sendChatNotice(dingOaMsg, chatId); - } - - /** - * 发送markdown企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendMarkDownChatNotice(DingMarkDownMsg dingMarkDownMsg, String chatId) { - return this.sendChatNotice(dingMarkDownMsg, chatId); - } - - /** - * 发送卡片企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendActionCardChatNotice(DingActionCardMsg dingActionCardMsg, String chatId) { - return this.sendChatNotice(dingActionCardMsg, chatId); - } - - /** - * 发送企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - private String sendChatNotice(DingMsg dingMsg, String chatId) { - - ChatNotice chatNotice = new ChatNotice(chatId, dingMsg.toDingMsg()); - ChatNoticeResult result = dingNoticeService.sendChatNotice(chatNotice); - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - return result.getMessageId(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/convert/MailConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/convert/MailConvert.java deleted file mode 100644 index 6cb7e1e0..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/convert/MailConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.core.mail.convert; - -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 钉钉相关类转换 - * - * @author xxm - * @since 2021/8/5 - */ -@Mapper -public interface MailConvert { - - MailConvert CONVERT = Mappers.getMapper(MailConvert.class); - - MailConfig convert(MailConfigDto in); - - MailConfig convert(MailConfigParam in); - - MailConfigDto convert(MailConfig in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigManager.java deleted file mode 100644 index 8fa42966..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigManager.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.notice.core.mail.dao; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * @author xxm - * @since 2020/4/8 13:27 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class MailConfigManager extends BaseManager<MailConfigMapper, MailConfig> { - - public Optional<MailConfig> findByActivity() { - return findByField(MailConfig::getActivity, Boolean.TRUE); - } - - public Optional<MailConfig> findByCode(String code) { - return findByField(MailConfig::getCode, code); - } - - public Page<MailConfig> page(PageParam pageParam, MailConfigParam param) { - Page<MailConfig> mpPage = MpUtil.getMpPage(pageParam, MailConfig.class); - return this.lambdaQuery() - .orderByDesc(MpIdEntity::getId) - .like(StrUtil.isNotBlank(param.getCode()), MailConfig::getCode, param.getCode()) - .like(StrUtil.isNotBlank(param.getName()), MailConfig::getName, param.getName()) - .page(mpPage); - } - - public boolean existsByCode(String code) { - return existedByField(MailConfig::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return existedByField(MailConfig::getCode, code, id); - } - - public void removeAllActivity() { - lambdaUpdate().eq(MailConfig::getActivity, Boolean.TRUE).set(MailConfig::getActivity, Boolean.FALSE).update(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigMapper.java deleted file mode 100644 index 614327ef..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.notice.core.mail.dao; - -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 邮件[配置 - * - * @author xxm - * @since 2020/4/8 13:22 - */ -@Mapper -public interface MailConfigMapper extends BaseMapper<MailConfig> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/entity/MailConfig.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/entity/MailConfig.java deleted file mode 100644 index 8f71bc3e..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/entity/MailConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -package cn.bootx.platform.notice.core.mail.entity; - -import cn.bootx.platform.common.core.annotation.EncryptionField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.mail.convert.MailConvert; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 邮件配置 - * - * @author xxm - * @since 2020/4/8 11:14 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName("notice_mail_config") -public class MailConfig extends MpBaseEntity implements EntityBaseFunction<MailConfigDto> { - - /** 编号 */ - private String code; - - /** 名称 */ - private String name; - - /** 邮箱服务器 host */ - private String host; - - /** 邮箱服务器 端口 */ - private Integer port; - - /** 邮箱服务器 账号 */ - @EncryptionField - private String username; - - /** 邮箱服务器 密码 */ - @EncryptionField - private String password; - - /** 邮箱服务器 发送人名称 */ - private String sender; - - /** 邮箱服务器 发送人邮箱账号 */ - @TableField("from_") - private String from; - - /** 是否默认配置 */ - private Boolean activity; - - /** 安全方式 */ - private Integer securityType; - - public static MailConfig init(MailConfigParam in) { - return MailConvert.CONVERT.convert(in); - } - - @Override - public MailConfigDto toDto() { - return MailConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/EmailNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/EmailNoticeSenderImpl.java deleted file mode 100644 index 9d49534a..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/EmailNoticeSenderImpl.java +++ /dev/null @@ -1,242 +0,0 @@ -package cn.bootx.platform.notice.core.mail.service; - -import cn.bootx.platform.notice.exception.MailConfigNotExistException; -import cn.bootx.platform.notice.service.EmailNoticeSender; -import cn.bootx.platform.notice.code.MailCode; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import cn.bootx.platform.notice.dto.mail.MailFileParam; -import cn.bootx.platform.notice.dto.mail.SendMailParam; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.extra.spring.SpringUtil; -import com.google.common.collect.Sets; -import lombok.AllArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.springframework.mail.javamail.JavaMailSenderImpl; -import org.springframework.mail.javamail.MimeMessageHelper; -import org.springframework.stereotype.Service; - -import javax.activation.DataHandler; -import javax.activation.DataSource; -import javax.mail.BodyPart; -import javax.mail.MessagingException; -import javax.mail.Multipart; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; -import javax.mail.util.ByteArrayDataSource; -import java.io.UnsupportedEncodingException; -import java.util.*; - -/** - * 邮件发送服务 - * - * @author xxm - * @since 2020/5/2 16:06 - */ -@Slf4j -@Service -@AllArgsConstructor -public class EmailNoticeSenderImpl implements EmailNoticeSender { - - /** - * 默认 MIME Type - */ - private static final String MIME_TYPE_DEFAULT = "text/html; charset=utf-8"; - - private final MailConfigService mailConfigService; - - /** - * 简单邮件发送 - * @param email 邮件地址 - * @param subject 邮件标题 - * @param msg 邮件消息 - */ - @Override - public void sentSimpleMail(String email, String subject, String msg) { - SendMailParam mailParam = new SendMailParam(); - mailParam.setTo(Collections.singletonList(email)); - mailParam.setSubject(subject); - mailParam.setMessage(msg); - SpringUtil.getBean(getClass()).sendMail(mailParam); - } - - /** - * 标准邮件发送 - */ - @SneakyThrows - @Override - public void sendMail(SendMailParam mailParam) { - log.info("开始发送邮件"); - MailConfigDto mailConfig = this.getMailConfig(mailParam.getConfigCode()); - JavaMailSenderImpl mailSender = this.getMailSender(mailConfig); - List<MimeMessage> mimeMessageList = new ArrayList<>(); - - if (CollUtil.isEmpty(mailParam.getTo())) { - return; - } - // 获取to cc bcc 中所有允许发送的receiver - HashSet<String> allReceivers = Sets.newHashSet(mailParam.getTo()); - // 密送 - if (CollUtil.isNotEmpty(mailParam.getBccList())) { - allReceivers.addAll(mailParam.getBccList()); - } - // 抄送 - if (CollUtil.isNotEmpty(mailParam.getCcList())) { - allReceivers.addAll(mailParam.getCcList()); - } - // 设置接收人 - Set<String> receivers = Sets.intersection(allReceivers, new HashSet<>(mailParam.getTo())); - if (CollUtil.isEmpty(receivers)) { - return; - } - // 是否单条发送(拆分收件人) - if (mailParam.getSingleSend()) { - for (String to : receivers) { - this.buildMailParam(mailParam, mailConfig, mailSender, mimeMessageList, allReceivers, to); - } - } - else { - this.buildMailParam(mailParam, mailConfig, mailSender, mimeMessageList, allReceivers, - ArrayUtil.toArray(receivers, String.class)); - } - - // 调用发送 - mailSender.send(ArrayUtil.toArray(mimeMessageList, MimeMessage.class)); - log.info("SendMail结束"); - } - - /** - * 构建邮件参数 - * @param mailParam 发邮件的参数 - * @param mailConfig 邮箱配置 - * @param mailSender 邮件发送器 - * @param mimeMessageList 多媒体信息 - * @param allReceivers 接收人 - * @param to 发送人 - * @throws MessagingException 消息异常 - * @throws UnsupportedEncodingException 不支持的编码异常 - */ - private void buildMailParam(SendMailParam mailParam, MailConfigDto mailConfig, JavaMailSenderImpl mailSender, - List<MimeMessage> mimeMessageList, Set<String> allReceivers, String... to) - throws MessagingException, UnsupportedEncodingException { - MimeMessage mimeMessage = mailSender.createMimeMessage(); - MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); - mimeMessageHelper.setFrom(new InternetAddress(mailConfig.getFrom(), mailConfig.getSender())); - mimeMessageHelper.setTo(to); - mimeMessageHelper.setSubject(mailParam.getSubject()); - - // 处理抄送 - List<String> ccList = mailParam.getCcList(); - if (CollUtil.isNotEmpty(ccList)) { - Set<String> ccReceivers = Sets.intersection(allReceivers, Sets.newHashSet(ccList)); - if (!CollectionUtil.isEmpty(ccReceivers)) { - String[] ccReceiverArray = new String[ccReceivers.size()]; - ccReceivers.toArray(ccReceiverArray); - mimeMessageHelper.setCc(ccReceiverArray); - } - } - - // 处理密送 - List<String> bccList = mailParam.getBccList(); - if (CollUtil.isNotEmpty(bccList)) { - Set<String> bccReceivers = Sets.intersection(allReceivers, Sets.newHashSet(mailParam.getBccList())); - if (!CollectionUtil.isEmpty(bccReceivers)) { - String[] bccReceiverArray = new String[bccReceivers.size()]; - bccReceivers.toArray(bccReceiverArray); - mimeMessageHelper.setBcc(ArrayUtil.toArray(bccList, String.class)); - } - } - - // 创建一个消息部分来代表正文 - BodyPart messageBodyPart = new MimeBodyPart(); - messageBodyPart.setContent(mailParam.getMessage(), MIME_TYPE_DEFAULT); - // 使用MimeMultipart,因为我们需要处理文件附件 - Multipart multipart = new MimeMultipart(); - - // 判断是否包含附件 - if (mailParam.isSendAttachment()) { - this.buildAttachmentParam(mailParam, multipart); - } - - // 添加正文 - multipart.addBodyPart(messageBodyPart); - // 将所有消息部分放入消息中 - mimeMessage.setContent(multipart); - mimeMessageList.add(mimeMessage); - - } - - /** - * 构建附件参数 - */ - private void buildAttachmentParam(SendMailParam mailParam, Multipart multipart) throws MessagingException { - // 获得附件集合 进行发送附件 - List<MailFileParam> files = mailParam.getFileList(); - if (!CollectionUtil.isEmpty(files)) { - for (MailFileParam f : files) { - - MimeBodyPart mimeBodyPart = new MimeBodyPart(); - // 附件数据源:根据文件字节放入数据源 - DataSource dss = new ByteArrayDataSource(f.getFileInputStream(), "application/png"); - // 数据处理器 - DataHandler dh = new DataHandler(dss); - mimeBodyPart.setFileName(f.getFileName()); - mimeBodyPart.setDataHandler(dh); - multipart.addBodyPart(mimeBodyPart); - } - } - } - - /** - * 获取邮件配置 - */ - private MailConfigDto getMailConfig(String configCode) { - MailConfigDto mailConfig; - - // 无code获取默认 - if (StrUtil.isEmpty(configCode)) { - mailConfig = mailConfigService.getDefaultConfig(); - } - else { - mailConfig = mailConfigService.getByCode(configCode); - } - if (mailConfig == null) { - throw new MailConfigNotExistException(); - } - return mailConfig; - } - - /** - * 获取邮件发件器 - */ - private JavaMailSenderImpl getMailSender(MailConfigDto mailConfig) { - JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); - mailSender.setHost(mailConfig.getHost()); - mailSender.setPort(mailConfig.getPort()); - mailSender.setUsername(mailConfig.getUsername()); - mailSender.setPassword(mailConfig.getPassword()); - - Properties props = new Properties(); - // 判断是否是TLS - if (Objects.equals(Optional.ofNullable(mailConfig.getSecurityType()).orElse(0), MailCode.SECURITY_TYPE_TLS)) { - props.setProperty("mail.smtp.starttls.enable", "true"); - } - else if (Objects.equals(Optional.ofNullable(mailConfig.getSecurityType()).orElse(0), - MailCode.SECURITY_TYPE_SSL)) { - props.setProperty("mail.smtp.starttls.enable", "true"); - props.setProperty("mail.smtp.auth", "true"); - props.setProperty("mail.smtp.socketFactory.port", mailConfig.getPort() + ""); - props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); - props.setProperty("mail.smtp.socketFactory.fallback", "false"); - } - mailSender.setJavaMailProperties(props); - - return mailSender; - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/MailConfigService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/MailConfigService.java deleted file mode 100644 index ca7bf74d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/MailConfigService.java +++ /dev/null @@ -1,119 +0,0 @@ -package cn.bootx.platform.notice.core.mail.service; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.exception.MailConfigCodeAlreadyExistedException; -import cn.bootx.platform.notice.exception.MailConfigNotExistException; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.bootx.platform.notice.core.mail.dao.MailConfigManager; -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 邮件配置 - * - * @author xxm - * @since 2020/4/8 13:29 - */ -@Service -@AllArgsConstructor -public class MailConfigService { - - private final MailConfigManager mailConfigManager; - - /** - * 添加新邮箱配置 - */ - @Transactional(rollbackFor = Exception.class) - public MailConfigDto add(MailConfigParam param) { - if (mailConfigManager.existsByCode(param.getCode())) { - throw new MailConfigCodeAlreadyExistedException(); - } - - MailConfig mailConfig = MailConfig.init(param); - return mailConfigManager.save(mailConfig).toDto(); - } - - /** - * 更新邮箱配置 - */ - @Transactional(rollbackFor = Exception.class) - public MailConfigDto update(MailConfigParam param) { - MailConfig mailConfig = mailConfigManager.findById(param.getId()).orElseThrow(MailConfigNotExistException::new); - - if (mailConfigManager.existsByCode(param.getCode(), param.getId())) { - throw new MailConfigCodeAlreadyExistedException(); - } - - BeanUtil.copyProperties(param, mailConfig, CopyOptions.create().ignoreNullValue()); - return mailConfigManager.updateById(mailConfig).toDto(); - } - - /** - * 根据 id 获取相应的邮箱配置 - */ - public MailConfigDto findById(Long id) { - return ResultConvertUtil.dtoConvert(mailConfigManager.findById(id)); - } - - /** - * 获取 默认邮箱配置 - */ - public MailConfigDto getDefaultConfig() { - return ResultConvertUtil.dtoConvert(mailConfigManager.findByActivity()); - } - - /** - * 分页 - */ - public PageResult<MailConfigDto> page(PageParam pageParam, MailConfigParam param) { - return MpUtil.convert2DtoPageResult(mailConfigManager.page(pageParam, param)); - } - - /** - * 根据 code 获取相应的邮箱配置 - */ - public MailConfigDto getByCode(String code) { - return ResultConvertUtil.dtoConvert(mailConfigManager.findByCode(code)); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return mailConfigManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return mailConfigManager.existsByCode(code, id); - } - - /** - * 设置活动邮箱 - */ - @Transactional(rollbackFor = Exception.class) - public void setUpActivity(Long id) { - MailConfig mailConfig = mailConfigManager.findById(id).orElseThrow(MailConfigNotExistException::new); - mailConfig.setActivity(true); - mailConfigManager.removeAllActivity(); - mailConfigManager.updateById(mailConfig); - } - - /** - * 根据 id 删除相应的邮箱配置 - */ - public void delete(Long id) { - mailConfigManager.deleteById(id); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/convert/SiteMessageConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/convert/SiteMessageConvert.java deleted file mode 100644 index 6b27d1cf..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/convert/SiteMessageConvert.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.notice.core.site.convert; - -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 站内信转换 - * - * @author xxm - * @since 2021/8/7 - */ -@Mapper -public interface SiteMessageConvert { - - SiteMessageConvert CONVERT = Mappers.getMapper(SiteMessageConvert.class); - - SiteMessageDto convert(SiteMessage in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageManager.java deleted file mode 100644 index 7df9a5dd..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageManager.java +++ /dev/null @@ -1,112 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import cn.bootx.platform.notice.code.SiteMessageCode; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Repository; - -import java.time.LocalDate; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import static cn.bootx.platform.notice.code.SiteMessageCode.STATE_SENT; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class SiteMessageManager extends BaseManager<SiteMessageMapper, SiteMessage> { - - /** - * 接收用户消息分页 - */ - public Page<SiteMessageInfo> pageByReceive(PageParam pageParam, SiteMessageInfo query, Long userId) { - val mpPage = MpUtil.getMpPage(pageParam, SiteMessageInfo.class); - - val wrapper = new LambdaQueryWrapper<SiteMessageInfo>() - .and(o -> o - .and(p -> p.eq(SiteMessageInfo::getReceiveType, SiteMessageCode.RECEIVE_ALL) - .gt(SiteMessageInfo::getEfficientTime, LocalDate.now())) - .or() - .eq(SiteMessageInfo::getReceiveId, userId)) - .eq(SiteMessageInfo::getSendState, STATE_SENT) - .eq(StrUtil.isNotBlank(query.getTitle()), SiteMessageInfo::getTitle, query.getTitle()) - .orderByAsc(SiteMessageInfo::getHaveRead) - .orderByDesc(SiteMessageInfo::getReadTime); - if (Objects.equals(query.getHaveRead(), true)) { - wrapper.eq(SiteMessageInfo::getHaveRead, query.getHaveRead()); - } - // 已读为空也视为未读 - if (Objects.equals(query.getHaveRead(), false)) { - wrapper.and(o -> o.eq(SiteMessageInfo::getHaveRead, false).or().isNull(SiteMessageInfo::getHaveRead)); - - } - - return baseMapper.pageMassage(mpPage, wrapper); - } - - /** - * 查询未读的消息数量 - */ - public Integer countByReceiveNotRead(Long userId) { - val wrapper = new LambdaQueryWrapper<SiteMessageInfo>() - .and(o -> o - .and(p -> p.eq(SiteMessageInfo::getReceiveType, SiteMessageCode.RECEIVE_ALL) - .gt(SiteMessageInfo::getEfficientTime, LocalDate.now())) - .or() - .eq(SiteMessageInfo::getReceiveId, userId)) - .and(o -> o.eq(SiteMessageInfo::getHaveRead, false).or().isNull(SiteMessageInfo::getHaveRead)) - .eq(SiteMessageInfo::getSendState, STATE_SENT) - .orderByAsc(SiteMessageInfo::getHaveRead) - .orderByDesc(SiteMessageInfo::getReadTime); - return baseMapper.countMassage(wrapper); - } - - public List<String> listByReceiveNotRead(Long userId) { - Page<SiteMessageInfo> page = new Page<>(); - page.setSize(5); - page.setSize(1); - val wrapper = new LambdaQueryWrapper<SiteMessageInfo>() - .and(o -> o - .and(p -> p.eq(SiteMessageInfo::getReceiveType, SiteMessageCode.RECEIVE_ALL) - .gt(SiteMessageInfo::getEfficientTime, LocalDate.now())) - .or() - .eq(SiteMessageInfo::getReceiveId, userId)) - .and(o -> o.eq(SiteMessageInfo::getHaveRead, false).or().isNull(SiteMessageInfo::getHaveRead)) - .eq(SiteMessageInfo::getSendState, STATE_SENT) - .orderByAsc(SiteMessageInfo::getHaveRead) - .orderByDesc(SiteMessageInfo::getReadTime); - return baseMapper.pageMassage(page, wrapper).getRecords().stream() - .map(SiteMessageInfo::getTitle).collect(Collectors.toList()); - } - - /** - * 发送人消息分页 - */ - public Page<SiteMessage> pageBySender(PageParam pageParam, SiteMessageInfo query, Long userId) { - Page<SiteMessage> mpPage = MpUtil.getMpPage(pageParam, SiteMessage.class); - return lambdaQuery().select(SiteMessage.class, MpUtil::excludeBigField) - .eq(SiteMessage::getSenderId, userId) - .like(StrUtil.isNotBlank(query.getTitle()), SiteMessage::getSenderId, query.getTitle()) - .eq(StrUtil.isNotBlank(query.getSendState()), SiteMessage::getSendState, query.getSendState()) - .eq(StrUtil.isNotBlank(query.getReceiveType()), SiteMessage::getReceiveType, query.getReceiveType()) - .orderByDesc(SiteMessage::getId) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageMapper.java deleted file mode 100644 index 2ce415b4..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@Mapper -public interface SiteMessageMapper extends BaseMapper<SiteMessage> { - - Page<SiteMessageInfo> pageMassage(Page<SiteMessageInfo> page, - @Param(Constants.WRAPPER) Wrapper<SiteMessageInfo> wrapper); - - Integer countMassage(@Param(Constants.WRAPPER) Wrapper<SiteMessageInfo> wrapper); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserManager.java deleted file mode 100644 index 3620ed89..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserManager.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.notice.core.site.entity.SiteMessageUser; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.time.LocalDateTime; -import java.util.Optional; - -/** - * @author xxm - * @since 2022/8/14 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class SiteMessageUserManager extends BaseManager<SiteMessageUserMapper, SiteMessageUser> { - - /** - * 根据消息ID查询 - */ - public Optional<SiteMessageUser> findByMessageId(Long messageId) { - return findByField(SiteMessageUser::getMessageId, messageId); - } - - /** - * 阅读 - */ - public void readById(Long id) { - lambdaUpdate().eq(MpIdEntity::getId, id) - .set(SiteMessageUser::isHaveRead, Boolean.TRUE) - .set(SiteMessageUser::getReadTime, LocalDateTime.now()) - .update(); - } - - /** - * 根据消息ID删除 - */ - public void deleteByMessageId(Long messageId) { - deleteByField(SiteMessageUser::getMessageId, messageId); - - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserMapper.java deleted file mode 100644 index b8917594..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.notice.core.site.entity.SiteMessageUser; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2022/8/14 - */ -@Mapper -public interface SiteMessageUserMapper extends BaseMapper<SiteMessageUser> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfo.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfo.java deleted file mode 100644 index 5e41cdf1..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfo.java +++ /dev/null @@ -1,59 +0,0 @@ -package cn.bootx.platform.notice.core.site.domain; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import lombok.experimental.FieldNameConstants; - -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * 站内信信息详情 - * - * @author xxm - * @since 2022/8/14 - */ -@Data -@Accessors(chain = true) -@FieldNameConstants -@Schema(title = "站内信信息详情") -public class SiteMessageInfo { - - @Schema(description = "消息id") - private Long id; - - @Schema(description = "标题") - private String title; - - @Schema(description = "发送人id") - private Long senderId; - - @Schema(description = "发送人姓名") - private String senderName; - - @Schema(description = "接收类型") - private String receiveType; - - @Schema(description = "发送时间") - private LocalDateTime senderTime; - - @Schema(description = "发送状态") - private String sendState; - - @Schema(description = "撤回时间") - private LocalDateTime cancelTime; - - @Schema(description = "接收人id") - private Long receiveId; - - @Schema(description = "是否已读") - private Boolean haveRead; - - @Schema(description = "读取时间") - private LocalDateTime readTime; - - @Schema(description = "截至有效期") - private LocalDate efficientTime; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfoMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfoMapper.java deleted file mode 100644 index 26e909a1..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfoMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.bootx.platform.notice.core.site.domain; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 只用来生成字段缓存 - * - * @author xxm - * @since 2022/8/14 - */ -@Mapper -public interface SiteMessageInfoMapper extends BaseMapper<SiteMessageInfo> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessage.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessage.java deleted file mode 100644 index 7102e541..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessage.java +++ /dev/null @@ -1,68 +0,0 @@ -package cn.bootx.platform.notice.core.site.entity; - -import cn.bootx.platform.common.core.annotation.BigField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.site.convert.SiteMessageConvert; -import cn.bootx.platform.notice.code.SiteMessageCode; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_site_message") -public class SiteMessage extends MpBaseEntity implements EntityBaseFunction<SiteMessageDto> { - - /** 消息标题 */ - private String title; - - /** 消息内容 */ - @BigField - private String content; - - /** - * 接收对象类型 全体/指定用户 - * @see SiteMessageCode#RECEIVE_ALL - */ - private String receiveType; - - /** - * 发布状态 - * @see SiteMessageCode#STATE_SENT - */ - private String sendState; - - /** 发送者id */ - private Long senderId; - - /** 发送者姓名 */ - private String senderName; - - /** 发送时间 */ - private LocalDateTime senderTime; - - /** 撤销时间 */ - private LocalDateTime cancelTime; - - /** 截至有效期 有效超过有效期后全体通知将无法看到 */ - private LocalDate efficientTime; - - @Override - public SiteMessageDto toDto() { - return SiteMessageConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessageUser.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessageUser.java deleted file mode 100644 index 7539feb0..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessageUser.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.site.entity; - -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 消息用户关联信息 - * - * @author xxm - * @since 2022/8/13 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_site_message_user") -public class SiteMessageUser extends MpCreateEntity { - - /** 消息id */ - private Long messageId; - - /** 接收者id */ - private Long receiveId; - - /** 已读/未读 */ - private boolean haveRead; - - /** 已读时间 */ - private LocalDateTime readTime; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/service/SiteMessageService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/service/SiteMessageService.java deleted file mode 100644 index d8312a70..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/service/SiteMessageService.java +++ /dev/null @@ -1,235 +0,0 @@ -package cn.bootx.platform.notice.core.site.service; - -import cn.bootx.platform.common.core.code.CommonCode; -import cn.bootx.platform.common.core.entity.UserDetail; -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.common.websocket.entity.WsRes; -import cn.bootx.platform.common.websocket.service.UserWsNoticeService; -import cn.bootx.platform.notice.param.site.SendSiteMessageParam; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.notice.core.site.dao.SiteMessageManager; -import cn.bootx.platform.notice.core.site.dao.SiteMessageUserManager; -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import cn.bootx.platform.notice.core.site.entity.SiteMessageUser; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.DesensitizedUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import static cn.bootx.platform.notice.code.SiteMessageCode.*; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class SiteMessageService { - - private final SiteMessageManager siteMessageManager; - - private final SiteMessageUserManager siteMessageUserManager; - - private final UserWsNoticeService userWsNoticeService; - - /** - * 保存或更新草稿 - */ - @Transactional(rollbackFor = Exception.class) - public void saveOrUpdate(SendSiteMessageParam param) { - SiteMessage siteMessage; - if (Objects.nonNull(param.getId())) { - siteMessage = siteMessageManager.findById(param.getId()) - .orElseThrow(() -> new DataNotExistException("站内信信息不存在")); - BeanUtil.copyProperties(param, siteMessage, CopyOptions.create().ignoreNullValue()); - } else { - siteMessage = new SiteMessage().setTitle(param.getTitle()) - .setSendState(STATE_DRAFT) - .setContent(param.getContent()) - .setReceiveType(param.getReceiveType()) - .setEfficientTime(param.getEfficientTime()) - .setSenderTime(LocalDateTime.now()); - // 添加消息关联人信息 暂时这段逻辑用不到, 现在发布的都是全体用户信心 - if (Objects.equals(RECEIVE_USER, param.getReceiveType())) { - List<SiteMessageUser> siteMessageUsers = param.getReceiveIds() - .stream() - .map(userId -> new SiteMessageUser().setMessageId(param.getId()).setReceiveId(userId)) - .collect(Collectors.toList()); - siteMessageUserManager.saveAll(siteMessageUsers); - } - } - // 新增或更新站内信内容 - val userDetail = SecurityUtil.getCurrentUser(); - siteMessage.setTitle(param.getTitle()) - .setSenderId(userDetail.map(UserDetail::getId).orElse(DesensitizedUtil.userId())) - .setSenderName(userDetail.map(UserDetail::getName).orElse("未知")); - siteMessageManager.saveOrUpdate(siteMessage); - - } - - /** - * 站内信发送消息 - */ - @Transactional(rollbackFor = Exception.class) - public void send(Long id) { - SiteMessage siteMessage = siteMessageManager.findById(id) - .orElseThrow(() -> new DataNotExistException("站内信信息不存在")); - val userDetail = SecurityUtil.getCurrentUser(); - - // 新增站内信内容 - siteMessage.setSenderId(userDetail.map(UserDetail::getId).orElse(DesensitizedUtil.userId())) - .setSendState(STATE_SENT) - .setSenderName(userDetail.map(UserDetail::getName).orElse("未知")) - .setSenderTime(LocalDateTime.now()); - siteMessageManager.updateById(siteMessage); - userWsNoticeService.sendMessageByAll(WsRes.eventNotice(EVENT_MESSAGE_UPDATE)); - } - - /** - * 发送站内信 - */ - @Transactional(rollbackFor = Exception.class) - public void send(SendSiteMessageParam param) { - - // 新增站内信内容 - SiteMessage siteMessage = new SiteMessage().setTitle(param.getTitle()) - .setContent(param.getContent()) - .setSendState(STATE_SENT) - .setReceiveType(param.getReceiveType()) - .setEfficientTime(param.getEfficientTime()) - .setSenderId(param.getSenderId()) - .setSenderName(param.getSenderName()) - .setSenderTime(LocalDateTime.now()); - siteMessageManager.save(siteMessage); - // 添加消息关联人信息 - if (Objects.equals(RECEIVE_USER, param.getReceiveType())) { - - List<SiteMessageUser> siteMessageUsers = param.getReceiveIds() - .stream() - .map(userId -> new SiteMessageUser().setMessageId(siteMessage.getId()).setReceiveId(userId)) - .collect(Collectors.toList()); - siteMessageUserManager.saveAll(siteMessageUsers); - userWsNoticeService.sendMessageByUsers(WsRes.eventNotice(EVENT_MESSAGE_UPDATE), param.getReceiveIds()); - } - } - - /** - * 发送给单个用户信息, 发送人为系统 - */ - public void sendSingleUserBySystem(String title, String content, Long userId) { - val param = new SendSiteMessageParam().setTitle(title) - .setContent(content) - .setSenderId(CommonCode.SYSTEM_DEFAULT_USERID) - .setSenderName(CommonCode.SYSTEM_DEFAULT_USERNAME) - .setReceiveType(RECEIVE_USER) - .setReceiveIds(Collections.singletonList(userId)); - this.send(param); - } - - /** - * 发送给多个用户信息, 发送人为系统 - */ - public void sendMultiUserBySystem(String title, String content, List<Long> userIds) { - val param = new SendSiteMessageParam().setTitle(title) - .setContent(content) - .setSenderId(CommonCode.SYSTEM_DEFAULT_USERID) - .setSenderName(CommonCode.SYSTEM_DEFAULT_USERNAME) - .setReceiveType(RECEIVE_USER) - .setReceiveIds(userIds); - this.send(param); - } - - /** - * 撤回消息 - */ - @Transactional(rollbackFor = Exception.class) - public void cancel(Long messageId) { - SiteMessage siteMessage = siteMessageManager.findById(messageId) - .orElseThrow(() -> new DataNotExistException("站内信不存在")); - siteMessage.setCancelTime(LocalDateTime.now()).setSendState(STATE_CANCEL); - siteMessageManager.updateById(siteMessage); - userWsNoticeService.sendMessageByAll(WsRes.eventNotice(EVENT_MESSAGE_UPDATE)); - } - - /** - * 删除消息 - */ - @Transactional(rollbackFor = Exception.class) - public void delete(Long messageId) { - SiteMessage siteMessage = siteMessageManager.findById(messageId) - .orElseThrow(() -> new DataNotExistException("站内信不存在")); - if (!CollUtil.toList(STATE_CANCEL, STATE_DRAFT).contains(siteMessage.getSendState())) { - throw new BizException("站内信不是撤回或草稿状态,无法被删除"); - } - siteMessageManager.deleteById(messageId); - siteMessageUserManager.deleteByMessageId(messageId); - } - - /** - * 未读消息数量 - */ - public Integer countByReceiveNotRead(SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - // Long userId = 0L; - return siteMessageManager.countByReceiveNotRead(userId); - } - - /** - * 接收消息分页 - */ - public PageResult<SiteMessageInfo> pageByReceive(PageParam pageParam, SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - return MpUtil.convert2PageResult(siteMessageManager.pageByReceive(pageParam, query, userId)); - } - - /** - * 发送消息分页 - */ - public PageResult<SiteMessageDto> pageBySender(PageParam pageParam, SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - return MpUtil.convert2DtoPageResult(siteMessageManager.pageBySender(pageParam, query, userId)); - } - - /** - * 查询详情 - */ - public SiteMessageDto findById(Long id) { - return siteMessageManager.findById(id).map(SiteMessage::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 阅读 - */ - public void read(Long messageId) { - Long userId = SecurityUtil.getUserId(); - SiteMessageUser siteMessageUser = siteMessageUserManager.findByMessageId(messageId) - .orElse(new SiteMessageUser().setReceiveId(userId).setMessageId(messageId)); - siteMessageUser.setHaveRead(true).setReadTime(LocalDateTime.now()); - siteMessageUserManager.saveOrUpdate(siteMessageUser); - } - - public List<String> listByReceiveNotRead(SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - return siteMessageManager.listByReceiveNotRead(userId); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsChannelConfigConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsChannelConfigConvert.java deleted file mode 100644 index ccfdf66d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsChannelConfigConvert.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.bootx.platform.notice.core.sms.convert; - -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023-08-03 - */ -@Mapper -public interface SmsChannelConfigConvert { - SmsChannelConfigConvert CONVERT = Mappers.getMapper(SmsChannelConfigConvert.class); - - SmsChannelConfig convert(SmsChannelConfigParam in); - - SmsChannelConfigDto convert(SmsChannelConfig in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsTemplateConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsTemplateConvert.java deleted file mode 100644 index e65f82fd..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsTemplateConvert.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.bootx.platform.notice.core.sms.convert; - -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Mapper -public interface SmsTemplateConvert { - SmsTemplateConvert CONVERT = Mappers.getMapper(SmsTemplateConvert.class); - - SmsTemplate convert(SmsTemplateParam in); - - SmsTemplateDto convert(SmsTemplate in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigManager.java deleted file mode 100644 index 918a328d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigManager.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Optional; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SmsChannelConfigManager extends BaseManager<SmsChannelConfigMapper, SmsChannelConfig> { - - - public boolean existsByCode(String code){ - return existedByField(SmsChannelConfig::getCode,code); - } - public boolean existsByCode(String code,Long id){ - return existedByField(SmsChannelConfig::getCode,code,id); - } - - public Optional<SmsChannelConfig> findByCode(String code){ - return findByField(SmsChannelConfig::getCode,code); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigMapper.java deleted file mode 100644 index 63cde288..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2023/3/28 - */ -@Mapper -public interface SmsChannelConfigMapper extends BaseMapper<SmsChannelConfig> { -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateManager.java deleted file mode 100644 index 81212869..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateManager.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.common.query.generator.QueryGenerator; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Repository -@RequiredArgsConstructor -public class SmsTemplateManager extends BaseManager<SmsTemplateMapper, SmsTemplate> { - - /** - * 分页 - */ - public Page<SmsTemplate> page(PageParam pageParam, SmsTemplateParam param) { - Page<SmsTemplate> mpPage = MpUtil.getMpPage(pageParam, SmsTemplate.class); - QueryWrapper<SmsTemplate> wrapper = QueryGenerator.generator(param, this.getEntityClass()); - wrapper.select(this.getEntityClass(),MpUtil::excludeBigField) - .orderByDesc(MpUtil.getColumnName(SmsTemplate::getId)); - return this.page(mpPage,wrapper); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateMapper.java deleted file mode 100644 index 09ee2fbe..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Mapper -public interface SmsTemplateMapper extends BaseMapper<SmsTemplate> { -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java deleted file mode 100644 index bea4b695..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java +++ /dev/null @@ -1,91 +0,0 @@ -package cn.bootx.platform.notice.core.sms.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.sms.convert.SmsChannelConfigConvert; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; -import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import org.dromara.sms4j.provider.enumerate.SupplierType; - -import static com.baomidou.mybatisplus.annotation.FieldStrategy.ALWAYS; -import static com.baomidou.mybatisplus.annotation.FieldStrategy.NEVER; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023/3/28 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_sms_channel_config") -public class SmsChannelConfig extends MpBaseEntity implements EntityBaseFunction<SmsChannelConfigDto> { - - /** - * 渠道类型编码 - * @see SupplierType#name() - */ - @DbColumn(comment = "渠道类型编码") - @TableField(updateStrategy = NEVER) - private String code; - - /** - * 渠道类型名称 - * @see SupplierType#getName() - */ - @DbColumn(comment = "渠道类型名称") - private String name; - - /** - * 状态 - * @see cn.bootx.platform.notice.code.SmsChannelStatusCode - */ - @DbColumn(comment = "状态") - private String state; - - /** AccessKey */ - @DbColumn(comment = "AccessKey") - private String accessKey; - - /** AccessSecret */ - @DbColumn(comment = "AccessSecret") - private String accessSecret; - - /** 配置字符串 */ - @DbMySqlFieldType(MySqlFieldTypeEnum.TEXT) - @DbColumn(comment = "配置字符串") - @TableField(updateStrategy = ALWAYS) - private String config; - - /** 图片 */ - @TableField(updateStrategy = ALWAYS) - @DbColumn(comment = "图片") - private Long image; - - /** 排序 */ - @DbColumn(comment = "排序") - private Double sortNo; - - /** 备注 */ - @DbColumn(comment = "备注") - private String remark; - - /** 创建对象 */ - public static SmsChannelConfig init(SmsChannelConfigParam in) { - return SmsChannelConfigConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public SmsChannelConfigDto toDto() { - return SmsChannelConfigConvert.CONVERT.convert(this); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsTemplate.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsTemplate.java deleted file mode 100644 index 38b6fcfc..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsTemplate.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.bootx.platform.notice.core.sms.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.sms.convert.SmsTemplateConvert; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** -* 短信模板配置 -* @author xxm -* @since 2023-08-03 -*/ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_sms_template") -public class SmsTemplate extends MpBaseEntity implements EntityBaseFunction<SmsTemplateDto>{ - - /** 短信渠道商类型 */ - private String supplierType; - /** 短信模板id */ - private String templateId; - /** 短信模板名称 */ - private String name; - /** 短信模板内容 */ - private String content; - - /** 创建对象 */ - public static SmsTemplate init(SmsTemplateParam in) { - return SmsTemplateConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public SmsTemplateDto toDto() { - return SmsTemplateConvert.CONVERT.convert(this); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsChannelConfigService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsChannelConfigService.java deleted file mode 100644 index 8720228d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsChannelConfigService.java +++ /dev/null @@ -1,246 +0,0 @@ -package cn.bootx.platform.notice.core.sms.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.function.CollectorsFunction; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.notice.core.sms.dao.SmsChannelConfigManager; -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.event.sms.SmsChannelAddEvent; -import cn.bootx.platform.notice.event.sms.SmsChannelUpdateEvent; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.dromara.sms4j.aliyun.config.AlibabaConfig; -import org.dromara.sms4j.api.universal.SupplierConfig; -import org.dromara.sms4j.cloopen.config.CloopenConfig; -import org.dromara.sms4j.comm.exception.SmsBlendException; -import org.dromara.sms4j.core.config.SupplierFactory; -import org.dromara.sms4j.ctyun.config.CtyunConfig; -import org.dromara.sms4j.emay.config.EmayConfig; -import org.dromara.sms4j.huawei.config.HuaweiConfig; -import org.dromara.sms4j.jdcloud.config.JdCloudConfig; -import org.dromara.sms4j.netease.config.NeteaseConfig; -import org.dromara.sms4j.provider.enumerate.SupplierType; -import org.dromara.sms4j.tencent.config.TencentConfig; -import org.dromara.sms4j.unisms.config.UniConfig; -import org.dromara.sms4j.yunpian.config.YunpianConfig; -import org.springframework.boot.web.context.WebServerInitializedEvent; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SmsChannelConfigService { - - private final SmsChannelConfigManager configManager; - - private final ApplicationEventPublisher eventPublisher; - - /** - * 添加 - */ - @Transactional(rollbackFor = Exception.class) - public void add(Map<String,Object> map){ - SmsChannelConfigParam param = BeanUtil.toBean(map, SmsChannelConfigParam.class); - SmsChannelConfig channelConfig = SmsChannelConfig.init(param); - // 编码不能重复 - if (configManager.existsByCode(param.getCode())) { - throw new BizException("编码已存在"); - } - String supplierConfig = getSupplierConfig(channelConfig, map); - channelConfig.setConfig(supplierConfig); - configManager.save(channelConfig); - this.initChannelConfig(channelConfig); - eventPublisher.publishEvent(new SmsChannelAddEvent(this,channelConfig.toDto())); - } - - /** - * 更新 - */ - @Transactional(rollbackFor = Exception.class) - public void update(Map<String,Object> map){ - SmsChannelConfigParam param = BeanUtil.toBean(map, SmsChannelConfigParam.class); - SmsChannelConfig channelConfig = configManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - // 编码不能重复 - if (configManager.existsByCode(param.getCode(), param.getId())) { - throw new BizException("编码已存在"); - } - BeanUtil.copyProperties(param, channelConfig, CopyOptions.create().ignoreNullValue()); - String supplierConfig = getSupplierConfig(channelConfig, map); - channelConfig.setConfig(supplierConfig); - configManager.updateById(channelConfig); - this.initChannelConfig(channelConfig); - eventPublisher.publishEvent(new SmsChannelUpdateEvent(this,channelConfig.toDto())); - } - - - /** - * 查询全部配置 - */ - public List<SmsChannelConfigDto> findAll(){ - // 遍历数据库 - Map<String, SmsChannelConfig> map = configManager.findAll() - .stream() - .collect(Collectors.toMap(SmsChannelConfig::getCode, Function.identity(), CollectorsFunction::retainLatest)); - return Arrays.stream(SupplierType.values()) - .map(type-> Optional.ofNullable(map.get(type.name().toLowerCase())) - .orElse(new SmsChannelConfig() - .setCode(type.name().toLowerCase()) - .setSortNo(0.0) - .setName(type.getName()))) - .sorted(Comparator.comparing(SmsChannelConfig::getSortNo)) - .map(SmsChannelConfig::toDto) - .collect(Collectors.toList()); - } - - /** - * 根据ID查询 - */ - public SmsChannelConfigDto findById(Long id) { - return configManager.findById(id).map(SmsChannelConfig::toDto) - .orElseThrow(DataNotExistException::new); - } - - /** - * 根据code查询 - */ - public SmsChannelConfigDto findByCode(String code) { - return configManager.findByCode(code).map(SmsChannelConfig::toDto) - .orElseThrow(DataNotExistException::new); - } - - /** - * 启动成功后初始化所有的短信通道配置 - */ - @EventListener(WebServerInitializedEvent.class) - public void initChannelConfig(){ - List<SmsChannelConfig> smsChannelConfigs = configManager.findAll(); - smsChannelConfigs.forEach(this::initChannelConfig); - } - - /** - * 启动成功后初始化所有的短信通道配置 - */ - public void initChannelConfig(SmsChannelConfig channelConfig){ - SupplierType supplierType = getSupplierType(channelConfig.getCode()); - String config = channelConfig.getConfig(); - if (StrUtil.isBlank(config)){ - return; - } - SupplierConfig bean; - if (supplierType == SupplierType.ALIBABA) { - bean = JacksonUtil.toBean(config, AlibabaConfig.class); - } else if (supplierType == SupplierType.HUAWEI) { - bean = JacksonUtil.toBean(config, HuaweiConfig.class); - } else if (supplierType == SupplierType.UNI_SMS) { - bean = JacksonUtil.toBean(config, UniConfig.class); - } else if (supplierType == SupplierType.TENCENT) { - bean = JacksonUtil.toBean(config, TencentConfig.class); - } else if (supplierType == SupplierType.YUNPIAN) { - bean = JacksonUtil.toBean(config, YunpianConfig.class); - } else if (supplierType == SupplierType.JD_CLOUD) { - bean = JacksonUtil.toBean(config, JdCloudConfig.class); - } else if (supplierType == SupplierType.CLOOPEN) { - bean = JacksonUtil.toBean(config, CloopenConfig.class); - } else if (supplierType == SupplierType.EMAY) { - bean = JacksonUtil.toBean(config, EmayConfig.class); - } else if (supplierType == SupplierType.CTYUN) { - bean = JacksonUtil.toBean(config, CtyunConfig.class); - } else if (supplierType == SupplierType.NETEASE) { - bean = JacksonUtil.toBean(config, NeteaseConfig.class); - } else { - throw new SmsBlendException("短信加载失败!请检查配置类型."); - } - SupplierFactory.setSupplierConfig(bean); - } - - /** - * 获取供应商配置的序列化 - */ - private String getSupplierConfig(SmsChannelConfig channelConfig, Map<String,Object> map){ - SupplierType supplierType = getSupplierType(channelConfig.getCode()); - if (CollUtil.isEmpty(map)){ - return null; - } - if (supplierType == SupplierType.ALIBABA) { - val bean = BeanUtil.toBean(map, AlibabaConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.HUAWEI) { - val bean = BeanUtil.toBean(map, HuaweiConfig.class); - bean.setAppKey(channelConfig.getAccessKey()); - bean.setAppSecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.UNI_SMS) { - val bean = BeanUtil.toBean(map, UniConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.TENCENT) { - val bean = BeanUtil.toBean(map, TencentConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.YUNPIAN) { - val bean = BeanUtil.toBean(map, YunpianConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.JD_CLOUD) { - val bean = BeanUtil.toBean(map, JdCloudConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.CLOOPEN) { - val bean = BeanUtil.toBean(map, CloopenConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.EMAY) { - val bean = BeanUtil.toBean(map, EmayConfig.class); - bean.setAppId(channelConfig.getAccessKey()); - bean.setSecretKey(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.CTYUN) { - val bean = BeanUtil.toBean(map, CtyunConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.NETEASE) { - val bean = BeanUtil.toBean(map, NeteaseConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else { - throw new SmsBlendException("短信加载失败!请检查配置类型."); - } - - } - - /** - * 获取 短信供应商 枚举 - */ - public SupplierType getSupplierType(String code){ - return Arrays.stream(SupplierType.values()) - .filter(supplierType -> supplierType.name().equalsIgnoreCase(code)) - .findFirst() - .orElseThrow(() -> new BizException("短信供应商未找到")); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsTemplateService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsTemplateService.java deleted file mode 100644 index 22c1c354..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsTemplateService.java +++ /dev/null @@ -1,75 +0,0 @@ -package cn.bootx.platform.notice.core.sms.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.sms.dao.SmsTemplateManager; -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class SmsTemplateService { - private final SmsTemplateManager smsTemplateManager; - - /** - * 添加 - */ - public void add(SmsTemplateParam param){ - SmsTemplate smsTemplate = SmsTemplate.init(param); - smsTemplateManager.save(smsTemplate); - } - - /** - * 修改 - */ - public void update(SmsTemplateParam param){ - SmsTemplate smsTemplate = smsTemplateManager.findById(param.getId()).orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param,smsTemplate, CopyOptions.create().ignoreNullValue()); - smsTemplateManager.updateById(smsTemplate); - } - - /** - * 分页 - */ - public PageResult<SmsTemplateDto> page(PageParam pageParam,SmsTemplateParam smsTemplateParam){ - return MpUtil.convert2DtoPageResult(smsTemplateManager.page(pageParam,smsTemplateParam)); - } - - /** - * 获取单条 - */ - public SmsTemplateDto findById(Long id){ - return smsTemplateManager.findById(id).map(SmsTemplate::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<SmsTemplateDto> findAll(){ - return ResultConvertUtil.dtoListConvert(smsTemplateManager.findAll()); - } - - /** - * 删除 - */ - public void delete(Long id){ - smsTemplateManager.deleteById(id); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/convert/MessageTemplateConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/convert/MessageTemplateConvert.java deleted file mode 100644 index cdaf3044..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/convert/MessageTemplateConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.core.template.convert; - -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 消息模板转换 - * - * @author xxm - * @since 2021/8/10 - */ -@Mapper -public interface MessageTemplateConvert { - - MessageTemplateConvert CONVERT = Mappers.getMapper(MessageTemplateConvert.class); - - MessageTemplateDto convert(MessageTemplate in); - - MessageTemplate convert(MessageTemplateDto in); - - MessageTemplate convert(MessageTemplateParam in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateManager.java deleted file mode 100644 index 0fb1fb91..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateManager.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.notice.core.template.dao; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/9 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class MessageTemplateManager extends BaseManager<MessageTemplateMapper, MessageTemplate> { - - public Optional<MessageTemplate> findByCode(String code) { - return findByField(MessageTemplate::getCode, code); - } - - public boolean existsByCode(String code) { - return existedByField(MessageTemplate::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return existedByField(MessageTemplate::getCode, code, id); - } - - public Page<MessageTemplate> page(PageParam pageParam, MessageTemplateParam query) { - Page<MessageTemplate> mpPage = MpUtil.getMpPage(pageParam, MessageTemplate.class); - return lambdaQuery().like(StrUtil.isNotBlank(query.getCode()), MessageTemplate::getCode, query.getCode()) - .like(StrUtil.isNotBlank(query.getName()), MessageTemplate::getName, query.getName()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateMapper.java deleted file mode 100644 index 038c07be..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.core.template.dao; - -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2021/8/9 - */ -@Mapper -public interface MessageTemplateMapper extends BaseMapper<MessageTemplate> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/entity/MessageTemplate.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/entity/MessageTemplate.java deleted file mode 100644 index 931748f4..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/entity/MessageTemplate.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.notice.core.template.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.template.convert.MessageTemplateConvert; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.bootx.platform.notice.code.MessageTemplateCode; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -@EqualsAndHashCode(callSuper = true) -@Data -@TableName("notice_message_template") -@Accessors(chain = true) -public class MessageTemplate extends MpBaseEntity implements EntityBaseFunction<MessageTemplateDto> { - - /** 编码 */ - private String code; - - /** 名称 */ - private String name; - - /** 内容 */ - private String data; - - /** 备注 */ - private String remark; - - /** - * 模板类型 - * @see MessageTemplateCode - */ - private String type; - - public static MessageTemplate init(MessageTemplateParam in) { - return MessageTemplateConvert.CONVERT.convert(in); - } - - @Override - public MessageTemplateDto toDto() { - return MessageTemplateConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/service/MessageTemplateService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/service/MessageTemplateService.java deleted file mode 100644 index 609f040c..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/service/MessageTemplateService.java +++ /dev/null @@ -1,110 +0,0 @@ -package cn.bootx.platform.notice.core.template.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.bootx.platform.notice.core.template.dao.MessageTemplateManager; -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.extra.template.Template; -import cn.hutool.extra.template.TemplateEngine; -import cn.hutool.extra.template.TemplateUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Map; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/9 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class MessageTemplateService { - - private final MessageTemplateManager messageTemplateManager; - - /** - * 添加 - */ - public MessageTemplateDto add(MessageTemplateParam param) { - MessageTemplate messageTemplate = MessageTemplate.init(param); - // code 不重复 - if (messageTemplateManager.existsByCode(messageTemplate.getCode())) { - throw new BizException("模板编码不可重复"); - } - return messageTemplateManager.save(messageTemplate).toDto(); - - } - - /** - * 更新 - */ - public MessageTemplateDto update(MessageTemplateParam param) { - // code 不重复 - if (messageTemplateManager.existsByCode(param.getCode(), param.getId())) { - throw new BizException("模板编码不可重复"); - } - MessageTemplate messageTemplate = messageTemplateManager.findById(param.getId()) - .orElseThrow(() -> new BizException("消息模板不存在")); - BeanUtil.copyProperties(param, messageTemplate, CopyOptions.create().ignoreNullValue()); - return messageTemplateManager.updateById(messageTemplate).toDto(); - } - - /** - * 分页 - */ - public PageResult<MessageTemplateDto> page(PageParam pageParam, MessageTemplateParam query) { - return MpUtil.convert2DtoPageResult(messageTemplateManager.page(pageParam, query)); - } - - /** - * 获取详情 - */ - public MessageTemplateDto findById(Long id) { - return messageTemplateManager.findById(id).map(MessageTemplate::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return messageTemplateManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return messageTemplateManager.existsByCode(code, id); - } - - /** - * 删除 - */ - public void delete(Long id) { - messageTemplateManager.deleteById(id); - } - - /** - * 渲染 - */ - public String rendering(String code, Map<String, Object> paramMap) { - MessageTemplate messageTemplate = messageTemplateManager.findByCode(code) - .orElseThrow(() -> new BizException("消息模板不存在")); - String date = messageTemplate.getData(); - TemplateEngine engine = TemplateUtil.createEngine(); - Template template = engine.getTemplate(date); - return template.render(paramMap); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeParam.java deleted file mode 100644 index 4466a9a8..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeParam.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity; - -import cn.bootx.platform.notice.core.wecom.entity.msg.WeComMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * 企业微信发送消息参数 - * - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "企业微信发送消息参数") -public class WeComNoticeParam { - - @Schema(description = "接收人配置") - private WeComNoticeReceive receive; - - @Schema(description = "消息内容") - private WeComMsg msg; - - /** - * 转换成钉钉消息发送参数 - */ - public WxCpMessage toWeComNotice() { - WxCpMessage wxCpMessage = msg.toMsg(); - receive.process(wxCpMessage); - return wxCpMessage; - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeReceive.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeReceive.java deleted file mode 100644 index 2dcff412..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeReceive.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity; - -import cn.bootx.platform.common.core.util.CollUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -import java.util.List; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业微信接收人参数") -public class WeComNoticeReceive { - - @Schema(description = "是否发送给全部用户") - private boolean toAllUser; - - @Schema(description = "接收者的userid列表,最大用户列表长度1000") - private List<String> useridList; - - @Schema(description = "接收者的部门id列表,最大列表长度100") - private List<String> deptIdList; - - @Schema(description = "接收者的部门id列表,最大列表长度100") - private List<String> tagList; - - @Schema(description = "是否是保密消息") - private boolean safe; - - public void process(WxCpMessage wxCpMessage) { - wxCpMessage.setSafe(safe ? "1" : "0"); - if (toAllUser) { - wxCpMessage.setToUser("@all"); - return; - } - if (CollUtil.isNotEmpty(useridList)) { - wxCpMessage.setToUser(String.join("|", useridList)); - } - if (CollUtil.isNotEmpty(deptIdList)) { - wxCpMessage.setToParty(String.join("|", deptIdList)); - } - if (CollUtil.isNotEmpty(tagList)) { - wxCpMessage.setToTag(String.join("|", tagList)); - } - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComFileMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComFileMsg.java deleted file mode 100644 index 41b16ca2..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComFileMsg.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企微文件消息") -public class WeComFileMsg implements WeComMsg { - - @Schema(description = "资源id") - private String mediaId; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.FILE().mediaId(mediaId).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComImageMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComImageMsg.java deleted file mode 100644 index 7dbc5189..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComImageMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微图片消息") -public class WeComImageMsg implements WeComMsg { - - @Schema(description = "资源id") - private String mediaId; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.IMAGE().mediaId(mediaId).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMarkdownMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMarkdownMsg.java deleted file mode 100644 index cfd8f6d4..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMarkdownMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微markdown消息") -public class WeComMarkdownMsg implements WeComMsg { - - @Schema(description = "markdown消息") - private String content; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.MARKDOWN().content(content).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMpNewsMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMpNewsMsg.java deleted file mode 100644 index 27663e7c..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMpNewsMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.hutool.core.util.ArrayUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.article.MpnewsArticle; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -import java.util.List; - -/** - * mpnews类型的图文消息,跟普通的图文消息一致,唯一的差异是图文内容存储在企业微信。 多次发送mpnews,会被认为是不同的图文,阅读、点赞的统计会被分开计算。 - * - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "图文消息(mpnews)") -public class WeComMpNewsMsg implements WeComMsg { - - @Schema(description = "图文内容列表") - private List<MpnewsArticle> articles; - - @Override - public WxCpMessage toMsg() { - if (CollUtil.isEmpty(articles)) { - throw new BizException("图文内容列表不可为空"); - } - MpnewsArticle[] newArticles = ArrayUtil.toArray(articles, MpnewsArticle.class); - return WxCpMessage.MPNEWS().addArticle(newArticles).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMsg.java deleted file mode 100644 index 7f4a5825..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMsg.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * 企业微信通知消息 - * - * @author xxm - * @since 2022/7/23 - */ -public interface WeComMsg { - - /** - * 转换成企业微信格式的消息 - * @return - */ - WxCpMessage toMsg(); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComNewsMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComNewsMsg.java deleted file mode 100644 index b74b443d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComNewsMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.hutool.core.util.ArrayUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.article.NewArticle; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -import java.util.List; - -/** - * 暂未支持 - * - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "图文消息") -public class WeComNewsMsg implements WeComMsg { - - @Schema(description = "图文内容列表") - private List<NewArticle> articles; - - @Override - public WxCpMessage toMsg() { - if (CollUtil.isEmpty(articles)) { - throw new BizException("图文内容列表不可为空"); - } - NewArticle[] newArticles = ArrayUtil.toArray(articles, NewArticle.class); - return WxCpMessage.NEWS().addArticle(newArticles).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComRobotReceive.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComRobotReceive.java deleted file mode 100644 index ddad5674..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComRobotReceive.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 企微机器人接收人配置 - * - * @author xxm - * @since 2022/7/24 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企微机器人接收人配置") -public class WeComRobotReceive { - - List<String> mentionedList; - - List<String> mobileList; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextCardMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextCardMsg.java deleted file mode 100644 index cf5e7295..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextCardMsg.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "文本卡片消息") -public class WeComTextCardMsg implements WeComMsg { - - @Schema(description = "标题") - private String title; - - @Schema(description = "描述") - private String description; - - @Schema(description = "点击后跳转的链接") - private String url; - - @Schema(description = "按钮文字") - private String btnTxt; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.TEXTCARD().title(title).description(description).url(url).btnTxt(btnTxt).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextMsg.java deleted file mode 100644 index 0bf517c0..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "文本消息") -public class WeComTextMsg implements WeComMsg { - - @Schema(description = "文本内容") - private String content; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.TEXT().content(content).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVideoMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVideoMsg.java deleted file mode 100644 index 662a419d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVideoMsg.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微视频消息") -public class WeComVideoMsg implements WeComMsg { - - @Schema(description = "视频消息的标题") - private String title; - - @Schema(description = "资源id") - private String mediaId; - - @Schema(description = "视频消息的描述") - private String description; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.VIDEO().title(title).mediaId(mediaId).description(description).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVoiceMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVoiceMsg.java deleted file mode 100644 index 04d7def4..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVoiceMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微语音消息") -public class WeComVoiceMsg implements WeComMsg { - - @Schema(description = "资源id") - private String mediaId; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.VOICE().mediaId(mediaId).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComNoticeSenderImpl.java deleted file mode 100644 index 0454ec56..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComNoticeSenderImpl.java +++ /dev/null @@ -1,139 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.service; - -import cn.bootx.platform.notice.core.wecom.entity.msg.*; -import cn.bootx.platform.notice.service.WeComNoticeSender; -import cn.bootx.platform.starter.wecom.core.notice.service.WeComNoticeService; -import cn.bootx.platform.notice.core.wecom.entity.WeComNoticeParam; -import cn.bootx.platform.notice.core.wecom.entity.WeComNoticeReceive; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import org.springframework.stereotype.Service; - -import java.io.InputStream; - -/** - * 实现类 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComNoticeSenderImpl implements WeComNoticeSender { - - private final WeComNoticeService weComNoticeService; - - /** - * 发送文本消息 - */ - @Override - public String sendTextNotice(WeComTextMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图片消息 - */ - @Override - public String sendImageNotice(WeComImageMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图片消息 (传入文件) - */ - @Override - public String sendImageNotice(InputStream inputStream, WeComNoticeReceive receive) { - String media = weComNoticeService.updatedMedia(inputStream, WxConsts.MediaFileType.IMAGE); - WeComImageMsg msg = new WeComImageMsg(media); - return this.sendNotice(msg, receive); - } - - /** - * 发送语音消息 - */ - @Override - public String sendVoiceNotice(WeComVoiceMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送语音消息(传入文件) - */ - @Override - public String sendVoiceNotice(InputStream inputStream, WeComNoticeReceive receive) { - String media = weComNoticeService.updatedMedia(inputStream, WxConsts.MediaFileType.VOICE); - WeComVoiceMsg msg = new WeComVoiceMsg(media); - return this.sendNotice(msg, receive); - } - - /** - * 发送视频消息 (传入文件) - */ - @Override - public String sendVideoNotice(String title, String description, InputStream inputStream, - WeComNoticeReceive receive) { - String media = weComNoticeService.updatedMedia(inputStream, WxConsts.MediaFileType.VIDEO); - WeComVideoMsg msg = new WeComVideoMsg(title, media, description); - return this.sendNotice(msg, receive); - } - - /** - * 发送视频消息 - */ - @Override - public String sendVideoNotice(WeComVideoMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送文本卡片消息 - */ - @Override - public String sendTextCardNotice(WeComTextCardMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图文消息 - */ - @Override - public String sendNewsNotice(WeComNewsMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图文消息(mpnews) - */ - @Override - public String sendMpNewsNotice(WeComMpNewsMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送markdown消息 - */ - @Override - public String sendMarkdownNotice(WeComMarkdownMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送企微信息 - */ - private String sendNotice(WeComMsg msg, WeComNoticeReceive receive) { - WeComNoticeParam weComNoticeParam = new WeComNoticeParam(receive, msg); - return weComNoticeService.sendNotice(weComNoticeParam.toWeComNotice()); - } - - /** - * 撤回企微消息 - */ - @Override - public void recallNotice(String msgId) { - weComNoticeService.recallNotice(msgId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComRobotNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComRobotNoticeSenderImpl.java deleted file mode 100644 index ae141917..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComRobotNoticeSenderImpl.java +++ /dev/null @@ -1,101 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.service; - -import cn.bootx.platform.notice.service.WeComRobotNoticeSender; -import cn.bootx.platform.starter.wecom.core.robot.service.WeComRobotNoticeService; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.io.IoUtil; -import cn.hutool.crypto.digest.DigestUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.cp.bean.article.NewArticle; -import org.springframework.stereotype.Service; - -import java.io.InputStream; -import java.util.List; - -/** - * 微信机器人消息发送 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComRobotNoticeSenderImpl implements WeComRobotNoticeSender { - - private final WeComRobotNoticeService robotNoticeService; - - /** - * 发送文本消息 - */ - @Override - public void sendTextNotice(String code, String content, List<String> mentionedList, List<String> mobileList) { - robotNoticeService.sendTextNotice(code, content, mentionedList, mobileList); - } - - /** - * 发送markdown消息 - */ - @Override - public void sendMarkdownNotice(String code, String content) { - robotNoticeService.sendMarkdownNotice(code, content); - } - - /** - * 发送图片消息 - */ - @Override - public void sendImageNotice(String code, String imageBase64, String md5) { - robotNoticeService.sendImageNotice(code, imageBase64, md5); - } - - /** - * 发送图片消息 - */ - @Override - public void sendImageNotice(String code, InputStream imageIs) { - byte[] bytes = IoUtil.readBytes(imageIs); - String md5 = DigestUtil.md5Hex(bytes); - String imageBase64 = Base64.encode(bytes); - robotNoticeService.sendImageNotice(code, imageBase64, md5); - } - - /** - * 发送图文消息 - */ - @Override - public void sendNewsNotice(String code, List<NewArticle> articleList) { - robotNoticeService.sendNewsNotice(code, articleList); - } - - /** - * 发送文件消息 - */ - @Override - public void sendFIleNotice(String code, String mediaId) { - robotNoticeService.sendFIleNotice(code, mediaId); - } - - /** - * 发送文件消息 - */ - @SneakyThrows - @Override - public void sendFIleNotice(String code, InputStream fileIs) { - String mediaId = robotNoticeService.updatedMedia(code, fileIs); - robotNoticeService.sendFIleNotice(code, mediaId); - } - - /** - * 发送文件消息 - */ - @SneakyThrows - @Override - public void sendFIleNotice(String code, InputStream inputStream, String filename) { - String mediaId = robotNoticeService.updatedMedia(code, inputStream, filename); - robotNoticeService.sendFIleNotice(code, mediaId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/BaseMailParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/BaseMailParam.java deleted file mode 100644 index acd5b20b..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/BaseMailParam.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 基础通知参数 - * - * @author xxm - * @since 2020/5/2 20:32 - */ -@Data -@Accessors(chain = true) -public class BaseMailParam implements Serializable { - - private static final long serialVersionUID = 5270841506064102447L; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailConfigDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailConfigDto.java deleted file mode 100644 index 61a088ba..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailConfigDto.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.notice.code.MailCode; -import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2020/5/2 14:42 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "邮箱配置") -@Accessors(chain = true) -public class MailConfigDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = 2322690493233843789L; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @Schema(description = "地址") - private String host; - - @Schema(description = "端口") - private Integer port; - - @Schema(description = "账号") - @SensitiveInfo - private String username; - - @Schema(description = "password") - @SensitiveInfo(SensitiveInfo.SensitiveType.PASSWORD) - private String password; - - @Schema(description = "sender") - private String sender; - - @Schema(description = "from") - private String from; - - @Schema(description = "是否默认配置") - private Boolean activity = false; - - /** - * @see MailCode - */ - @Schema(description = "安全方式") - private Integer securityType; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailFileParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailFileParam.java deleted file mode 100644 index 92c71590..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailFileParam.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 邮件附件参数 - * - * @author xxm - * @since 2020/5/2 20:33 - */ -@Data -@Accessors(chain = true) -public class MailFileParam { - - /** - * 文件名称 - */ - private String fileName; - - /** - * 文件后缀 - */ - private String fileExtend; - - /** - * 文件大小 - */ - private int fileSize; - - /** - * 文件流 - */ - private byte[] fileInputStream; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailTemplateDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailTemplateDto.java deleted file mode 100644 index 2344a3d6..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailTemplateDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "邮件模板") -public class MailTemplateDto extends BaseDto { - - @Schema(description = "编码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "内容") - private String date; - - @Schema(description = "路径") - private String path; - - @Schema(description = "类型") - private Integer type; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/NoticeReceiverDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/NoticeReceiverDto.java deleted file mode 100644 index 9ae79384..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/NoticeReceiverDto.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 测试通知接收者管理 - * - * @author xxm - * @since 2020/5/3 10:56 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(title = "通知接收者配置dto") -@Data -@Accessors(chain = true) -public class NoticeReceiverDto extends BaseDto { - - /** - * 通知类型常量 - */ - public static final int NOTICE_TYPE_PHONE = 1; - - public static final int NOTICE_TYPE_EMAIL = 2; - - public static final int NOTICE_TYPE_WECHAT = 3; - - @Schema(description = "联系方式类型,(1:电话,2:邮件,3:微信)") - @NotNull - private Integer type; - - @Schema(description = "联系方式") - @NotNull - @Size(max = 255, message = "value max length is 255") - private String value; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/SendMailParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/SendMailParam.java deleted file mode 100644 index b4a16319..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/SendMailParam.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.List; - -/** - * 发邮件的参数 - * - * @author xxm - * @since 2020/5/2 20:31 - */ -@Schema(title = "发邮件的参数") -@Data -@Accessors(chain = true) -public class SendMailParam implements Serializable { - - private static final long serialVersionUID = 7472189938984313186L; - - @Schema(description = "配置编号") - private String configCode; - - @Schema(description = "标题") - @NotNull(message = "主题不能为空") - private String subject; - - @Schema(description = "消息") - @NotNull(message = "消息不能为空") - private String message; - - @Schema(description = "接收人") - @NotNull(message = "接收人不能为空") - private List<String> to; - - @Schema(description = "抄送人列表") - private List<String> ccList; - - @Schema(description = "密送") - private List<String> bccList; - - @Schema(description = "是否单条发送(拆分收件人) 默认true") - private Boolean singleSend = true; - - @Schema(description = "是否包含附件") - private boolean sendAttachment; - - @Schema(description = "附件列表") - private List<MailFileParam> fileList; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/ToUserRequiredMailParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/ToUserRequiredMailParam.java deleted file mode 100644 index 0b3a85d2..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/ToUserRequiredMailParam.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * touser 必需时使用的参数 - * - * @author xxm - * @since 2020/5/2 20:32 - */ -@Data -@Accessors(chain = true) -public abstract class ToUserRequiredMailParam implements Serializable { - - private static final long serialVersionUID = 248630938901130468L; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/site/SiteMessageDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/site/SiteMessageDto.java deleted file mode 100644 index 46b3cdf9..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/site/SiteMessageDto.java +++ /dev/null @@ -1,58 +0,0 @@ -package cn.bootx.platform.notice.dto.site; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.notice.code.SiteMessageCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "站内信") -public class SiteMessageDto extends BaseDto { - - @Schema(description = "消息标题") - private String title; - - @Schema(description = "消息内容") - private String content; - - /** - * @see SiteMessageCode#RECEIVE_ALL - */ - @Schema(description = "接收对象类型 全体/指定用户") - private String receiveType; - - /** - * @see SiteMessageCode#STATE_SENT - */ - @Schema(description = "发布状态") - private String sendState; - - @Schema(description = "发送者id") - private Long senderId; - - @Schema(description = "发送者姓名") - private String senderName; - - @Schema(description = "发送时间") - private LocalDateTime senderTime; - - @Schema(description = "撤销时间") - private LocalDateTime cancelTime; - - @Schema(description = "截至有效期 有效超过有效期后全体通知将无法看到") - private LocalDate efficientTime; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsChannelConfigDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsChannelConfigDto.java deleted file mode 100644 index 495b0659..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsChannelConfigDto.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.notice.dto.sms; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023-08-04 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "短信渠道配置") -@Accessors(chain = true) -public class SmsChannelConfigDto extends BaseDto { - - @Schema(description = "渠道类型编码") - private String code; - @Schema(description = "渠道类型名称") - private String name; - @Schema(description = "状态") - private String state; - @Schema(description = "AccessKey") - private String accessKey; - @Schema(description = "AccessSecret") - private String accessSecret; - @Schema(description = "配置") - private String config; - @Schema(description = "排序") - private Double sortNo; - @Schema(description = "图片") - private Long image; - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsTemplateDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsTemplateDto.java deleted file mode 100644 index 5dd0d135..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsTemplateDto.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.dto.sms; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "短信模板配置") -@Accessors(chain = true) -public class SmsTemplateDto extends BaseDto { - - @Schema(description = "短信渠道商类型") - private String supplierType; - @Schema(description = "短信模板id") - private String templateId; - @Schema(description = "短信模板名称") - private String name; - @Schema(description = "短信模板内容") - private String content; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/template/MessageTemplateDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/template/MessageTemplateDto.java deleted file mode 100644 index e330b292..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/template/MessageTemplateDto.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.bootx.platform.notice.dto.template; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.notice.code.MessageTemplateCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/10 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "消息模板") -public class MessageTemplateDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = -1377790220501836009L; - - /** 编码 */ - private String code; - - /** 名称 */ - private String name; - - /** 内容 */ - private String data; - - /** 备注 */ - private String remark; - - /** - * 模板类型 - * @see MessageTemplateCode - */ - private String type; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/wechat/WeChatNoticeConfigDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/wechat/WeChatNoticeConfigDto.java deleted file mode 100644 index d60fcd49..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/wechat/WeChatNoticeConfigDto.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.bootx.platform.notice.dto.wechat; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 微信通知配置 - * - * @author xxm - * @since 2021/8/10 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "微信通知配置") -public class WeChatNoticeConfigDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = 4862614438727322307L; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelAddEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelAddEvent.java deleted file mode 100644 index dcbedc55..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelAddEvent.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信渠道添加事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelAddEvent extends ApplicationEvent { - private final SmsChannelConfigDto channelConfig; - - public SmsChannelAddEvent(Object source, SmsChannelConfigDto channelConfig) { - super(source); - this.channelConfig = channelConfig; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelDisableEnableEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelDisableEnableEvent.java deleted file mode 100644 index 81261da4..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelDisableEnableEvent.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信通道停用事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelDisableEnableEvent extends ApplicationEvent { - private final String code; - - public SmsChannelDisableEnableEvent(Object source, String code) { - super(source); - this.code = code; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelEnableEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelEnableEvent.java deleted file mode 100644 index 21fd75b8..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelEnableEvent.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信通道启用事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelEnableEvent extends ApplicationEvent { - private final String code; - - public SmsChannelEnableEvent(Object source, String code) { - super(source); - this.code = code; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelUpdateEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelUpdateEvent.java deleted file mode 100644 index 44b2102c..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelUpdateEvent.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信渠道更新事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelUpdateEvent extends ApplicationEvent { - private final SmsChannelConfigDto channelConfig; - - public SmsChannelUpdateEvent(Object source, SmsChannelConfigDto channelConfig) { - super(source); - this.channelConfig = channelConfig; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/CodeTemplateExistedException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/CodeTemplateExistedException.java deleted file mode 100644 index df47db07..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/CodeTemplateExistedException.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.BizException; - -import java.io.Serializable; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_CONFIG_CODE_ALREADY_EXISTED; - -/** - * 邮箱代码已经存在 - * - * @author xxm - * @since 2020/6/10 16:21 - */ -public class CodeTemplateExistedException extends BizException implements Serializable { - - private static final long serialVersionUID = 6804308428872546951L; - - public CodeTemplateExistedException() { - super(MAIL_CONFIG_CODE_ALREADY_EXISTED, "邮箱代码已经存在."); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/DefaultMailConfigAlreadyExistedException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/DefaultMailConfigAlreadyExistedException.java deleted file mode 100644 index 4aac9e62..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/DefaultMailConfigAlreadyExistedException.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.BizException; - -import java.io.Serializable; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.DEFAULT_MAIL_CONFIG_ALREADY_EXISTED; - -/** - * 默认邮箱配置 已存在异常 - * - * @author xxm - * @since 2020/5/2 14:43 - */ -public class DefaultMailConfigAlreadyExistedException extends BizException implements Serializable { - - private static final long serialVersionUID = 2775127389987392832L; - - public DefaultMailConfigAlreadyExistedException() { - super(DEFAULT_MAIL_CONFIG_ALREADY_EXISTED, "默认邮箱配置已存在"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigCodeAlreadyExistedException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigCodeAlreadyExistedException.java deleted file mode 100644 index 10042413..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigCodeAlreadyExistedException.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.BizException; - -import java.io.Serializable; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_CONFIG_CODE_ALREADY_EXISTED; - -/** - * 邮箱配置编号 已存在异常 - * - * @author xxm - * @since 2020/5/2 14:12 - */ -public class MailConfigCodeAlreadyExistedException extends BizException implements Serializable { - - private static final long serialVersionUID = 6572063368550031815L; - - public MailConfigCodeAlreadyExistedException() { - super(MAIL_CONFIG_CODE_ALREADY_EXISTED, "邮箱配置编号 已存在异常"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigNotExistException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigNotExistException.java deleted file mode 100644 index a1ee1c4b..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigNotExistException.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.FatalException; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_CONFIG_NOT_EXIST; - -/** - * 邮箱配置不存在异常 - */ -public class MailConfigNotExistException extends FatalException { - - public MailConfigNotExistException() { - super(MAIL_CONFIG_NOT_EXIST, "邮箱配置不存在异常"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailTemplateNotExistException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailTemplateNotExistException.java deleted file mode 100644 index 1e58621b..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailTemplateNotExistException.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.FatalException; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_TEMPLATE_NOT_EXIST; - -/** - * 模板不存在 - * - * @author xxm - * @since 2020/11/18 - */ -public class MailTemplateNotExistException extends FatalException { - - public MailTemplateNotExistException() { - super(MAIL_TEMPLATE_NOT_EXIST, "邮箱模板不存在异常"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailConfigParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailConfigParam.java deleted file mode 100644 index 594e8e8b..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailConfigParam.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.bootx.platform.notice.param.mail; - -import cn.bootx.platform.notice.code.MailCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2020/5/2 14:42 - */ -@Data -@Schema(title = "邮箱配置 DTO") -public class MailConfigParam implements Serializable { - - private static final long serialVersionUID = 2322690493233843789L; - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @Schema(description = "邮箱服务器 host") - private String host; - - @Schema(description = "邮箱服务器 port") - private Integer port; - - @Schema(description = "邮箱服务器 username") - private String username; - - @Schema(description = "邮箱服务器 password") - private String password; - - @Schema(description = "邮箱服务器 sender") - private String sender; - - @Schema(description = "邮箱服务器 from") - private String from; - - @Schema(description = "是否默认配置") - private Boolean activity = false; - - @Schema(description = "安全方式") - private Integer securityType = MailCode.SECURITY_TYPE_PLAIN; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailTemplateParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailTemplateParam.java deleted file mode 100644 index e2133596..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailTemplateParam.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.notice.param.mail; - -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 邮件模板 - * - * @author xxm - * @since 2021/8/5 - */ -@Data -@Accessors(chain = true) -@Schema(title = "邮件模板") -public class MailTemplateParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "编码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "内容") - private String date; - - @Schema(description = "路径") - private String path; - - @Schema(description = "类型") - private Integer type; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/site/SendSiteMessageParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/site/SendSiteMessageParam.java deleted file mode 100644 index 152df426..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/site/SendSiteMessageParam.java +++ /dev/null @@ -1,65 +0,0 @@ -package cn.bootx.platform.notice.param.site; - -import cn.bootx.platform.notice.code.SiteMessageCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.time.LocalDate; -import java.util.List; - -/** - * 站内信发送参数 - * - * @author xxm - * @since 2021/8/8 - */ -@Data -@Accessors(chain = true) -@Schema(title = "站内信发送参数") -public class SendSiteMessageParam { - - /** 主键 */ - private Long id; - - /** 消息标题 */ - private String title; - - /** 消息内容 */ - private String content; - - /** 发送者id */ - private Long senderId; - - /** 发送者姓名 */ - private String senderName; - - /** - * 接收者类型 - * @see SiteMessageCode#RECEIVE_ALL - */ - private String receiveType; - - /** 接收者id */ - private List<Long> receiveIds; - - /** 截至有效期 接收值为全体的时候必填写, 超过有效期后 */ - private LocalDate efficientTime; - - /** 用户处理方式 跳转路由/跳转链接/打开组件 */ - private String handleType; - - @Data - @Accessors(chain = true) - @Schema(title = "接收用户信息") - public static class User { - - /** 接收者id */ - private Long receiveId; - - /** 接收者姓名 */ - private String receiveName; - - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsChannelConfigParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsChannelConfigParam.java deleted file mode 100644 index 960b7019..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsChannelConfigParam.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.notice.param.sms; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023-08-04 - */ -@Data -@Schema(title = "短信渠道配置") -@Accessors(chain = true) -public class SmsChannelConfigParam { - - @Schema(description= "主键") - private Long id; - - @Schema(description = "渠道类型编码") - private String code; - @Schema(description = "渠道类型名称") - private String name; - @Schema(description = "状态") - private String state; - @Schema(description = "AccessKey") - private String accessKey; - @Schema(description = "AccessSecret") - private String accessSecret; - @Schema(description = "图片") - private Long image; - @Schema(description = "排序") - private Double sortNo; - @Schema(description = "配置") - private String config; - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsTemplateParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsTemplateParam.java deleted file mode 100644 index 2b88b36e..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsTemplateParam.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.param.sms; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Data -@Schema(title = "短信模板配置") -@Accessors(chain = true) -public class SmsTemplateParam { - - @Schema(description= "主键") - private Long id; - - @Schema(description = "短信渠道商类型") - private String supplierType; - @Schema(description = "短信模板id") - private String templateId; - @Schema(description = "短信模板名称") - private String name; - @Schema(description = "短信模板内容") - private String content; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/template/MessageTemplateParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/template/MessageTemplateParam.java deleted file mode 100644 index 3002ff1f..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/template/MessageTemplateParam.java +++ /dev/null @@ -1,49 +0,0 @@ -package cn.bootx.platform.notice.param.template; - -import cn.bootx.platform.notice.code.MessageTemplateCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2021/8/10 - */ -@Data -@Accessors(chain = true) -@Schema(title = "消息模板") -public class MessageTemplateParam implements Serializable { - - private static final long serialVersionUID = 593034193370220643L; - - @Schema(description = "主键") - private Long id; - - /** - * 编码 - */ - private String code; - - /** - * 名称 - */ - private String name; - - /** - * 内容 - */ - private String data; - - /** - * 备注 - */ - private String remark; - - /** - * 模板类型 - * @see MessageTemplateCode - */ - private String type; -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingRobotNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingRobotNoticeSender.java deleted file mode 100644 index c8efdb2e..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingRobotNoticeSender.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.LinkMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.MarkdownMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.TextMsg; - -/** - * 钉钉机器人消息通知 - * - * @author xxm - * @since 2022/7/16 - */ -public interface DingRobotNoticeSender { - - /** - * 简单文本消息发送 - */ - void sendSimpleText(String code, String msg); - - /** - * 文本消息发送 - */ - void sendText(String code, TextMsg dingTalkTextNotice); - - /** - * 发送链接消息 - */ - void sendLink(String code, LinkMsg notice); - - /** - * 发送Markdown消息 - */ - void sendMarkdown(String code, MarkdownMsg notice); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingTalkNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingTalkNoticeSender.java deleted file mode 100644 index 5041b6b9..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingTalkNoticeSender.java +++ /dev/null @@ -1,155 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeReceive; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeUpdate; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.*; - -import java.io.InputStream; - -/** - * 钉钉消息通知服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface DingTalkNoticeSender { - - /** - * 发送文本消息 - * @return 发布消息任务ID - */ - Long sendTextCorpNotice(DingTextMsg dingTextMsg, DingCorpNoticeReceive receive); - - /** - * 发送图片消息 - * @return 发布消息任务ID - */ - Long sendImageCorpNotice(DingImageMsg dingImageMsg, DingCorpNoticeReceive receive); - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - Long sendImageCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive); - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - Long sendImageCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive); - - /** - * 发送语音消息 - * @return 发布消息任务ID - */ - Long sendVoiceCorpNotice(DingVoiceMsg dingVoiceMsg, DingCorpNoticeReceive receive); - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - Long sendVoiceCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive); - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - Long sendVoiceCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive); - - /** - * 发送文件消息 - * @return 发布消息任务ID - */ - Long sendFileCorpNotice(DingFileMsg dingFileMsg, DingCorpNoticeReceive receive); - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - Long sendFileCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive); - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - Long sendFileCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive); - - /** - * 发送链接消息 - * @return 发布消息任务ID - */ - Long sendLinkCorpNotice(DingLinkMsg dingLinkMsg, DingCorpNoticeReceive receive); - - /** - * 发送OA消息 - * @return 发布消息任务ID - */ - Long sendOaCorpNotice(DingOaMsg dingOaMsg, DingCorpNoticeReceive receive); - - /** - * 发送markdown消息 - */ - Long sendMarkDownCorpNotice(DingMarkDownMsg dingMarkDownMsg, DingCorpNoticeReceive receive); - - /** - * 发送卡片消息 - */ - Long sendActionCardCorpNotice(DingActionCardMsg dingActionCardMsg, DingCorpNoticeReceive receive); - - /** - * 更新OA工作通知消息 - */ - void updateOaCorpNotice(DingCorpNoticeUpdate updateCorpNotice); - - /** - * 撤回工作通知消息 - */ - void recallCorpNotice(Long msgTaskId); - - /** - * 发送文本企业群消息 - * @return 发布企业群消息ID - */ - String sendTextChatNotice(DingTextMsg dingTextMsg, String chatId); - - /** - * 发送图片企业群消息 - * @return 发布企业群消息ID - */ - String sendImageChatNotice(DingImageMsg dingImageMsg, String chatId); - - /** - * 发送语音企业群消息 - * @return 发布企业群消息ID - */ - String sendVoiceChatNotice(DingVoiceMsg dingVoiceMsg, String chatId); - - /** - * 发送文件企业群消息 - * @return 发布企业群消息ID - */ - String sendFileChatNotice(DingFileMsg dingFileMsg, String chatId); - - /** - * 发送链接企业群消息 - * @return 发布企业群消息ID - */ - String sendLinkChatNotice(DingLinkMsg dingLinkMsg, String chatId); - - /** - * 发送OA企业群消息 - * @return 发布企业群消息ID - */ - String sendOaChatNotice(DingOaMsg dingOaMsg, String chatId); - - /** - * 发送markdown企业群消息 - */ - String sendMarkDownChatNotice(DingMarkDownMsg dingMarkDownMsg, String chatId); - - /** - * 发送卡片企业群消息 - */ - String sendActionCardChatNotice(DingActionCardMsg dingActionCardMsg, String chatId); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/EmailNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/EmailNoticeSender.java deleted file mode 100644 index 49d50ffd..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/EmailNoticeSender.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.notice.dto.mail.SendMailParam; - -/** - * 邮件发送服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface EmailNoticeSender { - - /** - * 简单邮件发送 - * @param email 邮件地址 - * @param subject 邮件标题 - * @param msg 邮件消息 - */ - void sentSimpleMail(String email, String subject, String msg); - - /** - * 标准邮件发送方式 - */ - void sendMail(SendMailParam mailParam); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/SmsNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/SmsNoticeSender.java deleted file mode 100644 index bddc1765..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/SmsNoticeSender.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.bootx.platform.notice.service; - -/** - * 短信通知服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface SmsNoticeSender { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeChatNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeChatNoticeSender.java deleted file mode 100644 index ccdf917c..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeChatNoticeSender.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.bootx.platform.notice.service; - -/** - * 微信消息服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeChatNoticeSender { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComNoticeSender.java deleted file mode 100644 index ff028d87..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComNoticeSender.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.notice.core.wecom.entity.WeComNoticeReceive; -import cn.bootx.platform.notice.core.wecom.entity.msg.*; - -import java.io.InputStream; - -/** - * 企业微信通知服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeComNoticeSender { - - /** - * 发送文本消息 - */ - String sendTextNotice(WeComTextMsg msg, WeComNoticeReceive receive); - - /** - * 发送图片消息 - */ - String sendImageNotice(WeComImageMsg msg, WeComNoticeReceive receive); - - /** - * 发送图片消息 (传入文件) - */ - String sendImageNotice(InputStream inputStream, WeComNoticeReceive receive); - - /** - * 发送语音消息 - */ - String sendVoiceNotice(WeComVoiceMsg msg, WeComNoticeReceive receive); - - /** - * 发送语音消息(传入文件) - */ - String sendVoiceNotice(InputStream inputStream, WeComNoticeReceive receive); - - /** - * 发送视频消息 (传入文件) - */ - String sendVideoNotice(String title, String description, InputStream inputStream, WeComNoticeReceive receive); - - /** - * 发送视频消息 - */ - String sendVideoNotice(WeComVideoMsg msg, WeComNoticeReceive receive); - - /** - * 发送文本卡片消息 - */ - String sendTextCardNotice(WeComTextCardMsg msg, WeComNoticeReceive receive); - - /** - * 发送图文消息 - */ - String sendNewsNotice(WeComNewsMsg msg, WeComNoticeReceive receive); - - /** - * 发送图文消息(mpnews) - */ - String sendMpNewsNotice(WeComMpNewsMsg msg, WeComNoticeReceive receive); - - /** - * 发送markdown消息 - */ - String sendMarkdownNotice(WeComMarkdownMsg msg, WeComNoticeReceive receive); - - /** - * 撤回企微消息 - */ - void recallNotice(String msgId); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComRobotNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComRobotNoticeSender.java deleted file mode 100644 index acde17ea..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComRobotNoticeSender.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.bootx.platform.notice.service; - -import me.chanjar.weixin.cp.bean.article.NewArticle; - -import java.io.InputStream; -import java.util.List; - -/** - * 企业微信机器人配置 - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeComRobotNoticeSender { - - /** - * 发送文本消息 - */ - void sendTextNotice(String code, String content, List<String> mentionedList, List<String> mobileList); - - /** - * 发送markdown消息 - */ - void sendMarkdownNotice(String code, String content); - - /** - * 发送图片消息 - */ - void sendImageNotice(String code, String imageBase64, String md5); - - /** - * 发送图片消息 - */ - - void sendImageNotice(String code, InputStream imageIs); - - /** - * 发送图文消息 - */ - void sendNewsNotice(String code, List<NewArticle> articleList); - - /** - * 发送文件消息 - */ - void sendFIleNotice(String code, String mediaId); - - /** - * 发送文件消息 - */ - void sendFIleNotice(String code, InputStream fileIs); - - /** - * 发送文件消息 - */ - void sendFIleNotice(String code, InputStream inputStream, String filename); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-services/service-notice/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index ffdfb163..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.notice.NoticeApplication diff --git a/bootx-platform/bootx-services/service-notice/src/main/resources/mapper/SiteMessageMapper.xml b/bootx-platform/bootx-services/service-notice/src/main/resources/mapper/SiteMessageMapper.xml deleted file mode 100644 index 2dedc17d..00000000 --- a/bootx-platform/bootx-services/service-notice/src/main/resources/mapper/SiteMessageMapper.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="cn.bootx.platform.notice.core.site.dao.SiteMessageMapper"> - - <select id="pageMassage" resultType="cn.bootx.platform.notice.core.site.domain.SiteMessageInfo"> - select - nsm.id as id, - nsm.title as title, - nsm.sender_id as senderId, - nsm.sender_name as senderName, - nsm.sender_time as senderTime, - nsm.receive_type as receiveType, - nsm.efficient_time as efficientTime, - nsm.send_state as sendState, - nsm.cancel_time as cancelTime, - nsmu.receive_id as receiveId, - nsmu.have_read as haveRead, - nsmu.read_time as readTime - from notice_site_message nsm - left join notice_site_message_user nsmu on nsm.id = nsmu.message_id - ${ew.customSqlSegment} - </select> - - <select id="countMassage" resultType="java.lang.Integer"> - select count(*) - from notice_site_message nsm - left join notice_site_message_user nsmu on nsm.id = nsmu.message_id - ${ew.customSqlSegment} - </select> - -</mapper> diff --git a/bootx-platform/pom.xml b/bootx-platform/pom.xml index 1eac7594..39834298 100644 --- a/bootx-platform/pom.xml +++ b/bootx-platform/pom.xml @@ -315,30 +315,12 @@ <artifactId>common-starter-quartz</artifactId> <version>${bootx-platform.version}</version> </dependency> - <!-- 钉钉对接模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-dingtalk</artifactId> - <version>${bootx-platform.version}</version> - </dependency> <!-- 系统监控信息 --> <dependency> <groupId>cn.bootx.platform</groupId> <artifactId>common-starter-monitor</artifactId> <version>${bootx-platform.version}</version> </dependency> - <!-- 微信对接模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wechat</artifactId> - <version>${bootx-platform.version}</version> - </dependency> - <!-- 企业微信对接模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wecom</artifactId> - <version>${bootx-platform.version}</version> - </dependency> <!-- SMS4J 短信发送--> <dependency> <groupId>org.dromara.sms4j</groupId> diff --git a/daxpay-single/daxpay-single-admin/pom.xml b/daxpay-single/daxpay-single-admin/pom.xml index bff5f318..497e06ba 100644 --- a/daxpay-single/daxpay-single-admin/pom.xml +++ b/daxpay-single/daxpay-single-admin/pom.xml @@ -47,13 +47,6 @@ <version>${bootx-platform.version}</version> </dependency> - <!-- 消息通知 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>service-notice</artifactId> - <version>${bootx-platform.version}</version> - </dependency> - <!-- 文件管理 --> <dependency> <groupId>cn.bootx.platform</groupId> diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java index 7389d4f1..67bbccaa 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java @@ -4,11 +4,12 @@ import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; import cn.daxpay.single.service.dto.system.config.PayChannelConfigDto; -import cn.daxpay.single.service.param.system.payinfo.PayChannelInfoParam; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -36,11 +37,4 @@ public class PayChannelConfigController { public ResResult<PayChannelConfigDto> findById(Long id){ return Res.ok(payChannelConfigService.findById(id)); } - - @Operation(summary = "更新") - @PostMapping("/update") - public ResResult<Void> update(@RequestBody PayChannelInfoParam param){ - payChannelConfigService.update(param); - return Res.ok(); - } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/WechatNoticeConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/WechatNoticeConfigController.java deleted file mode 100644 index e8b71be3..00000000 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/WechatNoticeConfigController.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.daxpay.single.admin.controller.system; - -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.daxpay.single.service.core.system.config.service.WechatNoticeConfigService; -import cn.daxpay.single.service.dto.system.config.WechatNoticeConfigDto; -import cn.daxpay.single.service.param.system.config.WechatNoticeConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -/** - * 微信消息通知配置 - * @author xxm - * @since 2024/1/2 - */ -@Tag(name = "微信消息通知配置") -@RestController -@RequestMapping("/wx/notice") -@RequiredArgsConstructor -public class WechatNoticeConfigController { - private final WechatNoticeConfigService configService; - - @Operation(summary = "获取微信消息通知配置") - @GetMapping("/getConfig") - public ResResult<WechatNoticeConfigDto> getConfig() { - return Res.ok(configService.getConfig().toDto()); - } - - @Operation(summary = "更新微信消息通知配置") - @PostMapping("/update") - public ResResult<Void> update(@RequestBody WechatNoticeConfigParam param) { - configService.update(param); - return Res.ok(); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/TradeNotifyTypeEnum.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/TradeNotifyTypeEnum.java new file mode 100644 index 00000000..ec935acf --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/TradeNotifyTypeEnum.java @@ -0,0 +1,24 @@ +package cn.daxpay.single.service.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 业务消息通知类型 + * 业务系统使用什么样的方式接收异步通知消息 + * @author xxm + * @since 2024/6/5 + */ +@Getter +@AllArgsConstructor +public enum TradeNotifyTypeEnum { + /** http */ + HTTP("http","http"), + /** websocket */ + WEBSOCKET("websocket","WebSocket"), + /** mq */ + MQ("mq","消息队列"); + + private final String code; + private final String name; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java index 5e568afc..b15e50c5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java @@ -15,12 +15,7 @@ public class ApiInfoLocal { /** 当前支付接口编码 */ private String apiCode; - /** 是否开启通知 */ - private boolean notice; - /** 回调地址 */ private String noticeUrl; - /** 请求参数是否签名 */ - private boolean reqSign; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/NoticeLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/NoticeLocal.java deleted file mode 100644 index e1716077..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/NoticeLocal.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.daxpay.single.service.common.context; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 支付通知(主动发起, 用于通知客户系统) - * @author xxm - * @since 2023/12/24 - */ -@Data -@Accessors(chain = true) -public class NoticeLocal { - - /** - * 异步回调地址 - * 如果系统关闭回调, 则通知地址为空 - * 如果传输参数中不进行回调为true, 则通知地址为空 - * 如果传输参数地址为空, 读取接口配置回调地址 - * 如果接口配置为空, 读取系统平台配置的回调地址 - */ - private String notifyUrl; - - /** - * 同步回调地址, 这个一定会触发, 只有支付会触发且无法关闭 - * 如果参数中不传输, 会自动读取系统平台配置的回调地址 - */ - private String returnUrl; - - /** 退出回调地址 */ - private String quitUrl; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java index 3379bce5..d6144f85 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java @@ -12,9 +12,6 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class PaymentContext { - /** 支付接口信息 */ - private final ApiInfoLocal apiInfo = new ApiInfoLocal();; - /** 平台全局配置 */ private final PlatformLocal platformInfo = new PlatformLocal(); @@ -24,9 +21,6 @@ public class PaymentContext { /** 退款相关信息 */ private final RefundLocal refundInfo = new RefundLocal(); - /** 消息通知(主动发起)相关信息 */ - private final NoticeLocal noticeInfo = new NoticeLocal(); - /** 回调相关信息 */ private final CallbackLocal callbackInfo = new CallbackLocal(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java index a90d0cee..fec3da9c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java @@ -25,8 +25,15 @@ public class PlatformLocal { /** 签名秘钥 */ private String signSecret; - /** 支付通知地址 */ - private String notifyUrl; + /** 是否对请求进行验签 */ + private boolean reqSign; + + /** 消息通知方式 */ + private String noticeType; + + /** 消息通知地址 */ + private String noticeUrl; + /** 支付同步跳转地址 */ private String returnUrl; @@ -36,4 +43,5 @@ public class PlatformLocal { /** 支付限额 */ private Integer limitAmount; + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java index fc295657..f1bad9ca 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java @@ -3,8 +3,6 @@ package cn.daxpay.single.service.common.context; import lombok.Data; import lombok.experimental.Accessors; -import java.time.LocalDateTime; - /** * 支付请求相关信息 * @author xxm @@ -17,10 +15,4 @@ public class RequestLocal { /** 客户端ip */ private String clientIp; - /** 签名 */ - private String sign; - - /** 请求时间,时间戳转时间 */ - private LocalDateTime reqTime; - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index 9e8f6425..f922fe2f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -3,7 +3,6 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; @@ -47,11 +46,6 @@ public class AliPayConfigService { @Transactional(rollbackFor = Exception.class) public void update(AliPayConfigParam param) { AliPayConfig alipayConfig = alipayConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("支付宝配置不存在")); - // 启用或停用 - if (!Objects.equals(param.getEnable(), alipayConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.ALI.getCode(), param.getEnable()); - } - BeanUtil.copyProperties(param, alipayConfig, CopyOptions.create().ignoreNullValue()); alipayConfigManager.updateById(alipayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index abeeeee9..0e1c474e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -6,7 +6,6 @@ import cn.daxpay.single.param.channel.AliPayParam; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; -import cn.daxpay.single.service.common.context.NoticeLocal; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; @@ -103,7 +102,6 @@ public class AliPayService { * wap支付 */ public String wapPay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); AlipayTradeWapPayModel model = new AlipayTradeWapPayModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); @@ -111,8 +109,6 @@ public class AliPayService { // 过期时间 model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); model.setProductCode(AliPayCode.QUICK_WAP_PAY); - // 中途退出地址 - model.setQuitUrl(noticeInfo.getQuitUrl()); // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java index 93e2508d..1a625740 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java @@ -2,7 +2,6 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.UnionPayWay; import cn.daxpay.single.service.core.channel.union.dao.UnionPayConfigManager; @@ -24,7 +23,6 @@ import org.springframework.transaction.annotation.Transactional; import java.io.ByteArrayInputStream; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** @@ -47,11 +45,6 @@ public class UnionPayConfigService { @Transactional(rollbackFor = Exception.class) public void update(UnionPayConfigParam param) { UnionPayConfig unionPayConfig = unionPayConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("支付宝配置不存在")); - // 启用或停用 - if (!Objects.equals(param.getEnable(), unionPayConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.UNION_PAY.getCode(), param.getEnable()); - } - BeanUtil.copyProperties(param, unionPayConfig, CopyOptions.create().ignoreNullValue()); unionPayConfigManager.updateById(unionPayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java index 33973de3..82596266 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java @@ -2,7 +2,6 @@ package cn.daxpay.single.service.core.channel.wallet.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.code.WalletPayWay; import cn.daxpay.single.service.core.channel.wallet.dao.WalletConfigManager; import cn.daxpay.single.service.core.channel.wallet.entity.WalletConfig; @@ -15,7 +14,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** @@ -56,10 +54,6 @@ public class WalletConfigService { @Transactional(rollbackFor = Exception.class) public void update(WalletConfigParam param){ WalletConfig walletConfig = walletConfigManager.findById(param.getId()).orElseThrow(DataNotExistException::new); - // 启用或停用 - if (!Objects.equals(param.getEnable(), walletConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.WALLET.getCode(), param.getEnable()); - } BeanUtil.copyProperties(param,walletConfig); walletConfigManager.updateById(walletConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java index f5a001f2..6ebccb34 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java @@ -2,11 +2,10 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.core.channel.wechat.dao.WeChatPayConfigManager; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; -import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; import cn.daxpay.single.service.param.channel.wechat.WeChatPayConfigParam; import cn.hutool.core.bean.BeanUtil; @@ -17,7 +16,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** @@ -41,10 +39,6 @@ public class WeChatPayConfigService { @Transactional(rollbackFor = Exception.class) public void update(WeChatPayConfigParam param) { WeChatPayConfig weChatPayConfig = weChatPayConfigManager.findById(ID).orElseThrow(() -> new PayFailureException("微信支付配置不存在")); - // 启用或停用 - if (!Objects.equals(param.getEnable(), weChatPayConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.WECHAT.getCode(), param.getEnable()); - } BeanUtil.copyProperties(param, weChatPayConfig, CopyOptions.create().ignoreNullValue()); weChatPayConfigManager.updateById(weChatPayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java index 7692b5a9..d029eb10 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java @@ -6,8 +6,6 @@ import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.allocation.AllocReceiverParam; import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.service.common.context.NoticeLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; @@ -180,9 +178,8 @@ public class AllocationOrderService { allocationOrder.setId(allocId); // 分账订单扩展 - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); AllocationOrderExtra extend = new AllocationOrderExtra() - .setNotifyUrl(noticeInfo.getNotifyUrl()) + .setNotifyUrl(param.getNotifyUrl()) .setAttach(param.getAttach()); extend.setId(allocId); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java index 2a1d3741..5da06ec9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java @@ -4,7 +4,6 @@ import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.service.common.context.NoticeLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; @@ -59,11 +58,10 @@ public class PayBuilder { * @param payOrderId 支付订单id */ public PayOrderExtra buildPayOrderExtra(PayParam payParam, Long payOrderId) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); PayOrderExtra payOrderExtra = new PayOrderExtra() .setClientIp(payParam.getClientIp()) - .setNotifyUrl(noticeInfo.getNotifyUrl()) - .setReturnUrl(noticeInfo.getReturnUrl()) + .setNotifyUrl(payParam.getNotifyUrl()) + .setReturnUrl(payParam.getReturnUrl()) .setAttach(payParam.getAttach()) .setReqTime(payParam.getReqTime()); // 扩展参数 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java index 4257c846..3aa8055d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java @@ -1,20 +1,13 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.context.NoticeLocal; -import cn.daxpay.single.service.common.context.PlatformLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Objects; - /** * 分账支撑方法 * @author xxm @@ -28,44 +21,17 @@ public class AllocationAssistService { private final AllocationOrderExtraManager allocationOrderExtraManager; - /** - * 初始化通知相关上下文 - * 1. 异步通知参数: 读取参数配置 -> 读取接口配置 -> 读取平台参数 - * 2. 同步跳转参数: 读取参数配置 -> 读取平台参数 - * 3. 中途退出地址: 读取参数配置 - */ - public void initNotice(AllocationParam allocationParam) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); - ApiInfoLocal apiInfo = PaymentContextLocal.get().getApiInfo(); - PlatformLocal platform = PaymentContextLocal.get() - .getPlatformInfo(); - // 异步回调为开启状态 - if (!Objects.equals(allocationParam.getNotNotify(), false) && apiInfo.isNotice()){ - // 首先读取请求参数 - noticeInfo.setNotifyUrl(allocationParam.getNotifyUrl()); - // 读取接口配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(apiInfo.getNoticeUrl()); - } - // 读取平台配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(platform.getNotifyUrl()); - } - } - } /** * 根据新传入的分账订单更新订单和扩展信息 */ @Transactional(rollbackFor = Exception.class) public void updateOrder(AllocationParam allocationParam, AllocationOrderExtra orderExtra) { // 扩展信息 - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); orderExtra.setClientIp(allocationParam.getClientIp()) - .setNotifyUrl(noticeInfo.getNotifyUrl()) + .setNotifyUrl(allocationParam.getNotifyUrl()) .setAttach(allocationParam.getAttach()) .setClientIp(allocationParam.getClientIp()) .setReqTime(allocationParam.getReqTime()); - allocationOrderExtraManager.updateById(orderExtra); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index 0c12a9c4..81c974c4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -74,7 +74,6 @@ public class AllocationService { private final LockTemplate lockTemplate; - /** * 开启分账 多次请求只会分账一次 * 优先级 分账接收方列表 > 分账组编号 > 默认分账组 @@ -83,7 +82,6 @@ public class AllocationService { // 判断是否已经有分账订单 AllocationOrder allocationOrder = allocationOrderManager.findByBizAllocationNo(param.getBizAllocationNo()) .orElse(null); - allocationAssistService.initNotice(param); if (Objects.nonNull(allocationOrder)){ // 重复分账 return this.retryAllocation(param, allocationOrder); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java index 57fd9fc3..7fdc9921 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java @@ -5,7 +5,6 @@ import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.system.config.dao.PayApiConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayApiConfig; -import cn.daxpay.single.service.core.system.config.service.PayApiConfigService; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -26,8 +25,6 @@ import org.springframework.stereotype.Component; @RequiredArgsConstructor public class InitPlatformInfoAop { - private final PayApiConfigService payApiConfigService; - private final PayApiConfigManager payApiConfigManager; private final PlatformConfigService platformConfigService; @@ -44,8 +41,6 @@ public class InitPlatformInfoAop { if (!api.isEnable()){ throw new PayFailureException("该接口权限未开放"); } - // 设置接口信息 - payApiConfigService.initApiInfo(api); // 初始化平台信息 platformConfigService.initPlatform(); return pjp.proceed(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java index 93054f93..db4a98b9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java @@ -31,8 +31,6 @@ public class PaymentAssistService { */ public void initRequest(PaymentCommonParam paymentCommonParam){ RequestLocal request = PaymentContextLocal.get().getRequestInfo(); - request.setClientIp(paymentCommonParam.getClientIp()) - .setSign(paymentCommonParam.getSign()) - .setReqTime(paymentCommonParam.getReqTime()); + request.setClientIp(paymentCommonParam.getClientIp()); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java index 96ae3ecf..3fe7dc39 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java @@ -4,7 +4,6 @@ import cn.daxpay.single.code.PaySignTypeEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.PaymentCommonParam; import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.service.common.context.ApiInfoLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; @@ -36,10 +35,10 @@ public class PaymentSignService { public void verifySign(PaymentCommonParam param) { // 先触发上下文的初始化 paymentAssistService.initContext(param); - ApiInfoLocal apiInfo = PaymentContextLocal.get().getApiInfo(); + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); // 判断当前接口是否不需要签名 - if (!apiInfo.isReqSign()){ + if (!platformInfo.isReqSign()){ return; } // 参数转换为Map对象 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 8b5758b3..8d5273f6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -7,8 +7,6 @@ import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.result.pay.PayResult; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.context.NoticeLocal; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -58,8 +56,6 @@ public class PayAssistService { public void initPayContext(PayOrder order, PayParam payParam) { // 初始化支付订单超时时间 this.initExpiredTime(order, payParam); - // 初始化通知相关上下文 - this.initNotice(payParam); } @@ -93,42 +89,6 @@ public class PayAssistService { payInfo.setExpiredTime(paymentExpiredTime); } - /** - * 初始化通知相关上下文 - * 1. 异步通知参数: 读取参数配置 -> 读取接口配置 -> 读取平台参数 - * 2. 同步跳转参数: 读取参数配置 -> 读取平台参数 - * 3. 中途退出地址: 读取参数配置 - */ - private void initNotice(PayParam payParam) { - NoticeLocal noticeInfo = PaymentContextLocal.get() - .getNoticeInfo(); - ApiInfoLocal apiInfo = PaymentContextLocal.get() - .getApiInfo(); - PlatformLocal platform = PaymentContextLocal.get() - .getPlatformInfo(); - // 异步回调为开启状态 - if (!Objects.equals(payParam.getNotNotify(), false) && apiInfo.isNotice()) { - // 首先读取请求参数 - noticeInfo.setNotifyUrl(payParam.getNotifyUrl()); - // 读取接口配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(apiInfo.getNoticeUrl()); - } - // 读取平台配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(platform.getNotifyUrl()); - } - } - // 同步回调 - noticeInfo.setReturnUrl(payParam.getReturnUrl()); - if (StrUtil.isBlank(noticeInfo.getReturnUrl())) { - noticeInfo.setReturnUrl(platform.getNotifyUrl()); - } - // 退出回调地址 - noticeInfo.setQuitUrl(payParam.getQuitUrl()); - } - - /** * 创建支付订单并保存, 返回支付订单 */ @@ -161,10 +121,9 @@ public class PayAssistService { } // 扩展信息 - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); payOrderExtra.setClientIp(payParam.getClientIp()) - .setNotifyUrl(noticeInfo.getNotifyUrl()) - .setReturnUrl(noticeInfo.getReturnUrl()) + .setNotifyUrl(payParam.getNotifyUrl()) + .setReturnUrl(payParam.getReturnUrl()) .setAttach(payParam.getAttach()) .setClientIp(payParam.getClientIp()) .setReqTime(payParam.getReqTime()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index d5400fe2..3e85b885 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -7,8 +7,6 @@ import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.refund.RefundParam; import cn.daxpay.single.result.pay.RefundResult; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.context.NoticeLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -46,36 +44,6 @@ public class RefundAssistService { private final RefundOrderExtraManager refundOrderExtraManager; - /** - * 初始化上下文 - */ - public void initRefundContext(RefundParam param){ - // 初始化通知相关上下文 - this.initNotice(param); - } - - /** - * 初始化退款通知相关上下文 - */ - private void initNotice(RefundParam param) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); - ApiInfoLocal apiInfo = PaymentContextLocal.get().getApiInfo(); - PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); - // 异步回调为开启状态 - if (!Objects.equals(param.getNotNotify(), false) && apiInfo.isNotice()){ - // 首先读取请求参数 - noticeInfo.setNotifyUrl(param.getNotifyUrl()); - // 读取接口配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())){ - noticeInfo.setNotifyUrl(apiInfo.getNoticeUrl()); - } - // 读取平台配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())){ - noticeInfo.setNotifyUrl(platform.getNotifyUrl()); - } - } - } - /** * 检查并处理退款参数 */ @@ -125,12 +93,11 @@ public class RefundAssistService { .setReason(refundParam.getReason()); refundOrderManager.save(refundOrder); // 生成退款扩展订单 - NoticeLocal notice = PaymentContextLocal.get().getNoticeInfo(); RefundOrderExtra orderExtra = new RefundOrderExtra() .setClientIp(refundParam.getClientIp()) .setReqTime(refundParam.getReqTime()) .setAttach(refundParam.getAttach()) - .setNotifyUrl(notice.getNotifyUrl()); + .setNotifyUrl(refundParam.getNotifyUrl()); orderExtra.setId(refundOrder.getId()); refundOrderExtraManager.save(orderExtra); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index f8e13051..f7b01f74 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -83,8 +83,6 @@ public class RefundService { try { // 判断是否是首次发起退款 Optional<RefundOrder> refund = refundOrderManager.findByBizRefundNo(param.getBizRefundNo()); - // 初始化退款通知上下文 - refundAssistService.initRefundContext(param); if (refund.isPresent()){ return this.repeatRefund(refund.get(),param); } else { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/convert/WechatNoticeConfigConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/convert/WechatNoticeConfigConvert.java deleted file mode 100644 index c1b5cc34..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/convert/WechatNoticeConfigConvert.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.system.config.convert; - -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import cn.daxpay.single.service.dto.system.config.WechatNoticeConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * - * @author xxm - * @since 2024/1/2 - */ -@Mapper -public interface WechatNoticeConfigConvert { - WechatNoticeConfigConvert CONVERT = Mappers.getMapper(WechatNoticeConfigConvert.class); - - WechatNoticeConfigDto convert(WechatNoticeConfig in); -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigManager.java deleted file mode 100644 index c76fcbec..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigManager.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.daxpay.single.service.core.system.config.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2023/12/24 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class WechatNoticeConfigManager extends BaseManager<WechatNoticeConfigMapper, WechatNoticeConfig> { - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigMapper.java deleted file mode 100644 index 32ec5020..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.system.config.dao; - -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * - * @author xxm - * @since 2023/12/24 - */ -@Mapper -public interface WechatNoticeConfigMapper extends BaseMapper<WechatNoticeConfig> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiCallRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiCallRecord.java deleted file mode 100644 index 2ef42c78..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiCallRecord.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.daxpay.single.service.core.system.config.entity; - -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 支付接口调用记录 - * @author xxm - * @since 2023/12/22 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -//@DbTable(comment = "支付接口调用记录") -@TableName("pay_api_call_record") -public class PayApiCallRecord extends MpCreateEntity { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java index 06b58cc8..9f8375db 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java @@ -2,11 +2,10 @@ package cn.daxpay.single.service.core.system.config.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.service.code.PayApiCallBackTypeEnum; -import cn.daxpay.single.service.core.system.config.convert.PayApiConfigConvert; -import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.daxpay.single.service.core.system.config.convert.PayApiConfigConvert; +import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -38,26 +37,9 @@ public class PayApiConfig extends MpBaseEntity implements EntityBaseFunction<Pay @TableField(updateStrategy = FieldStrategy.NEVER) private String name; - /** - * 支持回调通知 - * @see PayApiCallBackTypeEnum - */ - @DbColumn(comment = "支持回调通知") - @TableField(updateStrategy = FieldStrategy.NEVER) - private boolean noticeSupport; - @DbColumn(comment = "是否启用") private boolean enable; - @DbColumn(comment = "是否开启回调通知") - private boolean notice; - - @DbColumn(comment = "默认通知地址") - private String noticeUrl; - - @DbColumn(comment = "请求参数是否签名") - private boolean reqSign; - @DbColumn(comment = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java index 72070db5..43feaf27 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java @@ -36,18 +36,6 @@ public class PayChannelConfig extends MpBaseEntity implements EntityBaseFunction @TableField(updateStrategy = FieldStrategy.NEVER) private String name; - /** ICON图片 */ - @DbColumn(comment = "ICON图片") - private Long iconId; - - /** 卡牌背景色 */ - @DbColumn(comment = "卡牌背景色") - private String bgColor; - - /** 是否启用 */ - @DbColumn(comment = "是否启用") - private Boolean enable; - /** 备注 */ @DbColumn(comment = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java index 0b3ca32d..8d467275 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.system.config.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import cn.daxpay.single.service.core.system.config.convert.PlatformConfigConvert; import cn.daxpay.single.service.dto.system.config.PlatformConfigDto; import cn.bootx.table.modify.annotation.DbColumn; @@ -33,18 +34,34 @@ public class PlatformConfig extends MpBaseEntity implements EntityBaseFunction<P @DbColumn(comment = "签名方式") private String signType; + /** 签名秘钥 */ @DbColumn(comment = "签名秘钥") private String signSecret; - @DbColumn(comment = "支付通知地址") + /** 是否对请求进行验签 */ + @DbColumn(comment = "是否对请求进行验签") + private boolean reqSign; + + /** + * 消息通知方式, 目前只支持http + * @see TradeNotifyTypeEnum + */ + @DbColumn(comment = "消息通知方式") + private String notifyType; + + /** 消息通知地址 */ + @DbColumn(comment = "消息通知地址") private String notifyUrl; + /** 同步支付跳转地址 */ @DbColumn(comment = "同步支付跳转地址") private String returnUrl; + /** 支付限额 */ @DbColumn(comment = "支付限额") private Integer limitAmount; + /** 订单默认超时时间(分钟) */ @DbColumn(comment = "订单默认超时时间(分钟)") private Integer orderTimeout; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/WechatNoticeConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/WechatNoticeConfig.java deleted file mode 100644 index 878c654e..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/WechatNoticeConfig.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.daxpay.single.service.core.system.config.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.service.core.system.config.convert.WechatNoticeConfigConvert; -import cn.daxpay.single.service.dto.system.config.WechatNoticeConfigDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2023/12/24 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@DbTable(comment = "微信消息通知相关配置") -@TableName("pay_wechat_notice_config") -public class WechatNoticeConfig extends MpBaseEntity implements EntityBaseFunction<WechatNoticeConfigDto> { - - @DbColumn(comment = "应用id") - private String appId; - @DbColumn(comment = "应用秘钥") - private String appSecret; - @DbColumn(comment = "公众号二维码") - private String qrUrl; - @DbColumn(comment = "OAuth2地址") - private String oauth2Url; - @DbColumn(comment = "微信校验文件名称") - private String verifyFileName; - @DbColumn(comment = "微信校验文件内容") - private String verifyFileContent; - @DbColumn(comment = "模板消息Id") - private String templateId; - @DbColumn(comment = "模板消息内容") - private String templateContent; - @DbColumn(comment = "模板消息备注") - private String templateRemark; - - /** - * 转换 - */ - @Override - public WechatNoticeConfigDto toDto() { - return WechatNoticeConfigConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java index 3fe2c429..51e5dd51 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java @@ -2,8 +2,6 @@ package cn.daxpay.single.service.core.system.config.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.system.config.dao.PayApiConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayApiConfig; import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; @@ -49,18 +47,4 @@ public class PayApiConfigService { public PayApiConfigDto findById(Long id){ return openApiInfoManager.findById(id).map(PayApiConfig::toDto).orElseThrow(() -> new DataNotExistException("支付接口配置信息不存在")); } - - /** - * 初始化接口上下文信息 - */ - public void initApiInfo(PayApiConfig api){ - // 接口信息 - ApiInfoLocal apiInfoLocal = PaymentContextLocal.get().getApiInfo(); - apiInfoLocal.setApiCode(api.getCode()) - .setReqSign(api.isReqSign()) - .setNotice(api.isNotice()) - .setNoticeUrl(api.getNoticeUrl()); - } - - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java index fb60e009..3a1a4bac 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java @@ -4,9 +4,6 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.daxpay.single.service.core.system.config.dao.PayChannelConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayChannelConfig; import cn.daxpay.single.service.dto.system.config.PayChannelConfigDto; -import cn.daxpay.single.service.param.system.payinfo.PayChannelInfoParam; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -40,23 +37,4 @@ public class PayChannelConfigService { public PayChannelConfigDto findById(Long id){ return manager.findById(id).map(PayChannelConfig::toDto).orElseThrow(DataNotExistException::new); } - - /** - * 设置是否启用 - */ - public void setEnable(String code,boolean enable){ - PayChannelConfig info = manager.findByCode(code) - .orElseThrow(DataNotExistException::new); - info.setEnable(enable); - manager.updateById(info); - } - - /** - * 更新 - */ - public void update(PayChannelInfoParam param){ - PayChannelConfig info = manager.findById(param.getId()).orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param,info, CopyOptions.create().ignoreNullValue()); - manager.updateById(info); - } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java index 0752fe79..874441f0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java @@ -49,9 +49,10 @@ public class PlatformConfigService { PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); platform.setSignType(config.getSignType()); platform.setSignSecret(config.getSignSecret()); - platform.setNotifyUrl(config.getNotifyUrl()); platform.setOrderTimeout(config.getOrderTimeout()); platform.setLimitAmount(config.getLimitAmount()); platform.setWebsiteUrl(config.getWebsiteUrl()); + platform.setNoticeType(config.getNotifyType()); + platform.setNoticeUrl(config.getNotifyUrl()); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/WechatNoticeConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/WechatNoticeConfigService.java deleted file mode 100644 index 4a2d51dd..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/WechatNoticeConfigService.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.daxpay.single.service.core.system.config.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import cn.daxpay.single.service.core.system.config.dao.WechatNoticeConfigManager; -import cn.daxpay.single.service.param.system.config.WechatNoticeConfigParam; -import cn.hutool.core.bean.BeanUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2024/1/2 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WechatNoticeConfigService { - /** 默认配置ID */ - private static final long ID = 0L; - - private final WechatNoticeConfigManager wechatNoticeConfigManager;; - - /** - * 获取支付平台配置 - */ - public WechatNoticeConfig getConfig(){ - return wechatNoticeConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("微信消息配置不存在")); - } - - /** - * 更新配置 - */ - public void update(WechatNoticeConfigParam param){ - WechatNoticeConfig config = wechatNoticeConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("微信消息配置不存在")); - BeanUtil.copyProperties(param,config); - wechatNoticeConfigManager.updateById(config); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java index 8a32bb45..2f17b0e5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.dto.system.config; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.service.code.PayApiCallBackTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -27,25 +26,9 @@ public class PayApiConfigDto extends BaseDto { @Schema(description = "名称") private String name; - /** - * 是否支持回调通知 - * @see PayApiCallBackTypeEnum - */ - @Schema(description = "是否支持回调通知") - private boolean noticeSupport; - @Schema(description = "是否启用") private boolean enable; - @Schema(description = "是否开启回调通知") - private boolean notice; - - @Schema(description = "默认通知回调地址") - private String noticeUrl; - - @Schema(description = "请求参数是否签名") - private boolean reqSign; - @Schema(description = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java index 4aca7d1e..219c74d7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.dto.system.config; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -26,18 +25,6 @@ public class PayChannelConfigDto extends BaseDto { @Schema(description = "名称") private String name; - /** 是否启用 */ - @Schema(description = "是否启用") - private Boolean enable; - - /** logo图片 */ - @Schema(description = "logo图片") - private Long iconId; - - /** 卡牌背景色 */ - @Schema(description = "卡牌背景色") - private String bgColor; - /** 备注 */ @Schema(description = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java index 20db3a0b..cda8afed 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.dto.system.config; import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; @@ -19,6 +20,7 @@ public class PlatformConfigDto { private String websiteUrl; /** + * 签名方式 * @see PaySignTypeEnum */ @Schema(description = "签名方式") @@ -27,7 +29,20 @@ public class PlatformConfigDto { @Schema(description = "签名秘钥") private String signSecret; - @Schema(description = "异步支付通知地址") + /** 是否对请求进行验签 */ + @Schema(description = "是否对请求进行验签") + private boolean reqSign; + + /** + * 消息通知方式, 目前只支持http + * @see TradeNotifyTypeEnum + */ + @Schema(description = "消息通知方式") + private String notifyType; + + /** 消息通知地址 */ + + @Schema(description = "消息通知地址") private String notifyUrl; @Schema(description = "同步支付跳转地址") @@ -36,6 +51,6 @@ public class PlatformConfigDto { @Schema(description = "订单默认超时时间(分钟)") private Integer orderTimeout; - @Schema(description = "订单默认超时时间(分钟)") + @Schema(description = "支付限额") private Integer limitAmount; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/WechatNoticeConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/WechatNoticeConfigDto.java deleted file mode 100644 index 1a354a51..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/WechatNoticeConfigDto.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.daxpay.single.service.dto.system.config; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2024/1/2 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信消息通知相关配置") -public class WechatNoticeConfigDto { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java index 2feea445..e68a6f61 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java @@ -20,15 +20,6 @@ public class PayApiConfigParam { @Schema(description = "是否启用") private boolean enable; - @Schema(description = "是否开启回调通知") - private boolean notice; - - @Schema(description = "默认回调地址") - private String noticeUrl; - - @Schema(description = "请求参数是否签名") - private boolean reqSign; - @Schema(description = "备注") private String remark; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java index ef706e89..4088151c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.param.system.config; import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; @@ -18,6 +19,10 @@ public class PlatformConfigParam { @Schema(description = "网站地址") private String websiteUrl; + /** 是否对请求进行验签 */ + @Schema(description = "是否对请求进行验签") + private boolean reqSign; + /** * @see PaySignTypeEnum */ @@ -27,7 +32,16 @@ public class PlatformConfigParam { @Schema(description = "签名秘钥") private String signSecret; - @Schema(description = "支付通知地址") + /** + * 消息通知方式, 目前只支持http + * @see TradeNotifyTypeEnum + */ + @Schema(description = "消息通知方式") + private String notifyType; + + /** 消息通知地址 */ + + @Schema(description = "消息通知地址") private String notifyUrl; @Schema(description = "同步支付跳转地址") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/WechatNoticeConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/WechatNoticeConfigParam.java deleted file mode 100644 index 614a6e22..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/WechatNoticeConfigParam.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.daxpay.single.service.param.system.config; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2024/1/2 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信消息通知相关配置") -public class WechatNoticeConfigParam { -} -- Gitee From b2b9e98583746afca7eaed70c96140778fc124a0 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Tue, 11 Jun 2024 16:11:05 +0800 Subject: [PATCH 06/34] =?UTF-8?q?ref=20=E5=8E=BB=E9=99=A4NotNotify?= =?UTF-8?q?=E5=AD=97=E6=AE=B5,=20=E5=90=84=E7=B1=BB=E5=9E=8B=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=89=A9=E5=B1=95=E5=90=88=E5=B9=B6=E5=88=B0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=AF=B9=E8=B1=A1=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 12 ++- .../single/demo/service/AggregateService.java | 1 - .../sdk/param/allocation/AllocationParam.java | 3 - .../daxpay/single/sdk/param/pay/PayParam.java | 3 - .../single/sdk/param/refund/RefundParam.java | 3 - .../single/sdk/allocation/AllocationTest.java | 2 - .../single/sdk/util/PayParamSignTest.java | 1 - .../allocation/AllocationOrderController.java | 10 +-- .../controller/order/PayOrderController.java | 17 +---- .../order/RefundOrderController.java | 16 +--- .../single/code/TransferPayeeTypeEnum.java | 10 +-- .../single/code/TransferStatusEnum.java | 25 +++++++ .../payment/allocation/AllocationParam.java | 4 - .../single/param/payment/pay/PayParam.java | 4 - .../param/payment/refund/RefundParam.java | 4 - .../param/payment/transfer/TransferParam.java | 8 ++ .../result/transfer/TransferResult.java | 17 +++++ .../service/common/context/PayLocal.java | 8 -- .../service/common/context/RefundLocal.java | 4 - .../allocation/convert/AllocationConvert.java | 4 - .../dao/AllocationOrderExtraManager.java | 18 ----- .../dao/AllocationOrderExtraMapper.java | 14 ---- .../allocation/entity/AllocationOrder.java | 25 ++++++- .../entity/AllocationOrderExtra.java | 51 ------------- .../service/AllocationOrderQueryService.java | 12 +-- .../service/AllocationOrderService.java | 16 +--- .../core/order/pay/builder/PayBuilder.java | 30 ++------ .../order/pay/convert/PayOrderConvert.java | 4 - .../order/pay/dao/PayOrderExtraManager.java | 18 ----- .../order/pay/dao/PayOrderExtraMapper.java | 14 ---- .../core/order/pay/entity/PayOrder.java | 35 +++++++++ .../core/order/pay/entity/PayOrderExtra.java | 73 ------------------- .../pay/service/PayOrderExtraService.java | 40 ---------- .../pay/service/PayOrderQueryService.java | 5 -- .../refund/convert/RefundOrderConvert.java | 4 - .../refund/dao/RefundOrderExtraManager.java | 18 ----- .../refund/dao/RefundOrderExtraMapper.java | 14 ---- .../core/order/refund/entity/RefundOrder.java | 32 ++++++++ .../order/refund/entity/RefundOrderExtra.java | 64 ---------------- .../service/RefundOrderQueryService.java | 12 --- .../refund/service/RefundOrderService.java | 12 +-- .../dao/TransferOrderExtraManager.java | 16 ---- .../dao/TransferOrderExtraMapper.java | 14 ---- .../order/transfer/entity/TransferOrder.java | 53 +++++++++++++- .../transfer/entity/TransferOrderExtra.java | 43 ----------- .../service/AllocationAssistService.java | 10 +-- .../allocation/service/AllocationService.java | 9 +-- .../service/AllocationSyncService.java | 2 +- .../cancel/service/PayCancelService.java | 2 +- .../close/service/PayCloseService.java | 2 +- .../service/ClientNoticeAssistService.java | 21 +++--- .../notice/service/ClientNoticeService.java | 59 +++------------ .../notice/service/PayReturnService.java | 18 ++--- .../payment/pay/service/PayAssistService.java | 30 +++----- .../core/payment/pay/service/PayService.java | 20 ++--- .../refund/service/RefundAssistService.java | 15 +--- .../payment/refund/service/RefundService.java | 18 ++--- .../repair/service/PayRepairService.java | 2 +- .../repair/service/RefundRepairService.java | 4 +- .../service/TransferAssistService.java | 38 ++++++++-- .../AllocationOrderAndExtraDto.java | 20 ----- .../order/allocation/AllocationOrderDto.java | 18 +++++ .../allocation/AllocationOrderExtraDto.java | 35 --------- .../dto/order/pay/PayOrderAndExtraDto.java | 18 ----- .../service/dto/order/pay/PayOrderDto.java | 14 ++++ .../dto/order/pay/PayOrderExtraDto.java | 57 --------------- .../order/refund/RefundOrderAndExtraDto.java | 20 ----- .../dto/order/refund/RefundOrderDto.java | 29 ++++++++ .../dto/order/refund/RefundOrderExtraDto.java | 44 ----------- .../single/core/util/PayParamSignTest.java | 1 - 70 files changed, 371 insertions(+), 928 deletions(-) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraManager.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraMapper.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderExtra.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraManager.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraMapper.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrderExtra.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderExtraService.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraManager.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraMapper.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrderExtra.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderAndExtraDto.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderExtraDto.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderAndExtraDto.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderExtraDto.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderAndExtraDto.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderExtraDto.java diff --git a/_doc/Task.md b/_doc/Task.md index a15d70a5..4c655335 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -2,14 +2,20 @@ 2.0.8: 转账/撤销接口和系统优化 - [x] 支持撤销接口 - [ ] 增加转账接口功能 -- [ ] 细分各种支付异常类和编码(完成部分) +- [ ] 细分各种支付异常类和编码(部分) +- [ ] 增加分账回调处理(支付宝) - [ ] 增加分账修复功能 - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 - [ ] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 +- [ ] 支付接口公共参数添加随机数字段, 预防重放问题 +- [ ] 请求接口增加有效期校验, 一个请求十分钟后失效 +- [x] 订单和扩展信息进行合并 - [x] 支付通道两个独立的配置进行合并为一个 - - [X] 去除有效, icon, 颜色等字段 -- [x] 平台配置改版 + - [X] 去除有效, icon, 颜色等字段 + - [x] 通道配置设置默认ICON +- [ ] 平台配置改版 + - [ ] 增加接口请求有效时间配置 - [x] 平台配置和接口配置删除回调地址配置 - [X] 删除回调地址配置, 更换为消息通知地址和消息通知类型 - [X] 接口配置改版 diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java index 60a08de9..6c54d730 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java @@ -193,7 +193,6 @@ public class AggregateService { .orElse("127.0.0.1"); payParam.setClientIp(ip); // 异步回调地址 - payParam.setNotNotify(false); // 支付成功同步回调地址 payParam.setReturnUrl(StrUtil.format("{}/result/success", daxPayDemoProperties.getFrontH5Url())); // 中途退出 目前经测试不生效 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java index 936294a0..77b982fc 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java @@ -39,9 +39,6 @@ public class AllocationParam extends DaxPayRequest<AllocationModel> { /** 分账接收方列表 */ private List<AllocReceiverParam> receivers; - /** 是否不启用异步通知 */ - private Boolean notNotify; - /** 回调通知地址 */ private String notifyUrl; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java index 1f275bdc..171f2e34 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java @@ -78,9 +78,6 @@ public class PayParam extends DaxPayRequest<PayModel> { /** 异步通知地址 */ private String notifyUrl; - /** 是否不启用异步通知 */ - private Boolean notNotify; - /** * 方法请求路径 */ diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java index 74090eb3..a5b73e6d 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java @@ -57,9 +57,6 @@ public class RefundParam extends DaxPayRequest<RefundModel> { /** 商户扩展参数,回调时会原样返回 */ private String attach; - /** 是否不启用异步通知 */ - private Boolean notNotify; - /** 异步通知地址 */ private String notifyUrl; diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java index d4ccfc36..4e3d1a61 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java @@ -46,7 +46,6 @@ public class AllocationTest { public void allocationOrder() { PayParam param = new PayParam(); param.setClientIp("127.0.0.1"); - param.setNotNotify(true); param.setBizOrderNo("SDK_"+ System.currentTimeMillis()); param.setTitle("测试手动分账"); @@ -69,7 +68,6 @@ public class AllocationTest { public void allocationAutoOrder() { PayParam param = new PayParam(); param.setClientIp("127.0.0.1"); - param.setNotNotify(true); param.setBizOrderNo("SDK_"+ System.currentTimeMillis()); param.setTitle("测试手动分账"); diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java index f99b7b2f..1d6f86eb 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java @@ -23,7 +23,6 @@ public class PayParamSignTest { PayParam param = new PayParam(); param.setClientIp("127.0.0.1"); - param.setNotNotify(true); param.setBizOrderNo("P0001"); param.setTitle("测试接口支付"); diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java index 11842d43..906a9279 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java @@ -13,10 +13,8 @@ import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderAndExtraDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; import cn.daxpay.single.service.param.order.AllocationOrderQuery; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -71,12 +69,8 @@ public class AllocationOrderController { @Operation(summary = "查询扩展信息") @GetMapping("/findByAllocNo") - public ResResult<AllocationOrderAndExtraDto> findByAllocNo(String allocNo){ - AllocationOrderAndExtraDto result = new AllocationOrderAndExtraDto(); - AllocationOrderDto order = queryService.findByAllocNo(allocNo); - AllocationOrderExtraDto extra = queryService.findExtraById(order.getId()); - result.setOrder(order).setExtra(extra); - return Res.ok(result); + public ResResult<AllocationOrderDto> findByAllocNo(String allocNo){ + return Res.ok(queryService.findByAllocNo(allocNo)); } @Operation(summary = "获取可以分账的通道") diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java index 6f803616..8ca9612d 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java @@ -12,14 +12,11 @@ import cn.daxpay.single.param.payment.pay.PaySyncParam; import cn.daxpay.single.result.sync.PaySyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.service.PayOrderExtraService; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; -import cn.daxpay.single.service.dto.order.pay.PayOrderAndExtraDto; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.util.OrderNoGenerateUtil; import io.swagger.v3.oas.annotations.Operation; @@ -41,7 +38,6 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor public class PayOrderController { private final PayOrderQueryService queryService; - private final PayOrderExtraService payOrderExtraService; private final PayCloseService payCloseService; @@ -65,20 +61,11 @@ public class PayOrderController { @Operation(summary = "查询订单详情") @GetMapping("/findByOrderNo") - public ResResult<PayOrderAndExtraDto> findByOrderNo(String orderNo){ + public ResResult<PayOrderDto> findByOrderNo(String orderNo){ PayOrderDto order = queryService.findByOrderNo(orderNo) .map(PayOrder::toDto) .orElseThrow(() -> new DataNotExistException("支付订单不存在")); - PayOrderAndExtraDto detailDto=new PayOrderAndExtraDto(); - detailDto.setPayOrder(order); - detailDto.setPayOrderExtra(payOrderExtraService.findById(order.getId())); - return Res.ok(detailDto); - } - - @Operation(summary = "查询支付订单扩展信息") - @GetMapping("/getExtraById") - public ResResult<PayOrderExtraDto> getExtraById(Long id){ - return Res.ok(payOrderExtraService.findById(id)); + return Res.ok(order); } @Operation(summary = "同步支付状态") diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java index d0f6ec80..b8c36c5c 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java @@ -11,9 +11,7 @@ import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; import cn.daxpay.single.service.core.order.refund.service.RefundOrderService; import cn.daxpay.single.service.core.payment.sync.service.RefundSyncService; -import cn.daxpay.single.service.dto.order.refund.RefundOrderAndExtraDto; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.PayOrderRefundParam; import cn.daxpay.single.service.param.order.RefundOrderQuery; @@ -45,12 +43,8 @@ public class RefundOrderController { @Operation(summary = "查询退款订单详情") @GetMapping("/findByRefundNo") - public ResResult<RefundOrderAndExtraDto> findByRefundNo(String refundNo){ - RefundOrderDto order = queryService.findByRefundNo(refundNo); - RefundOrderAndExtraDto detailDto = new RefundOrderAndExtraDto(); - detailDto.setRefundOrder(order); - detailDto.setRefundOrderExtra(queryService.findExtraById(order.getId())); - return Res.ok(detailDto); + public ResResult<RefundOrderDto> findByRefundNo(String refundNo){ + return Res.ok(queryService.findByRefundNo(refundNo)); } @Operation(summary = "查询单条") @GetMapping("/findById") @@ -59,12 +53,6 @@ public class RefundOrderController { } - @Operation(summary = "查询扩展信息") - @GetMapping("/findExtraById") - public ResResult<RefundOrderExtraDto> findExtraById(Long id){ - return Res.ok(queryService.findExtraById(id)); - } - @InitPaymentContext(PaymentApiCode.REFUND) @Operation(summary = "手动发起退款") @PostMapping("/refund") diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java index 06cc8934..9d73eb41 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java @@ -15,15 +15,13 @@ import java.util.List; @Getter @AllArgsConstructor public enum TransferPayeeTypeEnum { - /** 个人 */ + /** 微信 个人 */ WX_PERSONAL("wx_personal","openid", "个人"), - - - /** userId 以2088开头的纯16位数字 */ + /** 支付宝 userId 以2088开头的纯16位数字 */ ALI_USER_ID("ali_user_id","ALIPAY_USERID", "用户ID"), - /** openId */ + /** 支付宝 openId */ ALI_OPEN_ID("ali_open_id","ALIPAY_OPENID", "openId"), - /** 账号 支持邮箱和手机号格式 */ + /** 支付宝 账号 支持邮箱和手机号格式 */ ALI_LOGIN_NAME("ali_login_name","ALIPAY_LOGONID", "账号"); /** 编码 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java new file mode 100644 index 00000000..751381ae --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java @@ -0,0 +1,25 @@ +package cn.daxpay.single.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账状态 + * @author xxm + * @since 2024/6/11 + */ +@Getter +@AllArgsConstructor +public enum TransferStatusEnum { + + + + TRANSFERRING("transferring", "转账中"), + SUCCESS("success", "转账成功"), + FAIL("fail", "转账失败"), + ; + + private final String code; + private final String name; + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java index 1ffe9f73..4a3cc54d 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java @@ -47,10 +47,6 @@ public class AllocationParam extends PaymentCommonParam { @Valid private List<AllocReceiverParam> receivers; - /** 是否不启用异步通知 */ - @Schema(description = "是否不启用异步通知") - private Boolean notNotify; - /** 回调通知地址 */ @Schema(description = "回调通知地址") private String notifyUrl; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java index 26ad552d..3dbd84a0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java @@ -102,8 +102,4 @@ public class PayParam extends PaymentCommonParam { /** 异步通知地址 */ @Schema(description = "异步通知地址") private String notifyUrl; - - /** 是否不启用异步通知 */ - @Schema(description = "是否不启用异步通知") - private Boolean notNotify; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java index 1aefd4c7..dcb85a0a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java @@ -63,10 +63,6 @@ public class RefundParam extends PaymentCommonParam { @Schema(description = "商户扩展参数,回调时会原样返回") private String attach; - /** 是否不启用异步通知 */ - @Schema(description = "是否不启用异步通知") - private Boolean notNotify; - /** 异步通知地址 */ @Schema(description = "异步通知地址") private String notifyUrl; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java index 2951b0ed..d71fd488 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java @@ -67,4 +67,12 @@ public class TransferParam extends PaymentCommonParam { /** 收款人姓名 */ @Schema(description = "收款人姓名") private String payeeName; + + /** 回调通知地址 */ + @Schema(description = "回调通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回 */ + @Schema(description = "商户扩展参数,回调时会原样返回") + private String attach; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java index 8bb46932..a6fe6771 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java @@ -16,4 +16,21 @@ import lombok.experimental.Accessors; @Accessors(chain = true) @Schema(title = "转账结果") public class TransferResult extends PaymentCommonResult { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "转账号") + private String transferNo; + + /** + * 状态 + * @see cn.daxpay.single.code.TransferStatusEnum + */ + @Schema(description = "状态") + private String status; + + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java index 9f17d3cc..4d3013d2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java @@ -1,7 +1,5 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import lombok.Data; import lombok.experimental.Accessors; @@ -35,10 +33,4 @@ public class PayLocal { /** 订单超时时间, */ private LocalDateTime expiredTime; - /** 支付订单 */ - private PayOrder payOrder; - - /** 支付订单扩展 */ - private PayOrderExtra payOrderExtra; - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java index f10981db..efab28d7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java @@ -2,7 +2,6 @@ package cn.daxpay.single.service.common.context; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import lombok.Data; import lombok.experimental.Accessors; @@ -38,7 +37,4 @@ public class RefundLocal { /** 退款完成时间 */ private LocalDateTime finishTime; - - /** 退款订单扩展 */ - private RefundOrderExtra runOrderExtra; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java index 014014cb..1010d19f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java @@ -4,12 +4,10 @@ import cn.daxpay.single.result.order.AllocOrderDetailResult; import cn.daxpay.single.result.order.AllocOrderResult; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; import cn.daxpay.single.service.core.payment.notice.result.AllocDetailNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.AllocNoticeResult; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -24,8 +22,6 @@ public interface AllocationConvert { AllocationOrderDto convert(AllocationOrder in); - AllocationOrderExtraDto convert(AllocationOrderExtra in); - AllocOrderResult toResult(AllocationOrder in); AllocOrderDetailResult toResult(AllocationOrderDetail in); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraManager.java deleted file mode 100644 index d6c80f39..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraManager.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.order.allocation.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * 分账订单扩展 - * @author xxm - * @since 2024/5/22 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class AllocationOrderExtraManager extends BaseManager<AllocationOrderExtraMapper, AllocationOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraMapper.java deleted file mode 100644 index df857daa..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.order.allocation.dao; - -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 分账订单扩展 - * @author xxm - * @since 2024/5/22 - */ -@Mapper -public interface AllocationOrderExtraMapper extends BaseMapper<AllocationOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java index 879e6ae8..ab2a5c9a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java @@ -109,6 +109,27 @@ public class AllocationOrder extends MpBaseEntity implements EntityBaseFunction< @DbColumn(comment = "处理结果") private String result; + /** 分账完成时间 */ + @DbColumn(comment = "分账完成时间") + private LocalDateTime finishTime; + + /** 异步通知地址 */ + @DbColumn(comment = "异步通知地址") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间 */ + @DbColumn(comment = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @DbColumn(comment = "支付终端ip") + private String clientIp; + /** * 错误码 */ @@ -123,10 +144,6 @@ public class AllocationOrder extends MpBaseEntity implements EntityBaseFunction< @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; - /** 分账完成时间 */ - @DbColumn(comment = "分账完成时间") - private LocalDateTime finishTime; - /** * 转换 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderExtra.java deleted file mode 100644 index 63ea17fa..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderExtra.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.daxpay.single.service.core.order.allocation.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 分账订单扩展 - * @author xxm - * @since 2024/5/22 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@DbTable(comment = "分账订单扩展") -@TableName("pay_allocation_order_extra") -public class AllocationOrderExtra extends MpBaseEntity implements EntityBaseFunction<AllocationOrderExtraDto> { - - /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间 */ - @DbColumn(comment = "请求时间,传输时间戳") - private LocalDateTime reqTime; - - /** 终端ip */ - @DbColumn(comment = "支付终端ip") - private String clientIp; - - @Override - public AllocationOrderExtraDto toDto() { - return AllocationConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java index a0fc5b5f..a8717aef 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java @@ -8,14 +8,11 @@ import cn.bootx.platform.common.core.util.ResultConvertUtil; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; import cn.daxpay.single.service.param.order.AllocationOrderQuery; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -35,8 +32,8 @@ import java.util.List; public class AllocationOrderQueryService { private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocationOrderManager allocationOrderManager; - private final AllocationOrderExtraManager allocationOrderExtraManager; /** * 获取可以分账的通道 @@ -83,11 +80,4 @@ public class AllocationOrderQueryService { return allocationOrderDetailManager.findById(id).map(AllocationOrderDetail::toDto).orElseThrow(() -> new DataNotExistException("分账订单明细不存在")); } - /** - * 查询扩展订单信息 - */ - public AllocationOrderExtraDto findExtraById(Long id) { - return allocationOrderExtraManager.findById(id).map(AllocationOrderExtra::toDto) - .orElseThrow(() -> new DataNotExistException("未找到")); - } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java index d029eb10..e80d67e2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java @@ -7,11 +7,9 @@ import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.allocation.AllocReceiverParam; import cn.daxpay.single.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; import cn.daxpay.single.service.core.order.allocation.entity.OrderAndDetail; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; @@ -50,8 +48,6 @@ public class AllocationOrderService { private final PayOrderManager payOrderManager; - private final AllocationOrderExtraManager allocationOrderExtraManager; - /** * 生成分账订单, 根据分账组创建 @@ -167,7 +163,10 @@ public class AllocationOrderService { .setChannel(payOrder.getChannel()) .setDescription(param.getDescription()) .setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) - .setAmount(sumAmount); + .setAmount(sumAmount) + .setNotifyUrl(param.getNotifyUrl()) + .setAttach(param.getAttach()) + .setClientIp(param.getClientIp()); // 如果分账订单金额为0, 设置为忽略状态 if (sumAmount == 0){ allocationOrder.setStatus(AllocOrderStatusEnum.IGNORE.getCode()) @@ -177,17 +176,10 @@ public class AllocationOrderService { } allocationOrder.setId(allocId); - // 分账订单扩展 - AllocationOrderExtra extend = new AllocationOrderExtra() - .setNotifyUrl(param.getNotifyUrl()) - .setAttach(param.getAttach()); - extend.setId(allocId); - // 更新支付订单分账状态 payOrder.setAllocStatus(PayOrderAllocStatusEnum.ALLOCATION.getCode()); payOrderManager.updateById(payOrder); allocationOrderDetailManager.saveAll(details); - allocationOrderExtraManager.save(extend); allocationOrderManager.save(allocationOrder); return new OrderAndDetail().setOrder(allocationOrder).setDetails(details); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java index 5da06ec9..896c4c5a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java @@ -6,10 +6,7 @@ import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.util.OrderNoGenerateUtil; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.json.JSONUtil; import lombok.experimental.UtilityClass; import java.time.LocalDateTime; @@ -44,33 +41,16 @@ public class PayBuilder { .setChannel(payParam.getChannel()) .setMethod(payParam.getMethod()) .setExpiredTime(expiredTime) - .setRefundableBalance(payParam.getAmount()); - // 如果支持分账, 设置分账状态为代分账 - if (payOrder.getAllocation()) { - payOrder.setAllocStatus(PayOrderAllocStatusEnum.WAITING.getCode()); - } - return payOrder; - } - - /** - * 构建支付订单的额外信息 - * @param payParam 支付参数 - * @param payOrderId 支付订单id - */ - public PayOrderExtra buildPayOrderExtra(PayParam payParam, Long payOrderId) { - PayOrderExtra payOrderExtra = new PayOrderExtra() + .setRefundableBalance(payParam.getAmount()) .setClientIp(payParam.getClientIp()) .setNotifyUrl(payParam.getNotifyUrl()) .setReturnUrl(payParam.getReturnUrl()) .setAttach(payParam.getAttach()) .setReqTime(payParam.getReqTime()); - // 扩展参数 - if (CollUtil.isNotEmpty(payParam.getExtraParam())) { - payOrderExtra.setExtraParam(JSONUtil.toJsonStr(payParam.getExtraParam())); + // 如果支持分账, 设置分账状态为代分账 + if (payOrder.getAllocation()) { + payOrder.setAllocStatus(PayOrderAllocStatusEnum.WAITING.getCode()); } - - payOrderExtra.setId(payOrderId); - return payOrderExtra; + return payOrder; } - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java index b7fb14eb..80805c05 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java @@ -2,10 +2,8 @@ package cn.daxpay.single.service.core.order.pay.convert; import cn.daxpay.single.result.order.PayOrderResult; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -18,8 +16,6 @@ import org.mapstruct.factory.Mappers; public interface PayOrderConvert { PayOrderConvert CONVERT = Mappers.getMapper(PayOrderConvert.class); - PayOrderExtraDto convert(PayOrderExtra in); - PayOrderDto convert(PayOrder in); PayOrderResult convertResult(PayOrder in); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraManager.java deleted file mode 100644 index 89096026..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraManager.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2023/12/20 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class PayOrderExtraManager extends BaseManager<PayOrderExtraMapper, PayOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraMapper.java deleted file mode 100644 index f8b3c2e0..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.dao; - -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2023/12/20 - */ -@Mapper -public interface PayOrderExtraMapper extends BaseMapper<PayOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index f4a99e2b..cfa0779e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -7,6 +7,9 @@ import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.param.channel.AliPayParam; +import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.param.channel.WeChatPayParam; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; import cn.bootx.table.modify.annotation.DbColumn; @@ -132,6 +135,38 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; + /** 同步跳转地址, 以最后一次为准 */ + @DbColumn(comment = "同步跳转地址") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String returnUrl; + + /** 异步通知地址,以最后一次为准 */ + @DbColumn(comment = "异步通知地址") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** + * 附加参数 以最后一次为准 + * @see AliPayParam + * @see WeChatPayParam + * @see WalletPayParam + */ + @DbColumn(comment = "附加参数") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String extraParam; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间, 以最后一次为准 */ + @DbColumn(comment = "请求时间,传输时间戳,以最后一次为准") + private LocalDateTime reqTime; + + /** 支付终端ip 以最后一次为准 */ + @DbColumn(comment = "支付终端ip") + private String clientIp; + /** * 如果 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrderExtra.java deleted file mode 100644 index 404e3fbf..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrderExtra.java +++ /dev/null @@ -1,73 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.entity; - - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2023/12/18 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@DbTable(comment = "支付订单扩展信息") -@TableName("pay_order_extra") -public class PayOrderExtra extends MpBaseEntity implements EntityBaseFunction<PayOrderExtraDto> { - - /** 同步跳转地址, 以最后一次为准 */ - @DbColumn(comment = "同步跳转地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String returnUrl; - - /** 异步通知地址,以最后一次为准 */ - @DbColumn(comment = "异步通知地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String notifyUrl; - - /** - * 附加参数 以最后一次为准 - * @see AliPayParam - * @see WeChatPayParam - * @see WalletPayParam - */ - @DbColumn(comment = "附加参数") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String extraParam; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间, 以最后一次为准 */ - @DbColumn(comment = "请求时间,传输时间戳,以最后一次为准") - private LocalDateTime reqTime; - - /** 支付终端ip 以最后一次为准 */ - @DbColumn(comment = "支付终端ip") - private String clientIp; - - /** - * 转换 - */ - @Override - public PayOrderExtraDto toDto() { - return PayOrderConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderExtraService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderExtraService.java deleted file mode 100644 index 281786ba..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderExtraService.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2024/1/9 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class PayOrderExtraService { - private final PayOrderExtraManager payOrderExtraManager; - - /** - * 查询详情 - */ - public PayOrderExtraDto findById(Long id){ - return payOrderExtraManager.findById(id).map(PayOrderExtra::toDto) - .orElseThrow(()->new DataNotExistException("支付订单扩展信息不存在")); - } - - /** - * 更新, 使用单独事务 - */ - @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) - public void update(PayOrderExtra payOrderExtra){ - payOrderExtraManager.updateById(payOrderExtra); - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java index a1ebeccd..a730debe 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java @@ -7,7 +7,6 @@ import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.pay.QueryPayParam; import cn.daxpay.single.result.order.PayOrderResult; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; @@ -31,7 +30,6 @@ import java.util.Optional; @RequiredArgsConstructor public class PayOrderQueryService { private final PayOrderManager payOrderManager; - private final PayOrderExtraManager payOrderExtraManager; /** * 分页 @@ -86,9 +84,6 @@ public class PayOrderQueryService { // 查询支付单 PayOrder payOrder = this.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNoeNo()) .orElseThrow(() -> new PayFailureException("支付订单不存在")); - // 查询扩展数据 - payOrderExtraManager.findById(payOrder.getId()) - .orElseThrow(() -> new PayFailureException("支付订单不完整")); return PayOrderConvert.CONVERT.convertResult(payOrder); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java index bbedd7b4..099dda0e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java @@ -2,10 +2,8 @@ package cn.daxpay.single.service.core.order.refund.convert; import cn.daxpay.single.result.order.RefundOrderResult; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.notice.result.RefundNoticeResult; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -20,8 +18,6 @@ public interface RefundOrderConvert { RefundOrderDto convert(RefundOrder in); - RefundOrderExtraDto convert(RefundOrderExtra in); - RefundOrderResult convertResult(RefundOrder in); RefundNoticeResult convertNotice(RefundOrder order); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraManager.java deleted file mode 100644 index 4a9533c5..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraManager.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.order.refund.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * - * @author xxm - * @since 2024/2/22 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class RefundOrderExtraManager extends BaseManager<RefundOrderExtraMapper, RefundOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraMapper.java deleted file mode 100644 index f37ceb83..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.order.refund.dao; - -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * - * @author xxm - * @since 2024/2/22 - */ -@Mapper -public interface RefundOrderExtraMapper extends BaseMapper<RefundOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java index cf2279f0..6d1e3550 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java @@ -4,10 +4,15 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.param.channel.AliPayParam; +import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.param.channel.WeChatPayParam; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -89,6 +94,33 @@ public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<Refu @DbColumn(comment = "退款状态") private String status; + /** 异步通知地址 */ + @DbColumn(comment = "异步通知地址") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数") + private String attach; + + /** + * 附加参数 以最后一次为准 + * @see AliPayParam + * @see WeChatPayParam + * @see WalletPayParam + */ + @DbColumn(comment = "附加参数") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String extraParam; + + /** 请求时间,时间戳转时间 */ + @DbColumn(comment = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @DbColumn(comment = "支付终端ip") + private String clientIp; + /** 错误码 */ @DbColumn(comment = "错误码") private String errorCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrderExtra.java deleted file mode 100644 index bf4c2312..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrderExtra.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.daxpay.single.service.core.order.refund.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 退款订单扩展信息 - * @author xxm - * @since 2024/2/21 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("pay_refund_order_extra") -@DbTable(comment = "退款订单扩展信息") -public class RefundOrderExtra extends MpBaseEntity implements EntityBaseFunction<RefundOrderExtraDto> { - - /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") - private String attach; - - /** - * 附加参数 以最后一次为准 - * @see AliPayParam - * @see WeChatPayParam - * @see WalletPayParam - */ - @DbColumn(comment = "附加参数") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String extraParam; - - /** 请求时间,时间戳转时间 */ - @DbColumn(comment = "请求时间,传输时间戳") - private LocalDateTime reqTime; - - /** 终端ip */ - @DbColumn(comment = "支付终端ip") - private String clientIp; - - @Override - public RefundOrderExtraDto toDto() { - return RefundOrderConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java index e45eb65d..e529c947 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java @@ -8,12 +8,9 @@ import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.refund.QueryRefundParam; import cn.daxpay.single.result.order.RefundOrderResult; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.RefundOrderQuery; import cn.hutool.core.util.StrUtil; @@ -35,7 +32,6 @@ import java.util.Optional; @RequiredArgsConstructor public class RefundOrderQueryService { private final RefundOrderManager refundOrderManager; - private final RefundOrderExtraManager refundOrderExtraManager; /** * 分页查询 @@ -53,14 +49,6 @@ public class RefundOrderQueryService { .orElseThrow(() -> new DataNotExistException("退款订单不存在")); } - /** - * 根据id查询扩展信息 - */ - public RefundOrderExtraDto findExtraById(Long id) { - return refundOrderExtraManager.findById(id).map(RefundOrderExtra::toDto) - .orElseThrow(() -> new DataNotExistException("退款订单扩展信息不存在")); - } - /** * 根据退款号查询 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java index 2b0484b4..f2b3b847 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java @@ -3,10 +3,8 @@ package cn.daxpay.single.service.core.order.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.spring.util.WebServletUtil; import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; import cn.daxpay.single.service.core.payment.refund.service.RefundService; import cn.daxpay.single.service.param.order.PayOrderRefundParam; @@ -34,8 +32,6 @@ public class RefundOrderService { private final PaymentAssistService paymentAssistService; - private final RefundOrderExtraManager refundOrderExtraManager; - private final RefundOrderManager refundOrderManager; /** @@ -65,10 +61,6 @@ public class RefundOrderService { */ public void resetRefund(Long id){ - // 查询扩展信息 - RefundOrderExtra refundOrderExtra = refundOrderExtraManager.findById(id) - .orElseThrow(() -> new DataNotExistException("未找到退款订单")); - // 查询扩展信息 RefundOrder refundOrder = refundOrderManager.findById(id) .orElseThrow(() -> new DataNotExistException("未找到退款订单")); @@ -80,8 +72,8 @@ public class RefundOrderService { RefundParam refundParam = new RefundParam(); refundParam.setBizRefundNo(refundOrder.getBizRefundNo()); // 回调通知 - refundParam.setNotifyUrl(refundOrderExtra.getNotifyUrl()); - refundParam.setAttach(refundOrderExtra.getAttach()); + refundParam.setNotifyUrl(refundOrder.getNotifyUrl()); + refundParam.setAttach(refundOrder.getAttach()); refundParam.setReqTime(LocalDateTime.now()); refundParam.setClientIp(ip); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java deleted file mode 100644 index 73462d30..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraManager.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.daxpay.single.service.core.order.transfer.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.transfer.entity.TransferOrderExtra; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * 转账订单扩展数据 - * @author xxm - * @since 2024/6/6 - */ -@Slf4j -@Repository -public class TransferOrderExtraManager extends BaseManager<TransferOrderExtraMapper, TransferOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java deleted file mode 100644 index 74eca265..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderExtraMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.order.transfer.dao; - -import cn.daxpay.single.service.core.order.transfer.entity.TransferOrderExtra; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 转账订单扩展 - * @author xxm - * @since 2024/6/6 - */ -@Mapper -public interface TransferOrderExtraMapper extends BaseMapper<TransferOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index a3758e60..cd991f57 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -1,9 +1,13 @@ package cn.daxpay.single.service.core.order.transfer.entity; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PayChannelEnum; +import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.TransferPayeeTypeEnum; +import cn.daxpay.single.code.TransferTypeEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,56 +28,101 @@ import java.time.LocalDateTime; public class TransferOrder extends MpBaseEntity { /** 商户转账号 */ + @DbColumn(comment = "商户转账号") private String bizTransferNo; /** 转账号 */ + @DbColumn(comment = "转账号") private String transferNo; /** 通道转账号 */ + @DbColumn(comment = "通道转账号") private String outTransferNo; /** * 支付通道 * @see PayChannelEnum */ + @DbColumn(comment = "支付通道") private String channel; /** 转账金额 */ + @DbColumn(comment = "转账金额") private Integer amount; /** 标题 */ + @DbColumn(comment = "标题") private String title; /** 转账原因/备注 */ + @DbColumn(comment = "转账原因/备注") private String reason; /** * 转账类型, 微信使用 + * @see TransferTypeEnum */ + @DbColumn(comment = "转账类型, 微信使用") private String transferType; /** 付款方 */ + @DbColumn(comment = "付款方") private String payer; /** 付款方显示名称 */ + @DbColumn(comment = "付款方显示名称") private String payerShowName; /** * 收款人类型 * @see TransferPayeeTypeEnum */ + @DbColumn(comment = "收款人类型") private String payeeType; /** 收款人账号 */ + @DbColumn(comment = "收款人账号") private String payeeAccount; /** 收款人姓名 */ + @DbColumn(comment = "收款人姓名") private String payeeName; - /** 状态 */ + /** + * 状态 + * @see cn.daxpay.single.code.TransferStatusEnum + */ + @DbColumn(comment = "状态") private String status; /** 成功时间 */ + @DbColumn(comment = "成功时间") private LocalDateTime successTime; + + /** 异步通知地址 */ + @DbColumn(comment = "异步通知地址") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间 */ + @DbColumn(comment = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @DbColumn(comment = "支付终端ip") + private String clientIp; + + /** 错误提示码 */ + @DbColumn(comment = "错误提示码") + private String errorCode; + + /** 错误提示 */ + @DbColumn(comment = "错误提示") + private String errorMsg; + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java deleted file mode 100644 index 1092179d..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrderExtra.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.daxpay.single.service.core.order.transfer.entity; - -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 转账订单扩展数据 - * @author xxm - * @since 2024/6/6 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@DbTable(comment = "转账订单扩展数据") -@TableName("pay_transfer_order_extra") -public class TransferOrderExtra extends MpBaseEntity { - - /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间 */ - @DbColumn(comment = "请求时间,传输时间戳") - private LocalDateTime reqTime; - - /** 终端ip */ - @DbColumn(comment = "支付终端ip") - private String clientIp; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java index 3aa8055d..dfa42f83 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; +import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; +import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -19,19 +19,19 @@ import org.springframework.transaction.annotation.Transactional; public class AllocationAssistService { - private final AllocationOrderExtraManager allocationOrderExtraManager; + private final AllocationOrderManager allocationOrderManager; /** * 根据新传入的分账订单更新订单和扩展信息 */ @Transactional(rollbackFor = Exception.class) - public void updateOrder(AllocationParam allocationParam, AllocationOrderExtra orderExtra) { + public void updateOrder(AllocationParam allocationParam, AllocationOrder orderExtra) { // 扩展信息 orderExtra.setClientIp(allocationParam.getClientIp()) .setNotifyUrl(allocationParam.getNotifyUrl()) .setAttach(allocationParam.getAttach()) .setClientIp(allocationParam.getClientIp()) .setReqTime(allocationParam.getReqTime()); - allocationOrderExtraManager.updateById(orderExtra); + allocationOrderManager.updateById(orderExtra); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index 81c974c4..b53494a9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -17,11 +17,9 @@ import cn.daxpay.single.result.order.AllocOrderResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; import cn.daxpay.single.service.core.order.allocation.entity.OrderAndDetail; import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderService; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; @@ -70,8 +68,6 @@ public class AllocationService { private final PayOrderQueryService payOrderQueryService; - private final AllocationOrderExtraManager allocationOrderExtraManager; - private final LockTemplate lockTemplate; /** @@ -170,11 +166,8 @@ public class AllocationService { allocationStrategy.initParam(order, details); // 分账预处理 allocationStrategy.doBeforeHandler(); - // 查询扩展信息 - AllocationOrderExtra orderExtra = allocationOrderExtraManager.findById(order.getId()) - .orElseThrow(() -> new PayFailureException("未查询到分账单扩展信息")); // 更新分账单扩展信息 - allocationAssistService.updateOrder(param, orderExtra); + allocationAssistService.updateOrder(param, order); try { // 重复分账处理 allocationStrategy.allocation(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java index 1ac347f2..660974f7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java @@ -149,7 +149,7 @@ public class AllocationSyncService { // 如果状态为完成, 发送通知 if (Objects.equals(AllocOrderStatusEnum.ALLOCATION_END.getCode(), allocationOrder.getStatus())){ // 发送通知 - clientNoticeService.registerAllocNotice(allocationOrder, null, details); + clientNoticeService.registerAllocNotice(allocationOrder, details); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java index 94617100..04d814ee 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java @@ -89,7 +89,7 @@ public class PayCancelService { .setCloseTime(LocalDateTime.now()); payOrderService.updateById(payOrder); // 发送通知 - clientsService.registerPayNotice(payOrder,null); + clientsService.registerPayNotice(payOrder); this.saveRecord(payOrder,true,null); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index 20f23352..44a77c06 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -96,7 +96,7 @@ public class PayCloseService { .setCloseTime(LocalDateTime.now()); payOrderService.updateById(payOrder); // 发送通知 - clientsService.registerPayNotice(payOrder,null); + clientsService.registerPayNotice(payOrder); this.saveRecord(payOrder,true,null); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java index a4e00b7d..aa0da482 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java @@ -6,13 +6,10 @@ import cn.daxpay.single.service.core.notice.entity.ClientNoticeTask; import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.common.service.PaymentSignService; import cn.daxpay.single.service.core.payment.notice.result.AllocDetailNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.AllocNoticeResult; @@ -40,12 +37,12 @@ public class ClientNoticeAssistService { /** * 构建出支付通知任务对象 */ - public ClientNoticeTask buildPayTask(PayOrder order, PayOrderExtra orderExtra){ + public ClientNoticeTask buildPayTask(PayOrder order){ PayNoticeResult payNoticeResult = PayOrderConvert.CONVERT.convertNotice(order); - payNoticeResult.setAttach(orderExtra.getAttach()); + payNoticeResult.setAttach(order.getAttach()); paymentSignService.sign(payNoticeResult); return new ClientNoticeTask() - .setUrl(orderExtra.getNotifyUrl()) + .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写, 所以使用Jackson的序列化工具类 .setContent(JacksonUtil.toJson(payNoticeResult)) .setNoticeType(ClientNoticeTypeEnum.PAY.getType()) @@ -58,14 +55,14 @@ public class ClientNoticeAssistService { /** * 构建出退款通知任务对象 */ - public ClientNoticeTask buildRefundTask(RefundOrder order, RefundOrderExtra orderExtra){ + public ClientNoticeTask buildRefundTask(RefundOrder order){ // 创建退款通知内容 RefundNoticeResult refundNoticeResult = RefundOrderConvert.CONVERT.convertNotice(order); - refundNoticeResult.setAttach(orderExtra.getAttach()); + refundNoticeResult.setAttach(order.getAttach()); // 签名 paymentSignService.sign(refundNoticeResult); return new ClientNoticeTask() - .setUrl(orderExtra.getNotifyUrl()) + .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写 .setContent(JacksonUtil.toJson(refundNoticeResult)) .setNoticeType(ClientNoticeTypeEnum.REFUND.getType()) @@ -78,7 +75,7 @@ public class ClientNoticeAssistService { /** * 构建分账通知 */ - public ClientNoticeTask buildAllocTask(AllocationOrder order, AllocationOrderExtra orderExtra, List<AllocationOrderDetail> list){ + public ClientNoticeTask buildAllocTask(AllocationOrder order, List<AllocationOrderDetail> list){ // 分账 AllocNoticeResult allocOrderResult = AllocationConvert.CONVERT.toNotice(order); // 分账详情 @@ -86,12 +83,12 @@ public class ClientNoticeAssistService { .map(AllocationConvert.CONVERT::toNotice) .collect(Collectors.toList()); // 分账扩展和明细 - allocOrderResult.setAttach(orderExtra.getAttach()) + allocOrderResult.setAttach(order.getAttach()) .setDetails(details); // 签名 paymentSignService.sign(allocOrderResult); return new ClientNoticeTask() - .setUrl(orderExtra.getNotifyUrl()) + .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写 .setContent(JacksonUtil.toJson(allocOrderResult)) .setNoticeType(ClientNoticeTypeEnum.ALLOCATION.getType()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java index 8712b8b5..042cf8b5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java @@ -8,16 +8,10 @@ import cn.daxpay.single.service.core.notice.dao.ClientNoticeTaskManager; import cn.daxpay.single.service.core.notice.entity.ClientNoticeRecord; import cn.daxpay.single.service.core.notice.entity.ClientNoticeTask; import cn.daxpay.single.service.core.notice.service.ClientNoticeRecordService; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.hutool.core.util.StrUtil; import cn.hutool.http.ContentType; import cn.hutool.http.HttpResponse; @@ -43,18 +37,12 @@ import java.util.*; @RequiredArgsConstructor public class ClientNoticeService { - private final PayOrderExtraManager payOrderExtraManager; - - private final RefundOrderExtraManager refundOrderExtraManager; - private final ClientNoticeAssistService clientNoticeAssistService; private final ClientNoticeTaskManager taskManager; private final ClientNoticeRecordService recordService; - private final AllocationOrderExtraManager allocationOrderExtraManager; - private final RedisClient redisClient; private final LockTemplate lockTemplate; @@ -89,27 +77,17 @@ public class ClientNoticeService { /** * 注册支付消息通知任务 * @param order 支付订单 - * @param orderExtra 支付订单扩展信息 */ @Async("bigExecutor") - public void registerPayNotice(PayOrder order, PayOrderExtra orderExtra) { - // 支付订单扩展信息为空则进行查询 - if (Objects.isNull(orderExtra)){ - Optional<PayOrderExtra> extraOpt = payOrderExtraManager.findById(order.getId()); - if (!extraOpt.isPresent()){ - log.error("未找到支付扩展信息,数据错误,订单号:{}",order.getOrderNo()); - return; - } - orderExtra = extraOpt.get(); - } + public void registerPayNotice(PayOrder order) { // 判断是否需要进行通知 - if (StrUtil.isBlank(orderExtra.getNotifyUrl())){ + if (StrUtil.isBlank(order.getNotifyUrl())){ log.info("支付订单无需通知,订单号:{}",order.getOrderNo()); return; } // 创建通知任务并保存 - ClientNoticeTask task = clientNoticeAssistService.buildPayTask(order, orderExtra); + ClientNoticeTask task = clientNoticeAssistService.buildPayTask(order); try { taskManager.save(task); } catch (Exception e) { @@ -124,27 +102,17 @@ public class ClientNoticeService { /** * 注册退款消息通知任务 * @param order 退款订单 - * @param orderExtra 退款订单扩展信息 */ @Async("bigExecutor") - public void registerRefundNotice(RefundOrder order, RefundOrderExtra orderExtra) { - // 退款订单扩展信息为空则进行查询 - if (Objects.isNull(orderExtra)){ - Optional<RefundOrderExtra> extraOpt = refundOrderExtraManager.findById(order.getId()); - if (!extraOpt.isPresent()){ - log.error("未找到退款扩展信息,数据错误,订单ID:{}",order.getId()); - return; - } - orderExtra = extraOpt.get(); - } + public void registerRefundNotice(RefundOrder order) { // 判断是否需要进行通知 - if (StrUtil.isBlank(orderExtra.getNotifyUrl())){ + if (StrUtil.isBlank(order.getNotifyUrl())){ log.info("退款订单无需通知,订单ID:{}",order.getId()); return; } // 创建通知任务并保存 - ClientNoticeTask task = clientNoticeAssistService.buildRefundTask(order, orderExtra); + ClientNoticeTask task = clientNoticeAssistService.buildRefundTask(order); try { taskManager.save(task); } catch (Exception e) { @@ -160,23 +128,14 @@ public class ClientNoticeService { * 注册分账消息通知任务 */ @Async("bigExecutor") - public void registerAllocNotice(AllocationOrder order, AllocationOrderExtra orderExtra, List<AllocationOrderDetail> list) { - // 创建通知任务并保存 - if (Objects.isNull(orderExtra)){ - Optional<AllocationOrderExtra> extraOpt = allocationOrderExtraManager.findById(order.getId()); - if (!extraOpt.isPresent()){ - log.error("未找到分账扩展信息,数据错误,订单ID:{}",order.getId()); - return; - } - orderExtra = extraOpt.get(); - } + public void registerAllocNotice(AllocationOrder order, List<AllocationOrderDetail> list) { // 判断是否需要进行通知 - if (StrUtil.isBlank(orderExtra.getNotifyUrl())){ + if (StrUtil.isBlank(order.getNotifyUrl())){ log.info("分账订单无需通知,订单ID:{}",order.getId()); return; } // 创建通知任务并保存 - ClientNoticeTask task = clientNoticeAssistService.buildAllocTask(order, orderExtra, list); + ClientNoticeTask task = clientNoticeAssistService.buildAllocTask(order, list); try { taskManager.save(task); } catch (Exception e) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java index d49b1273..89b99cb8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java @@ -1,9 +1,7 @@ package cn.daxpay.single.service.core.payment.notice.service; import cn.daxpay.single.service.configuration.DaxPayProperties; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.alipay.AliPayReturnParam; @@ -26,7 +24,6 @@ import java.util.Objects; @RequiredArgsConstructor public class PayReturnService { private final PayOrderQueryService payOrderQueryService; - private final PayOrderExtraManager payOrderExtraManager; private final PlatformConfigService platformConfigService; private final DaxPayProperties properties; @@ -39,17 +36,13 @@ public class PayReturnService { if ( Objects.isNull(payOrder)){ return StrUtil.format("{}/result/error?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付订单有问题,请排查")); } - PayOrderExtra payOrderExtra = payOrderExtraManager.findById(payOrder.getId()).orElse(null); - if ( Objects.isNull(payOrderExtra)){ - return StrUtil.format("{}/result/error?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付订单有问题,请排查")); - } // 如果同步跳转参数为空, 获取系统配置地址, 系统配置如果也为空, 则返回默认地址 - String returnUrl = payOrderExtra.getReturnUrl(); + String returnUrl = payOrder.getReturnUrl(); if (StrUtil.isBlank(returnUrl)){ returnUrl = platformConfigService.getConfig().getReturnUrl(); } if (StrUtil.isNotBlank(returnUrl)){ - return StrUtil.format("{}?orderNo={}&bizOrderNo={}", payOrderExtra.getReturnUrl(),payOrder.getOrderNo(),payOrder.getBizOrderNo()); + return StrUtil.format("{}?orderNo={}&bizOrderNo={}", payOrder.getReturnUrl(),payOrder.getOrderNo(),payOrder.getBizOrderNo()); } // 跳转到默认页 return StrUtil.format("{}/result/success?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付成功...")); @@ -62,19 +55,18 @@ public class PayReturnService { orderId = param.getOrderNo(); } - PayOrderExtra payOrderExtra = payOrderExtraManager.findById(orderId).orElse(null); PayOrder prOrder = payOrderQueryService.findById(Long.valueOf(orderId)).orElse(null); - if (Objects.isNull(payOrderExtra) || Objects.isNull(prOrder)){ + if (Objects.isNull(prOrder)){ return StrUtil.format("{}/result/error?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付订单有问题,请排查")); } // 如果同步跳转参数为空, 获取系统配置地址, 系统配置如果也为空, 则返回默认地址 - String returnUrl = payOrderExtra.getReturnUrl(); + String returnUrl = prOrder.getReturnUrl(); if (StrUtil.isBlank(returnUrl)){ returnUrl = platformConfigService.getConfig().getReturnUrl(); } if (StrUtil.isNotBlank(returnUrl)){ - return StrUtil.format("{}?orderNo={}&bizOrderNo={}", payOrderExtra.getReturnUrl(),prOrder.getOrderNo(), prOrder.getBizOrderNo()); + return StrUtil.format("{}?orderNo={}&bizOrderNo={}", prOrder.getReturnUrl(),prOrder.getOrderNo(), prOrder.getBizOrderNo()); } // 跳转到默认页 return StrUtil.format("{}/result/success?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付成功...")); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 8d5273f6..b8fe8e70 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -11,9 +11,7 @@ import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.builder.PayBuilder; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; @@ -48,8 +46,6 @@ public class PayAssistService { private final PayOrderQueryService payOrderQueryService; - private final PayOrderExtraManager payOrderExtraManager; - /** * 初始化支付相关上下文 */ @@ -99,11 +95,6 @@ public class PayAssistService { // 构建支付订单并保存 PayOrder order = PayBuilder.buildPayOrder(payParam); payOrderService.save(order); - // 构建支付订单扩展表并保存 - PayOrderExtra payOrderExtra = PayBuilder.buildPayOrderExtra(payParam, order.getId()); - payOrderExtraManager.save(payOrderExtra); - payInfo.setPayOrder(order) - .setPayOrderExtra(payOrderExtra); return order; } @@ -111,30 +102,27 @@ public class PayAssistService { * 根据新传入的支付订单更新订单和扩展信息 */ @Transactional(rollbackFor = Exception.class) - public void updatePayOrder(PayParam payParam,PayOrder order, PayOrderExtra payOrderExtra) { + public void updatePayOrder(PayParam payParam,PayOrder order) { // 订单信息 order.setAllocation(payParam.getAllocation()) + .setClientIp(payParam.getClientIp()) + .setNotifyUrl(payParam.getNotifyUrl()) + .setReturnUrl(payParam.getReturnUrl()) + .setAttach(payParam.getAttach()) + .setClientIp(payParam.getClientIp()) + .setReqTime(payParam.getReqTime()) .setChannel(payParam.getChannel()) .setMethod(payParam.getMethod()); if (!order.getAllocation()) { order.setAllocStatus(null); } - - // 扩展信息 - payOrderExtra.setClientIp(payParam.getClientIp()) - .setNotifyUrl(payParam.getNotifyUrl()) - .setReturnUrl(payParam.getReturnUrl()) - .setAttach(payParam.getAttach()) - .setClientIp(payParam.getClientIp()) - .setReqTime(payParam.getReqTime()); if (CollUtil.isNotEmpty(payParam.getExtraParam())){ - payOrderExtra.setExtraParam(JSONUtil.toJsonStr(payParam.getExtraParam())); + order.setExtraParam(JSONUtil.toJsonStr(payParam.getExtraParam())); } else { - payOrderExtra.setExtraParam(null); + order.setExtraParam(null); } payOrderService.updateById(order); - payOrderExtraManager.updateById(payOrderExtra); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java index e49b6d7e..50c5c747 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java @@ -1,19 +1,15 @@ package cn.daxpay.single.service.core.payment.pay.service; -import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.result.pay.PayResult; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsPayStrategy; -import cn.daxpay.single.service.func.AbsRefundSyncStrategy; import cn.daxpay.single.service.util.PayStrategyFactory; import cn.daxpay.single.util.PayUtil; import cn.hutool.extra.spring.SpringUtil; @@ -47,8 +43,6 @@ public class PayService { private final ClientNoticeService clientNoticeService; - private final PayOrderExtraManager payOrderExtraManager; - private final TradeFlowRecordService tradeFlowRecordService; private final LockTemplate lockTemplate; @@ -138,7 +132,7 @@ public class PayService { // 如果支付完成 发送通知, 记录流水 if (Objects.equals(payOrder.getStatus(), SUCCESS.getCode())){ tradeFlowRecordService.savePay(payOrder); - clientNoticeService.registerPayNotice(payOrder, payInfo.getPayOrderExtra()); + clientNoticeService.registerPayNotice(payOrder); } return payAssistService.buildResult(payOrder); } @@ -153,10 +147,8 @@ public class PayService { payStrategy.initPayParam(payOrder, payParam); // 执行支付前处理动作 payStrategy.doBeforePayHandler(); - // 查询订单扩展记录 - PayOrderExtra payOrderExtra = payOrderExtraManager.findById(payOrder.getId()).orElseThrow(() -> new DataNotExistException("支付订单不完整")); - // 执行支付前的更新动作, 更新并保存订单和扩展的数据 - payAssistService.updatePayOrder(payParam, payOrder, payOrderExtra); + // 执行支付前的更新动作, 更新并保存订单数据 + payAssistService.updatePayOrder(payParam, payOrder); try { // 支付操作 @@ -168,14 +160,14 @@ public class PayService { throw e; } // 支付调起成功后操作, 使用事务来保证数据一致性 - return SpringUtil.getBean(this.getClass()).repeatPaySuccess(payOrder, payOrderExtra); + return SpringUtil.getBean(this.getClass()).repeatPaySuccess(payOrder); } /** * 重复支付成功后操作 */ @Transactional(rollbackFor = Exception.class) - public PayResult repeatPaySuccess(PayOrder payOrder, PayOrderExtra payOrderExtra) { + public PayResult repeatPaySuccess(PayOrder payOrder) { PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); // 如果支付完成, 进行订单完成处理, 同时发送回调消息 if (payInfo.isComplete()) { @@ -191,7 +183,7 @@ public class PayService { // 如果支付完成 发送通知, 记录流水 if (Objects.equals(payOrder.getStatus(), SUCCESS.getCode())){ tradeFlowRecordService.savePay(payOrder); - clientNoticeService.registerPayNotice(payOrder, payOrderExtra); + clientNoticeService.registerPayNotice(payOrder); } return payAssistService.buildResult(payOrder); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 3e85b885..886fc2ab 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -11,10 +11,8 @@ import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.util.OrderNoGenerateUtil; import cn.daxpay.single.util.PaySignUtil; import cn.hutool.core.util.StrUtil; @@ -42,8 +40,6 @@ import static cn.daxpay.single.code.RefundStatusEnum.SUCCESS; public class RefundAssistService { private final RefundOrderManager refundOrderManager; - private final RefundOrderExtraManager refundOrderExtraManager; - /** * 检查并处理退款参数 */ @@ -90,17 +86,12 @@ public class RefundAssistService { .setOrderAmount(payOrder.getAmount()) .setAmount(refundParam.getAmount()) .setTitle(payOrder.getTitle()) - .setReason(refundParam.getReason()); - refundOrderManager.save(refundOrder); - // 生成退款扩展订单 - RefundOrderExtra orderExtra = new RefundOrderExtra() + .setReason(refundParam.getReason()) .setClientIp(refundParam.getClientIp()) .setReqTime(refundParam.getReqTime()) .setAttach(refundParam.getAttach()) - .setNotifyUrl(refundParam.getNotifyUrl()); - orderExtra.setId(refundOrder.getId()); - - refundOrderExtraManager.save(orderExtra); + .setNotifyUrl(refundParam.getNotifyUrl());; + refundOrderManager.save(refundOrder); return refundOrder; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index f7b01f74..cc93d38e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -13,10 +13,8 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsRefundStrategy; @@ -57,8 +55,6 @@ public class RefundService { private final TradeFlowRecordService tradeFlowRecordService; - private final RefundOrderExtraManager refundOrderExtraManager; - private final LockTemplate lockTemplate; @@ -154,15 +150,13 @@ public class RefundService { // 获取支付订单 PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(refundOrder.getOrderNo(), refundOrder.getBizOrderNo()) .orElseThrow(() -> new DataNotExistException("支付订单不存在")); - RefundOrderExtra refundOrderExtra = refundOrderExtraManager.findById(refundOrder.getId()) - .orElseThrow(() -> new DataNotExistException("退款订单扩展信息不存在")); AbsRefundStrategy refundStrategy = PayStrategyFactory.create(refundOrder.getChannel(), AbsRefundStrategy.class); // 设置退款订单对象 refundStrategy.setRefundOrder(refundOrder); // 退款前准备操作 refundStrategy.doBeforeRefundHandler(); // 进行发起退款前的操作, 更新扩展记录信息 - this.updateExtra(refundOrderExtra, param); + this.updateOrder(param,refundOrder); try { // 执行退款策略 refundStrategy.doRefundHandler(); @@ -184,15 +178,15 @@ public class RefundService { /** * 更新退款订单扩展信息 */ - private void updateExtra(RefundOrderExtra refundOrderExtra, RefundParam param){ - refundOrderExtra.setAttach(param.getAttach()) + private void updateOrder(RefundParam param, RefundOrder order){ + order.setAttach(param.getAttach()) .setClientIp(param.getClientIp()) .setNotifyUrl(param.getNotifyUrl()) .setReqTime(param.getReqTime()); if (CollUtil.isNotEmpty(param.getExtraParam())){ - refundOrderExtra.setExtraParam(JSONUtil.toJsonStr(param.getExtraParam())); + order.setExtraParam(JSONUtil.toJsonStr(param.getExtraParam())); } - refundOrderExtraManager.updateById(refundOrderExtra); + refundOrderManager.updateById(order); } /** @@ -226,7 +220,7 @@ public class RefundService { // 发送通知 List<String> list = Arrays.asList(RefundStatusEnum.SUCCESS.getCode(), RefundStatusEnum.CLOSE.getCode(), RefundStatusEnum.FAIL.getCode()); if (list.contains(refundOrder.getStatus())){ - clientNoticeService.registerRefundNotice(refundOrder, refundInfo.getRunOrderExtra()); + clientNoticeService.registerRefundNotice(refundOrder); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java index 1bd37df1..704cab69 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java @@ -88,7 +88,7 @@ public class PayRepairService { // 设置修复iD repairResult.setRepairNo(IdUtil.getSnowflakeNextIdStr()); // 发送通知 - clientNoticeService.registerPayNotice(order, null); + clientNoticeService.registerPayNotice(order); this.saveRecord(order, repairType, repairResult); return repairResult; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java index 6f4b980c..2f29743b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java @@ -87,7 +87,7 @@ public class RefundRepairService { PayRepairRecord refundRepairRecord = this.refundRepairRecord(refundOrder, repairType, repairResult); // 发送通知 - clientNoticeService.registerRefundNotice(refundOrder, null); + clientNoticeService.registerRefundNotice(refundOrder); recordService.saveAllRecord(Arrays.asList(payRepairRecord, refundRepairRecord)); return repairResult; } finally { @@ -126,7 +126,7 @@ public class RefundRepairService { // 发送通知 List<String> list = Arrays.asList(RefundStatusEnum.SUCCESS.getCode(), RefundStatusEnum.CLOSE.getCode(), RefundStatusEnum.FAIL.getCode()); if (list.contains(refundOrder.getStatus())){ - clientNoticeService.registerRefundNotice(refundOrder, null); + clientNoticeService.registerRefundNotice(refundOrder); } return new RefundRepairResult() diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java index fa4a9222..5448f80d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -1,11 +1,15 @@ package cn.daxpay.single.service.core.payment.transfer.service; +import cn.daxpay.single.code.TransferStatusEnum; import cn.daxpay.single.param.payment.transfer.TransferParam; import cn.daxpay.single.result.transfer.TransferResult; +import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.util.OrderNoGenerateUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * 转账辅助服务 @@ -17,28 +21,48 @@ import org.springframework.stereotype.Service; @RequiredArgsConstructor public class TransferAssistService { + private final TransferOrderManager transferOrderManager; + /** * 创建转账订单 */ + @Transactional(rollbackFor = Exception.class) public TransferOrder createOrder(TransferParam param) { - // 1. 创建转账订单 - - return null; + // 创建转账订单 + TransferOrder transferOrder = new TransferOrder() + .setTransferNo(OrderNoGenerateUtil.transfer()) + .setAmount(param.getAmount()) + .setBizTransferNo(param.getBizTransferNo()) + .setChannel(param.getChannel()) + .setPayeeName(param.getPayeeName()) + .setPayeeAccount(param.getPayeeAccount()) + .setPayeeType(param.getPayeeType()) + .setPayerShowName(param.getPayerShowName()) + .setReason(param.getReason()) + .setStatus(TransferStatusEnum.TRANSFERRING.getCode()) + .setTitle(param.getTitle()) + .setNotifyUrl(param.getNotifyUrl()) + .setAttach(param.getAttach()) + .setClientIp(param.getClientIp()); + transferOrderManager.save(transferOrder); + return transferOrder; } /** * 更新转账订单错误信息 */ public void updateOrderByError(TransferOrder order) { - + order.setErrorMsg("") + .setErrorCode(""); } /** * 构造 - * @param order */ public TransferResult buildResult(TransferOrder order) { - - return null; + return new TransferResult() + .setTransferNo(order.getTransferNo()) + .setBizTransferNo(order.getBizTransferNo()) + .setStatus(order.getStatus()); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderAndExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderAndExtraDto.java deleted file mode 100644 index bb53763f..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderAndExtraDto.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.daxpay.single.service.dto.order.allocation; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 分账订单和扩展信息 - * @author xxm - * @since 2024/5/29 - */ -@Data -@Accessors(chain = true) -@Schema(title = "分账订单和扩展信息") -public class AllocationOrderAndExtraDto { - @Schema(description = "分账订单") - private AllocationOrderDto order; - @Schema(description = "分账订单扩展信息") - private AllocationOrderExtraDto extra; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java index e3aff101..849679fd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java @@ -8,6 +8,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import java.time.LocalDateTime; + /** * 分账订单 * @author xxm @@ -98,6 +100,22 @@ public class AllocationOrderDto extends BaseDto { @Schema(description = "分账处理结果") private String result; + /** 异步通知地址 */ + @Schema(description = "异步通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @Schema(description = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间 */ + @Schema(description = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @Schema(description = "支付终端ip") + private String clientIp; + /** * 错误码 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderExtraDto.java deleted file mode 100644 index 36471ce8..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderExtraDto.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.daxpay.single.service.dto.order.allocation; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** -* 分账订单扩展 -*/ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "分账订单扩展") -public class AllocationOrderExtraDto extends BaseDto { - - /** 异步通知地址 */ - @Schema(description = "异步通知地址") - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @Schema(description = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间 */ - @Schema(description = "请求时间,传输时间戳") - private LocalDateTime reqTime; - - /** 终端ip */ - @Schema(description = "支付终端ip") - private String clientIp; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderAndExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderAndExtraDto.java deleted file mode 100644 index 0983fceb..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderAndExtraDto.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.dto.order.pay; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * 支付订单和扩展信息 - * @author xxm - * @since 2024/4/26 - */ -@Data -@Schema(title = "支付订单和扩展信息") -public class PayOrderAndExtraDto { - @Schema(description = "支付订单") - private PayOrderDto payOrder; - @Schema(description = "支付订单扩展信息") - private PayOrderExtraDto payOrderExtra; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java index 912c3ad8..21e73bf8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java @@ -113,5 +113,19 @@ public class PayOrderDto extends BaseDto { @Schema(description = "错误信息") private String errorMsg; + /** 支付终端ip */ + @Schema(description = "支付终端ip") + private String clientIp; + /** 异步通知地址 */ + @Schema(description = "异步通知地址,以最后一次为准") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回 */ + @Schema(description = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间, 以最后一次为准 */ + @Schema(description = "请求时间,传输时间戳,以最后一次为准") + private LocalDateTime reqTime; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderExtraDto.java deleted file mode 100644 index e9665e6e..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderExtraDto.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.daxpay.single.service.dto.order.pay; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2024/1/9 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "支付订单扩展信息") -public class PayOrderExtraDto extends BaseDto { - - /** 描述 */ - @Schema(description = "描述") - private String description; - - /** 支付终端ip */ - @Schema(description = "支付终端ip") - private String clientIp; - - /** 异步通知地址 */ - @Schema(description = "异步通知地址,以最后一次为准") - private String notifyUrl; - - /** 签名类型 */ - @Schema(description = "签名类型") - private String reqSignType; - - /** 签名,以最后一次为准 */ - @Schema(description = "签名") - private String reqSign; - - /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间, 以最后一次为准 */ - @Schema(description = "请求时间,传输时间戳,以最后一次为准") - private LocalDateTime reqTime; - - /** 错误码 */ - @Schema(description = "错误码") - private String errorCode; - - /** 错误信息 */ - @Schema(description = "错误信息") - private String errorMsg; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderAndExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderAndExtraDto.java deleted file mode 100644 index 2a87cfff..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderAndExtraDto.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.daxpay.single.service.dto.order.refund; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 退款订单信息 - * @author xxm - * @since 2024/4/28 - */ -@Data -@Accessors(chain = true) -@Schema(title = "退款订单信息") -public class RefundOrderAndExtraDto { - @Schema(description = "退款订单") - RefundOrderDto refundOrder; - @Schema(description = "退款订单扩展信息") - RefundOrderExtraDto refundOrderExtra; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java index e859f66e..87c9f111 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java @@ -3,6 +3,9 @@ package cn.daxpay.single.service.dto.order.refund; import cn.bootx.platform.common.core.rest.dto.BaseDto; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.param.channel.AliPayParam; +import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.param.channel.WeChatPayParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -73,6 +76,7 @@ public class RefundOrderDto extends BaseDto { @Schema(description = "退款原因") private String reason; + /** 退款结束时间 */ @Schema(description = "退款结束时间") private LocalDateTime finishTime; @@ -83,6 +87,31 @@ public class RefundOrderDto extends BaseDto { @Schema(description = "退款状态") private String status; + /** 异步通知地址 */ + @Schema(description = "异步通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @Schema(description = "商户扩展参数,回调时会原样返回, 以最后一次为准") + private String attach; + + /** + * 附加参数 以最后一次为准 + * @see AliPayParam + * @see WeChatPayParam + * @see WalletPayParam + */ + @Schema(description = "附加参数 以最后一次为准") + private String extraParam; + + /** 请求时间,时间戳转时间 */ + @Schema(description = "请求时间,时间戳转时间") + private LocalDateTime reqTime; + + /** 终端ip */ + @Schema(description = "终端ip") + private String clientIp; + /** 错误码 */ @Schema(description = "错误码") private String errorCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderExtraDto.java deleted file mode 100644 index 90171b47..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderExtraDto.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.daxpay.single.service.dto.order.refund; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 退款订单扩展信息 - * @author xxm - * @since 2024/4/26 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "退款订单扩展信息") -public class RefundOrderExtraDto extends BaseDto { - - /** 异步通知地址 */ - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - private String attach; - - /** - * 附加参数 以最后一次为准 - * @see AliPayParam - * @see WeChatPayParam - * @see WalletPayParam - */ - private String extraParam; - - /** 请求时间,时间戳转时间 */ - private LocalDateTime reqTime; - - /** 终端ip */ - private String clientIp; -} diff --git a/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java b/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java index e78f1e11..f66694c5 100644 --- a/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java +++ b/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java @@ -23,7 +23,6 @@ class PayParamSignTest { PayParam payParam = new PayParam(); payParam.setBizOrderNo("123"); payParam.setClientIp("127.0.0.1"); - payParam.setNotNotify(true); payParam.setNotifyUrl("http://127.0.0.1:8080/pay/notify"); payParam.setReturnUrl("http://127.0.0.1:8080/pay/return"); // 传入的话需要传输时间戳 -- Gitee From 783164d8e7d5bdb6f68f6bf8ebd3928ddf842aec Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Tue, 11 Jun 2024 16:34:28 +0800 Subject: [PATCH 07/34] =?UTF-8?q?feat=20=E5=A2=9E=E5=8A=A0IP=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E6=A0=A1=E9=AA=8C=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 6 +---- .../common/core/validation/IpAddress.java | 26 +++++++++++++++++++ .../core/validation/IpAddressValidator.java | 26 +++++++++++++++++++ bootx-platform/pom.xml | 2 +- .../single/param/PaymentCommonParam.java | 2 ++ 5 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddress.java create mode 100644 bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddressValidator.java diff --git a/_doc/Task.md b/_doc/Task.md index 4c655335..5e22d48e 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -8,6 +8,7 @@ - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 - [ ] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 +- [ ] 请求IP参数增加正则校验 - [ ] 支付接口公共参数添加随机数字段, 预防重放问题 - [ ] 请求接口增加有效期校验, 一个请求十分钟后失效 - [x] 订单和扩展信息进行合并 @@ -51,10 +52,5 @@ - [ ] 同步接口 - [ ] 对账接口 **任务池** -- [ ] 通道费率计算 -- [ ] 每日资金流水计算 -- [ ] 微信消息通知相关配置 -- [ ] 钉钉消息通知配置 - [ ] 支付宝接口升级为V3接口 - [ ] 增加验签调试等功能的页面 -- [ ] 请求IP参数增加正则校验 diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddress.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddress.java new file mode 100644 index 00000000..126f5ac6 --- /dev/null +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddress.java @@ -0,0 +1,26 @@ +package cn.bootx.platform.common.core.validation; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * + * @author xxm + * @since 2024/6/11 + */ +@Target({ElementType.METHOD, ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +// 标记由哪个类来执行校验逻辑,该类需要实现ConstraintValidator接口 +@Constraint(validatedBy = IpAddressValidator.class) +public @interface IpAddress { + + String message() default "IP地址不合法!"; + + Class<?>[] groups() default {}; + + Class<? extends Payload>[] payload() default {}; +} diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddressValidator.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddressValidator.java new file mode 100644 index 00000000..89f8cea1 --- /dev/null +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddressValidator.java @@ -0,0 +1,26 @@ +package cn.bootx.platform.common.core.validation; + +import cn.hutool.core.lang.Validator; +import cn.hutool.core.util.StrUtil; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +/** + * ip地址校验器 + * @author xxm + * @since 2024/6/11 + */ +public class IpAddressValidator implements ConstraintValidator<IpAddress, String> { + + /** + * 校验是否为IP地址。成功返回true,失败返回false + */ + @Override + public boolean isValid(String str, ConstraintValidatorContext constraintValidatorContext) { + if (StrUtil.isNotBlank(str)){ + return Validator.isIpv4(str) || Validator.isIpv6(str); + } + return true; + } +} diff --git a/bootx-platform/pom.xml b/bootx-platform/pom.xml index 39834298..3565400a 100644 --- a/bootx-platform/pom.xml +++ b/bootx-platform/pom.xml @@ -41,7 +41,7 @@ <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> <!-- 三方库 --> - <hutool.version>5.8.24</hutool.version> + <hutool.version>5.8.27</hutool.version> <oshi.version>6.4.4</oshi.version> <jackson.version>2.12.3</jackson.version> <lang3.version>3.11</lang3.version> diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java index 5ca4fb02..1be53251 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java @@ -1,6 +1,7 @@ package cn.daxpay.single.param; import cn.daxpay.single.serializer.TimestampToLocalDateTimeDeserializer; +import cn.bootx.platform.common.core.validation.IpAddress; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -19,6 +20,7 @@ public abstract class PaymentCommonParam { /** 客户端ip */ @Schema(description = "客户端ip") + @IpAddress private String clientIp; /** 签名 */ -- Gitee From 27e21470c14b7beafb4b2a8000b50e8557253ec3 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Tue, 11 Jun 2024 20:37:34 +0800 Subject: [PATCH 08/34] =?UTF-8?q?ref=20=E6=A0=A1=E9=AA=8C=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3=E6=94=B9=E5=90=8D,=20=E8=AF=B7=E6=B1=82=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=A2=9E=E5=8A=A0=E9=9A=8F=E6=9C=BA=E6=95=B0,=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=B7=E6=B1=82=E6=9C=89=E6=95=88=E6=97=B6?= =?UTF-8?q?=E9=95=BF=E5=8F=82=E6=95=B0=E5=92=8C=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 15 +-- .../common/core/util/LocalDateTimeUtil.java | 2 +- .../daxpay/single/sdk/net/DaxPayRequest.java | 3 + .../single/param/PaymentCommonParam.java | 4 + .../controller/UniAllocationController.java | 10 +- .../controller/UniPayAssistController.java | 6 +- .../gateway/controller/UniPayController.java | 12 +-- .../controller/UniPaySyncController.java | 10 +- .../controller/UniQueryController.java | 12 +-- .../controller/UniReconcileController.java | 4 +- .../{PaymentSign.java => PaymentVerify.java} | 4 +- .../service/common/context/ApiInfoLocal.java | 21 ---- .../{RequestLocal.java => ClientLocal.java} | 2 +- .../service/common/context/PaySyncLocal.java | 15 --- .../common/context/PaymentContext.java | 9 +- .../service/common/context/PlatformLocal.java | 7 ++ .../common/context/RefundRequestLocal.java | 14 --- .../service/AllocationSyncService.java | 2 +- .../cancel/service/PayCancelService.java | 2 +- .../close/service/PayCloseService.java | 2 +- ...rifySignAop.java => PaymentVerifyAop.java} | 26 +++-- .../common/service/PaymentAssistService.java | 100 ++++++++++++++++-- .../common/service/PaymentSignService.java | 80 -------------- .../service/ClientNoticeAssistService.java | 10 +- .../payment/sync/service/PaySyncService.java | 2 +- .../sync/service/RefundSyncService.java | 5 +- .../system/config/entity/PlatformConfig.java | 8 ++ .../config/service/PlatformConfigService.java | 8 +- .../dto/system/config/PlatformConfigDto.java | 8 ++ .../system/config/PlatformConfigParam.java | 8 ++ 30 files changed, 199 insertions(+), 212 deletions(-) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/{PaymentSign.java => PaymentVerify.java} (85%) delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/{RequestLocal.java => ClientLocal.java} (90%) delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaySyncLocal.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundRequestLocal.java rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/{PaymentVerifySignAop.java => PaymentVerifyAop.java} (77%) delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java diff --git a/_doc/Task.md b/_doc/Task.md index 5e22d48e..b20ed511 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -8,15 +8,19 @@ - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 - [ ] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 -- [ ] 请求IP参数增加正则校验 -- [ ] 支付接口公共参数添加随机数字段, 预防重放问题 -- [ ] 请求接口增加有效期校验, 一个请求十分钟后失效 +- [x] 请求IP参数增加正则校验 +- [x] 支付接口公共参数添加随机数字段, 预防重放问题 +- [x] 请求接口增加有效期校验, 超时后失效 +- [ ] 数据库表进行规则, 字段设置长度, 增加索引 + - [ ] 订单 + - [ ] 记录 + - [ ] 配置 - [x] 订单和扩展信息进行合并 - [x] 支付通道两个独立的配置进行合并为一个 - [X] 去除有效, icon, 颜色等字段 - [x] 通道配置设置默认ICON -- [ ] 平台配置改版 - - [ ] 增加接口请求有效时间配置 +- [x] 平台配置改版 + - [x] 增加接口请求有效时长配置 - [x] 平台配置和接口配置删除回调地址配置 - [X] 删除回调地址配置, 更换为消息通知地址和消息通知类型 - [X] 接口配置改版 @@ -47,7 +51,6 @@ - [ ] 微信新增V3版本接口 - [ ] 支付宝新增V3版本接口 - [ ] 增加各类日志记录,例如钱包的各项操作 -- [ ] 数据库表进行规则, 字段设置长度, 增加索引 - [ ] 针对同步/对账等出现脏数据导致阻塞的问题, 进行优化 - [ ] 同步接口 - [ ] 对账接口 diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java index 141ba134..e1fa0727 100644 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java @@ -19,7 +19,7 @@ public class LocalDateTimeUtil extends cn.hutool.core.date.LocalDateTimeUtil { /** * 是否在指定的时间范围内 */ - public boolean between(LocalDateTime now, LocalDateTime start, LocalDateTime end) { + public boolean inBetween(LocalDateTime now, LocalDateTime start, LocalDateTime end) { return ge(now, start) && le(now, end); } diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java index 6db868df..22b15005 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java @@ -23,6 +23,9 @@ public abstract class DaxPayRequest<T extends DaxPayResponseModel> { /** 请求时间,传输时间戳 */ private Long reqTime = DateUtil.currentSeconds(); + /** 随机数 */ + private String nonceStr; + /** * 方法请求路径 * @return 请求路径 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java index 1be53251..516bc736 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java @@ -23,6 +23,10 @@ public abstract class PaymentCommonParam { @IpAddress private String clientIp; + /** 随机数 */ + @Schema(description = "随机数") + private String nonceStr; + /** 签名 */ @Schema(description = "签名") private String sign; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java index eb66788c..8b0c7ad6 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java @@ -10,7 +10,7 @@ import cn.daxpay.single.result.DaxResult; import cn.daxpay.single.result.allocation.AllocReceiverAddResult; import cn.daxpay.single.result.allocation.AllocReceiverRemoveResult; import cn.daxpay.single.result.allocation.AllocationResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; @@ -39,7 +39,7 @@ public class UniAllocationController { private final AllocationReceiverService receiverService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION) @Operation(summary = "发起分账接口") @PostMapping("/start") @@ -47,7 +47,7 @@ public class UniAllocationController { return DaxRes.ok(allocationService.allocation(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION_FINISH) @Operation(summary = "分账完结接口") @PostMapping("/finish") @@ -55,7 +55,7 @@ public class UniAllocationController { return DaxRes.ok(allocationService.finish(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION_RECEIVER_ADD) @Operation(summary = "分账接收方添加接口") @PostMapping("/receiver/add") @@ -63,7 +63,7 @@ public class UniAllocationController { return DaxRes.ok(receiverService.addAndSync(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION_RECEIVER_REMOVE) @Operation(summary = "分账接收方删除接口") @PostMapping("/receiver/remove") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java index 026ec022..2f652b9b 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java @@ -10,7 +10,7 @@ import cn.daxpay.single.result.DaxResult; import cn.daxpay.single.result.assist.WxAccessTokenResult; import cn.daxpay.single.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.annotation.InitPaymentContext; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.assist.service.UniPayAssistService; import cn.daxpay.single.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; @@ -34,7 +34,7 @@ import org.springframework.web.bind.annotation.RestController; public class UniPayAssistController { private final UniPayAssistService uniPayAssistService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.GET_WX_AUTH_URL) @Operation(summary = "获取微信OAuth2授权链接") @PostMapping("/getWxAuthUrl") @@ -42,7 +42,7 @@ public class UniPayAssistController { return DaxRes.ok(uniPayAssistService.getWxAuthUrl(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.GET_WX_ACCESS_TOKEN) @Operation(summary = "获取微信AccessToken") @PostMapping("/getWxAccessToken") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java index dffe9409..37c4aee0 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java @@ -13,7 +13,7 @@ import cn.daxpay.single.result.pay.PayCloseResult; import cn.daxpay.single.result.pay.PayResult; import cn.daxpay.single.result.pay.RefundResult; import cn.daxpay.single.result.transfer.TransferResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.cancel.service.PayCancelService; import cn.daxpay.single.service.core.payment.close.service.PayCloseService; @@ -46,7 +46,7 @@ public class UniPayController { private final PayCancelService payCancelService; private final TransferService transferService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.PAY) @Operation(summary = "统一支付接口") @PostMapping("/pay") @@ -54,7 +54,7 @@ public class UniPayController { return DaxRes.ok(payService.pay(payParam)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.CLOSE) @Operation(summary = "支付关闭接口") @PostMapping("/close") @@ -62,7 +62,7 @@ public class UniPayController { return DaxRes.ok(payCloseService.close(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.CANCEL) @Operation(summary = "支付撤销接口") @PostMapping("/cancel") @@ -70,7 +70,7 @@ public class UniPayController { return DaxRes.ok(payCancelService.cancel(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.REFUND) @Operation(summary = "统一退款接口") @PostMapping("/refund") @@ -78,7 +78,7 @@ public class UniPayController { return DaxRes.ok(refundService.refund(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.TRANSFER) @Operation(summary = "统一转账接口") @PostMapping("/transfer") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java index 81736671..9dce6c2d 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java @@ -9,7 +9,7 @@ import cn.daxpay.single.result.DaxResult; import cn.daxpay.single.result.sync.AllocSyncResult; import cn.daxpay.single.result.sync.PaySyncResult; import cn.daxpay.single.result.sync.RefundSyncResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; @@ -39,7 +39,7 @@ public class UniPaySyncController { private final RefundSyncService refundSyncService; private final AllocationSyncService allocationSyncService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_PAY) @Operation(summary = "支付同步接口") @PostMapping("/pay") @@ -47,7 +47,7 @@ public class UniPaySyncController { return DaxRes.ok(paySyncService.sync(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_REFUND) @Operation(summary = "退款同步接口") @PostMapping("/refund") @@ -56,7 +56,7 @@ public class UniPaySyncController { } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_ALLOCATION) @Operation(summary = "分账同步接口") @PostMapping("/allocation") @@ -64,7 +64,7 @@ public class UniPaySyncController { return DaxRes.ok(allocationSyncService.sync(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_TRANSFER) @Operation(summary = "转账同步接口") @PostMapping("/transfer") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java index e3375202..e5a788c4 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java @@ -13,7 +13,7 @@ import cn.daxpay.single.result.order.AllocOrderResult; import cn.daxpay.single.result.allocation.AllocReceiversResult; import cn.daxpay.single.result.order.PayOrderResult; import cn.daxpay.single.result.order.RefundOrderResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; @@ -46,7 +46,7 @@ public class UniQueryController { private final AllocationReceiverService allocationReceiverService; private final AllocationService allocationService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_PAY_ORDER) @Operation(summary = "支付订单查询接口") @PostMapping("/payOrder") @@ -54,7 +54,7 @@ public class UniQueryController { return DaxRes.ok(payOrderQueryService.queryPayOrder(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_REFUND_ORDER) @Operation(summary = "退款订单查询接口") @PostMapping("/refundOrder") @@ -62,7 +62,7 @@ public class UniQueryController { return DaxRes.ok(refundOrderQueryService.queryRefundOrder(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_ALLOCATION_ORDER) @Operation(summary = "分账订单查询接口") @PostMapping("/allocationOrder") @@ -70,7 +70,7 @@ public class UniQueryController { return DaxRes.ok(allocationService.queryAllocationOrder(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_TRANSFER_ORDER) @Operation(summary = "转账订单查询接口") @PostMapping("/transferOrder") @@ -78,7 +78,7 @@ public class UniQueryController { return DaxRes.ok(); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_ALLOCATION_RECEIVER) @Operation(summary = "分账接收方查询接口") @PostMapping("/allocationReceiver") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java index cb66c7bd..54faea90 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java @@ -3,7 +3,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.code.PaymentApiCode; import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor public class UniReconcileController { - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.PAY) @Operation(summary = "下载指定日期的资金流水") @PostMapping("/pay") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentSign.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentVerify.java similarity index 85% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentSign.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentVerify.java index 95967ecb..3f48ce3e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentSign.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentVerify.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.annotation; import java.lang.annotation.*; /** - * 支付校验签名标识 + * 支付校验校验标识 * 支付方法至少有一个参数,并且需要签名支付参数需要放在第一位 * 返回对象必须为 ResResult<T extends PaymentCommonResult> 格式 * @author xxm @@ -13,5 +13,5 @@ import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited -public @interface PaymentSign { +public @interface PaymentVerify { } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java deleted file mode 100644 index b15e50c5..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.daxpay.single.service.common.context; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 支付接口信息 - * @author xxm - * @since 2023/12/24 - */ -@Data -@Accessors(chain = true) -public class ApiInfoLocal { - - /** 当前支付接口编码 */ - private String apiCode; - - /** 回调地址 */ - private String noticeUrl; - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ClientLocal.java similarity index 90% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ClientLocal.java index f1bad9ca..638a4500 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ClientLocal.java @@ -10,7 +10,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class RequestLocal { +public class ClientLocal { /** 客户端ip */ private String clientIp; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaySyncLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaySyncLocal.java deleted file mode 100644 index d9ad72b3..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaySyncLocal.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.daxpay.single.service.common.context; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 支付同步信息 - * @author xxm - * @since 2024/1/24 - */ -@Data -@Accessors(chain = true) -public class PaySyncLocal { - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java index d6144f85..3d6aed75 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java @@ -15,6 +15,9 @@ public class PaymentContext { /** 平台全局配置 */ private final PlatformLocal platformInfo = new PlatformLocal(); + /** 请求终端信息 */ + private final ClientLocal clientInfo = new ClientLocal(); + /** 支付相关信息 */ private final PayLocal payInfo = new PayLocal(); @@ -24,12 +27,6 @@ public class PaymentContext { /** 回调相关信息 */ private final CallbackLocal callbackInfo = new CallbackLocal(); - /** 请求相关信息 */ - private final RequestLocal requestInfo = new RequestLocal(); - - /** 支付同步相关信息 */ - private final PaySyncLocal paySyncInfo = new PaySyncLocal(); - /** 修复相关信息 */ private final RepairLocal repairInfo = new RepairLocal(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java index fec3da9c..cbdeb99f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java @@ -28,6 +28,13 @@ public class PlatformLocal { /** 是否对请求进行验签 */ private boolean reqSign; + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + private Integer reqTimeout; + /** 消息通知方式 */ private String noticeType; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundRequestLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundRequestLocal.java deleted file mode 100644 index af18116e..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundRequestLocal.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.common.context; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 退款请求上下文 - * @author xxm - * @since 2023/12/26 - */ -@Data -@Accessors(chain = true) -public class RefundRequestLocal { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java index 660974f7..e0387a03 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java @@ -167,7 +167,7 @@ public class AllocationSyncService { .setSyncInfo(syncResult.getSyncInfo()) .setErrorCode(errorCode) .setErrorMsg(errorMsg) - .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); + .setClientIp(PaymentContextLocal.get().getClientInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java index 04d814ee..892f07cf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java @@ -98,7 +98,7 @@ public class PayCancelService { */ private void saveRecord(PayOrder payOrder, boolean closed, String errMsg){ String clientIp = PaymentContextLocal.get() - .getRequestInfo() + .getClientInfo() .getClientIp(); PayCloseRecord record = new PayCloseRecord() .setOrderNo(payOrder.getOrderNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index 44a77c06..9a5fe6f3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -105,7 +105,7 @@ public class PayCloseService { */ private void saveRecord(PayOrder payOrder, boolean closed, String errMsg){ String clientIp = PaymentContextLocal.get() - .getRequestInfo() + .getClientInfo() .getClientIp(); PayCloseRecord record = new PayCloseRecord() .setOrderNo(payOrder.getOrderNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifySignAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java similarity index 77% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifySignAop.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java index 0d4806e1..2e5dbd19 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifySignAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java @@ -5,8 +5,8 @@ import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.PaymentCommonParam; import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.service.annotation.PaymentSign; -import cn.daxpay.single.service.core.payment.common.service.PaymentSignService; +import cn.daxpay.single.service.annotation.PaymentVerify; +import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; import cn.daxpay.single.util.DaxRes; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -27,11 +27,11 @@ import org.springframework.stereotype.Component; @Component @Order() @RequiredArgsConstructor -public class PaymentVerifySignAop { - private final PaymentSignService paymentSignService; +public class PaymentVerifyAop { + private final PaymentAssistService paymentAssistService; - @Around("@annotation(paymentSign)") - public Object beforeMethod(ProceedingJoinPoint pjp, @SuppressWarnings("unused") PaymentSign paymentSign) throws Throwable { + @Around("@annotation(paymentVerify)") + public Object beforeMethod(ProceedingJoinPoint pjp, @SuppressWarnings("unused") PaymentVerify paymentVerify) throws Throwable { Object[] args = pjp.getArgs(); if (args.length == 0){ throw new PayFailureException("支付方法至少有一个参数,并且需要签名支付参数需要放在第一位"); @@ -40,8 +40,14 @@ public class PaymentVerifySignAop { if (param instanceof PaymentCommonParam){ // 参数校验 ValidationUtil.validateParam(param); - // 参数验签 - paymentSignService.verifySign((PaymentCommonParam) param); + + // 请求上下文初始化 + paymentAssistService.initRequest((PaymentCommonParam) param); + // 参数签名校验 + paymentAssistService.signVerify((PaymentCommonParam) param); + // 参数请求时间校验 + paymentAssistService.reqTimeoutVerify((PaymentCommonParam) param); + } else { throw new PayFailureException("支付参数需要继承PayCommonParam"); } @@ -54,14 +60,14 @@ public class PaymentVerifySignAop { // todo 后期错误码统一管理后进行更改 commonResult.setCode(1); commonResult.setMsg(ex.getMessage()); - paymentSignService.sign(commonResult); + paymentAssistService.sign(commonResult); return DaxRes.ok(commonResult); } // 对返回值进行签名 if (proceed instanceof ResResult){ Object data = ((ResResult<?>) proceed).getData(); if (data instanceof PaymentCommonResult){ - paymentSignService.sign((PaymentCommonResult) data); + paymentAssistService.sign((PaymentCommonResult) data); } else { throw new PayFailureException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java index db4a98b9..b8dbaa35 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java @@ -1,13 +1,23 @@ package cn.daxpay.single.service.core.payment.common.service; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.service.common.context.RequestLocal; +import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.service.common.context.ClientLocal; +import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; +import cn.daxpay.single.util.PaySignUtil; +import cn.hutool.core.bean.BeanUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.util.Objects; + /** * 支付、退款等各类操作支持服务 * @author xxm @@ -19,18 +29,90 @@ import org.springframework.stereotype.Service; public class PaymentAssistService { private final PlatformConfigService platformConfigService; - /** - * 初始化上下文 - */ - public void initContext(PaymentCommonParam paymentCommonParam){ - platformConfigService.initPlatform(); - this.initRequest(paymentCommonParam); - } /** * 初始化请求相关信息上下文 */ public void initRequest(PaymentCommonParam paymentCommonParam){ - RequestLocal request = PaymentContextLocal.get().getRequestInfo(); + ClientLocal request = PaymentContextLocal.get().getClientInfo(); request.setClientIp(paymentCommonParam.getClientIp()); } + + /** + * 入参签名校验 + */ + public void signVerify(PaymentCommonParam param) { + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); + // 如果平台配置所有属性为空, 进行初始化 + if (BeanUtil.isEmpty(platformInfo)){ + platformConfigService.initPlatform(); + } + // 判断当前接口是否不需要签名 + if (!platformInfo.isReqSign()){ + return; + } + // 参数转换为Map对象 + PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); + String signType = platform.getSignType(); + if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ + boolean verified = PaySignUtil.verifyHmacSha256Sign(param, platform.getSignSecret(), param.getSign()); + if (!verified){ + throw new PayFailureException("未通过签名验证"); + } + } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ + boolean verified = PaySignUtil.verifyMd5Sign(param, platform.getSignSecret(), param.getSign()); + if (!verified){ + throw new PayFailureException("未通过签名验证"); + } + } else { + throw new PayFailureException("签名方式错误"); + } + } + + /** + * 请求有效时间校验 + */ + public void reqTimeoutVerify(PaymentCommonParam param) { + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); + // 如果平台配置所有属性为空, 进行初始化 + if (BeanUtil.isEmpty(platformInfo)){ + platformConfigService.initPlatform(); + } + if (Objects.nonNull(platformInfo.getReqTimeout()) ){ + LocalDateTime now = LocalDateTime.now(); + // 时间差值(秒) + long durationSeconds = Math.abs(LocalDateTimeUtil.between(now, param.getReqTime()).getSeconds()); + // 当前时间是否晚于请求时间 + if (LocalDateTimeUtil.lt(now, param.getReqTime())){ + // 请求时间比服务器时间晚, 超过一分钟直接打回 + if (durationSeconds > 60){ + throw new PayFailureException("请求时间晚于服务器接收到的时间,请检查"); + } + } else { + // 请求时间比服务器时间早, 超过配置时间直接打回 + if (durationSeconds > platformInfo.getReqTimeout()){ + throw new PayFailureException("请求已过期,请重新发送!"); + } + } + + } + } + + /** + * 对对象进行签名 + */ + public void sign(PaymentCommonResult result) { + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); + // 如果平台配置所有属性为空, 进行初始化 + if (BeanUtil.isEmpty(platformInfo)){ + platformConfigService.initPlatform(); + } + String signType = platformInfo.getSignType(); + if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ + result.setSign(PaySignUtil.hmacSha256Sign(result, platformInfo.getSignSecret())); + } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ + result.setSign(PaySignUtil.md5Sign(result, platformInfo.getSignSecret())); + } else { + throw new PayFailureException("未获取到签名方式,请检查"); + } + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java deleted file mode 100644 index 3fe7dc39..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.daxpay.single.service.core.payment.common.service; - -import cn.daxpay.single.code.PaySignTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.service.common.context.PlatformLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; -import cn.daxpay.single.util.PaySignUtil; -import cn.hutool.core.bean.BeanUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Objects; - -/** - * 支付签名服务 - * @author xxm - * @since 2023/12/24 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class PaymentSignService { - - private final PaymentAssistService paymentAssistService; - - private final PlatformConfigService platformConfigService; - - /** - * 入参签名校验 - */ - public void verifySign(PaymentCommonParam param) { - // 先触发上下文的初始化 - paymentAssistService.initContext(param); - PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); - - // 判断当前接口是否不需要签名 - if (!platformInfo.isReqSign()){ - return; - } - // 参数转换为Map对象 - PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); - String signType = platform.getSignType(); - if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ - boolean verified = PaySignUtil.verifyHmacSha256Sign(param, platform.getSignSecret(), param.getSign()); - if (!verified){ - throw new PayFailureException("未通过签名验证"); - } - } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ - boolean verified = PaySignUtil.verifyMd5Sign(param, platform.getSignSecret(), param.getSign()); - if (!verified){ - throw new PayFailureException("未通过签名验证"); - } - } else { - throw new PayFailureException("签名方式错误"); - } - } - - /** - * 对对象进行签名 - */ - public void sign(PaymentCommonResult result) { - PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); - // 如果平台配置所有属性为空, 进行初始化 - if (BeanUtil.isEmpty(platformInfo)){ - platformConfigService.initPlatform(); - } - String signType = platformInfo.getSignType(); - if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ - result.setSign(PaySignUtil.hmacSha256Sign(result, platformInfo.getSignSecret())); - } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ - result.setSign(PaySignUtil.md5Sign(result, platformInfo.getSignSecret())); - } else { - throw new PayFailureException("未获取到签名方式,请检查"); - } - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java index aa0da482..e779025c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java @@ -10,7 +10,7 @@ import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.payment.common.service.PaymentSignService; +import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; import cn.daxpay.single.service.core.payment.notice.result.AllocDetailNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.AllocNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; @@ -32,7 +32,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class ClientNoticeAssistService { - private final PaymentSignService paymentSignService; + private final PaymentAssistService paymentAssistService; /** * 构建出支付通知任务对象 @@ -40,7 +40,7 @@ public class ClientNoticeAssistService { public ClientNoticeTask buildPayTask(PayOrder order){ PayNoticeResult payNoticeResult = PayOrderConvert.CONVERT.convertNotice(order); payNoticeResult.setAttach(order.getAttach()); - paymentSignService.sign(payNoticeResult); + paymentAssistService.sign(payNoticeResult); return new ClientNoticeTask() .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写, 所以使用Jackson的序列化工具类 @@ -60,7 +60,7 @@ public class ClientNoticeAssistService { RefundNoticeResult refundNoticeResult = RefundOrderConvert.CONVERT.convertNotice(order); refundNoticeResult.setAttach(order.getAttach()); // 签名 - paymentSignService.sign(refundNoticeResult); + paymentAssistService.sign(refundNoticeResult); return new ClientNoticeTask() .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写 @@ -86,7 +86,7 @@ public class ClientNoticeAssistService { allocOrderResult.setAttach(order.getAttach()) .setDetails(details); // 签名 - paymentSignService.sign(allocOrderResult); + paymentAssistService.sign(allocOrderResult); return new ClientNoticeTask() .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java index 0a17e6cc..d769a0b9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java @@ -243,7 +243,7 @@ public class PaySyncService { .setRepair(repair) .setRepairNo(repairOrderNo) .setErrorMsg(errorMsg) - .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); + .setClientIp(PaymentContextLocal.get().getClientInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java index d5f9c007..47a55418 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java @@ -5,7 +5,6 @@ import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.code.RefundSyncStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; import cn.daxpay.single.param.payment.refund.RefundSyncParam; import cn.daxpay.single.result.sync.RefundSyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; @@ -23,12 +22,10 @@ import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService; import cn.daxpay.single.service.func.AbsRefundSyncStrategy; import cn.daxpay.single.service.util.PayStrategyFactory; -import cn.hutool.extra.spring.SpringUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -203,7 +200,7 @@ public class RefundSyncService { .setRepair(repair) .setRepairNo(repairOrderNo) .setErrorMsg(errorMsg) - .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); + .setClientIp(PaymentContextLocal.get().getClientInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java index 8d467275..3ced85ce 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java @@ -42,6 +42,14 @@ public class PlatformConfig extends MpBaseEntity implements EntityBaseFunction<P @DbColumn(comment = "是否对请求进行验签") private boolean reqSign; + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + @DbColumn(comment = "请求有效时长(秒)") + private Integer reqTimeout; + /** * 消息通知方式, 目前只支持http * @see TradeNotifyTypeEnum diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java index 874441f0..5f2e7c51 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java @@ -47,12 +47,6 @@ public class PlatformConfigService { public void initPlatform(){ PlatformConfig config = this.getConfig(); PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); - platform.setSignType(config.getSignType()); - platform.setSignSecret(config.getSignSecret()); - platform.setOrderTimeout(config.getOrderTimeout()); - platform.setLimitAmount(config.getLimitAmount()); - platform.setWebsiteUrl(config.getWebsiteUrl()); - platform.setNoticeType(config.getNotifyType()); - platform.setNoticeUrl(config.getNotifyUrl()); + BeanUtil.copyProperties(config,platform); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java index cda8afed..a2fa34d4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java @@ -33,6 +33,14 @@ public class PlatformConfigDto { @Schema(description = "是否对请求进行验签") private boolean reqSign; + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + @Schema(description = "请求有效时长(秒)") + private Integer reqTimeout; + /** * 消息通知方式, 目前只支持http * @see TradeNotifyTypeEnum diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java index 4088151c..6d310ae3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java @@ -23,6 +23,14 @@ public class PlatformConfigParam { @Schema(description = "是否对请求进行验签") private boolean reqSign; + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + @Schema(description = "请求有效时长(秒)") + private Integer reqTimeout; + /** * @see PaySignTypeEnum */ -- Gitee From 73919fea4dfcd1ae1281f6d2bb2a39684707127e Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Wed, 12 Jun 2024 19:24:57 +0800 Subject: [PATCH 09/34] =?UTF-8?q?ref=20=E8=AE=A2=E5=8D=95=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=AD=97=E6=AE=B5=E8=AE=BE=E7=BD=AE=E9=95=BF=E5=BA=A6?= =?UTF-8?q?,=20=E7=B4=A2=E5=BC=95=E9=85=8D=E7=BD=AE,=20=E5=88=86=E8=B4=A6?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=90=8D=E7=A7=B0=E7=AE=80=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 13 +-- .../allocation/AllocationOrderController.java | 14 ++-- ...tion.java => AmountAbnormalException.java} | 6 +- .../single/param/PaymentCommonParam.java | 4 + .../payment/allocation/AllocationParam.java | 12 ++- .../single/param/payment/pay/PayParam.java | 20 +++-- .../param/payment/refund/RefundParam.java | 13 ++- .../param/payment/transfer/TransferParam.java | 20 +++++ .../single/result/order/PayOrderResult.java | 2 +- .../java/cn/daxpay/single/util/PayUtil.java | 20 ----- .../service/AliPayAllocationService.java | 28 +++---- .../service/WeChatPayAllocationService.java | 30 +++---- ...ionConvert.java => AllocOrderConvert.java} | 22 ++--- ...ager.java => AllocOrderDetailManager.java} | 8 +- ...apper.java => AllocOrderDetailMapper.java} | 4 +- ...OrderMapper.java => AllocOrderMapper.java} | 4 +- .../dao/AllocationOrderManager.java | 24 +++--- .../{AllocationOrder.java => AllocOrder.java} | 82 +++++++++---------- ...OrderDetail.java => AllocOrderDetail.java} | 32 ++++---- .../allocation/entity/OrderAndDetail.java | 4 +- ...rvice.java => AllocOrderQueryService.java} | 28 +++---- ...derService.java => AllocOrderService.java} | 34 ++++---- .../core/order/pay/entity/PayOrder.java | 60 ++++++-------- .../reconcile/entity/ReconcileOrder.java | 26 +++--- .../core/order/refund/entity/RefundOrder.java | 50 ++++++----- .../order/transfer/entity/TransferOrder.java | 46 ++++++----- .../service/AllocationAssistService.java | 4 +- .../allocation/service/AllocationService.java | 74 ++++++++--------- .../service/AllocationSyncService.java | 60 +++++++------- .../allocation/AliPayAllocationStrategy.java | 6 +- .../WeChatPayAllocationStrategy.java | 8 +- .../notice/result/PayNoticeResult.java | 2 +- .../service/ClientNoticeAssistService.java | 12 +-- .../notice/service/ClientNoticeService.java | 6 +- .../core/payment/pay/service/PayService.java | 2 - .../payment/refund/service/RefundService.java | 8 +- ...cationOrderDto.java => AllocOrderDto.java} | 2 +- .../service/func/AbsAllocationStrategy.java | 14 ++-- ...onOrderQuery.java => AllocOrderQuery.java} | 2 +- .../service/task/AllocationSyncTask.java | 14 ++-- 40 files changed, 423 insertions(+), 397 deletions(-) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/{PayAmountAbnormalException.java => AmountAbnormalException.java} (69%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/{AllocationConvert.java => AllocOrderConvert.java} (56%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/{AllocationOrderDetailManager.java => AllocOrderDetailManager.java} (62%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/{AllocationOrderDetailMapper.java => AllocOrderDetailMapper.java} (72%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/{AllocationOrderMapper.java => AllocOrderMapper.java} (75%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/{AllocationOrder.java => AllocOrder.java} (53%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/{AllocationOrderDetail.java => AllocOrderDetail.java} (64%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/{AllocationOrderQueryService.java => AllocOrderQueryService.java} (61%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/{AllocationOrderService.java => AllocOrderService.java} (88%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/{AllocationOrderDto.java => AllocOrderDto.java} (98%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/{AllocationOrderQuery.java => AllocOrderQuery.java} (94%) diff --git a/_doc/Task.md b/_doc/Task.md index b20ed511..86d7aa66 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -11,8 +11,8 @@ - [x] 请求IP参数增加正则校验 - [x] 支付接口公共参数添加随机数字段, 预防重放问题 - [x] 请求接口增加有效期校验, 超时后失效 -- [ ] 数据库表进行规则, 字段设置长度, 增加索引 - - [ ] 订单 +- [ ] 数据库表进行规则, 字段设置长度, 增加索引, 对应请求参数添加校验 + - [x] 订单 - [ ] 记录 - [ ] 配置 - [x] 订单和扩展信息进行合并 @@ -35,11 +35,14 @@ - [ ] 脚手架优化 - [ ] 请求权限改版, 使用专用配置类 - [X] 去除消息通知模块 + 2.0.9: 消息通知改版和系统优化 - [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 - [ ] 优化前端各种状态颜色展示 +- [ ] 增加验签调试等功能的页面 +- [ ] 聚合支付UA在前端判断, 提高响应速度 - 2.1.x 版本内容 +**任务池** - [ ] 增加收单收银台功能 - [ ] 增加资金对账单功能 - [ ] 新增支付单预警功能, 处理支付单与网关状态不一致且无法自动修复的情况 @@ -54,6 +57,4 @@ - [ ] 针对同步/对账等出现脏数据导致阻塞的问题, 进行优化 - [ ] 同步接口 - [ ] 对账接口 -**任务池** -- [ ] 支付宝接口升级为V3接口 -- [ ] 增加验签调试等功能的页面 + diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java index 906a9279..fa5b25b2 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java @@ -10,12 +10,12 @@ import cn.daxpay.single.param.payment.allocation.AllocFinishParam; import cn.daxpay.single.param.payment.allocation.AllocSyncParam; import cn.daxpay.single.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.annotation.InitPaymentContext; -import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderQueryService; +import cn.daxpay.single.service.core.order.allocation.service.AllocOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.param.order.AllocationOrderQuery; +import cn.daxpay.single.service.param.order.AllocOrderQuery; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -37,7 +37,7 @@ import java.util.List; @RequiredArgsConstructor public class AllocationOrderController { - private final AllocationOrderQueryService queryService; + private final AllocOrderQueryService queryService; private final AllocationService allocationService; @@ -45,7 +45,7 @@ public class AllocationOrderController { @Operation(summary = "分页") @GetMapping("/page") - public ResResult<PageResult<AllocationOrderDto>> page(PageParam pageParam, AllocationOrderQuery param){ + public ResResult<PageResult<AllocOrderDto>> page(PageParam pageParam, AllocOrderQuery param){ return Res.ok(queryService.page(pageParam,param)); } @@ -57,7 +57,7 @@ public class AllocationOrderController { @Operation(summary = "查询详情") @GetMapping("/findById") - public ResResult<AllocationOrderDto> findById(Long id){ + public ResResult<AllocOrderDto> findById(Long id){ return Res.ok(queryService.findById(id)); } @@ -69,7 +69,7 @@ public class AllocationOrderController { @Operation(summary = "查询扩展信息") @GetMapping("/findByAllocNo") - public ResResult<AllocationOrderDto> findByAllocNo(String allocNo){ + public ResResult<AllocOrderDto> findByAllocNo(String allocNo){ return Res.ok(queryService.findByAllocNo(allocNo)); } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayAmountAbnormalException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java similarity index 69% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayAmountAbnormalException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java index 82b94ef9..ad6f88b4 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayAmountAbnormalException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java @@ -9,13 +9,13 @@ import cn.daxpay.single.code.DaxPayErrorCode; * @author xxm * @since 2020/12/8 */ -public class PayAmountAbnormalException extends FatalException { +public class AmountAbnormalException extends FatalException { - public PayAmountAbnormalException(String msg) { + public AmountAbnormalException(String msg) { super(DaxPayErrorCode.PAYMENT_AMOUNT_ABNORMAL, msg); } - public PayAmountAbnormalException() { + public AmountAbnormalException() { super(DaxPayErrorCode.PAYMENT_AMOUNT_ABNORMAL, "异常金额"); } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java index 516bc736..82f16290 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import java.time.LocalDateTime; /** @@ -21,14 +22,17 @@ public abstract class PaymentCommonParam { /** 客户端ip */ @Schema(description = "客户端ip") @IpAddress + @Size(max=64, message = "客户端ip不可超过64位") private String clientIp; /** 随机数 */ @Schema(description = "随机数") + @Size(max = 32, message = "随机数不可超过32位") private String nonceStr; /** 签名 */ @Schema(description = "签名") + @Size(max = 64, message = "签名不可超过64位") private String sign; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java index 4a3cc54d..e4414e30 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import javax.validation.Valid; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; import java.util.List; /** @@ -20,25 +21,30 @@ import java.util.List; public class AllocationParam extends PaymentCommonParam { /** 商户分账单号 */ - @Schema(description = "商户分账单号") @NotBlank(message = "商户分账单号不可为空") + @Size(max = 100, message = "商户分账单号不可超过100位") + @Schema(description = "商户分账单号") private String bizAllocationNo; /** 支付订单号 */ + @Size(max = 32, message = "支付订单号不可超过32位") @Schema(description = "支付订单号") private String orderNo; /** 商户支付订单号 */ + @Size(max = 100, message = "商户支付订单号不可超过100位") @Schema(description = "商户支付订单号") private String bizOrderNo; /** 分账描述 */ + @Size(max = 150, message = "分账描述不可超过150位") @Schema(description = "分账描述") private String description; /** * 优先级 分账接收方列表 > 分账组编号 > 默认分账组 */ + @Size(max = 20, message = "分账组编号不可超过20位") @Schema(description = "分账组编号") private String groupNo; @@ -48,11 +54,13 @@ public class AllocationParam extends PaymentCommonParam { private List<AllocReceiverParam> receivers; /** 回调通知地址 */ + @Size(max = 200, message = "回调通知地址不可超过200位") @Schema(description = "回调通知地址") private String notifyUrl; /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数,回调时会原样返回") + @Size(max = 500, message = "商户扩展参数不可超过500位") + @Schema(description = "商户扩展参数") private String attach; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java index 3dbd84a0..6907bdd6 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java @@ -12,9 +12,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import javax.validation.constraints.*; import java.time.LocalDateTime; import java.util.Map; @@ -32,15 +30,18 @@ public class PayParam extends PaymentCommonParam { /** 商户订单号 */ @Schema(description = "商户订单号") @NotBlank(message = "商户订单号不可为空") + @Size(max = 100, message = "商户订单号不可超过100位") private String bizOrderNo; /** 支付标题 */ @Schema(description = "支付标题") @NotBlank(message = "支付标题不可为空") + @Size(max = 100, message = "支付标题不可超过100位") private String title; /** 支付描述 */ @Schema(description = "支付描述") + @Size(max = 500, message = "支付描述不可超过500位") private String description; /** 是否开启分账 */ @@ -62,6 +63,7 @@ public class PayParam extends PaymentCommonParam { */ @Schema(description = "支付通道编码") @NotBlank(message = "支付通道编码不可为空") + @Size(max = 20, message = "支付通道编码不可超过20位") private String channel; /** @@ -70,6 +72,7 @@ public class PayParam extends PaymentCommonParam { */ @Schema(description = "支付方式编码") @NotBlank(message = "支付方式不可为空") + @Size(max = 20, message = "支付方式编码不可超过20位") private String method; /** 支付金额 */ @@ -85,21 +88,26 @@ public class PayParam extends PaymentCommonParam { * @see WalletPayParam */ @Schema(description = "支付扩展参数") + @Size(max = 2048, message = "支付扩展参数不可超过2048位") private Map<String, Object> extraParam; /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数,回调时会原样返回") + @Schema(description = "商户扩展参数") + @Size(max = 500, message = "商户扩展参数不可超过500位") private String attach; /** 同步跳转地址, 支付完毕后用户浏览器返回到该地址, 不传输跳转到默认地址 */ @Schema(description = "同步通知URL") + @Size(max = 200, message = "同步通知URL不可超过200位") private String returnUrl; - /** 退出地址 */ - @Schema(description = "用户付款中途退出返回商户网站的地址(部分支付场景中可用)") + /** 用户付款中途退出返回商户网站的地址(部分支付场景中可用) */ + @Schema(description = "退出地址") + @Size(max = 200, message = "退出地址不可超过200位") private String quitUrl; /** 异步通知地址 */ @Schema(description = "异步通知地址") + @Size(max = 200, message = "异步通知地址不可超过200位") private String notifyUrl; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java index dcb85a0a..94ec9074 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java @@ -10,7 +10,7 @@ import lombok.EqualsAndHashCode; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; -import java.util.Map; +import javax.validation.constraints.Size; /** * 退款参数,适用于组合支付的订单退款操作中, @@ -27,18 +27,21 @@ public class RefundParam extends PaymentCommonParam { */ @Schema(description = "商户退款号") @NotBlank(message = "商户退款号不可为空") + @Size(max = 100, message = "商户退款号不可超过100位") private String bizRefundNo; /** * 支付订单号,与商户订单号至少要传输一个,同时传输以订单号为准 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; /** * 商户支付订单号,与订单号至少要传输一个,同时传输以订单号为准 */ @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNo; /** 退款金额 */ @@ -53,18 +56,22 @@ public class RefundParam extends PaymentCommonParam { * @see WalletPayParam */ @Schema(description = "退款扩展参数") - private Map<String, Object> extraParam; + @Size(max = 2048, message = "退款扩展参数不可超过2048位") + private String extraParam; /** 退款原因 */ @Schema(description = "退款原因") + @Size(max = 150, message = "退款原因不可超过150位") private String reason; /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数,回调时会原样返回") + @Schema(description = "商户扩展参数") + @Size(max = 500, message = "商户扩展参数不可超过500位") private String attach; /** 异步通知地址 */ @Schema(description = "异步通知地址") + @Size(max = 200, message = "异步通知地址不可超过200位") private String notifyUrl; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java index d71fd488..8cf0e5ec 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java @@ -9,6 +9,10 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + /** * 转账参数 * @author xxm @@ -21,6 +25,8 @@ import lombok.experimental.Accessors; public class TransferParam extends PaymentCommonParam { /** 商户转账号 */ + @NotNull(message = "商户转账号必填") + @Size(max = 100, message = "商户转账号不可超过100位") @Schema(description = "商户转账号") private String bizTransferNo; @@ -28,18 +34,24 @@ public class TransferParam extends PaymentCommonParam { * 支付通道 * @see PayChannelEnum */ + @NotNull(message = "支付通道必填") + @Size(max = 20, message = "支付通道不可超过20位") @Schema(description = "支付通道") private String channel; /** 转账金额 */ + @NotNull(message = "转账金额必填") + @Min(value = 1, message = "转账金额至少为0.01") @Schema(description = "转账金额") private Integer amount; /** 标题 */ + @Size(max = 100, message = "标题不可超过100位") @Schema(description = "标题") private String title; /** 转账原因/备注 */ + @Size(max = 150, message = "转账原因/备注不可超过150位") @Schema(description = "转账原因/备注") private String reason; @@ -47,32 +59,40 @@ public class TransferParam extends PaymentCommonParam { * 转账类型, 微信使用 * @see TransferTypeEnum */ + @Size(max = 20, message = "转账类型不可超过20位") @Schema(description = "转账类型, 微信使用") private String transferType; /** 付款方显示名称 */ + @Size(max = 50, message = "付款方显示名称不可超过50位") + @Schema(description = "付款方显示名称") private String payerShowName; /** * 收款人账号类型 * @see TransferPayeeTypeEnum */ + @Size(max = 20, message = "收款人账号类型不可超过20位") @Schema(description = "收款人账号类型") private String payeeType; /** 收款人账号 */ + @Size(max = 100, message = "收款人账号不可超过100位") @Schema(description = "收款人账号") private String payeeAccount; /** 收款人姓名 */ + @Size(max = 50, message = "收款人姓名不可超过50位") @Schema(description = "收款人姓名") private String payeeName; /** 回调通知地址 */ + @Size(max = 200, message = "回调通知地址不可超过200位") @Schema(description = "回调通知地址") private String notifyUrl; /** 商户扩展参数,回调时会原样返回 */ + @Size(max = 500, message = "商户扩展参数,回调时会原样返回不可超过500位") @Schema(description = "商户扩展参数,回调时会原样返回") private String attach; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java index a73c460f..a9c8a11e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java @@ -56,7 +56,7 @@ public class PayOrderResult extends PaymentCommonResult { * 支付通道 * @see PayChannelEnum */ - @Schema(description = "异步支付通道") + @Schema(description = "支付通道") private String channel; /** diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java index 7ab669d3..cfe3cd91 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java @@ -1,8 +1,6 @@ package cn.daxpay.single.util; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.exception.pay.PayAmountAbnormalException; -import cn.daxpay.single.param.payment.pay.PayParam; import cn.hutool.core.date.DatePattern; import lombok.experimental.UtilityClass; @@ -20,24 +18,6 @@ import java.time.temporal.ChronoUnit; public class PayUtil { private static final BigDecimal HUNDRED = new BigDecimal(100); - /** - * 校验参数 - */ - public void validation(PayParam payParam) { - // 验证支付金额 - validationAmount(payParam); - } - - /** - * 检查支付金额 - */ - public void validationAmount(PayParam param) { - // 验证支付金额 - if (param.getAmount() <= 0) { - throw new PayAmountAbnormalException("支付金额不能小于等于0"); - } - } - /** * 获取支付宝的过期时间 yyyy-MM-dd HH:mm:ss */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java index dd2985a5..281ffc91 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java @@ -6,8 +6,8 @@ import cn.daxpay.single.code.AllocDetailResultEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import cn.daxpay.single.util.PayUtil; import cn.hutool.core.date.LocalDateTimeUtil; @@ -46,11 +46,11 @@ public class AliPayAllocationService { * 发起分账 */ @SneakyThrows - public void allocation(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails){ + public void allocation(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails){ // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); - model.setOutRequestNo(allocationOrder.getAllocNo()); - model.setTradeNo(allocationOrder.getOutOrderNo()); + model.setOutRequestNo(allocOrder.getAllocNo()); + model.setTradeNo(allocOrder.getOutOrderNo()); model.setRoyaltyMode(AliPayCode.ALLOC_ASYNC); // 分账子参数 根据Id排序 @@ -76,11 +76,11 @@ public class AliPayAllocationService { * 分账完结 */ @SneakyThrows - public void finish(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails ){ + public void finish(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails ){ // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); - model.setOutRequestNo(String.valueOf(allocationOrder.getAllocNo())); - model.setTradeNo(allocationOrder.getOutOrderNo()); + model.setOutRequestNo(String.valueOf(allocOrder.getAllocNo())); + model.setTradeNo(allocOrder.getOutOrderNo()); model.setRoyaltyMode(AliPayCode.ALLOC_ASYNC); // 分账完结参数 SettleExtendParams extendParams = new SettleExtendParams(); @@ -106,21 +106,21 @@ public class AliPayAllocationService { * 分账状态同步 */ @SneakyThrows - public AllocRemoteSyncResult sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails){ + public AllocRemoteSyncResult sync(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails){ AlipayTradeOrderSettleQueryModel model = new AlipayTradeOrderSettleQueryModel(); - model.setTradeNo(allocationOrder.getOutOrderNo()); - model.setOutRequestNo(allocationOrder.getAllocNo()); + model.setTradeNo(allocOrder.getOutOrderNo()); + model.setOutRequestNo(allocOrder.getAllocNo()); AlipayTradeOrderSettleQueryRequest request = new AlipayTradeOrderSettleQueryRequest(); request.setBizModel(model); AlipayTradeOrderSettleQueryResponse response = AliPayApi.execute(request); // 验证 this.verifyErrorMsg(response); - Map<String, AllocationOrderDetail> detailMap = allocationOrderDetails.stream() - .collect(Collectors.toMap(AllocationOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); + Map<String, AllocOrderDetail> detailMap = allocOrderDetails.stream() + .collect(Collectors.toMap(AllocOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); List<RoyaltyDetail> royaltyDetailList = response.getRoyaltyDetailList(); // 转换成通用的明细详情 for (RoyaltyDetail receiver : royaltyDetailList) { - AllocationOrderDetail detail = detailMap.get(receiver.getTransIn()); + AllocOrderDetail detail = detailMap.get(receiver.getTransIn()); if (Objects.nonNull(detail)) { detail.setResult(this.getDetailResultEnum(receiver.getState()).getCode()); detail.setErrorCode(receiver.getErrorCode()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java index c27a9d2d..422f8665 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java @@ -7,8 +7,8 @@ import cn.daxpay.single.code.AllocReceiverTypeEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import cn.daxpay.single.service.dto.channel.wechat.WeChatPayAllocationReceiver; import cn.hutool.core.codec.Base64; @@ -51,8 +51,8 @@ public class WeChatPayAllocationService { * 发起分账 */ @SneakyThrows - public void allocation(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails, WeChatPayConfig config){ - String description = allocationOrder.getDescription(); + public void allocation(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails, WeChatPayConfig config){ + String description = allocOrder.getDescription(); if (StrUtil.isBlank(description)){ description = "分账"; } @@ -74,8 +74,8 @@ public class WeChatPayAllocationService { .mch_id(config.getWxMchId()) .appid(config.getWxAppId()) .nonce_str(WxPayKit.generateStr()) - .transaction_id(allocationOrder.getOutOrderNo()) - .out_order_no(allocationOrder.getAllocNo()) + .transaction_id(allocOrder.getOutOrderNo()) + .out_order_no(allocOrder.getAllocNo()) .receivers(JSON.toJSONString(list)) .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); @@ -90,14 +90,14 @@ public class WeChatPayAllocationService { /** * 完成分账 */ - public void finish(AllocationOrder allocationOrder, WeChatPayConfig config){ + public void finish(AllocOrder allocOrder, WeChatPayConfig config){ Map<String, String> params = ProfitSharingModel.builder() .mch_id(config.getWxMchId()) .appid(config.getWxAppId()) .nonce_str(WxPayKit.generateStr()) - .transaction_id(allocationOrder.getOutOrderNo()) + .transaction_id(allocOrder.getOutOrderNo()) // 分账要使用单独的的流水号, 不能与分账号相同 - .out_order_no(allocationOrder.getAllocNo()+'F') + .out_order_no(allocOrder.getAllocNo()+'F') .description("分账已完成") .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); @@ -112,13 +112,13 @@ public class WeChatPayAllocationService { /** * 同步分账状态 */ - public AllocRemoteSyncResult sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails, WeChatPayConfig config){ + public AllocRemoteSyncResult sync(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails, WeChatPayConfig config){ // 不要传输AppId参数, 否则会失败 Map<String, String> params = ProfitSharingModel.builder() .mch_id(config.getWxMchId()) .nonce_str(WxPayKit.generateStr()) - .transaction_id(allocationOrder.getOutOrderNo()) - .out_order_no(allocationOrder.getAllocNo()) + .transaction_id(allocOrder.getOutOrderNo()) + .out_order_no(allocOrder.getAllocNo()) .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); String xmlResult = WxPayApi.profitSharingQuery(params); @@ -126,11 +126,11 @@ public class WeChatPayAllocationService { this.verifyErrorMsg(result); String json = result.get(WeChatPayCode.ALLOC_RECEIVERS); List<WeChatPayAllocationReceiver> receivers = JSONUtil.toBean(json, new TypeReference<List<WeChatPayAllocationReceiver>>() {}, false); - Map<String, AllocationOrderDetail> detailMap = allocationOrderDetails.stream() - .collect(Collectors.toMap(AllocationOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); + Map<String, AllocOrderDetail> detailMap = allocOrderDetails.stream() + .collect(Collectors.toMap(AllocOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); // 根据明细更新订单明细内容 for (WeChatPayAllocationReceiver receiver : receivers) { - AllocationOrderDetail detail = detailMap.get(receiver.getAccount()); + AllocOrderDetail detail = detailMap.get(receiver.getAccount()); if (Objects.nonNull(detail)){ detail.setResult(this.getDetailResultEnum(receiver.getResult()).getCode()); detail.setErrorMsg(receiver.getFailReason()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java similarity index 56% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java index 1010d19f..6e5f623f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java @@ -2,12 +2,12 @@ package cn.daxpay.single.service.core.order.allocation.convert; import cn.daxpay.single.result.order.AllocOrderDetailResult; import cn.daxpay.single.result.order.AllocOrderResult; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.notice.result.AllocDetailNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.AllocNoticeResult; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -17,19 +17,19 @@ import org.mapstruct.factory.Mappers; * @since 2024/4/7 */ @Mapper -public interface AllocationConvert { - AllocationConvert CONVERT = Mappers.getMapper(AllocationConvert.class); +public interface AllocOrderConvert { + AllocOrderConvert CONVERT = Mappers.getMapper(AllocOrderConvert.class); - AllocationOrderDto convert(AllocationOrder in); + AllocOrderDto convert(AllocOrder in); - AllocOrderResult toResult(AllocationOrder in); + AllocOrderResult toResult(AllocOrder in); - AllocOrderDetailResult toResult(AllocationOrderDetail in); + AllocOrderDetailResult toResult(AllocOrderDetail in); - AllocationOrderDetailDto convert(AllocationOrderDetail in); + AllocationOrderDetailDto convert(AllocOrderDetail in); - AllocNoticeResult toNotice(AllocationOrder in); + AllocNoticeResult toNotice(AllocOrder in); - AllocDetailNoticeResult toNotice(AllocationOrderDetail in); + AllocDetailNoticeResult toNotice(AllocOrderDetail in); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailManager.java similarity index 62% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailManager.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailManager.java index 0b3918ee..5494034b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailManager.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.order.allocation.dao; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; @@ -16,12 +16,12 @@ import java.util.List; @Slf4j @Repository @RequiredArgsConstructor -public class AllocationOrderDetailManager extends BaseManager<AllocationOrderDetailMapper, AllocationOrderDetail> { +public class AllocOrderDetailManager extends BaseManager<AllocOrderDetailMapper, AllocOrderDetail> { /** * 根据订单ID查询 */ - public List<AllocationOrderDetail> findAllByOrderId(Long orderId) { - return findAllByField(AllocationOrderDetail::getAllocationId, orderId); + public List<AllocOrderDetail> findAllByOrderId(Long orderId) { + return findAllByField(AllocOrderDetail::getAllocationId, orderId); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailMapper.java similarity index 72% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailMapper.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailMapper.java index 2eb08e6b..c3952be4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailMapper.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailMapper.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.order.allocation.dao; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @since 2024/4/7 */ @Mapper -public interface AllocationOrderDetailMapper extends BaseMapper<AllocationOrderDetail> { +public interface AllocOrderDetailMapper extends BaseMapper<AllocOrderDetail> { } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderMapper.java similarity index 75% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderMapper.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderMapper.java index 0047ab80..847548f9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderMapper.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderMapper.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.order.allocation.dao; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @since 2024/4/7 */ @Mapper -public interface AllocationOrderMapper extends BaseMapper<AllocationOrder> { +public interface AllocOrderMapper extends BaseMapper<AllocOrder> { } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java index aa9cdf1a..25c1ca73 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java @@ -5,8 +5,8 @@ import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.param.order.AllocationOrderQuery; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.param.order.AllocOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; @@ -25,38 +25,38 @@ import java.util.Optional; @Slf4j @Repository @RequiredArgsConstructor -public class AllocationOrderManager extends BaseManager<AllocationOrderMapper, AllocationOrder> { +public class AllocationOrderManager extends BaseManager<AllocOrderMapper, AllocOrder> { /** * 根据分账单号查询 */ - public Optional<AllocationOrder> findByAllocationNo(String allocationNo){ - return findByField(AllocationOrder::getAllocNo, allocationNo); + public Optional<AllocOrder> findByAllocNo(String allocNo){ + return findByField(AllocOrder::getAllocNo, allocNo); } /** * 根据商户分账号查询 */ - public Optional<AllocationOrder> findByBizAllocationNo(String bizAllocationNo){ - return findByField(AllocationOrder::getBizAllocNo, bizAllocationNo); + public Optional<AllocOrder> findByBizAllocNo(String bizAllocNo){ + return findByField(AllocOrder::getBizAllocNo, bizAllocNo); } /** * 分页 */ - public Page<AllocationOrder> page(PageParam pageParam, AllocationOrderQuery param){ - Page<AllocationOrder> mpPage = MpUtil.getMpPage(pageParam, AllocationOrder.class); - QueryWrapper<AllocationOrder> generator = QueryGenerator.generator(param); + public Page<AllocOrder> page(PageParam pageParam, AllocOrderQuery param){ + Page<AllocOrder> mpPage = MpUtil.getMpPage(pageParam, AllocOrder.class); + QueryWrapper<AllocOrder> generator = QueryGenerator.generator(param); return this.page(mpPage, generator); } /** * 查询待同步的分账单 */ - public List<AllocationOrder> findSyncOrder(){ + public List<AllocOrder> findSyncOrder(){ List<String> statusList = Arrays.asList(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode(), AllocOrderStatusEnum.ALLOCATION_END.getCode()); return lambdaQuery() - .in(AllocationOrder::getStatus, statusList) + .in(AllocOrder::getStatus, statusList) .list(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java similarity index 53% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java index ab2a5c9a..0f7abc28 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java @@ -4,11 +4,12 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.AllocOrderResultEnum; import cn.daxpay.single.code.AllocOrderStatusEnum; import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -27,86 +28,85 @@ import java.time.LocalDateTime; @Data @Accessors(chain = true) @DbTable(comment = "分账订单") -@TableName("pay_allocation_order") -public class AllocationOrder extends MpBaseEntity implements EntityBaseFunction<AllocationOrderDto> { +@TableName("pay_alloc_order") +public class AllocOrder extends MpBaseEntity implements EntityBaseFunction<AllocOrderDto> { /** * 分账单号 */ - @DbColumn(comment = "分账单号") + @DbMySqlIndex(comment = "分账单号索引") + @DbColumn(comment = "分账单号", length = 32, isNull = false) private String allocNo; /** * 商户分账单号 */ - @DbColumn(comment = "商户分账单号") + @DbMySqlIndex(comment = "商户分账单号索引") + @DbColumn(comment = "商户分账单号", length = 100, isNull = false) private String bizAllocNo; /** * 通道分账号 */ - @DbColumn(comment = "通道分账号") + @DbMySqlIndex(comment = "通道分账号索引") + @DbColumn(comment = "通道分账号", length = 150, isNull = false) private String outAllocNo; /** 支付订单ID */ - @DbColumn(comment = "支付订单ID") + @DbMySqlIndex(comment = "支付订单ID索引") + @DbColumn(comment = "支付订单ID", isNull = false) private Long orderId; - /** - * 支付订单号 - */ - @DbColumn(comment = "支付订单号") + /** 支付订单号 */ + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; - /** - * 商户支付订单号 - */ - @DbColumn(comment = "商户支付订单号") + /** 商户支付订单号 */ + @DbMySqlIndex(comment = "商户支付订单号索引") + @DbColumn(comment = "商户支付订单号", length = 100, isNull = false) private String bizOrderNo; - /** - * 通道系统支付订单号 - */ - @DbColumn(comment = "通道支付订单号") + /** 通道支付订单号 */ + @DbMySqlIndex(comment = "通道支付订单号索引") + @DbColumn(comment = "通道支付订单号", length = 150, isNull = false) private String outOrderNo; - /** - * 支付订单标题 - */ - @DbColumn(comment = "支付订单标题") + /** 支付标题 */ + @DbColumn(comment = "支付标题", length = 100, isNull = false) private String title; /** * 所属通道 * @see PayChannelEnum */ - @DbColumn(comment = "所属通道") + @DbColumn(comment = "所属通道", length = 20, isNull = false) private String channel; /** * 总分账金额 */ - @DbColumn(comment = "总分账金额") + @DbColumn(comment = "总分账金额", length = 15, isNull = false) private Integer amount; /** * 分账描述 */ - @DbColumn(comment = "分账描述") + @DbColumn(comment = "分账描述", length = 150) private String description; /** * 状态 * @see AllocOrderStatusEnum */ - @DbColumn(comment = "状态") + @DbColumn(comment = "状态", length = 20, isNull = false) private String status; /** * 处理结果 * @see AllocOrderResultEnum */ - @DbColumn(comment = "处理结果") + @DbColumn(comment = "处理结果", length = 20, isNull = false) private String result; /** 分账完成时间 */ @@ -114,12 +114,12 @@ public class AllocationOrder extends MpBaseEntity implements EntityBaseFunction< private LocalDateTime finishTime; /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") + @DbColumn(comment = "异步通知地址", length = 200) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String notifyUrl; /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") + @DbColumn(comment = "商户扩展参数", length = 500) private String attach; /** 请求时间,时间戳转时间 */ @@ -127,28 +127,22 @@ public class AllocationOrder extends MpBaseEntity implements EntityBaseFunction< private LocalDateTime reqTime; /** 终端ip */ - @DbColumn(comment = "支付终端ip") + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; - /** - * 错误码 - */ - @DbColumn(comment = "错误码") - @TableField(updateStrategy = FieldStrategy.ALWAYS) + /** 错误码 */ + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** - * 错误信息 - */ - @DbColumn(comment = "错误原因") - @TableField(updateStrategy = FieldStrategy.ALWAYS) + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; /** * 转换 */ @Override - public AllocationOrderDto toDto() { - return AllocationConvert.CONVERT.convert(this); + public AllocOrderDto toDto() { + return AllocOrderConvert.CONVERT.convert(this); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderDetail.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java similarity index 64% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderDetail.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java index fc335aee..59c10eed 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderDetail.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java @@ -4,10 +4,11 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.AllocDetailResultEnum; import cn.daxpay.single.code.AllocReceiverTypeEnum; import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -26,58 +27,59 @@ import java.time.LocalDateTime; @Data @Accessors(chain = true) @DbTable(comment = "分账订单明细") -@TableName(value = "pay_allocation_order_detail",autoResultMap = true) -public class AllocationOrderDetail extends MpBaseEntity implements EntityBaseFunction<AllocationOrderDetailDto> { +@TableName(value = "pay_alloc_order_detail",autoResultMap = true) +public class AllocOrderDetail extends MpBaseEntity implements EntityBaseFunction<AllocationOrderDetailDto> { /** 分账订单ID */ - @DbColumn(comment = "分账订单ID") + @DbMySqlIndex(comment = "分账订单ID索引") + @DbColumn(comment = "分账订单ID", isNull = false) private Long allocationId; /** 接收者ID */ - @DbColumn(comment = "接收者ID") + @DbColumn(comment = "接收者ID", isNull = false) private Long receiverId; /** 分账接收方编号 */ - @DbColumn(comment = "分账接收方编号") + @DbColumn(comment = "分账接收方编号", length = 20, isNull = false) private String receiverNo; /** 分账比例 */ - @DbColumn(comment = "分账比例(万分之多少)") + @DbColumn(comment = "分账比例(万分之多少)", length = 5, isNull = false) private Integer rate; /** 分账金额 */ - @DbColumn(comment = "分账金额") + @DbColumn(comment = "分账金额", length = 15, isNull = false) private Integer amount; /** * 分账接收方类型 * @see AllocReceiverTypeEnum */ - @DbColumn(comment = "分账接收方类型") + @DbColumn(comment = "分账接收方类型", length = 20, isNull = false) private String receiverType; /** 接收方账号 */ - @DbColumn(comment = "接收方账号") + @DbColumn(comment = "接收方账号", length = 150, isNull = false) @TableField(typeHandler = DecryptTypeHandler.class) private String receiverAccount; /** 接收方姓名 */ - @DbColumn(comment = "接收方姓名") + @DbColumn(comment = "接收方姓名", length = 150) private String receiverName; /** * 分账结果 * @see AllocDetailResultEnum */ - @DbColumn(comment = "分账结果") + @DbColumn(comment = "分账结果", length = 20, isNull = false) private String result; /** 错误代码 */ - @DbColumn(comment = "错误代码") + @DbColumn(comment = "错误代码", length = 10) private String errorCode; /** 错误原因 */ - @DbColumn(comment = "错误原因") + @DbColumn(comment = "错误原因", length = 150) private String errorMsg; /** 分账完成时间 */ @@ -89,6 +91,6 @@ public class AllocationOrderDetail extends MpBaseEntity implements EntityBaseFun */ @Override public AllocationOrderDetailDto toDto() { - return AllocationConvert.CONVERT.convert(this); + return AllocOrderConvert.CONVERT.convert(this); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java index b7e53c2b..8981adc3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java @@ -15,7 +15,7 @@ import java.util.List; public class OrderAndDetail { /** 分账订单 */ - private AllocationOrder order; + private AllocOrder order; /** 分账订单明细 */ - private List<AllocationOrderDetail> details; + private List<AllocOrderDetail> details; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java similarity index 61% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java index a8717aef..ab2f6dc2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java @@ -7,13 +7,13 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.core.util.ResultConvertUtil; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.param.order.AllocationOrderQuery; +import cn.daxpay.single.service.param.order.AllocOrderQuery; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -29,9 +29,9 @@ import java.util.List; @Slf4j @Service @RequiredArgsConstructor -public class AllocationOrderQueryService { +public class AllocOrderQueryService { - private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocOrderDetailManager allocOrderDetailManager; private final AllocationOrderManager allocationOrderManager; @@ -48,36 +48,36 @@ public class AllocationOrderQueryService { /** * 分页查询 */ - public PageResult<AllocationOrderDto> page(PageParam pageParam, AllocationOrderQuery param){ + public PageResult<AllocOrderDto> page(PageParam pageParam, AllocOrderQuery param){ return MpUtil.convert2DtoPageResult(allocationOrderManager.page(pageParam, param)); } /** * 查询详情 */ - public AllocationOrderDto findById(Long id) { - return allocationOrderManager.findById(id).map(AllocationOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); + public AllocOrderDto findById(Long id) { + return allocationOrderManager.findById(id).map(AllocOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); } /** * 查询详情 */ - public AllocationOrderDto findByAllocNo(String allocNo) { - return allocationOrderManager.findByAllocationNo(allocNo).map(AllocationOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); + public AllocOrderDto findByAllocNo(String allocNo) { + return allocationOrderManager.findByAllocNo(allocNo).map(AllocOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); } /** * 查询订单明细列表 */ public List<AllocationOrderDetailDto> findDetailsByOrderId(Long orderId){ - return ResultConvertUtil.dtoListConvert(allocationOrderDetailManager.findAllByOrderId(orderId)); + return ResultConvertUtil.dtoListConvert(allocOrderDetailManager.findAllByOrderId(orderId)); } /** * 查询订单明细详情 */ public AllocationOrderDetailDto findDetailById(Long id){ - return allocationOrderDetailManager.findById(id).map(AllocationOrderDetail::toDto).orElseThrow(() -> new DataNotExistException("分账订单明细不存在")); + return allocOrderDetailManager.findById(id).map(AllocOrderDetail::toDto).orElseThrow(() -> new DataNotExistException("分账订单明细不存在")); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java similarity index 88% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java index e80d67e2..8689f02c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java @@ -6,10 +6,10 @@ import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.allocation.AllocReceiverParam; import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.allocation.entity.OrderAndDetail; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; @@ -39,12 +39,12 @@ import java.util.stream.Collectors; @Slf4j @Service @RequiredArgsConstructor -public class AllocationOrderService { +public class AllocOrderService { private final AllocationReceiverManager receiverManager; private final AllocationOrderManager allocationOrderManager; - private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocOrderDetailManager allocOrderDetailManager; private final PayOrderManager payOrderManager; @@ -55,7 +55,7 @@ public class AllocationOrderService { @Transactional(rollbackFor = Exception.class) public OrderAndDetail createAndUpdate(AllocationParam param, PayOrder payOrder, List<AllocationGroupReceiverResult> receiversByGroups){ // 订单明细 - List<AllocationOrderDetail> details = receiversByGroups.stream() + List<AllocOrderDetail> details = receiversByGroups.stream() .map(o -> { // 计算分账金额, 小数部分直接舍弃, 防止分账金额超过上限 Integer rate = o.getRate(); @@ -64,7 +64,7 @@ public class AllocationOrderService { .multiply(BigDecimal.valueOf(rate)) .divide(BigDecimal.valueOf(10000), 0, RoundingMode.DOWN).intValue(); - AllocationOrderDetail detail = new AllocationOrderDetail() + AllocOrderDetail detail = new AllocOrderDetail() .setReceiverNo(o.getReceiverNo()) .setReceiverId(o.getId()) .setAmount(amount) @@ -117,14 +117,14 @@ public class AllocationOrderService { long allocId = IdUtil.getSnowflakeNextId(); // 订单明细 - List<AllocationOrderDetail> details = receivers.stream() + List<AllocOrderDetail> details = receivers.stream() .map(o -> { // 计算分账比例, 不是很精确 Integer amount = receiverNoMap.get(o.getReceiverNo()); Integer rate = BigDecimal.valueOf(amount) .divide(BigDecimal.valueOf(payOrder.getAmount()), 4, RoundingMode.DOWN) .multiply(BigDecimal.valueOf(10000)).intValue(); - AllocationOrderDetail detail = new AllocationOrderDetail(); + AllocOrderDetail detail = new AllocOrderDetail(); detail.setAllocationId(allocId) .setReceiverId(o.getId()) .setReceiverNo(o.getReceiverNo()) @@ -143,16 +143,16 @@ public class AllocationOrderService { /** * 保存分账相关订单信息 */ - private OrderAndDetail saveAllocOrder(AllocationParam param, PayOrder payOrder, List<AllocationOrderDetail> details ) { + private OrderAndDetail saveAllocOrder(AllocationParam param, PayOrder payOrder, List<AllocOrderDetail> details ) { long allocId = IdUtil.getSnowflakeNextId(); // 分账明细设置ID details.forEach(o -> o.setAllocationId(allocId)); // 求分账的总额 Integer sumAmount = details.stream() - .map(AllocationOrderDetail::getAmount) + .map(AllocOrderDetail::getAmount) .reduce(0, Integer::sum); // 分账订单 - AllocationOrder allocationOrder = new AllocationOrder() + AllocOrder allocOrder = new AllocOrder() .setOrderId(payOrder.getId()) .setOrderNo(payOrder.getOrderNo()) .setBizOrderNo(payOrder.getBizOrderNo()) @@ -169,19 +169,19 @@ public class AllocationOrderService { .setClientIp(param.getClientIp()); // 如果分账订单金额为0, 设置为忽略状态 if (sumAmount == 0){ - allocationOrder.setStatus(AllocOrderStatusEnum.IGNORE.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.IGNORE.getCode()) .setFinishTime(LocalDateTime.now()) .setResult(AllocOrderStatusEnum.ALLOCATION_FAILED.getCode()) .setErrorMsg("分账比例有误或金额太小, 无法进行分账"); } - allocationOrder.setId(allocId); + allocOrder.setId(allocId); // 更新支付订单分账状态 payOrder.setAllocStatus(PayOrderAllocStatusEnum.ALLOCATION.getCode()); payOrderManager.updateById(payOrder); - allocationOrderDetailManager.saveAll(details); - allocationOrderManager.save(allocationOrder); - return new OrderAndDetail().setOrder(allocationOrder).setDetails(details); + allocOrderDetailManager.saveAll(details); + allocationOrderManager.save(allocOrder); + return new OrderAndDetail().setOrder(allocOrder).setDetails(details); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index cfa0779e..f3326a6b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -2,20 +2,15 @@ package cn.daxpay.single.service.core.order.pay.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.code.*; import cn.daxpay.single.param.channel.AliPayParam; import cn.daxpay.single.param.channel.WalletPayParam; import cn.daxpay.single.param.channel.WeChatPayParam; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.bootx.table.modify.mysql.constants.MySqlIndexType; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -39,25 +34,27 @@ import java.util.Objects; public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrderDto> { /** 商户订单号 */ - @DbMySqlIndex(comment = "商户订单号索引",type = MySqlIndexType.UNIQUE) - @DbColumn(comment = "商户订单号") + @DbMySqlIndex(comment = "商户订单号索引") + @DbColumn(comment = "商户订单号", length = 100, isNull = false) private String bizOrderNo; - @DbColumn(comment = "支付订单号") + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; /** * 通道系统交易号 */ - @DbColumn(comment = "通道支付订单号") + @DbMySqlIndex(comment = "通道支付订单索引") + @DbColumn(comment = "通道支付订单号", length = 150) private String outOrderNo; /** 标题 */ - @DbColumn(comment = "标题") + @DbColumn(comment = "标题", length = 100, isNull = false) private String title; /** 描述 */ - @DbColumn(comment = "描述") + @DbColumn(comment = "描述",length = 500) private String description; /** 是否支持分账 */ @@ -71,36 +68,36 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde * 支付通道 * @see PayChannelEnum */ - @DbColumn(comment = "异步支付通道") + @DbColumn(comment = "异步支付通道", length = 20, isNull = false) private String channel; /** * 支付方式 * @see PayMethodEnum */ - @DbColumn(comment = "支付方式") + @DbColumn(comment = "支付方式", length = 20, isNull = false) private String method; /** 金额 */ - @DbColumn(comment = "金额") + @DbColumn(comment = "金额", length = 15, isNull = false) private Integer amount; /** 可退款余额 */ - @DbColumn(comment = "可退款余额") + @DbColumn(comment = "可退款余额", length = 15, isNull = false) private Integer refundableBalance; /** * 支付状态 * @see PayStatusEnum */ - @DbColumn(comment = "支付状态") + @DbColumn(comment = "支付状态", length = 20, isNull = false) private String status; /** * 退款状态 * @see PayOrderRefundStatusEnum */ - @DbColumn(comment = "退款状态") + @DbColumn(comment = "退款状态", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String refundStatus; @@ -108,7 +105,7 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde * 分账状态 * @see PayOrderAllocStatusEnum */ - @DbColumn(comment = "分账状态") + @DbColumn(comment = "分账状态", length = 20) private String allocStatus; /** 支付时间 */ @@ -126,22 +123,22 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde private LocalDateTime expiredTime; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 150) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; /** 同步跳转地址, 以最后一次为准 */ - @DbColumn(comment = "同步跳转地址") + @DbColumn(comment = "同步跳转地址", length = 200) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String returnUrl; /** 异步通知地址,以最后一次为准 */ - @DbColumn(comment = "异步通知地址") + @DbColumn(comment = "异步通知地址", length = 200) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String notifyUrl; @@ -151,25 +148,22 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde * @see WeChatPayParam * @see WalletPayParam */ - @DbColumn(comment = "附加参数") + @DbColumn(comment = "附加参数", length = 2048) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String extraParam; /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") + @DbColumn(comment = "商户扩展参数", length = 500) private String attach; /** 请求时间,时间戳转时间, 以最后一次为准 */ - @DbColumn(comment = "请求时间,传输时间戳,以最后一次为准") + @DbColumn(comment = "请求时间") private LocalDateTime reqTime; /** 支付终端ip 以最后一次为准 */ - @DbColumn(comment = "支付终端ip") + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; - /** - * 如果 - */ public Boolean getAllocation() { return Objects.equals(this.allocation, true); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java index cebaa22e..e5aaf4ff 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java @@ -1,13 +1,14 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileResultEnum; import cn.daxpay.single.service.core.order.reconcile.conver.ReconcileConvert; import cn.daxpay.single.service.dto.order.reconcile.ReconcileOrderDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -27,45 +28,46 @@ import java.time.LocalDate; @Accessors(chain = true) @DbTable(comment = "支付对账单订单") @TableName(value = "pay_reconcile_order") -public class ReconcileOrder extends MpCreateEntity implements EntityBaseFunction<ReconcileOrderDto> { +public class ReconcileOrder extends MpBaseEntity implements EntityBaseFunction<ReconcileOrderDto> { /** 对账号 */ - @DbColumn(comment = "对账号") + @DbMySqlIndex(comment = "对账号索引") + @DbColumn(comment = "对账号", length = 32, isNull = false) private String reconcileNo; /** 日期 */ - @DbColumn(comment = "日期") + @DbColumn(comment = "日期", isNull = false) private LocalDate date; /** * 通道 * @see PayChannelEnum */ - @DbColumn(comment = "通道") + @DbColumn(comment = "通道", length = 20, isNull = false) private String channel; /** 交易对账文件是否下载成功 */ - @DbColumn(comment = "明细对账单下载") + @DbColumn(comment = "明细对账单下载", isNull = false) private boolean downOrUpload; /** 交易对账文件是否比对完成 */ - @DbColumn(comment = "明细对账单比对") + @DbColumn(comment = "明细对账单比对", isNull = false) private boolean compare; /** * 交易对账结果 * @see ReconcileResultEnum */ - @DbColumn(comment = "对账结果") + @DbColumn(comment = "对账结果", length = 20) private String result; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 150) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java index 6d1e3550..de6b6924 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java @@ -2,6 +2,9 @@ package cn.daxpay.single.service.core.order.refund.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.param.channel.AliPayParam; @@ -9,8 +12,6 @@ import cn.daxpay.single.param.channel.WalletPayParam; import cn.daxpay.single.param.channel.WeChatPayParam; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -33,54 +34,61 @@ import java.time.LocalDateTime; public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<RefundOrderDto> { /** 支付订单ID */ - @DbColumn(comment = "支付订单ID") + @DbMySqlIndex(comment = "支付订单ID索引") + @DbColumn(comment = "支付订单ID", isNull = false) private Long orderId; /** 支付订单号 */ - @DbColumn(comment = "支付订单号") + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; /** 商户支付订单号 */ - @DbColumn(comment = "商户支付订单号") + @DbMySqlIndex(comment = "商户支付订单号索引") + @DbColumn(comment = "商户支付订单号", length = 100, isNull = false) private String bizOrderNo; /** 通道支付订单号 */ - @DbColumn(comment = "通道支付订单号") + @DbMySqlIndex(comment = "通道支付订单号索引") + @DbColumn(comment = "通道支付订单号", length = 150, isNull = false) private String outOrderNo; /** 支付标题 */ - @DbColumn(comment = "支付标题") + @DbColumn(comment = "支付标题", length = 100, isNull = false) private String title; /** 退款号 */ - @DbColumn(comment = "退款号") + @DbMySqlIndex(comment = "退款号索引") + @DbColumn(comment = "退款号", length = 32, isNull = false) private String refundNo; /** 商户退款号 */ - @DbColumn(comment = "商户退款号") + @DbMySqlIndex(comment = "商户退款号索引") + @DbColumn(comment = "商户退款号", length = 100, isNull = false) private String bizRefundNo; /** 通道退款交易号 */ - @DbColumn(comment = "通道退款交易号") + @DbMySqlIndex(comment = "通道退款交易号索引") + @DbColumn(comment = "通道退款交易号", length = 150) private String outRefundNo; /** * 退款通道 * @see PayChannelEnum */ - @DbColumn(comment = "支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** 订单金额 */ - @DbColumn(comment = "订单金额") + @DbColumn(comment = "订单金额", length = 15, isNull = false) private Integer orderAmount; /** 退款金额 */ - @DbColumn(comment = "退款金额") + @DbColumn(comment = "退款金额", length = 15, isNull = false) private Integer amount; /** 退款原因 */ - @DbColumn(comment = "退款原因") + @DbColumn(comment = "退款原因", length = 150) private String reason; /** 退款完成时间 */ @@ -91,16 +99,16 @@ public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<Refu * 退款状态 * @see RefundStatusEnum */ - @DbColumn(comment = "退款状态") + @DbColumn(comment = "退款状态", length = 20, isNull = false) private String status; /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") + @DbColumn(comment = "异步通知地址", length = 200) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String notifyUrl; /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") + @DbColumn(comment = "商户扩展参数", length = 500) private String attach; /** @@ -109,7 +117,7 @@ public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<Refu * @see WeChatPayParam * @see WalletPayParam */ - @DbColumn(comment = "附加参数") + @DbColumn(comment = "附加参数", length = 2048) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String extraParam; @@ -118,15 +126,15 @@ public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<Refu private LocalDateTime reqTime; /** 终端ip */ - @DbColumn(comment = "支付终端ip") + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; @Override diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index cd991f57..ff2c61f9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.order.transfer.entity; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.TransferPayeeTypeEnum; import cn.daxpay.single.code.TransferTypeEnum; @@ -28,71 +29,74 @@ import java.time.LocalDateTime; public class TransferOrder extends MpBaseEntity { /** 商户转账号 */ - @DbColumn(comment = "商户转账号") + @DbMySqlIndex(comment = "商户转账号索引") + @DbColumn(comment = "商户转账号", length = 100, isNull = false) private String bizTransferNo; /** 转账号 */ - @DbColumn(comment = "转账号") + @DbMySqlIndex(comment = "转账号索引") + @DbColumn(comment = "转账号", length = 150, isNull = false) private String transferNo; /** 通道转账号 */ - @DbColumn(comment = "通道转账号") + @DbMySqlIndex(comment = "通道转账号索引") + @DbColumn(comment = "通道转账号", length = 150) private String outTransferNo; /** * 支付通道 * @see PayChannelEnum */ - @DbColumn(comment = "支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** 转账金额 */ - @DbColumn(comment = "转账金额") + @DbColumn(comment = "转账金额", length = 15, isNull = false) private Integer amount; /** 标题 */ - @DbColumn(comment = "标题") + @DbColumn(comment = "标题", length = 100) private String title; /** 转账原因/备注 */ - @DbColumn(comment = "转账原因/备注") + @DbColumn(comment = "转账原因/备注", length = 150) private String reason; /** * 转账类型, 微信使用 * @see TransferTypeEnum */ - @DbColumn(comment = "转账类型, 微信使用") + @DbColumn(comment = "转账类型, 微信使用", length = 20) private String transferType; /** 付款方 */ - @DbColumn(comment = "付款方") + @DbColumn(comment = "付款方", length = 100) private String payer; /** 付款方显示名称 */ - @DbColumn(comment = "付款方显示名称") + @DbColumn(comment = "付款方显示名称", length = 50) private String payerShowName; /** * 收款人类型 * @see TransferPayeeTypeEnum */ - @DbColumn(comment = "收款人类型") + @DbColumn(comment = "收款人类型", length = 20) private String payeeType; /** 收款人账号 */ - @DbColumn(comment = "收款人账号") + @DbColumn(comment = "收款人账号", length = 100) private String payeeAccount; /** 收款人姓名 */ - @DbColumn(comment = "收款人姓名") + @DbColumn(comment = "收款人姓名", length = 50) private String payeeName; /** * 状态 * @see cn.daxpay.single.code.TransferStatusEnum */ - @DbColumn(comment = "状态") + @DbColumn(comment = "状态", length = 20, isNull = false) private String status; /** 成功时间 */ @@ -101,12 +105,12 @@ public class TransferOrder extends MpBaseEntity { /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") + @DbColumn(comment = "异步通知地址", length = 200) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String notifyUrl; /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") + @DbColumn(comment = "商户扩展参数", length = 500) private String attach; /** 请求时间,时间戳转时间 */ @@ -114,15 +118,15 @@ public class TransferOrder extends MpBaseEntity { private LocalDateTime reqTime; /** 终端ip */ - @DbColumn(comment = "支付终端ip") + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; - /** 错误提示码 */ - @DbColumn(comment = "错误提示码") + /** 错误码 */ + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 错误提示 */ - @DbColumn(comment = "错误提示") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java index dfa42f83..24e371b1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.daxpay.single.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -25,7 +25,7 @@ public class AllocationAssistService { * 根据新传入的分账订单更新订单和扩展信息 */ @Transactional(rollbackFor = Exception.class) - public void updateOrder(AllocationParam allocationParam, AllocationOrder orderExtra) { + public void updateOrder(AllocationParam allocationParam, AllocOrder orderExtra) { // 扩展信息 orderExtra.setClientIp(allocationParam.getClientIp()) .setNotifyUrl(allocationParam.getNotifyUrl()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index b53494a9..9b03bde2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -15,13 +15,13 @@ import cn.daxpay.single.result.allocation.AllocationResult; import cn.daxpay.single.result.order.AllocOrderDetailResult; import cn.daxpay.single.result.order.AllocOrderResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.allocation.entity.OrderAndDetail; -import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderService; +import cn.daxpay.single.service.core.order.allocation.service.AllocOrderService; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupManager; @@ -60,9 +60,9 @@ public class AllocationService { private final AllocationGroupService allocationGroupService; - private final AllocationOrderService allocationOrderService; + private final AllocOrderService allocOrderService; - private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocOrderDetailManager allocOrderDetailManager; private final AllocationAssistService allocationAssistService; @@ -76,11 +76,11 @@ public class AllocationService { */ public AllocationResult allocation(AllocationParam param) { // 判断是否已经有分账订单 - AllocationOrder allocationOrder = allocationOrderManager.findByBizAllocationNo(param.getBizAllocationNo()) + AllocOrder allocOrder = allocationOrderManager.findByBizAllocNo(param.getBizAllocationNo()) .orElse(null); - if (Objects.nonNull(allocationOrder)){ + if (Objects.nonNull(allocOrder)){ // 重复分账 - return this.retryAllocation(param, allocationOrder); + return this.retryAllocation(param, allocOrder); } else { // 首次分账 PayOrder payOrder = this.getAndCheckPayOrder(param); @@ -100,8 +100,8 @@ public class AllocationService { // 构建分账订单相关信息 OrderAndDetail orderAndDetail = this.checkAndCreateAlloc(param, payOrder); // 检查是否需要进行分账 - AllocationOrder order = orderAndDetail.getOrder(); - List<AllocationOrderDetail> details = orderAndDetail.getDetails(); + AllocOrder order = orderAndDetail.getOrder(); + List<AllocOrderDetail> details = orderAndDetail.getDetails(); // 无需进行分账, if (Objects.equals(order.getStatus(),AllocOrderStatusEnum.IGNORE.getCode())){ return new AllocationResult() @@ -147,7 +147,7 @@ public class AllocationService { /** * 重新分账 */ - private AllocationResult retryAllocation(AllocationParam param, AllocationOrder order){ + private AllocationResult retryAllocation(AllocationParam param, AllocOrder order){ LockInfo lock = lockTemplate.lock("payment:allocation:" + order.getOrderId(),10000,200); if (Objects.isNull(lock)){ throw new RepetitiveOperationException("分账发起处理中,请勿重复操作"); @@ -160,7 +160,7 @@ public class AllocationService { if (!list.contains(order.getStatus())){ throw new PayFailureException("分账单状态错误,无法重试"); } - List<AllocationOrderDetail> details = this.getDetails(order.getId()); + List<AllocOrderDetail> details = this.getDetails(order.getId()); // 创建分账策略并初始化 AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(order.getChannel(),AbsAllocationStrategy.class); allocationStrategy.initParam(order, details); @@ -194,30 +194,30 @@ public class AllocationService { * 分账完结 */ public AllocationResult finish(AllocFinishParam param) { - AllocationOrder allocationOrder; + AllocOrder allocOrder; if (Objects.nonNull(param.getAllocNo())){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocNo()) + allocOrder = allocationOrderManager.findByAllocNo(param.getAllocNo()) .orElseThrow(() -> new DataNotExistException("未查询到分账单信息")); } else { - allocationOrder = allocationOrderManager.findByBizAllocationNo(param.getBizAllocNo()) + allocOrder = allocationOrderManager.findByBizAllocNo(param.getBizAllocNo()) .orElseThrow(() -> new DataNotExistException("未查询到分账单信息")); } - return this.finish(allocationOrder); + return this.finish(allocOrder); } /** * 分账完结 */ - public AllocationResult finish(AllocationOrder allocationOrder) { + public AllocationResult finish(AllocOrder allocOrder) { // 只有分账结束后才可以完结 - if (!Arrays.asList(ALLOCATION_END.getCode(),FINISH_FAILED.getCode()).contains(allocationOrder.getStatus())) { + if (!Arrays.asList(ALLOCATION_END.getCode(),FINISH_FAILED.getCode()).contains(allocOrder.getStatus())) { throw new PayFailureException("分账单状态错误"); } - List<AllocationOrderDetail> details = this.getDetails(allocationOrder.getId()); + List<AllocOrderDetail> details = this.getDetails(allocOrder.getId()); // 创建分账策略并初始化 - AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocationOrder.getChannel(),AbsAllocationStrategy.class); - allocationStrategy.initParam(allocationOrder, details); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocOrder.getChannel(),AbsAllocationStrategy.class); + allocationStrategy.initParam(allocOrder, details); // 分账完结预处理 allocationStrategy.doBeforeHandler(); @@ -225,20 +225,20 @@ public class AllocationService { // 完结处理 allocationStrategy.finish(); // 完结状态 - allocationOrder.setStatus(AllocOrderStatusEnum.FINISH.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.FINISH.getCode()) .setFinishTime(LocalDateTime.now()) .setErrorMsg(null); } catch (Exception e) { log.error("分账完结错误:", e); // 失败 - allocationOrder.setStatus(FINISH_FAILED.getCode()) + allocOrder.setStatus(FINISH_FAILED.getCode()) .setErrorMsg(e.getMessage()); } - allocationOrderManager.updateById(allocationOrder); + allocationOrderManager.updateById(allocOrder); return new AllocationResult() - .setAllocNo(allocationOrder.getAllocNo()) - .setBizAllocNo(allocationOrder.getBizAllocNo()) - .setStatus(allocationOrder.getStatus()); + .setAllocNo(allocOrder.getAllocNo()) + .setBizAllocNo(allocOrder.getBizAllocNo()) + .setStatus(allocOrder.getStatus()); } /** @@ -264,12 +264,12 @@ public class AllocationService { */ public AllocOrderResult queryAllocationOrder(QueryAllocOrderParam param) { // 查询分账单 - AllocationOrder allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocNo()) + AllocOrder allocOrder = allocationOrderManager.findByAllocNo(param.getAllocNo()) .orElseThrow(() -> new PayFailureException("分账单不存在")); - AllocOrderResult result = AllocationConvert.CONVERT.toResult(allocationOrder); + AllocOrderResult result = AllocOrderConvert.CONVERT.toResult(allocOrder); // 查询分账单明细 - List<AllocOrderDetailResult> details = allocationOrderDetailManager.findAllByOrderId(allocationOrder.getId()).stream() - .map(AllocationConvert.CONVERT::toResult) + List<AllocOrderDetailResult> details = allocOrderDetailManager.findAllByOrderId(allocOrder.getId()).stream() + .map(AllocOrderConvert.CONVERT::toResult) .collect(Collectors.toList()); result.setDetails(details); return result; @@ -283,7 +283,7 @@ public class AllocationService { OrderAndDetail orderAndDetail; // 判断是否传输了分账接收方列表 if (CollUtil.isNotEmpty(param.getReceivers())) { - orderAndDetail = allocationOrderService.createAndUpdate(param, payOrder); + orderAndDetail = allocOrderService.createAndUpdate(param, payOrder); } else { AllocationGroup allocationGroup; if (Objects.nonNull(param.getGroupNo())){ @@ -299,7 +299,7 @@ public class AllocationService { } List<AllocationGroupReceiverResult> receiversByGroups = allocationGroupService.findReceiversByGroups(allocationGroup.getId()); - orderAndDetail = allocationOrderService.createAndUpdate(param ,payOrder, receiversByGroups); + orderAndDetail = allocOrderService.createAndUpdate(param ,payOrder, receiversByGroups); } return orderAndDetail; } @@ -307,8 +307,8 @@ public class AllocationService { /** * 获取发起分账或完结的明细 */ - private List<AllocationOrderDetail> getDetails(Long allocOrderId){ - List<AllocationOrderDetail> details = allocationOrderDetailManager.findAllByOrderId(allocOrderId); + private List<AllocOrderDetail> getDetails(Long allocOrderId){ + List<AllocOrderDetail> details = allocOrderDetailManager.findAllByOrderId(allocOrderId); // 过滤掉忽略的条目 return details.stream() .filter(detail -> !Objects.equals(detail.getResult(), AllocDetailResultEnum.IGNORE.getCode())) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java index e0387a03..05ce590c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java @@ -9,10 +9,10 @@ import cn.daxpay.single.param.payment.allocation.AllocSyncParam; import cn.daxpay.single.result.sync.AllocSyncResult; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; @@ -45,7 +45,7 @@ public class AllocationSyncService { private final AllocationOrderManager allocationOrderManager; - private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocOrderDetailManager allocOrderDetailManager; private final PaySyncRecordService paySyncRecordService; @@ -57,46 +57,46 @@ public class AllocationSyncService { @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public AllocSyncResult sync(AllocSyncParam param) { // 获取分账订单 - AllocationOrder allocationOrder = null; + AllocOrder allocOrder = null; if (Objects.nonNull(param.getAllocNo())){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocNo()) + allocOrder = allocationOrderManager.findByAllocNo(param.getAllocNo()) .orElseThrow(() -> new DataNotExistException("分账单不存在")); } - if (Objects.isNull(allocationOrder)){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getBizAllocNo()) + if (Objects.isNull(allocOrder)){ + allocOrder = allocationOrderManager.findByAllocNo(param.getBizAllocNo()) .orElseThrow(() -> new DataNotExistException("分账单不存在")); } // 如果类型为忽略, 不进行同步处理 - if (Objects.equals(allocationOrder.getStatus(), AllocOrderStatusEnum.IGNORE.getCode())){ + if (Objects.equals(allocOrder.getStatus(), AllocOrderStatusEnum.IGNORE.getCode())){ return new AllocSyncResult(); } // 调用同步逻辑 - this.sync(allocationOrder); + this.sync(allocOrder); return new AllocSyncResult(); } /** * 分账同步 */ - public void sync(AllocationOrder allocationOrder){ - LockInfo lock = lockTemplate.lock("payment:allocation:" + allocationOrder.getOrderId(),10000,200); + public void sync(AllocOrder allocOrder){ + LockInfo lock = lockTemplate.lock("payment:allocation:" + allocOrder.getOrderId(),10000,200); if (Objects.isNull(lock)){ throw new RepetitiveOperationException("分账同步中,请勿重复操作"); } try { - List<AllocationOrderDetail> detailList = allocationOrderDetailManager.findAllByOrderId(allocationOrder.getId()); + List<AllocOrderDetail> detailList = allocOrderDetailManager.findAllByOrderId(allocOrder.getId()); // 获取分账策略 - AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocationOrder.getChannel(),AbsAllocationStrategy.class); - allocationStrategy.initParam(allocationOrder, detailList); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocOrder.getChannel(),AbsAllocationStrategy.class); + allocationStrategy.initParam(allocOrder, detailList); // 分账完结预处理 allocationStrategy.doBeforeHandler(); // 执行同步操作, 分账明细的状态变更会在这个里面 AllocRemoteSyncResult allocRemoteSyncResult = allocationStrategy.doSync(); // 保存分账同步记录 - this.saveRecord(allocationOrder, allocRemoteSyncResult,null,null); + this.saveRecord(allocOrder, allocRemoteSyncResult,null,null); // 根据订单明细更新订单的状态和处理结果 - this.updateOrderStatus(allocationOrder, detailList); + this.updateOrderStatus(allocOrder, detailList); } finally { lockTemplate.releaseLock(lock); } @@ -106,50 +106,50 @@ public class AllocationSyncService { * 根据订单明细更新订单的状态和处理结果, 如果订单是分账结束或失败, 不更新状态 * TODO 是否多次同步会产生多次变动, 注意处理多次推送通知的问题, 目前是 */ - private void updateOrderStatus(AllocationOrder allocationOrder, List<AllocationOrderDetail> details){ + private void updateOrderStatus(AllocOrder allocOrder, List<AllocOrderDetail> details){ // 如果是分账结束或失败, 不更新状态 - String status = allocationOrder.getStatus(); + String status = allocOrder.getStatus(); // 如果是分账结束或失败, 不进行对订单进行处理 List<String> list = Arrays.asList(AllocOrderStatusEnum.FINISH.getCode(), AllocOrderStatusEnum.FINISH_FAILED.getCode()); if (!list.contains(status)){ // 判断明细状态. 获取成功和失败的 long successCount = details.stream() - .map(AllocationOrderDetail::getResult) + .map(AllocOrderDetail::getResult) .filter(AllocDetailResultEnum.SUCCESS.getCode()::equals) .count(); long failCount = details.stream() - .map(AllocationOrderDetail::getResult) + .map(AllocOrderDetail::getResult) .filter(AllocDetailResultEnum.FAIL.getCode()::equals) .count(); // 成功和失败都为0 表示进行中 if (successCount == 0 && failCount == 0){ - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) .setResult(AllocOrderResultEnum.ALL_PENDING.getCode()); } else { if (failCount == details.size()){ // 全部失败 - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) .setResult(AllocOrderResultEnum.ALL_FAILED.getCode()); } else if (successCount == details.size()){ // 全部成功 - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) .setResult(AllocOrderResultEnum.ALL_SUCCESS.getCode()); } else { // 部分成功 - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) .setResult(AllocOrderResultEnum.PART_SUCCESS.getCode()); } } } - allocationOrderDetailManager.updateAllById(details); - allocationOrderManager.updateById(allocationOrder); + allocOrderDetailManager.updateAllById(details); + allocationOrderManager.updateById(allocOrder); // 如果状态为完成, 发送通知 - if (Objects.equals(AllocOrderStatusEnum.ALLOCATION_END.getCode(), allocationOrder.getStatus())){ + if (Objects.equals(AllocOrderStatusEnum.ALLOCATION_END.getCode(), allocOrder.getStatus())){ // 发送通知 - clientNoticeService.registerAllocNotice(allocationOrder, details); + clientNoticeService.registerAllocNotice(allocOrder, details); } } @@ -157,7 +157,7 @@ public class AllocationSyncService { /** * 保存同步记录 */ - private void saveRecord(AllocationOrder order, AllocRemoteSyncResult syncResult, String errorCode, String errorMsg){ + private void saveRecord(AllocOrder order, AllocRemoteSyncResult syncResult, String errorCode, String errorMsg){ PaySyncRecord paySyncRecord = new PaySyncRecord() .setBizTradeNo(order.getBizAllocNo()) .setTradeNo(order.getAllocNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java index 107eca30..b94c7211 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java @@ -60,7 +60,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void allocation() { - aliPayAllocationService.allocation(this.getAllocationOrder(), this.getAllocationOrderDetails()); + aliPayAllocationService.allocation(this.getAllocOrder(), this.getAllocOrderDetails()); } /** @@ -68,7 +68,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void finish() { - aliPayAllocationService.finish(this.getAllocationOrder(), this.getAllocationOrderDetails()); + aliPayAllocationService.finish(this.getAllocOrder(), this.getAllocOrderDetails()); } /** @@ -76,7 +76,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public AllocRemoteSyncResult doSync() { - return aliPayAllocationService.sync(this.getAllocationOrder(), this.getAllocationOrderDetails()); + return aliPayAllocationService.sync(this.getAllocOrder(), this.getAllocOrderDetails()); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java index 721c6769..6ad445a6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java @@ -52,7 +52,7 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { throw new PayFailureException("微信支付配置不支持分账"); } // 如果分账金额为0, 不发起分账 - if (getAllocationOrder().getAmount() == 0){ + if (getAllocOrder().getAmount() == 0){ throw new PayFailureException("微信订单的分账比例不正确或订单金额太小, 无法进行分账"); } } @@ -62,7 +62,7 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void allocation() { - weChatPayAllocationService.allocation(getAllocationOrder(), this.getAllocationOrderDetails(), weChatPayConfig); + weChatPayAllocationService.allocation(getAllocOrder(), this.getAllocOrderDetails(), weChatPayConfig); } /** @@ -70,7 +70,7 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void finish() { - weChatPayAllocationService.finish(getAllocationOrder(), weChatPayConfig); + weChatPayAllocationService.finish(getAllocOrder(), weChatPayConfig); } /** @@ -78,7 +78,7 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public AllocRemoteSyncResult doSync() { - return weChatPayAllocationService.sync(this.getAllocationOrder(),this.getAllocationOrderDetails(),weChatPayConfig); + return weChatPayAllocationService.sync(this.getAllocOrder(),this.getAllocOrderDetails(),weChatPayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java index 84f842cf..0570a061 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java @@ -56,7 +56,7 @@ public class PayNoticeResult extends PaymentCommonResult { * 支付通道 * @see PayChannelEnum */ - @Schema(description = "异步支付通道") + @Schema(description = "支付通道") private String channel; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java index e779025c..487cc45d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java @@ -3,9 +3,9 @@ package cn.daxpay.single.service.core.payment.notice.service; import cn.bootx.platform.common.jackson.util.JacksonUtil; import cn.daxpay.single.service.code.ClientNoticeTypeEnum; import cn.daxpay.single.service.core.notice.entity.ClientNoticeTask; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; @@ -75,12 +75,12 @@ public class ClientNoticeAssistService { /** * 构建分账通知 */ - public ClientNoticeTask buildAllocTask(AllocationOrder order, List<AllocationOrderDetail> list){ + public ClientNoticeTask buildAllocTask(AllocOrder order, List<AllocOrderDetail> list){ // 分账 - AllocNoticeResult allocOrderResult = AllocationConvert.CONVERT.toNotice(order); + AllocNoticeResult allocOrderResult = AllocOrderConvert.CONVERT.toNotice(order); // 分账详情 List<AllocDetailNoticeResult> details = list.stream() - .map(AllocationConvert.CONVERT::toNotice) + .map(AllocOrderConvert.CONVERT::toNotice) .collect(Collectors.toList()); // 分账扩展和明细 allocOrderResult.setAttach(order.getAttach()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java index 042cf8b5..d7f7852b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java @@ -8,8 +8,8 @@ import cn.daxpay.single.service.core.notice.dao.ClientNoticeTaskManager; import cn.daxpay.single.service.core.notice.entity.ClientNoticeRecord; import cn.daxpay.single.service.core.notice.entity.ClientNoticeTask; import cn.daxpay.single.service.core.notice.service.ClientNoticeRecordService; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.hutool.core.util.StrUtil; @@ -128,7 +128,7 @@ public class ClientNoticeService { * 注册分账消息通知任务 */ @Async("bigExecutor") - public void registerAllocNotice(AllocationOrder order, List<AllocationOrderDetail> list) { + public void registerAllocNotice(AllocOrder order, List<AllocOrderDetail> list) { // 判断是否需要进行通知 if (StrUtil.isBlank(order.getNotifyUrl())){ log.info("分账订单无需通知,订单ID:{}",order.getId()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java index 50c5c747..f29c63d3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java @@ -53,8 +53,6 @@ public class PayService { public PayResult pay(PayParam payParam){ // 创建返回类 PayResult payResult = new PayResult(); - // 支付参数检查 - PayUtil.validation(payParam); // 校验支付限额 payAssistService.validationLimitAmount(payParam); // 获取商户订单号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index cc93d38e..4762e372 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.payment.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.code.PayOrderRefundStatusEnum; import cn.daxpay.single.code.RefundStatusEnum; @@ -20,7 +19,6 @@ import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsRefundStrategy; import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.extra.spring.SpringUtil; -import cn.hutool.json.JSONUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -182,10 +180,8 @@ public class RefundService { order.setAttach(param.getAttach()) .setClientIp(param.getClientIp()) .setNotifyUrl(param.getNotifyUrl()) - .setReqTime(param.getReqTime()); - if (CollUtil.isNotEmpty(param.getExtraParam())){ - order.setExtraParam(JSONUtil.toJsonStr(param.getExtraParam())); - } + .setReqTime(param.getReqTime()) + .setExtraParam(param.getExtraParam()); refundOrderManager.updateById(order); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java similarity index 98% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java index 849679fd..f50e43f1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java @@ -19,7 +19,7 @@ import java.time.LocalDateTime; @Data @Accessors(chain = true) @Schema(title = "分账订单") -public class AllocationOrderDto extends BaseDto { +public class AllocOrderDto extends BaseDto { /** * 分账订单号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java index 67218b73..de8dde4e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import lombok.Getter; import lombok.Setter; @@ -19,16 +19,16 @@ import java.util.List; @Setter public abstract class AbsAllocationStrategy implements PayStrategy{ - private AllocationOrder allocationOrder; + private AllocOrder allocOrder; - private List<AllocationOrderDetail> allocationOrderDetails; + private List<AllocOrderDetail> allocOrderDetails; /** * 初始化参数 */ - public void initParam(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails) { - this.allocationOrder = allocationOrder; - this.allocationOrderDetails = allocationOrderDetails; + public void initParam(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails) { + this.allocOrder = allocOrder; + this.allocOrderDetails = allocOrderDetails; } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocOrderQuery.java similarity index 94% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocOrderQuery.java index 7ad532b5..cedb9f68 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocOrderQuery.java @@ -12,7 +12,7 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @Schema(title = "分账订单查询参数") -public class AllocationOrderQuery { +public class AllocOrderQuery { @Schema(description = "分账订单号") private String orderNo; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java index fbb2ac61..cad5efd3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.task; import cn.daxpay.single.code.AllocOrderStatusEnum; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; import lombok.RequiredArgsConstructor; @@ -32,18 +32,18 @@ public class AllocationSyncTask implements Job { */ @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - for (AllocationOrder allocationOrder : allocationOrderManager.findSyncOrder()) { + for (AllocOrder allocOrder : allocationOrderManager.findSyncOrder()) { try { // 分账中走同步逻辑 - if (allocationOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode())) { - allocationSyncService.sync(allocationOrder); + if (allocOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode())) { + allocationSyncService.sync(allocOrder); } // 如果分账结束, 调用自动完结逻辑 - if (allocationOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_END.getCode())) { - allocationService.finish(allocationOrder); + if (allocOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_END.getCode())) { + allocationService.finish(allocOrder); } } catch (Exception e) { - log.warn("分账同步或完结失败, 分账号:{}", allocationOrder.getAllocNo()); + log.warn("分账同步或完结失败, 分账号:{}", allocOrder.getAllocNo()); log.warn("分账同步或完结失败", e); } } -- Gitee From 3008c127b223ac691150edbce523cd5d8817c068 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Wed, 12 Jun 2024 19:42:09 +0800 Subject: [PATCH 10/34] =?UTF-8?q?ref=20=E5=90=84=E7=B1=BB=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E7=9B=B8=E5=85=B3=E5=AD=97=E6=AE=B5=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=95=BF=E5=BA=A6=E7=B4=A2=E5=BC=95=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notice/entity/ClientNoticeRecord.java | 16 ++++++---- .../core/notice/entity/ClientNoticeTask.java | 22 +++++++------ .../order/reconcile/entity/ReconcileFile.java | 8 +++-- .../reconcile/entity/ReconcileOutTrade.java | 2 ++ .../callback/entity/PayCallbackRecord.java | 32 ++++++++++--------- .../record/close/entity/PayCloseRecord.java | 29 +++++++++-------- .../record/sync/entity/PaySyncRecord.java | 10 +++--- .../dto/record/close/PayCloseRecordDto.java | 10 +++--- .../record/notice/ClientNoticeRecordDto.java | 4 +-- .../param/record/PayCloseRecordQuery.java | 4 +-- 10 files changed, 75 insertions(+), 62 deletions(-) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java index a1774fe1..cba2d2c2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.notice.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.service.code.ClientNoticeSendTypeEnum; import cn.daxpay.single.service.core.notice.convert.ClientNoticeConvert; import cn.daxpay.single.service.dto.record.notice.ClientNoticeRecordDto; @@ -25,30 +26,31 @@ import lombok.experimental.Accessors; public class ClientNoticeRecord extends MpCreateEntity implements EntityBaseFunction<ClientNoticeRecordDto> { /** 任务ID */ - @DbColumn(comment = "任务ID") + @DbMySqlIndex(comment = "任务ID索引") + @DbColumn(comment = "任务ID", isNull = false) private Long taskId; /** 请求次数 */ - @DbColumn(comment = "请求次数") + @DbColumn(comment = "请求次数", length = 3, isNull = false) private Integer reqCount; /** 发送是否成功 */ - @DbColumn(comment = "发送是否成功") + @DbColumn(comment = "发送是否成功", isNull = false) private boolean success; /** * 发送类型, 自动发送, 手动发送 * @see ClientNoticeSendTypeEnum */ - @DbColumn(comment = "发送类型") + @DbColumn(comment = "发送类型", length = 20, isNull = false) private String sendType; - /** 错误编码 */ - @DbColumn(comment = "错误编码") + /** 错误码 */ + @DbColumn(comment = "错误码", length = 10) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java index 6e251341..c8a06d98 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java @@ -5,14 +5,15 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.result.order.AllocOrderResult; import cn.daxpay.single.service.code.ClientNoticeTypeEnum; +import cn.daxpay.single.service.core.notice.convert.ClientNoticeConvert; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.RefundNoticeResult; -import cn.daxpay.single.service.core.notice.convert.ClientNoticeConvert; import cn.daxpay.single.service.dto.record.notice.ClientNoticeTaskDto; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -34,18 +35,19 @@ import java.time.LocalDateTime; public class ClientNoticeTask extends MpBaseEntity implements EntityBaseFunction<ClientNoticeTaskDto> { /** 本地交易ID */ - @DbColumn(comment = "本地交易ID") + @DbColumn(comment = "本地交易ID", isNull = false) private Long tradeId; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** * 消息类型 * @see ClientNoticeTypeEnum */ - @DbColumn(comment = "消息类型") + @DbColumn(comment = "消息类型", length = 20, isNull = false) private String noticeType; /** @@ -53,7 +55,7 @@ public class ClientNoticeTask extends MpBaseEntity implements EntityBaseFunction * @see PayStatusEnum * @see RefundStatusEnum */ - @DbColumn(comment = "交易状态") + @DbColumn(comment = "交易状态", length = 20, isNull = false) private String tradeStatus; /** @@ -62,24 +64,24 @@ public class ClientNoticeTask extends MpBaseEntity implements EntityBaseFunction * @see RefundNoticeResult * @see AllocOrderResult */ - @DbColumn(comment = "消息内容") + @DbColumn(comment = "消息内容", isNull = false) @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) private String content; /** 是否发送成功 */ - @DbColumn(comment = "是否发送成功") + @DbColumn(comment = "是否发送成功", isNull = false) private boolean success; /** 发送次数 */ - @DbColumn(comment = "发送次数") + @DbColumn(comment = "发送次数", length = 3, isNull = false) private Integer sendCount; /** 发送地址 */ - @DbColumn(comment = "发送地址") + @DbColumn(comment = "发送地址", length = 150, isNull = false) private String url; /** 最后发送时间 */ - @DbColumn(comment = "最后发送时间") + @DbColumn(comment = "最后发送时间", isNull = false) private LocalDateTime latestTime; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java index 22b0495e..c81a3b22 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; @@ -21,16 +22,17 @@ import lombok.experimental.Accessors; @TableName("pay_reconcile_file") public class ReconcileFile extends MpIdEntity { - @DbColumn(comment = "对账单ID") + @DbMySqlIndex(comment = "对账单ID索引") + @DbColumn(comment = "对账单ID", isNull = false) private Long reconcileId; /** * 明细/汇总 * @see ReconcileFileTypeEnum */ - @DbColumn(comment = "类型") + @DbColumn(comment = "类型", length = 20, isNull = false) private String type; - @DbColumn(comment = "对账单文件") + @DbColumn(comment = "对账单文件", isNull = false) private Long fileId; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java index 4a0f195d..40d48aa1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.core.order.reconcile.conver.ReconcileConvert; import cn.daxpay.single.service.dto.order.reconcile.ReconcileOutTradeDto; @@ -27,6 +28,7 @@ import java.time.LocalDateTime; public class ReconcileOutTrade extends MpCreateEntity implements EntityBaseFunction<ReconcileOutTradeDto> { /** 关联对账订单ID */ + @DbMySqlIndex(comment = "对账单ID索引") @DbColumn(comment = "关联对账订单ID") private Long reconcileId; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java index 9a26d6b5..4abc28b0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java @@ -2,17 +2,17 @@ package cn.daxpay.single.service.core.record.callback.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.core.record.callback.convert.PayCallbackRecordConvert; import cn.daxpay.single.service.dto.record.callback.PayCallbackRecordDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; -import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -30,49 +30,51 @@ import lombok.experimental.Accessors; public class PayCallbackRecord extends MpCreateEntity implements EntityBaseFunction<PayCallbackRecordDto> { /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbMySqlIndex(comment = "通道交易号索引") + @DbColumn(comment = "通道交易号", length = 150, isNull = false) private String outTradeNo; /** * 支付通道 * @see PayChannelEnum#getCode() */ - @DbColumn(comment = "支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** * 回调类型 * @see PaymentTypeEnum */ - @DbColumn(comment = "回调类型") + @DbColumn(comment = "回调类型", length = 20, isNull = false) private String callbackType; /** 通知消息内容 */ @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) - @DbColumn(comment = "通知消息") + @DbColumn(comment = "通知消息", isNull = false) private String notifyInfo; /** * @see PayCallbackStatusEnum */ - @DbColumn(comment = "回调处理状态") + @DbColumn(comment = "回调处理状态", length = 20, isNull = false) private String status; /** 修复号 */ - @Schema(description = "修复号") + @DbColumn(comment = "修复号", length = 32, isNull = false) private String repairOrderNo; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 提示信息 */ - @DbColumn(comment = "提示信息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java index f96ac5ec..b37f7193 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.record.close.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.core.record.close.convert.PayCloseRecordConvert; @@ -25,44 +26,46 @@ import lombok.experimental.Accessors; @TableName("pay_close_record") public class PayCloseRecord extends MpCreateEntity implements EntityBaseFunction<PayCloseRecordDto> { - /** 订单号 */ - @DbColumn(comment = "订单号") + /** 支付订单号 */ + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; - /** 商户订单号 */ - @DbColumn(comment = "商户订单号") + /** 商户支付订单号 */ + @DbMySqlIndex(comment = "商户支付订单号索引") + @DbColumn(comment = "商户支付订单号", length = 100, isNull = false) private String bizOrderNo; /** - * 关闭的支付通道 + * 支付通道 * @see PayChannelEnum */ - @DbColumn(comment = "关闭的支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** * 关闭类型 关闭/撤销 * @see PayCloseTypeEnum */ - @DbColumn(comment = "关闭类型") + @DbColumn(comment = "关闭类型", length = 20, isNull = false) private String closeType; /** * 是否关闭成功 */ - @DbColumn(comment = "是否关闭成功") + @DbColumn(comment = "是否关闭成功", isNull = false) private boolean closed; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 错误消息 */ - @DbColumn(comment = "错误消息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java index 67acaf26..f7eaccf3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java @@ -81,15 +81,15 @@ public class PaySyncRecord extends MpCreateEntity implements EntityBaseFunction< private String repairNo; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 错误消息 */ - @DbColumn(comment = "错误消息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java index b165e89a..33fa91c6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java @@ -49,14 +49,14 @@ public class PayCloseRecordDto extends BaseDto { private boolean closed; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 错误消息 */ - @DbColumn(comment = "错误消息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 150) private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java index e635e1b1..cbf960ce 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java @@ -37,8 +37,8 @@ public class ClientNoticeRecordDto extends BaseDto { @Schema(description = "发送是否成功") private boolean success; - /** 错误编码 */ - @Schema(description = "错误编码") + /** 错误码 */ + @Schema(description = "错误码") private String errorCode; /** 错误信息 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java index 686a991c..c74d22b0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java @@ -48,7 +48,7 @@ public class PayCloseRecordQuery extends QueryOrder { @DbColumn(comment = "错误消息") private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; } -- Gitee From b6d608fd1048b38cd49f66c836f69cd670d632d7 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Wed, 12 Jun 2024 22:54:31 +0800 Subject: [PATCH 11/34] =?UTF-8?q?ref=20=E6=B7=BB=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E9=95=BF=E5=BA=A6=E5=BF=85=E5=A1=AB=E5=92=8C=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E7=AD=89=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 6 ++-- .../AllocationReceiverController.java | 3 ++ .../system/PayApiConfigController.java | 2 ++ .../system/PayMethodInfoController.java | 2 ++ .../system/PlatformConfigController.java | 2 ++ .../allocation/AllocReceiverAddParam.java | 20 +++++++---- .../allocation/AllocReceiverParam.java | 3 +- .../allocation/AllocReceiverRemoveParam.java | 5 ++- .../channel/alipay/entity/AliPayConfig.java | 12 +++---- .../allocation/entity/AllocOrderDetail.java | 4 +-- .../order/reconcile/entity/ReconcileDiff.java | 26 +++++++------- .../entity/AllocationGroupReceiver.java | 6 ++-- .../allocation/entity/AllocationReceiver.java | 14 ++++---- .../payment/pay/service/PayAssistService.java | 3 +- .../callback/entity/PayCallbackRecord.java | 1 - .../record/flow/entity/TradeFlowRecord.java | 18 ++++++---- .../record/repair/entity/PayRepairRecord.java | 26 +++++++------- .../record/sync/entity/PaySyncRecord.java | 34 ++++++++++--------- .../system/config/entity/PayApiConfig.java | 10 +++--- .../config/entity/PayChannelConfig.java | 6 ++-- .../system/config/entity/PlatformConfig.java | 29 ++++++++++------ .../system/payinfo/entity/PayMethodInfo.java | 6 ++-- .../group/AllocationGroupUnbindParam.java | 3 +- .../system/config/PayApiConfigParam.java | 8 ++++- .../system/config/PlatformConfigParam.java | 20 ++++++++++- .../system/payinfo/PayChannelInfoParam.java | 12 ++----- .../param/system/payinfo/PayWayInfoParam.java | 5 +++ 27 files changed, 172 insertions(+), 114 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index 86d7aa66..1632efa2 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -11,10 +11,10 @@ - [x] 请求IP参数增加正则校验 - [x] 支付接口公共参数添加随机数字段, 预防重放问题 - [x] 请求接口增加有效期校验, 超时后失效 -- [ ] 数据库表进行规则, 字段设置长度, 增加索引, 对应请求参数添加校验 +- [x] 数据库表进行规则, 字段设置长度, 增加索引, 对应请求参数添加校验 - [x] 订单 - - [ ] 记录 - - [ ] 配置 + - [x] 记录 + - [x] 配置 - [x] 订单和扩展信息进行合并 - [x] 支付通道两个独立的配置进行合并为一个 - [X] 去除有效, icon, 颜色等字段 diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java index bced1bef..4abe240e 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java @@ -5,6 +5,7 @@ import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.code.PaymentApiCode; import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; import cn.daxpay.single.param.payment.allocation.AllocReceiverRemoveParam; @@ -66,6 +67,7 @@ public class AllocationReceiverController { @Operation(summary = "添加") @PostMapping("add") public ResResult<Void> add(@RequestBody AllocReceiverAddParam param){ + ValidationUtil.validateParam(param); receiverService.addAndSync(param); return Res.ok(); } @@ -74,6 +76,7 @@ public class AllocationReceiverController { @Operation(summary = "删除") @PostMapping("delete") public ResResult<Void> delete(@RequestBody AllocReceiverRemoveParam param){ + ValidationUtil.validateParam(param); receiverService.remove(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java index c95d0594..3f420dec 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java @@ -2,6 +2,7 @@ package cn.daxpay.single.admin.controller.system; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.service.core.system.config.service.PayApiConfigService; import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; import cn.daxpay.single.service.param.system.config.PayApiConfigParam; @@ -37,6 +38,7 @@ public class PayApiConfigController { @Operation(summary = "更新") @PostMapping("/update") public ResResult<Void> update(@RequestBody PayApiConfigParam param){ + ValidationUtil.validateParam(param); payApiConfigService.update(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java index 886e71d7..8ed5c400 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java @@ -2,6 +2,7 @@ package cn.daxpay.single.admin.controller.system; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.service.core.system.payinfo.service.PayMethodInfoService; import cn.daxpay.single.service.dto.system.payinfo.PayMethodInfoDto; import cn.daxpay.single.service.param.system.payinfo.PayWayInfoParam; @@ -39,6 +40,7 @@ public class PayMethodInfoController { @Operation(summary = "更新") @PostMapping("/update") public ResResult<Void> update(@RequestBody PayWayInfoParam param){ + ValidationUtil.validateParam(param); payMethodInfoService.update(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java index 4a370306..2868efe0 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java @@ -2,6 +2,7 @@ package cn.daxpay.single.admin.controller.system; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.dto.system.config.PlatformConfigDto; import cn.daxpay.single.service.param.system.config.PlatformConfigParam; @@ -31,6 +32,7 @@ public class PlatformConfigController { @Operation(summary = "更新平台配置项") @PostMapping("/update") public ResResult<Void> update(@RequestBody PlatformConfigParam param){ + ValidationUtil.validateParam(param); platformConfigService.update(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java index 045265b2..1a259d43 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java @@ -9,7 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; /** * 分账接收者添加参数 @@ -23,7 +24,8 @@ import javax.validation.constraints.NotEmpty; public class AllocReceiverAddParam extends PaymentCommonParam { @Schema(description = "接收者编号, 需要保证唯一") - @NotEmpty(message = "接收者编号必填") + @NotBlank(message = "接收者编号必填") + @Size(max = 32, message = "接收者编号不可超过32位") private String receiverNo; /** @@ -31,7 +33,8 @@ public class AllocReceiverAddParam extends PaymentCommonParam { * @see PayChannelEnum */ @Schema(description = "所属通道") - @NotEmpty(message = "所属通道必填") + @NotBlank(message = "所属通道必填") + @Size(max = 20, message = "所属通道不可超过20位") private String channel; /** @@ -39,16 +42,19 @@ public class AllocReceiverAddParam extends PaymentCommonParam { * @see AllocReceiverTypeEnum */ @Schema(description = "分账接收方类型") - @NotEmpty(message = "分账接收方类型必填") + @NotBlank(message = "分账接收方类型必填") + @Size(max = 20, message = "分账接收方类型不可超过20位") private String receiverType; /** 接收方账号 */ @Schema(description = "接收方账号") - @NotEmpty(message = "接收方账号必填") + @NotBlank(message = "接收方账号必填") + @Size(max = 100, message = "接收方账号不可超过100位") private String receiverAccount; /** 接收方姓名 */ @Schema(description = "接收方姓名") + @Size(max = 100, message = "接收方姓名不可超过50位") private String receiverName; /** @@ -56,10 +62,12 @@ public class AllocReceiverAddParam extends PaymentCommonParam { * @see AllocRelationTypeEnum */ @Schema(description = "分账关系类型") - @NotEmpty(message = "分账关系类型必填") + @NotBlank(message = "分账关系类型必填") + @Size(max = 20, message = "分账关系类型不可超过20位") private String relationType; /** 关系名称 关系类型为自定义是填写 */ @Schema(description = "关系名称") + @Size(max = 50, message = "关系名称不可超过50位") private String relationName; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java index 7ab1fb8e..1afa43e9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java @@ -5,6 +5,7 @@ import lombok.Data; import lombok.experimental.Accessors; import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @@ -20,7 +21,7 @@ public class AllocReceiverParam { /** 分账接收方编号 */ @Schema(description = "分账接收方编号") - @NotEmpty(message = "分账接收方编号必填") + @NotBlank(message = "分账接收方编号必填") private String receiverNo; /** 分账金额 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java index 06f21e6d..a20715dd 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java @@ -6,7 +6,9 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Size; /** * 分账接收者删除参数 @@ -20,7 +22,8 @@ import javax.validation.constraints.NotEmpty; public class AllocReceiverRemoveParam extends PaymentCommonParam { @Schema(description = "接收者编号") - @NotEmpty(message = "接收者编号必填") + @NotBlank(message = "接收者编号必填") + @Size(max = 32, message = "接收者编号不可超过32位") private String receiverNo; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java index df2ed13a..9af6af7c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java @@ -47,7 +47,7 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali private Boolean allocation; /** 支付限额 */ - @DbColumn(comment = "支付限额") + @DbColumn(comment = "支付限额", length = 15) private Integer singleLimit; /** @@ -56,7 +56,7 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali * 2. 不能加?id=123这类自定义参数,必须外网可以正常访问 * 3. 调用顺序 支付宝网关 -> 本网关进行处理 -> 发送消息通知业务系统 */ - @DbColumn(comment = "异步通知页面路径") + @DbColumn(comment = "异步通知接收路径", length = 200) private String notifyUrl; /** @@ -65,22 +65,22 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali * 2. 不能加?id=123这类自定义参数,必须外网可以正常访问 * 3. 消息顺序 支付宝网关 -> 本网关进行处理 -> 重定向到业务系统中 */ - @DbColumn(comment = "同步通知页面路径") + @DbColumn(comment = "同步通知页面路径", length = 200) private String returnUrl; /** 支付网关地址 */ - @DbColumn(comment = "支付网关地址") + @DbColumn(comment = "支付网关地址", length = 200) private String serverUrl; /** * 认证类型 证书/公钥 * @see AliPayCode#AUTH_TYPE_KEY */ - @DbColumn(comment = "认证类型") + @DbColumn(comment = "认证类型", length = 20) private String authType; /** 签名类型 RSA2 */ - @DbColumn(comment = "签名类型 RSA2") + @DbColumn(comment = "签名类型 RSA2", length = 20) public String signType; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java index 59c10eed..1a2a67f0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java @@ -59,12 +59,12 @@ public class AllocOrderDetail extends MpBaseEntity implements EntityBaseFunction private String receiverType; /** 接收方账号 */ - @DbColumn(comment = "接收方账号", length = 150, isNull = false) + @DbColumn(comment = "接收方账号", length = 100, isNull = false) @TableField(typeHandler = DecryptTypeHandler.class) private String receiverAccount; /** 接收方姓名 */ - @DbColumn(comment = "接收方姓名", length = 150) + @DbColumn(comment = "接收方姓名", length = 100) private String receiverName; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java index 487330b1..bb69e75d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java @@ -36,65 +36,65 @@ import java.util.List; public class ReconcileDiff extends MpBaseEntity implements EntityBaseFunction<ReconcileDiffDto> { /** 对账单ID */ - @DbColumn(comment = "对账单ID") + @DbColumn(comment = "对账单ID", isNull = false) private Long reconcileId; /** 对账号 */ - @DbColumn(comment = "对账号") + @DbColumn(comment = "对账号", length = 32, isNull = false) private String reconcileNo; /** 对账单明细ID */ - @DbColumn(comment = "对账单明细ID") + @DbColumn(comment = "对账单明细ID", isNull = false) private Long detailId; /** 对账日期 */ - @DbColumn(comment = "对账日期") + @DbColumn(comment = "对账日期", isNull = false) private LocalDate reconcileDate; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbColumn(comment = "通道交易号", length = 150, isNull = false) private String outTradeNo; /** 交易时间 */ - @DbColumn(comment = "交易时间") + @DbColumn(comment = "交易时间", isNull = false) private LocalDateTime tradeTime; /** 订单标题 */ - @DbColumn(comment = "订单标题") + @DbColumn(comment = "订单标题", length = 100) private String title; /** * 通道 * @see PayChannelEnum */ - @DbColumn(comment = "通道") + @DbColumn(comment = "通道", length = 20, isNull = false) private String channel; /** 本地交易金额 */ - @DbColumn(comment = "本地交易金额") + @DbColumn(comment = "本地交易金额", length = 15) private Integer amount; /** 通道交易金额 */ - @DbColumn(comment = "通道交易金额") + @DbColumn(comment = "通道交易金额", length = 15) private Integer outAmount; /** * 交易类型 * @see ReconcileTradeEnum */ - @DbColumn(comment = "交易类型") + @DbColumn(comment = "交易类型", length = 20) private String tradeType; /** * 差异类型 * @see ReconcileDiffTypeEnum */ - @DbColumn(comment = "差异类型") + @DbColumn(comment = "差异类型", length = 20) private String diffType; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java index 48a7f45a..137a6f59 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java @@ -20,12 +20,12 @@ import lombok.experimental.Accessors; @TableName("pay_allocation_group_receiver") public class AllocationGroupReceiver extends MpCreateEntity { - @DbColumn(comment = "分账组ID") + @DbColumn(comment = "分账组ID", isNull = false) private Long groupId; - @DbColumn(comment = "接收者ID") + @DbColumn(comment = "接收者ID", isNull = false) private Long receiverId; - @DbColumn(comment = "分账比例(万分之多少)") + @DbColumn(comment = "分账比例(万分之多少)", length = 5) private Integer rate; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java index 7f3020bb..7e9dab39 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java @@ -30,14 +30,14 @@ import lombok.experimental.Accessors; public class AllocationReceiver extends MpBaseEntity implements EntityBaseFunction<AllocationReceiverDto> { /** 分账接收方编号, 需要保证唯一 */ - @DbColumn(comment = "分账接收方编号") + @DbColumn(comment = "分账接收方编号", length = 32, isNull = false) private String receiverNo; /** * 所属通道 * @see PayChannelEnum */ - @DbColumn(comment = "所属通道") + @DbColumn(comment = "所属通道", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String channel; @@ -45,16 +45,16 @@ public class AllocationReceiver extends MpBaseEntity implements EntityBaseFuncti * 分账接收方类型 * @see AllocReceiverTypeEnum */ - @DbColumn(comment = "分账接收方类型") + @DbColumn(comment = "分账接收方类型", length = 20, isNull = false) private String receiverType; /** 接收方账号 */ - @DbColumn(comment = "接收方账号") + @DbColumn(comment = "接收方账号", length = 100, isNull = false) @TableField(typeHandler = DecryptTypeHandler.class) private String receiverAccount; /** 接收方姓名 */ - @DbColumn(comment = "接收方姓名") + @DbColumn(comment = "接收方姓名", length = 100) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String receiverName; @@ -62,11 +62,11 @@ public class AllocationReceiver extends MpBaseEntity implements EntityBaseFuncti * 分账关系类型 * @see AllocRelationTypeEnum */ - @DbColumn(comment = "分账关系类型") + @DbColumn(comment = "分账关系类型", length = 20, isNull = false) private String relationType; /** 关系名称 */ - @DbColumn(comment = "关系名称") + @DbColumn(comment = "关系名称", length = 50) private String relationName; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index b8fe8e70..0d185cb8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -167,8 +167,7 @@ public class PayAssistService { */ public void validationLimitAmount(PayParam payParam) { // 总额校验 - PlatformLocal platformInfo = PaymentContextLocal.get() - .getPlatformInfo(); + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); if (payParam.getAmount() > platformInfo.getLimitAmount()) { throw new PayFailureException("支付金额超过限额"); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java index 4abc28b0..d2eaaceb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java @@ -64,7 +64,6 @@ public class PayCallbackRecord extends MpCreateEntity implements EntityBaseFunct @DbColumn(comment = "回调处理状态", length = 20, isNull = false) private String status; - /** 修复号 */ @DbColumn(comment = "修复号", length = 32, isNull = false) private String repairOrderNo; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java index 5e1a949c..567908dd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java @@ -4,6 +4,7 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum; import cn.daxpay.single.service.core.record.flow.convert.TradeFlowRecordConvert; @@ -26,37 +27,40 @@ import lombok.experimental.Accessors; public class TradeFlowRecord extends MpCreateEntity implements EntityBaseFunction<TradeFlowRecordDto> { /** 订单标题 */ - @DbColumn(comment = "标题") + @DbColumn(comment = "标题", length = 100, isNull = false) private String title; /** 金额 */ - @DbColumn(comment = "金额") + @DbColumn(comment = "金额", length = 15, isNull = false) private Integer amount; /** * 业务类型 * @see TradeFlowRecordTypeEnum */ - @DbColumn(comment = "业务类型") + @DbColumn(comment = "业务类型", length = 20, isNull = false) private String type; /** * 支付通道 * @see PayChannelEnum */ - @DbColumn(comment = "支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 商户交易号 */ - @DbColumn(comment = "商户交易号") + @DbMySqlIndex(comment = "商户交易号索引") + @DbColumn(comment = "商户交易号", length = 100, isNull = false) private String bizTradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbMySqlIndex(comment = "通道交易号索引") + @DbColumn(comment = "通道交易号", length = 150, isNull = false) private String outTradeNo; @Override diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java index 8d606587..45329189 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java @@ -2,15 +2,16 @@ package cn.daxpay.single.service.core.record.repair.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; +import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; import cn.daxpay.single.service.core.record.repair.convert.PayRepairRecordConvert; import cn.daxpay.single.service.dto.record.repair.PayRepairRecordDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -32,31 +33,32 @@ public class PayRepairRecord extends MpCreateEntity implements EntityBaseFunctio * 修复号 * 如果一次修复产生的修复记录有多个记录, 使用这个作为关联 */ - @DbColumn(comment = "修复号") + @DbColumn(comment = "修复号", length = 32, isNull = false) private String repairNo; /** 支付ID/退款ID */ - @DbColumn(comment = "本地订单ID") + @DbColumn(comment = "本地订单ID", isNull = false) private Long tradeId; /** * 本地交易号, 支付号/退款号 */ - @DbColumn(comment = "本地业务号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** * 修复类型 支付修复/退款修复 * @see PaymentTypeEnum */ - @DbColumn(comment = "修复类型") + @DbColumn(comment = "修复类型", length = 20, isNull = false) private String repairType; /** * 修复来源 * @see PayRepairSourceEnum */ - @DbColumn(comment = "修复来源") + @DbColumn(comment = "修复来源", length = 20, isNull = false) private String repairSource; /** @@ -64,25 +66,25 @@ public class PayRepairRecord extends MpCreateEntity implements EntityBaseFunctio * @see PayRepairWayEnum * @see RefundRepairWayEnum */ - @DbColumn(comment = "修复方式") + @DbColumn(comment = "修复方式", length = 20, isNull = false) private String repairWay; /** 修复的通道 */ - @DbColumn(comment = "修复的通道") + @DbColumn(comment = "修复的通道", length = 20, isNull = false) private String channel; /** * 修复前状态 * @see PayStatusEnum */ - @DbColumn(comment = "修复前状态") + @DbColumn(comment = "修复前状态", length = 20, isNull = false) private String beforeStatus; /** * 修复后状态 * @see PayStatusEnum */ - @DbColumn(comment = "修复后状态") + @DbColumn(comment = "修复后状态", length = 20, isNull = false) private String afterStatus; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java index f7eaccf3..1812bd47 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java @@ -2,17 +2,17 @@ package cn.daxpay.single.service.core.record.sync.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import cn.daxpay.single.code.AllocOrderStatusEnum; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.core.record.sync.convert.PaySyncRecordConvert; import cn.daxpay.single.service.dto.record.sync.PaySyncRecordDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; -import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -31,53 +31,55 @@ import lombok.experimental.Accessors; public class PaySyncRecord extends MpCreateEntity implements EntityBaseFunction<PaySyncRecordDto> { /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 商户交易号 */ - @DbColumn(comment = "商户交易号") + @DbMySqlIndex(comment = "商户交易号索引") + @DbColumn(comment = "商户交易号", length = 100, isNull = false) private String bizTradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbMySqlIndex(comment = "通道交易号索引") + @DbColumn(comment = "通道交易号", length = 150, isNull = false) private String outTradeNo; - /** * 三方支付返回状态 * @see PaySyncStatusEnum * @see RefundSyncStatusEnum */ - @DbColumn(comment = "网关返回状态") + @DbColumn(comment = "网关返回状态", length = 20, isNull = false) private String outTradeStatus; /** * 同步类型 支付/退款 * @see PaymentTypeEnum */ - @DbColumn(comment = "同步类型") + @DbColumn(comment = "同步类型", length = 20, isNull = false) private String syncType; /** * 同步的异步通道 * @see PayChannelEnum#getCode() */ - @DbColumn(comment = "同步的异步通道") + @DbColumn(comment = "同步的异步通道", length = 20, isNull = false) private String channel; /** 网关返回的同步消息 */ @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) - @DbColumn(comment = "同步消息") + @DbColumn(comment = "同步消息", isNull = false) private String syncInfo; /** * 支付单如果状态不一致, 是否进行修复 */ - @DbColumn(comment = "是否进行修复") + @DbColumn(comment = "是否进行修复", isNull = false) private boolean repair; /** 修复单号 */ - @DbColumn(comment = "修复单号") + @DbColumn(comment = "修复单号", length = 32) private String repairNo; /** 错误码 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java index 9f8375db..dbd49dee 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java @@ -25,22 +25,22 @@ import lombok.experimental.Accessors; @TableName("pay_api_config") public class PayApiConfig extends MpBaseEntity implements EntityBaseFunction<PayApiConfigDto> { - @DbColumn(comment = "编码") + @DbColumn(comment = "编码",length = 50, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String code; - @DbColumn(comment = "接口地址") + @DbColumn(comment = "接口地址", length = 200, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String api; - @DbColumn(comment = "名称") + @DbColumn(comment = "名称", length = 100, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String name; - @DbColumn(comment = "是否启用") + @DbColumn(comment = "是否启用", isNull = false) private boolean enable; - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java index 43feaf27..c6516bc3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java @@ -27,17 +27,17 @@ import lombok.experimental.Accessors; public class PayChannelConfig extends MpBaseEntity implements EntityBaseFunction<PayChannelConfigDto> { /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "代码") + @DbColumn(comment = "代码", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String code; /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "名称") + @DbColumn(comment = "名称", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String name; /** 备注 */ - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java index 3ced85ce..6b055fde 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java @@ -8,6 +8,8 @@ import cn.daxpay.single.service.core.system.config.convert.PlatformConfigConvert import cn.daxpay.single.service.dto.system.config.PlatformConfigDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -25,21 +27,23 @@ import lombok.experimental.Accessors; @TableName("pay_platform_config") public class PlatformConfig extends MpBaseEntity implements EntityBaseFunction<PlatformConfigDto> { - @DbColumn(comment = "网站地址") + @DbColumn(comment = "网站地址", length = 200, isNull = false) private String websiteUrl; /** * @see PaySignTypeEnum */ - @DbColumn(comment = "签名方式") + @DbColumn(comment = "签名方式", length = 20) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String signType; /** 签名秘钥 */ - @DbColumn(comment = "签名秘钥") + @DbColumn(comment = "签名秘钥", length = 50) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String signSecret; /** 是否对请求进行验签 */ - @DbColumn(comment = "是否对请求进行验签") + @DbColumn(comment = "是否对请求进行验签", isNull = false) private boolean reqSign; /** @@ -47,30 +51,35 @@ public class PlatformConfig extends MpBaseEntity implements EntityBaseFunction<P * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 */ - @DbColumn(comment = "请求有效时长(秒)") + @DbColumn(comment = "请求有效时长(秒)", length = 10, isNull = false) private Integer reqTimeout; /** * 消息通知方式, 目前只支持http * @see TradeNotifyTypeEnum */ - @DbColumn(comment = "消息通知方式") + @DbColumn(comment = "消息通知方式", length = 20) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String notifyType; /** 消息通知地址 */ - @DbColumn(comment = "消息通知地址") + @DbColumn(comment = "消息通知地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String notifyUrl; /** 同步支付跳转地址 */ - @DbColumn(comment = "同步支付跳转地址") + @DbColumn(comment = "同步支付跳转地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String returnUrl; /** 支付限额 */ - @DbColumn(comment = "支付限额") + @DbColumn(comment = "支付限额", length = 15) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Integer limitAmount; /** 订单默认超时时间(分钟) */ - @DbColumn(comment = "订单默认超时时间(分钟)") + @DbColumn(comment = "订单默认超时时间(分钟)", length = 8) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Integer orderTimeout; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java index c52507a6..c59b4d93 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java @@ -27,17 +27,17 @@ import lombok.experimental.Accessors; public class PayMethodInfo extends MpBaseEntity implements EntityBaseFunction<PayMethodInfoDto> { /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "代码") + @DbColumn(comment = "代码", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String code; /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "名称") + @DbColumn(comment = "名称", length = 100, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String name; /** 备注 */ - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; public static PayMethodInfoDto convert(PayMethodInfo in) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java index f82de6db..32810ab6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.List; @@ -22,7 +23,7 @@ public class AllocationGroupUnbindParam { @Schema(description = "分账组ID") private Long groupId; - @NotEmpty(message = "分账接收方不可为空") + @NotBlank(message = "分账接收方不可为空") @Schema(description = "分账接收方集合") List<Long> receiverIds; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java index e68a6f61..5282d84f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java @@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + /** * 支付开放接口管理 * @author xxm @@ -14,12 +17,15 @@ import lombok.experimental.Accessors; @Schema(title = "支付开放接口管理") public class PayApiConfigParam { - @Schema(description = "id") + + @NotNull(message = "主键不能为空") + @Schema(description = "主键") private Long id; @Schema(description = "是否启用") private boolean enable; + @Size(max = 200, message = "备注长度不能超过200") @Schema(description = "备注") private String remark; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java index 6d310ae3..73bd55d9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java @@ -6,6 +6,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + /** * 平台配置 * @author xxm @@ -16,6 +20,8 @@ import lombok.experimental.Accessors; @Schema(title = "平台配置") public class PlatformConfigParam { + @NotBlank(message = "网站地址必填") + @Size(min = 1, max = 200, message = "网站地址不可超过200位") @Schema(description = "网站地址") private String websiteUrl; @@ -28,15 +34,20 @@ public class PlatformConfigParam { * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 */ + @Min(value = 1, message = "请求有效时长不可小于1秒") @Schema(description = "请求有效时长(秒)") private Integer reqTimeout; /** + * 签名方式 * @see PaySignTypeEnum */ + @Size(max = 20, message = "签名方式不可超过20位") @Schema(description = "签名方式") private String signType; + /** 签名秘钥 */ + @Size(max = 50, message = "签名秘钥不可超过50位") @Schema(description = "签名秘钥") private String signSecret; @@ -44,20 +55,27 @@ public class PlatformConfigParam { * 消息通知方式, 目前只支持http * @see TradeNotifyTypeEnum */ + @Size(max = 20, message = "消息通知方式不可超过20位") @Schema(description = "消息通知方式") private String notifyType; /** 消息通知地址 */ - + @Size(max = 200, message = "消息通知地址不可超过200位") @Schema(description = "消息通知地址") private String notifyUrl; + /** 同步支付跳转地址 */ + @Size(max = 200, message = "同步支付跳转地址不可超过200位") @Schema(description = "同步支付跳转地址") private String returnUrl; + /** 订单默认超时时间(分钟) */ + @Min(value = 5, message = "订单默认超时时间不可小于5分钟") @Schema(description = "订单默认超时时间(分钟)") private Integer orderTimeout; + /** 订单支付限额(分) */ + @Min(value = 1, message = "订单支付限额不可小于0.01元") @Schema(description = "订单支付限额(分)") private Integer limitAmount; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java index 11b1170a..5df6672d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java @@ -5,26 +5,18 @@ import lombok.Data; import lombok.experimental.Accessors; /** - * + * 支付通道配置 * @author xxm * @since 2024/1/8 */ @Data @Accessors(chain = true) -@Schema(title = "") +@Schema(title = "支付通道配置") public class PayChannelInfoParam { @Schema(description= "主键") private Long id; - /** logo图片 */ - @Schema(description = "logo图片") - private Long iconId; - - /** 卡牌背景色 */ - @Schema(description = "卡牌背景色") - private String bgColor; - /** 备注 */ @Schema(description = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java index dddd38cc..30547eb8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java @@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + /** * * @author xxm @@ -14,9 +17,11 @@ import lombok.experimental.Accessors; @Schema(title = "支付方式信息") public class PayWayInfoParam { + @NotNull(message = "主键不能为空") @Schema(description= "主键") private Long id; + @Size(max = 200, message = "备注长度不能超过200") @Schema(description = "备注") private String remark; } -- Gitee From 688f99307f82a152434da290fa4fde17df840131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=96=B5=E5=91=80?= <xxm1995@outlook.com> Date: Thu, 13 Jun 2024 09:15:20 +0000 Subject: [PATCH 12/34] =?UTF-8?q?doc=20=E5=88=A0=E9=99=A4=E5=B7=B2?= =?UTF-8?q?=E6=BB=A1=E7=9A=84=E4=BA=A4=E6=B5=81=E7=BE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 喵呀 <xxm1995@outlook.com> --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index f920f6cd..2985c024 100644 --- a/README.md +++ b/README.md @@ -166,10 +166,6 @@ public class PayOrderTest { 扫码加入QQ交流群 -交流一群 -<p> -<img src="https://jsd.cdn.zzko.cn/gh/xxm1995/picx-images-hosting@master/connect/微信图片_20240412132238.3rb0hgrf2z.webp" width = "330" height = "500"/> -</p> 交流二群 <p> <img src="https://jsd.cdn.zzko.cn/gh/xxm1995/picx-images-hosting@master/connect/微信图片_20240513180310.2yy68aykip.webp" width = "330" height = "500"/> -- Gitee From 0c046ca65e4381cc20795b6c57404ea86b1a3b20 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Fri, 14 Jun 2024 16:07:49 +0800 Subject: [PATCH 13/34] =?UTF-8?q?feat=20=E8=BD=AC=E8=B4=A6=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84,=20=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E5=AF=B9=E8=B1=A1=E8=BF=9B=E8=A1=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=B2=BE=E7=AE=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 6 +- .../channel/AlipayConfigController.java | 12 ++ .../channel/UnionPayConfigController.java | 12 ++ .../channel/WalletConfigController.java | 3 +- .../channel/WeChatPayConfigController.java | 12 ++ .../single/code/TransferStatusEnum.java | 2 - .../controller/PayReturnController.java | 4 +- .../service/common/context/CallbackLocal.java | 2 +- .../common/context/ErrorInfoLocal.java | 20 +++ .../service/common/context/PayLocal.java | 3 - .../common/context/PaymentContext.java | 6 + .../service/common/context/RefundLocal.java | 10 -- .../service/common/context/RepairLocal.java | 2 +- .../service/common/context/TransferLocal.java | 27 ++++ .../alipay/service/AliPayConfigService.java | 15 +++ .../alipay/service/AliPayRefundService.java | 10 +- .../channel/alipay/service/AliPayService.java | 7 +- .../alipay/service/AliPayTransferService.java | 47 +++++-- .../union/service/UnionPayConfigService.java | 18 ++- .../service/WeChatPayConfigService.java | 19 ++- .../wechat/service/WeChatPayService.java | 6 +- .../service/WeChatPayTransferService.java | 28 ++++ .../service/WechatPayRefundService.java | 12 +- .../core/order/pay/builder/PayBuilder.java | 56 -------- .../convert/TransferOrderConvert.java | 3 + .../order/transfer/entity/TransferOrder.java | 9 +- .../payment/pay/service/PayAssistService.java | 93 ++++++------- .../core/payment/pay/service/PayService.java | 3 - .../refund/service/RefundAssistService.java | 6 +- .../service/TransferAssistService.java | 9 +- .../transfer/service/TransferService.java | 10 +- .../strategy/AliPayTransferStrategy.java | 24 +++- .../strategy/WeChatTransferStrategy.java | 71 ++++++++++ .../service/dto/order/pay/PayOrderDto.java | 15 ++- .../dto/order/transfer/TransferOrderDto.java | 125 ++++++++++++++++++ .../service/func/AbsTransferStrategy.java | 1 + 36 files changed, 534 insertions(+), 174 deletions(-) create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java delete mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java diff --git a/_doc/Task.md b/_doc/Task.md index 1632efa2..af96c922 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,13 +1,15 @@ ## 单商户 2.0.8: 转账/撤销接口和系统优化 - [x] 支持撤销接口 -- [ ] 增加转账接口功能 +- [x] 增加转账接口功能 - [ ] 细分各种支付异常类和编码(部分) - [ ] 增加分账回调处理(支付宝) - [ ] 增加分账修复功能 - [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 -- [ ] 支付宝微信等消息通知地址支持一键生成 +- [ ] DEMO增加转账演示功能 +- [x] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 +- [ ] 上下文对象进行优化精简 - [x] 请求IP参数增加正则校验 - [x] 支付接口公共参数添加随机数字段, 预防重放问题 - [x] 请求接口增加有效期校验, 超时后失效 diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java index 070dfa7b..2dd3fc53 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java @@ -53,4 +53,16 @@ public class AlipayConfigController { public ResResult<String> readPem(MultipartFile file){ return Res.ok(new String(file.getBytes(), StandardCharsets.UTF_8)); } + + @Operation(summary = "生成异步通知地址") + @GetMapping("/generateNotifyUrl") + public ResResult<String> generateNotifyUrl() { + return Res.ok(alipayConfigService.generateNotifyUrl()); + } + + @Operation(summary = "生成同步通知地址") + @GetMapping("/generateReturnUrl") + public ResResult<String> generateReturnUrl() { + return Res.ok(alipayConfigService.generateReturnUrl()); + } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java index 1d7278a0..78f006db 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java @@ -54,4 +54,16 @@ public class UnionPayConfigController { public ResResult<String> toBase64(MultipartFile file){ return Res.ok(Base64.encode(file.getBytes())); } + + @Operation(summary = "生成异步通知地址") + @GetMapping("/generateNotifyUrl") + public ResResult<String> generateNotifyUrl() { + return Res.ok(unionPayConfigService.generateNotifyUrl()); + } + + @Operation(summary = "生成同步通知地址") + @GetMapping("/generateReturnUrl") + public ResResult<String> generateReturnUrl() { + return Res.ok(unionPayConfigService.generateReturnUrl()); + } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java index 23895c01..db4feefe 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java @@ -39,9 +39,10 @@ public class WalletConfigController { return Res.ok(); } - @Operation(summary = "支付宝支持支付方式") + @Operation(summary = "钱包支持支付方式") @GetMapping("/findPayWays") public ResResult<List<LabelValue>> findPayWays() { return Res.ok(service.findPayWays()); } + } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java index 6977470a..a361b32b 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java @@ -52,4 +52,16 @@ public class WeChatPayConfigController { public ResResult<String> toBase64(MultipartFile file){ return Res.ok(Base64.encode(file.getBytes())); } + + @Operation(summary = "生成异步通知地址") + @GetMapping("/generateNotifyUrl") + public ResResult<String> generateNotifyUrl() { + return Res.ok(weChatPayConfigService.generateNotifyUrl()); + } + + @Operation(summary = "生成同步通知地址") + @GetMapping("/generateReturnUrl") + public ResResult<String> generateReturnUrl() { + return Res.ok(weChatPayConfigService.generateReturnUrl()); + } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java index 751381ae..1c3685d6 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java @@ -12,8 +12,6 @@ import lombok.Getter; @AllArgsConstructor public enum TransferStatusEnum { - - TRANSFERRING("transferring", "转账中"), SUCCESS("success", "转账成功"), FAIL("fail", "转账失败"), diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java index c2fd2323..cb6146f4 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java @@ -33,13 +33,13 @@ public class PayReturnController { return new ModelAndView("redirect:" + url); } - @Operation(summary = "微信同步通知") + @Operation(summary = "微信同步跳转连接") @GetMapping("/wechat") public ModelAndView wechat(){ return null; } - @Operation(summary = "云闪付同步通知") + @Operation(summary = "云闪付同步跳转连接") @PostMapping("/union") public ModelAndView union(UnionPayReturnParam param){ String url = payReturnService.union(param); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java index 3580aca5..a46c1660 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java @@ -27,7 +27,7 @@ public class CallbackLocal { private String tradeNo; /** - * 第三方支付平台交易号 + * 通道交易号 */ private String outTradeNo; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java new file mode 100644 index 00000000..049d5e86 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java @@ -0,0 +1,20 @@ +package cn.daxpay.single.service.common.context; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 错误信息 + * @author xxm + * @since 2024/6/14 + */ +@Data +@Accessors(chain = true) +public class ErrorInfoLocal { + + /** 错误码 */ + private String errorCode; + + /** 错误内容 */ + private String errorMsg; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java index 4d3013d2..c9a5c9e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java @@ -30,7 +30,4 @@ public class PayLocal { /** 支付参数体(通常用于发起支付的参数) */ private String payBody; - /** 订单超时时间, */ - private LocalDateTime expiredTime; - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java index 3d6aed75..b2448532 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java @@ -18,6 +18,9 @@ public class PaymentContext { /** 请求终端信息 */ private final ClientLocal clientInfo = new ClientLocal(); + /** 错误信息 */ + private final ErrorInfoLocal errorInfo = new ErrorInfoLocal(); + /** 支付相关信息 */ private final PayLocal payInfo = new PayLocal(); @@ -36,4 +39,7 @@ public class PaymentContext { /** 分账相关信息 */ private final AllocationLocal allocationInfo = new AllocationLocal(); + /** 转账相关信息 */ + private final TransferLocal transferInfo = new TransferLocal(); + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java index efab28d7..e4ec6ac3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.common.context; import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import lombok.Data; import lombok.experimental.Accessors; @@ -26,15 +25,6 @@ public class RefundLocal { */ private RefundStatusEnum status = RefundStatusEnum.SUCCESS; - /** 错误码 */ - private String errorCode; - - /** 错误内容 */ - private String errorMsg; - - /** 退款订单 */ - private RefundOrder refundOrder; - /** 退款完成时间 */ private LocalDateTime finishTime; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java index e7ed28dd..2af1d179 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java @@ -20,7 +20,7 @@ public class RepairLocal { */ private PayRepairSourceEnum source; - /** 支付完成/退款时间 */ + /** 完成/退款时间 */ private LocalDateTime finishTime; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java new file mode 100644 index 00000000..51608e2a --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java @@ -0,0 +1,27 @@ +package cn.daxpay.single.service.common.context; + +import cn.daxpay.single.code.TransferStatusEnum; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 转账相关信息 + * @author xxm + * @since 2024/6/14 + */ +@Data +@Accessors(chain = true) +public class TransferLocal { + + /** 通道转账订单号 */ + private String outTransferNo; + + /** 状态 */ + private TransferStatusEnum status = TransferStatusEnum.SUCCESS; + + /** 完成时间 */ + private LocalDateTime finishTime; +} + diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index f922fe2f..030f1c22 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -9,6 +9,7 @@ import cn.daxpay.single.service.code.AliPayWay; import cn.daxpay.single.service.core.channel.alipay.dao.AliPayConfigManager; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.alipay.AliPayConfigParam; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; @@ -39,6 +40,7 @@ public class AliPayConfigService { private final static Long ID = 0L; private final AliPayConfigManager alipayConfigManager; private final PayChannelConfigService payChannelConfigService; + private final PlatformConfigService platformConfigService; /** * 修改 @@ -78,6 +80,19 @@ public class AliPayConfigService { return alipayConfig; } + /** + * 生成通知地址 + */ + public String generateNotifyUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/callback/pay/alipay"; + } + + /** + * 生成同步跳转地址 + */ + public String generateReturnUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/return/pay/alipay"; + } /** * 初始化IJPay服务 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java index 6ff8c826..6d05b51f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; @@ -33,6 +34,7 @@ public class AliPayRefundService { */ public void refund(RefundOrder refundOrder) { RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); AlipayTradeRefundModel refundModel = new AlipayTradeRefundModel(); refundModel.setOutTradeNo(refundOrder.getOrderNo()); refundModel.setOutRequestNo(refundOrder.getRefundNo()); @@ -44,8 +46,8 @@ public class AliPayRefundService { try { AlipayTradeRefundResponse response = AliPayApi.tradeRefundToResponse(refundModel); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { - refundInfo.setErrorMsg(response.getSubMsg()); - refundInfo.setErrorCode(response.getCode()); + errorInfo.setErrorMsg(response.getSubMsg()); + errorInfo.setErrorCode(response.getCode()); log.error("网关返回退款失败: {}", response.getSubMsg()); throw new PayFailureException(response.getSubMsg()); } @@ -61,8 +63,8 @@ public class AliPayRefundService { } catch (AlipayApiException e) { log.error("订单退款失败:", e); - refundInfo.setErrorMsg(e.getErrMsg()); - refundInfo.setErrorCode(e.getErrCode()); + errorInfo.setErrorMsg(e.getErrMsg()); + errorInfo.setErrorCode(e.getErrCode()); throw new PayFailureException("订单退款失败"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index 0e1c474e..5300547a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.channel.alipay.service; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.code.PayMethodEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.channel.AliPayParam; @@ -25,6 +26,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.Objects; import java.util.Optional; @@ -252,11 +254,12 @@ public class AliPayService { model.setTotalAmount(amount); try { AlipayTradePayResponse response = AliPayApi.tradePayToResponse(model, alipayConfig.getNotifyUrl()); - // 支付成功处理 金额2000以下免密支付, 记录支付完成相关信息 if (Objects.equals(response.getCode(), AliPayCode.SUCCESS)) { + Date gmtPayment = response.getGmtPayment(); payInfo.setOutOrderNo(response.getTradeNo()) - .setComplete(true); + .setComplete(true) + .setCompleteTime(LocalDateTimeUtil.of(gmtPayment)); } // 非支付中响应码, 进行错误处理 if (!Objects.equals(response.getCode(), AliPayCode.INPROCESS)) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index 3cf3381a..04f2d247 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -1,8 +1,17 @@ package cn.daxpay.single.service.core.channel.alipay.service; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.daxpay.single.code.TransferStatusEnum; +import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.common.context.TransferLocal; +import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; -import cn.hutool.core.util.IdUtil; +import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.util.PayUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.util.StrUtil; import com.alipay.api.domain.AlipayFundAccountQueryModel; import com.alipay.api.domain.AlipayFundTransToaccountTransferModel; import com.alipay.api.response.AlipayFundAccountQueryResponse; @@ -13,6 +22,9 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.util.Objects; + import static cn.daxpay.single.service.code.AliPayCode.QUERY_ACCOUNT_TYPE; @Slf4j @@ -20,8 +32,6 @@ import static cn.daxpay.single.service.code.AliPayCode.QUERY_ACCOUNT_TYPE; @RequiredArgsConstructor public class AliPayTransferService { - private final AliPayConfigService payConfigService; - /** * 余额查询接口 */ @@ -40,15 +50,28 @@ public class AliPayTransferService { @SneakyThrows public void transfer(TransferOrder order) { AlipayFundTransToaccountTransferModel model = new AlipayFundTransToaccountTransferModel(); -// model.setAmount(PayUtil.conversionAmount(order.getAmount()).toString()); - model.setAmount("1.00"); - model.setOutBizNo(IdUtil.getSnowflakeNextIdStr()); - model.setPayeeType("ALIPAY_USERID"); - model.setPayeeAccount("2088722032251651"); - model.setPayerShowName("易杯光年"); - model.setExtParam("{order_title: '订单标题'}"); - model.setRemark("易杯光年的备注"); + model.setAmount(PayUtil.conversionAmount(order.getAmount()).toString()); + model.setOutBizNo(OrderNoGenerateUtil.transfer()); + model.setPayeeType(order.getPayeeType()); + model.setPayeeAccount(order.getPayeeAccount()); + model.setPayerShowName(order.getPayerShowName()); + // 标题 + model.setExtParam(StrUtil.format("{order_title: '{}'}", order.getTitle())); + model.setRemark(order.getReason()); AlipayFundTransToaccountTransferResponse response = AliPayApi.transferToResponse(model); - System.out.println(response); + if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { + log.error("网关返回退款失败: {}", response.getSubMsg()); + throw new PayFailureException(response.getSubMsg()); + } + TransferLocal transferInfo = PaymentContextLocal.get().getTransferInfo(); + // 通道转账号 + transferInfo.setOutTransferNo(response.getOrderId()); + // 有完成时间代表处理完成 + String payDate = response.getPayDate(); + if (StrUtil.isNotBlank(payDate)){ + LocalDateTime time = LocalDateTimeUtil.parse(payDate, DatePattern.NORM_DATETIME_PATTERN); + transferInfo.setFinishTime(time) + .setStatus(TransferStatusEnum.SUCCESS); + } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java index 1a625740..4fac70ae 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java @@ -6,7 +6,7 @@ import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.UnionPayWay; import cn.daxpay.single.service.core.channel.union.dao.UnionPayConfigManager; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; -import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.union.UnionPayConfigParam; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.hutool.core.bean.BeanUtil; @@ -37,7 +37,7 @@ public class UnionPayConfigService { /** 默认云闪付配置的主键ID */ private final static Long ID = 0L; private final UnionPayConfigManager unionPayConfigManager; - private final PayChannelConfigService payChannelConfigService; + private final PlatformConfigService platformConfigService; /** * 修改 @@ -77,6 +77,20 @@ public class UnionPayConfigService { return unionPayConfig; } + /** + * 生成通知地址 + */ + public String generateNotifyUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/callback/pay/union"; + } + + /** + * 生成同步跳转地址 + */ + public String generateReturnUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/return/pay/union"; + } + /** * 生成云闪付支付服务 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java index 6ebccb34..b17d4469 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java @@ -6,7 +6,7 @@ import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.core.channel.wechat.dao.WeChatPayConfigManager; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; -import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.wechat.WeChatPayConfigParam; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; @@ -31,7 +31,8 @@ public class WeChatPayConfigService { /** 默认微信支付配置的主键ID */ private final static Long ID = 0L; private final WeChatPayConfigManager weChatPayConfigManager; - private final PayChannelConfigService payChannelConfigService; + + private final PlatformConfigService platformConfigService; /** * 修改 @@ -73,4 +74,18 @@ public class WeChatPayConfigService { .collect(Collectors.toList()); } + /** + * 生成微信通知地址 + */ + public String generateNotifyUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/callback/pay/wechat"; + } + + /** + * 生成同步跳转地址 + */ + public String generateReturnUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/return/pay/wechat"; + } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java index 6771709f..2a0a3f17 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java @@ -210,7 +210,11 @@ public class WeChatPayService { String errCode = result.get(WeChatPayCode.ERR_CODE); // 支付成功处理, if (Objects.equals(resultCode, WeChatPayCode.PAY_SUCCESS)) { - payInfo.setOutOrderNo(result.get(WeChatPayCode.TRANSACTION_ID)).setComplete(true); + String timeEnd = result.get(WeChatPayCode.TIME_END); + LocalDateTime time = LocalDateTimeUtil.parse(timeEnd, DatePattern.PURE_DATETIME_PATTERN); + payInfo.setOutOrderNo(result.get(WeChatPayCode.TRANSACTION_ID)) + .setCompleteTime(time) + .setComplete(true); return; } // 支付中, 发起轮训同步 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java new file mode 100644 index 00000000..455fc838 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java @@ -0,0 +1,28 @@ +package cn.daxpay.single.service.core.channel.wechat.service; + +import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 微信转账到零钱 + * @author xxm + * @since 2024/6/14 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class WeChatPayTransferService { + + /** + * 转账接口 + */ + @SneakyThrows + public void transfer(TransferOrder order, WeChatPayConfig config) { + throw new PayFailureException("微信转账暂未实现"); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java index d8dbd7f5..e4b28921 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; @@ -41,6 +42,7 @@ public class WechatPayRefundService { String totalFee = String.valueOf(refundOrder.getAmount()); // 设置退款信息 RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); Map<String, String> params = RefundModel.builder() .appid(weChatPayConfig.getWxAppId()) .mch_id(weChatPayConfig.getWxMchId()) @@ -55,8 +57,8 @@ public class WechatPayRefundService { // 获取证书文件 if (StrUtil.isBlank(weChatPayConfig.getP12())){ String errorMsg = "微信p.12证书未配置,无法进行退款"; - refundInfo.setErrorMsg(errorMsg); - refundInfo.setErrorCode(RefundStatusEnum.FAIL.getCode()); + errorInfo.setErrorMsg(errorMsg); + errorInfo.setErrorCode(RefundStatusEnum.FAIL.getCode()); throw new PayFailureException(errorMsg); } byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); @@ -82,9 +84,9 @@ public class WechatPayRefundService { errorMsg = result.get(RETURN_MSG); } log.error("订单退款失败 {}", errorMsg); - RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); - refundInfo.setErrorMsg(errorMsg); - refundInfo.setErrorCode(Optional.ofNullable(resultCode).orElse(returnCode)); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); + errorInfo.setErrorMsg(errorMsg); + errorInfo.setErrorCode(Optional.ofNullable(resultCode).orElse(returnCode)); throw new PayFailureException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java deleted file mode 100644 index 896c4c5a..00000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.builder; - -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.util.OrderNoGenerateUtil; -import lombok.experimental.UtilityClass; - -import java.time.LocalDateTime; - -/** - * 支付对象构建器 - * - * @author xxm - * @since 2021/2/25 - */ -@UtilityClass -public class PayBuilder { - - /** - * 构建支付订单 - */ - public PayOrder buildPayOrder(PayParam payParam) { - // 订单超时时间 - LocalDateTime expiredTime = PaymentContextLocal.get() - .getPayInfo() - .getExpiredTime(); - // 构建支付订单对象 - PayOrder payOrder = new PayOrder() - .setBizOrderNo(payParam.getBizOrderNo()) - .setOrderNo(OrderNoGenerateUtil.pay()) - .setTitle(payParam.getTitle()) - .setDescription(payParam.getDescription()) - .setStatus(PayStatusEnum.PROGRESS.getCode()) - .setRefundStatus(PayOrderRefundStatusEnum.NO_REFUND.getCode()) - .setAllocation(payParam.getAllocation()) - .setAmount(payParam.getAmount()) - .setChannel(payParam.getChannel()) - .setMethod(payParam.getMethod()) - .setExpiredTime(expiredTime) - .setRefundableBalance(payParam.getAmount()) - .setClientIp(payParam.getClientIp()) - .setNotifyUrl(payParam.getNotifyUrl()) - .setReturnUrl(payParam.getReturnUrl()) - .setAttach(payParam.getAttach()) - .setReqTime(payParam.getReqTime()); - // 如果支持分账, 设置分账状态为代分账 - if (payOrder.getAllocation()) { - payOrder.setAllocStatus(PayOrderAllocStatusEnum.WAITING.getCode()); - } - return payOrder; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java index 805e4291..08b5b0a8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java @@ -1,5 +1,7 @@ package cn.daxpay.single.service.core.order.transfer.convert; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -12,4 +14,5 @@ import org.mapstruct.factory.Mappers; public interface TransferOrderConvert { TransferOrderConvert CONVERT = Mappers.getMapper(TransferOrderConvert.class); + TransferOrderDto convert(TransferOrder in); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index ff2c61f9..38734f83 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.order.transfer.entity; +import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; @@ -7,6 +8,8 @@ import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.TransferPayeeTypeEnum; import cn.daxpay.single.code.TransferTypeEnum; +import cn.daxpay.single.service.core.order.transfer.convert.TransferOrderConvert; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -26,7 +29,7 @@ import java.time.LocalDateTime; @Accessors(chain = true) @DbTable(comment = "转账订单") @TableName("pay_transfer_order") -public class TransferOrder extends MpBaseEntity { +public class TransferOrder extends MpBaseEntity implements EntityBaseFunction<TransferOrderDto> { /** 商户转账号 */ @DbMySqlIndex(comment = "商户转账号索引") @@ -129,4 +132,8 @@ public class TransferOrder extends MpBaseEntity { @DbColumn(comment = "错误信息", length = 150) private String errorMsg; + @Override + public TransferOrderDto toDto() { + return TransferOrderConvert.CONVERT.convert(this); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 0d185cb8..53c6383f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -3,18 +3,20 @@ package cn.daxpay.single.service.core.payment.pay.service; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.pay.PayParam; import cn.daxpay.single.result.pay.PayResult; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.pay.builder.PayBuilder; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; +import cn.daxpay.single.util.OrderNoGenerateUtil; import cn.daxpay.single.util.PayUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; @@ -46,54 +48,37 @@ public class PayAssistService { private final PayOrderQueryService payOrderQueryService; - /** - * 初始化支付相关上下文 - */ - public void initPayContext(PayOrder order, PayParam payParam) { - // 初始化支付订单超时时间 - this.initExpiredTime(order, payParam); - } - - - /** - * 初始化支付订单超时时间 - * 1. 如果支付记录为空, 超时时间读取顺序 PayParam -> 平台设置 - * 2. 如果支付记录不为空, 超时时间通过支付记录进行反推 - */ - public void initExpiredTime(PayOrder order, PayParam payParam) { - // 钱包没有超时时间 - if (PayChannelEnum.WALLET.getCode() - .equals(payParam.getChannel())) { - return; - } - PayLocal payInfo = PaymentContextLocal.get() - .getPayInfo(); - PlatformLocal platform = PaymentContextLocal.get() - .getPlatformInfo(); - // 支付订单是非为空 - if (Objects.nonNull(order)) { - payInfo.setExpiredTime(order.getExpiredTime()); - return; - } - // 支付参数传入 - if (Objects.nonNull(payParam.getExpiredTime())) { - payInfo.setExpiredTime(payParam.getExpiredTime()); - return; - } - // 读取本地时间 - LocalDateTime paymentExpiredTime = PayUtil.getPaymentExpiredTime(platform.getOrderTimeout()); - payInfo.setExpiredTime(paymentExpiredTime); - } /** * 创建支付订单并保存, 返回支付订单 */ @Transactional(rollbackFor = Exception.class) public PayOrder createPayOrder(PayParam payParam) { - PayLocal payInfo = PaymentContextLocal.get() - .getPayInfo(); - // 构建支付订单并保存 - PayOrder order = PayBuilder.buildPayOrder(payParam); + // 订单超时时间 + LocalDateTime expiredTime = this.getExpiredTime(payParam); + // 构建支付订单对象 + PayOrder order = new PayOrder() + .setBizOrderNo(payParam.getBizOrderNo()) + .setOrderNo(OrderNoGenerateUtil.pay()) + .setTitle(payParam.getTitle()) + .setDescription(payParam.getDescription()) + .setStatus(PayStatusEnum.PROGRESS.getCode()) + .setRefundStatus(PayOrderRefundStatusEnum.NO_REFUND.getCode()) + .setAllocation(payParam.getAllocation()) + .setAmount(payParam.getAmount()) + .setChannel(payParam.getChannel()) + .setMethod(payParam.getMethod()) + .setExpiredTime(expiredTime) + .setRefundableBalance(payParam.getAmount()) + .setClientIp(payParam.getClientIp()) + .setNotifyUrl(payParam.getNotifyUrl()) + .setReturnUrl(payParam.getReturnUrl()) + .setAttach(payParam.getAttach()) + .setReqTime(payParam.getReqTime()); + // 如果支持分账, 设置分账状态为待分账 + if (order.getAllocation()) { + order.setAllocStatus(PayOrderAllocStatusEnum.WAITING.getCode()); + } payOrderService.save(order); return order; } @@ -187,12 +172,28 @@ public class PayAssistService { payResult.setStatus(payOrder.getStatus()); // 设置支付参数 - PayLocal payInfo = PaymentContextLocal.get() - .getPayInfo(); + PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); if (StrUtil.isNotBlank(payInfo.getPayBody())) { payResult.setPayBody(payInfo.getPayBody()); } - // 签名 return payResult; } + + /** + * 获取支付订单超时时间 + */ + private LocalDateTime getExpiredTime(PayParam payParam) { + // 钱包没有超时时间 + if (PayChannelEnum.WALLET.getCode() + .equals(payParam.getChannel())) { + return null; + } + PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); + // 支付参数传入 + if (Objects.nonNull(payParam.getExpiredTime())) { + return payParam.getExpiredTime(); + } + // 根据平台配置计算出 + return PayUtil.getPaymentExpiredTime(platform.getOrderTimeout()); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java index f29c63d3..7a4b966f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java @@ -11,7 +11,6 @@ import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsPayStrategy; import cn.daxpay.single.service.util.PayStrategyFactory; -import cn.daxpay.single.util.PayUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -66,8 +65,6 @@ public class PayService { try { // 查询并检查订单 PayOrder payOrder = payAssistService.getOrderAndCheck(payParam.getBizOrderNo()); - // 初始化支付上下文 - payAssistService.initPayContext(payOrder, payParam); // 走首次下单逻辑还是重复下档逻辑 if (Objects.isNull(payOrder)){ return this.firstPay(payParam); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 886fc2ab..5c701497 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -7,6 +7,7 @@ import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.refund.RefundParam; import cn.daxpay.single.result.pay.RefundResult; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -117,8 +118,9 @@ public class RefundAssistService { @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public void updateOrderByError(RefundOrder refundOrder){ RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); - refundOrder.setErrorCode(refundInfo.getErrorCode()); - refundOrder.setErrorMsg(refundInfo.getErrorMsg()); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); + refundOrder.setErrorCode(errorInfo.getErrorCode()); + refundOrder.setErrorMsg(errorInfo.getErrorMsg()); refundOrder.setStatus(refundInfo.getStatus().getCode()); refundOrderManager.updateById(refundOrder); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java index 5448f80d..25bcb15f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -3,6 +3,8 @@ package cn.daxpay.single.service.core.payment.transfer.service; import cn.daxpay.single.code.TransferStatusEnum; import cn.daxpay.single.param.payment.transfer.TransferParam; import cn.daxpay.single.result.transfer.TransferResult; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; +import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.util.OrderNoGenerateUtil; @@ -52,8 +54,11 @@ public class TransferAssistService { * 更新转账订单错误信息 */ public void updateOrderByError(TransferOrder order) { - order.setErrorMsg("") - .setErrorCode(""); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); + order.setStatus(TransferStatusEnum.FAIL.getCode()) + .setErrorMsg(errorInfo.getErrorMsg()) + .setErrorCode(errorInfo.getErrorCode()); + transferOrderManager.updateById(order); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index 179b410a..9df0f9d4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -4,6 +4,7 @@ import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.param.payment.transfer.TransferParam; import cn.daxpay.single.result.transfer.TransferResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.service.func.AbsTransferStrategy; import cn.daxpay.single.service.util.PayStrategyFactory; @@ -11,6 +12,8 @@ import cn.hutool.extra.spring.SpringUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; /** * 转账服务 @@ -24,6 +27,8 @@ public class TransferService { private final TransferAssistService transferAssistService; + private final TransferOrderManager transferOrderManager; + /** * 转账 */ @@ -56,8 +61,9 @@ public class TransferService { /** * 成功处理 */ + @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) public void successHandler(TransferOrder order){ + order.setStatus(RefundStatusEnum.SUCCESS.getCode()); + transferOrderManager.updateById(order); } - - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index 8124c2d0..30f5ae9f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -1,7 +1,8 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayTransferService; import cn.daxpay.single.service.func.AbsTransferStrategy; @@ -10,10 +11,13 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; +import java.util.Arrays; + +import static cn.daxpay.single.code.TransferPayeeTypeEnum.*; import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; /** - * 支付宝转账测策略 + * 支付宝转账策略 * @author xxm * @since 2024/3/21 */ @@ -27,7 +31,6 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { private final AliPayTransferService aliPayTransferService; - private AliPayConfig config; /** * 策略标识 @@ -37,15 +40,26 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { return PayChannelEnum.ALI.getCode(); } + @Override + public void doValidateParam(TransferParam transferParam) { + // 转账接收方类型校验 + String payeeType = transferParam.getPayeeType(); + if (!Arrays.asList(ALI_USER_ID.getCode(), ALI_OPEN_ID.getCode(), ALI_LOGIN_NAME.getCode()).contains(payeeType)){ + throw new PayFailureException("支付宝不支持该类型收款人"); + } + } + /** * 转账前操作 */ @Override public void doBeforeHandler() { - this.config = payConfigService.getAndCheckConfig(); - payConfigService.initConfig(this.config); + payConfigService.initConfig(payConfigService.getAndCheckConfig()); } + /** + * 转账操作 + */ @Override public void doTransferHandler() { aliPayTransferService.transfer(this.getTransferOrder()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java new file mode 100644 index 00000000..3f72e4bf --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java @@ -0,0 +1,71 @@ +package cn.daxpay.single.service.core.payment.transfer.strategy; + +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayTransferService; +import cn.daxpay.single.service.func.AbsTransferStrategy; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +import static cn.daxpay.single.code.TransferPayeeTypeEnum.WX_PERSONAL; +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 微信转账策略 + * @author xxm + * @since 2024/6/14 + */ +@Slf4j +@Service +@Scope(SCOPE_PROTOTYPE) +@RequiredArgsConstructor +public class WeChatTransferStrategy extends AbsTransferStrategy { + + private final WeChatPayConfigService weChatPayConfigService; + + private final WeChatPayTransferService weChatPayTransferService; + + private WeChatPayConfig weChatPayConfig; + + @Override + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); + } + + + /** + * 校验参数 + */ + @Override + public void doValidateParam(TransferParam transferParam) { + // 转账接收方类型校验 + String payeeType = transferParam.getPayeeType(); + if (!Objects.equals(WX_PERSONAL.getCode(), payeeType)){ + throw new PayFailureException("支付宝不支持该类型收款人"); + } + } + + /** + * 转账前操作 + */ + @Override + public void doBeforeHandler() { + this.weChatPayConfig = weChatPayConfigService.getConfig(); + } + + /** + * 转账操作 + */ + @Override + public void doTransferHandler() { + weChatPayTransferService.transfer(this.getTransferOrder(), weChatPayConfig); + } + +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java index 21e73bf8..1507d261 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java @@ -105,13 +105,6 @@ public class PayOrderDto extends BaseDto { @Schema(description = "过期时间") private LocalDateTime expiredTime; - /** 错误码 */ - @Schema(description = "错误码") - private String errorCode; - - /** 错误信息 */ - @Schema(description = "错误信息") - private String errorMsg; /** 支付终端ip */ @Schema(description = "支付终端ip") @@ -128,4 +121,12 @@ public class PayOrderDto extends BaseDto { /** 请求时间,时间戳转时间, 以最后一次为准 */ @Schema(description = "请求时间,传输时间戳,以最后一次为准") private LocalDateTime reqTime; + + /** 错误码 */ + @Schema(description = "错误码") + private String errorCode; + + /** 错误信息 */ + @Schema(description = "错误信息") + private String errorMsg; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java new file mode 100644 index 00000000..fb71952e --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java @@ -0,0 +1,125 @@ +package cn.daxpay.single.service.dto.order.transfer; + +import cn.bootx.platform.common.core.rest.dto.BaseDto; +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.TransferPayeeTypeEnum; +import cn.daxpay.single.code.TransferTypeEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 转账订单 + * @author xxm + * @since 2024/6/14 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账订单") +public class TransferOrderDto extends BaseDto { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "收款人账号") + private String transferNo; + + /** 通道转账号 */ + @Schema(description = "通道转账号") + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Schema(description = "标题") + private String title; + + /** 转账原因/备注 */ + @Schema(description = "转账原因/备注") + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Schema(description = "转账类型, 微信使用") + private String transferType; + + /** 付款方 */ + @Schema(description = "付款方") + private String payer; + + /** 付款方显示名称 */ + @Schema(description = "付款方显示名称") + private String payerShowName; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + @Schema(description = "收款人类型") + private String payeeType; + + /** 收款人账号 */ + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Schema(description = "收款人姓名") + private String payeeName; + + /** + * 状态 + * @see cn.daxpay.single.code.TransferStatusEnum + */ + @Schema(description = "状态") + private String status; + + /** 成功时间 */ + @Schema(description = "成功时间") + private LocalDateTime successTime; + + + /** 异步通知地址 */ + @Schema(description = "异步通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @Schema(description = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间 */ + @Schema(description = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @Schema(description = "支付终端ip") + private String clientIp; + + /** + * 错误码 + */ + @Schema(description = "错误码") + private String errorCode; + + /** + * 错误原因 + */ + @Schema(description = "错误原因") + private String errorMsg; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java index 6e597d09..82e9d1a7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java @@ -20,6 +20,7 @@ public abstract class AbsTransferStrategy implements PayStrategy{ * 校验参数 */ public void doValidateParam(TransferParam transferParam) { + } /** -- Gitee From ed2b1c535b45571bbffcae396cf574f4112ca17c Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Fri, 14 Jun 2024 18:02:08 +0800 Subject: [PATCH 14/34] =?UTF-8?q?perf=20=E6=94=AF=E4=BB=98=E9=99=90?= =?UTF-8?q?=E9=A2=9D=E5=90=8D=E7=A7=B0=E7=BB=9F=E4=B8=80,=20=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=80=E4=BA=9B=E6=97=A0=E7=94=A8=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 1 + daxpay-single-start/src/main/resources/application-dev.yml | 6 +----- daxpay-single-start/src/main/resources/application-prod.yml | 4 ---- .../single/service/configuration/DaxPayProperties.java | 5 ----- .../service/core/channel/alipay/entity/AliPayConfig.java | 2 +- .../service/core/channel/alipay/service/AliPayService.java | 2 +- .../service/core/channel/union/entity/UnionPayConfig.java | 2 +- .../service/core/channel/union/service/UnionPayService.java | 2 +- .../service/core/channel/wallet/entity/WalletConfig.java | 2 +- .../service/core/channel/wechat/entity/WeChatPayConfig.java | 2 +- .../core/channel/wechat/service/WeChatPayService.java | 2 +- .../core/payment/pay/strategy/WalletPayStrategy.java | 2 +- .../single/service/dto/channel/alipay/AliPayConfigDto.java | 2 +- .../single/service/dto/channel/union/UnionPayConfigDto.java | 2 +- .../single/service/dto/channel/wallet/WalletConfigDto.java | 3 +-- .../service/dto/channel/wechat/WeChatPayConfigDto.java | 2 +- .../service/param/channel/alipay/AliPayConfigParam.java | 2 +- .../service/param/channel/union/UnionPayConfigParam.java | 2 +- .../service/param/channel/wechat/WalletConfigParam.java | 2 +- .../service/param/channel/wechat/WeChatPayConfigParam.java | 2 +- 20 files changed, 18 insertions(+), 31 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index af96c922..a717582f 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -9,6 +9,7 @@ - [ ] DEMO增加转账演示功能 - [x] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 +- [x] 界面金额统一显示为分 - [ ] 上下文对象进行优化精简 - [x] 请求IP参数增加正则校验 - [x] 支付接口公共参数添加随机数字段, 预防重放问题 diff --git a/daxpay-single-start/src/main/resources/application-dev.yml b/daxpay-single-start/src/main/resources/application-dev.yml index 6f66a712..0ac702fd 100644 --- a/daxpay-single-start/src/main/resources/application-dev.yml +++ b/daxpay-single-start/src/main/resources/application-dev.yml @@ -160,12 +160,8 @@ dromara: storage-path: D:/data/files/ # 支付系统配置 dax-pay: - # 服务地址 - server-url: http://localhost:9000 - # 前端h5地址 + # h5访问地址 front-h5-url: http://pay1.bootx.cn/h5/# - # 前端web地址 - front-web-url: http://localhost:9000/# # 机器号码 machine-no: 63 # 当前环境,会影响订单号的生成 diff --git a/daxpay-single-start/src/main/resources/application-prod.yml b/daxpay-single-start/src/main/resources/application-prod.yml index 9468898e..0330a909 100644 --- a/daxpay-single-start/src/main/resources/application-prod.yml +++ b/daxpay-single-start/src/main/resources/application-prod.yml @@ -143,12 +143,8 @@ dromara: storage-path: D:/data/files/ # 支付系统配置 dax-pay: - # 服务地址 - server-url: http://pay1.bootx.cn # 前端h5地址 front-h5-url: http://pay1.bootx.cn/h5/# - # 前端web地址 - front-web-url: http://pay1.bootx.cn/# # 演示模块 demo: # 网关地址 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java index b7e7b0fd..b53723b7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java @@ -14,15 +14,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties; @Setter @ConfigurationProperties(prefix = "dax-pay") public class DaxPayProperties { - /** 服务地址 */ - private String serverUrl; /** 前端地址(h5) */ private String frontH5Url; - /** 前端地址(web) */ - private String frontWebUrl; - /** 机器码, 用于区分不同机器生成的流水号 */ private String machineNo = "56"; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java index 9af6af7c..418f1abf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java @@ -48,7 +48,7 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali /** 支付限额 */ @DbColumn(comment = "支付限额", length = 15) - private Integer singleLimit; + private Integer limitAmount; /** * 服务器异步通知页面路径, 需要填写本网关服务的地址, 不可以直接填写业务系统的地址 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index 5300547a..350168b8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -59,7 +59,7 @@ public class AliPayService { throw new PayFailureException("该支付宝支付方式不可用"); } // 验证订单金额是否超限 - if(payParam.getAmount() > alipayConfig.getSingleLimit()){ + if(payParam.getAmount() > alipayConfig.getLimitAmount()){ throw new PayFailureException("支付宝支付金额超过限额"); } // 支付参数开启分账, 配置未开启分账 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java index 02f0137d..fc53b23f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java @@ -44,7 +44,7 @@ public class UnionPayConfig extends MpBaseEntity implements EntityBaseFunction<U /** 支付限额 */ @DbColumn(comment = "支付限额") - private Integer singleLimit; + private Integer limitAmount; /** * 商户收款账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java index a9ac0102..aed72d3f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java @@ -54,7 +54,7 @@ public class UnionPayService { throw new PayFailureException("该云闪付支付方式不可用"); } // 支付金额是否超限 - if (payParam.getAmount() > unionPayConfig.getSingleLimit()) { + if (payParam.getAmount() > unionPayConfig.getLimitAmount()) { throw new PayFailureException("云闪付支付金额超限"); } // 分账 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java index fdcb4528..9657a94c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java @@ -35,7 +35,7 @@ public class WalletConfig extends MpBaseEntity implements EntityBaseFunction<Wal /** 单次支付最多多少金额 */ @DbColumn(comment = "单次支付最多多少金额 ") - private Integer singleLimit; + private Integer limitAmount; /** 可用支付方式 */ @DbColumn(comment = "可用支付方式") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java index b013f521..06849c8d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java @@ -53,7 +53,7 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< /** 支付限额 */ @DbColumn(comment = "支付限额") - private Integer singleLimit; + private Integer limitAmount; /** * 服务器异步通知页面路径, 需要填写本网关服务的地址, 不可以直接填写业务系统的地址 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java index 2a0a3f17..ded4bc94 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java @@ -71,7 +71,7 @@ public class WeChatPayService { throw new PayFailureException("该微信支付方式不可用"); } // 支付金额是否超限 - if (payParam.getAmount() > weChatPayConfig.getSingleLimit()) { + if (payParam.getAmount() > weChatPayConfig.getLimitAmount()) { throw new PayFailureException("微信支付金额超限"); } // 是否支持分账 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java index 8d3a9f8e..178e0160 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java @@ -76,7 +76,7 @@ public class WalletPayStrategy extends AbsPayStrategy { throw new WalletBannedException(); } // 判断是否超过限额 - if (this.getPayParam().getAmount() > walletConfig.getSingleLimit()){ + if (this.getPayParam().getAmount() > walletConfig.getLimitAmount()){ throw new PayFailureException("钱包支付金额超过限额"); } // 判断余额 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java index fcd44504..ea709414 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java @@ -33,7 +33,7 @@ public class AliPayConfigDto extends BaseDto implements Serializable { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; @Schema(description = "服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问") private String notifyUrl; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java index 1e985472..f67a078f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java @@ -29,7 +29,7 @@ public class UnionPayConfigDto extends BaseDto { private Boolean enable; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; /** * 商户收款账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java index f65359ff..fef64bdd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.dto.channel.wallet; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -30,7 +29,7 @@ public class WalletConfigDto extends BaseDto { /** 单次支持支持多少钱 */ @Schema(description = "单次支持支持多少钱") - private Integer singleLimit; + private Integer limitAmount; /** 备注 */ @Schema(description = "备注") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java index dd8369cb..5d0054f1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java @@ -35,7 +35,7 @@ public class WeChatPayConfigDto extends BaseDto implements Serializable { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; @Schema(description = "异步通知地址") private String notifyUrl; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java index f72073ce..cc4b60f4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java @@ -25,7 +25,7 @@ public class AliPayConfigParam { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; @Schema(description = "服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问") private String notifyUrl; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java index 4e1104af..af1de2a8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java @@ -26,7 +26,7 @@ public class UnionPayConfigParam { private Boolean enable; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; /** * 商户收款账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java index 7be86b17..66bf18e2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java @@ -29,7 +29,7 @@ public class WalletConfigParam { /** 单次支付最多少金额 */ @Schema(description = "单次支付最多少金额") - private Integer singleLimit; + private Integer limitAmount; /** 备注 */ @Schema(description = "备注") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java index bd198b5d..d4638d18 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java @@ -33,7 +33,7 @@ public class WeChatPayConfigParam { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; @Schema(description = "异步通知地址") private String notifyUrl; -- Gitee From 0f9b86fd89f3644846e8b07f9864666d3785adc4 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Sun, 16 Jun 2024 01:30:18 +0800 Subject: [PATCH 15/34] =?UTF-8?q?feat=20=E6=96=B0=E5=A2=9E=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E8=8E=B7=E5=8F=96OpenId=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3,=20=E5=BE=AE=E4=BF=A1=E5=88=86=E8=B4=A6=E8=80=85?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=94=AF=E6=8C=81=E6=89=AB=E7=A0=81=E8=8E=B7?= =?UTF-8?q?=E5=8F=96OpenId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 6 +- .../demo/controller/CashierController.java | 4 +- .../sdk/model/assist/WxAccessTokenModel.java | 2 +- .../src/main/resources/application-dev.yml | 2 - .../src/main/resources/application-prod.yml | 2 - .../src/main/resources/application.yml | 2 - .../extra/WechatOpenIdController.java | 42 +++++++++++ .../param/assist/WxAccessTokenParam.java | 2 +- daxpay-single/daxpay-single-gateway/pom.xml | 1 - .../controller/ForwardH5Controller.java | 23 ------ .../controller/PayCallbackController.java | 17 ++++- .../controller/UniPayAssistController.java | 8 +-- .../src/main/resources/static/h5/.gitkeep | 0 .../static/h5/openIdCallbackClose.html | 23 ++++++ ...ce.java => WeChatPayReconcileService.java} | 3 +- ...rvice.java => WeChatPayRefundService.java} | 2 +- .../WeChatOpenIdService.java} | 70 ++++++++++++++++++- .../strategy/WechatPayReconcileStrategy.java | 4 +- .../refund/strategy/WeChatRefundStrategy.java | 4 +- .../dto/extra/WeChatAuthUrlResult.java | 25 +++++++ .../service/dto/extra/WeChatOpenIdResult.java | 28 ++++++++ 21 files changed, 219 insertions(+), 51 deletions(-) create mode 100644 daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatOpenIdController.java delete mode 100644 daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/ForwardH5Controller.java delete mode 100644 daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/.gitkeep create mode 100644 daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/{WechatPayReconcileService.java => WeChatPayReconcileService.java} (99%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/{WechatPayRefundService.java => WeChatPayRefundService.java} (99%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/{payment/assist/service/UniPayAssistService.java => extra/WeChatOpenIdService.java} (47%) create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatAuthUrlResult.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatOpenIdResult.java diff --git a/_doc/Task.md b/_doc/Task.md index a717582f..ffe885e4 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -5,10 +5,14 @@ - [ ] 细分各种支付异常类和编码(部分) - [ ] 增加分账回调处理(支付宝) - [ ] 增加分账修复功能 -- [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 +- [ ] 增加扫码获取微信OpenID和支付宝OpenId功能 + - [x] 微信 + - [ ] 支付宝 - [ ] DEMO增加转账演示功能 - [x] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 + - [x] 微信 + - [ ] 支付宝 - [x] 界面金额统一显示为分 - [ ] 上下文对象进行优化精简 - [x] 请求IP参数增加正则校验 diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java index c64e49f0..348e13d2 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java @@ -52,13 +52,13 @@ public class CashierController { return Res.ok(cashierService.getUniCashierUrl()); } - @Operation(summary = "获取微信授权链接") + @Operation(summary = "获取微信授权链接, 用于获取OpenId来发起JsApi支付") @GetMapping("getWxAuthUrl") public ResResult<String> getWxAuthUrl(){ return Res.ok(cashierService.getWxAuthUrl()); } - @Operation(summary = "微信授权回调页面") + @Operation(summary = "微信授权回调接收, 然后携带openid重定向到统一收银台中") @GetMapping("/wxAuthCallback") public ModelAndView wxAuthCallback(@RequestParam("code") String code){ return new ModelAndView("redirect:" + cashierService.wxAuthCallback(code)); diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java index bc4d1384..b3fdea8f 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java @@ -15,7 +15,7 @@ import lombok.ToString; @ToString(callSuper = true) public class WxAccessTokenModel extends DaxPayResponseModel { - /** 微信AccessToken */ + /** 微信AccessToken, 目前无返回 */ private String accessToken; /** 微信用户唯一标识 */ diff --git a/daxpay-single-start/src/main/resources/application-dev.yml b/daxpay-single-start/src/main/resources/application-dev.yml index 0ac702fd..098f2d96 100644 --- a/daxpay-single-start/src/main/resources/application-dev.yml +++ b/daxpay-single-start/src/main/resources/application-dev.yml @@ -33,8 +33,6 @@ spring: web: resources: static-locations: classpath:/static/,classpath:/public/ - thymeleaf: - cache: false # 定时任务 quartz: # 持久化方式 diff --git a/daxpay-single-start/src/main/resources/application-prod.yml b/daxpay-single-start/src/main/resources/application-prod.yml index 0330a909..281bd89f 100644 --- a/daxpay-single-start/src/main/resources/application-prod.yml +++ b/daxpay-single-start/src/main/resources/application-prod.yml @@ -33,8 +33,6 @@ spring: web: resources: static-locations: classpath:/static/,classpath:/public/ - thymeleaf: - cache: false # 定时任务 quartz: # 持久化方式 diff --git a/daxpay-single-start/src/main/resources/application.yml b/daxpay-single-start/src/main/resources/application.yml index a50cda5d..4517e934 100644 --- a/daxpay-single-start/src/main/resources/application.yml +++ b/daxpay-single-start/src/main/resources/application.yml @@ -12,8 +12,6 @@ spring: max-file-size: 100MB max-request-size: 100MB enabled: true - thymeleaf: - mode: LEGACYHTML5 # mp配置 mybatis-plus: mapper-locations: classpath*:mapper/**/*Mapper.xml diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatOpenIdController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatOpenIdController.java new file mode 100644 index 00000000..257e5aa2 --- /dev/null +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatOpenIdController.java @@ -0,0 +1,42 @@ +package cn.daxpay.single.admin.controller.extra; + +import cn.bootx.platform.common.core.annotation.IgnoreAuth; +import cn.bootx.platform.common.core.rest.Res; +import cn.bootx.platform.common.core.rest.ResResult; +import cn.daxpay.single.service.core.extra.WeChatOpenIdService; +import cn.daxpay.single.service.dto.extra.WeChatAuthUrlResult; +import cn.daxpay.single.service.dto.extra.WeChatOpenIdResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * + * @author xxm + * @since 2024/6/15 + */ +@IgnoreAuth +@Tag(name = "微信OpenId服务类") +@RestController +@RequestMapping("/wechat/openId/") +@RequiredArgsConstructor +public class WechatOpenIdController { + private final WeChatOpenIdService wechatOpenIdService; + + @Operation(summary = "返回获取OpenId授权页面地址和标识码") + @PostMapping("/generateAuthUrl") + public ResResult<WeChatAuthUrlResult> generateAuthUrl(){ + return Res.ok(wechatOpenIdService.generateAuthUrl()); + } + + + @Operation(summary = "根据标识码查询OpenId") + @GetMapping("/queryOpenId") + public ResResult<WeChatOpenIdResult> queryOpenId(String code){ + return Res.ok(wechatOpenIdService.queryOpenId(code)); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java index da638d1d..de85275c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java @@ -17,6 +17,6 @@ import lombok.experimental.Accessors; @Schema(title = "获取微信AccessToken参数") public class WxAccessTokenParam extends PaymentCommonParam { - @Schema(description = "微信code") + @Schema(description = "微信认证code") private String code; } diff --git a/daxpay-single/daxpay-single-gateway/pom.xml b/daxpay-single/daxpay-single-gateway/pom.xml index 96f1ab41..00a48dba 100644 --- a/daxpay-single/daxpay-single-gateway/pom.xml +++ b/daxpay-single/daxpay-single-gateway/pom.xml @@ -18,5 +18,4 @@ <version>${daxpay.version}</version> </dependency> </dependencies> - </project> diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/ForwardH5Controller.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/ForwardH5Controller.java deleted file mode 100644 index 9a35e62b..00000000 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/ForwardH5Controller.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.daxpay.single.gateway.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; - -/** - * 嵌入式h5项目转发控制器, 不用输入 index.html也可以正常访问 - * @author xxm - * @since 2024/2/10 - */ -@Controller -@RequestMapping -public class ForwardH5Controller { - /** - * 将/h5/*的访问请求代理到/h5/index.html* - */ - @GetMapping("/h5/") - public String toH5(){ - return "forward:/h5/index.html"; - } - -} diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java index f99384ab..f85a6226 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java @@ -4,6 +4,7 @@ import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCallbackService; import cn.daxpay.single.service.core.channel.union.service.UnionPayCallbackService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCallbackService; +import cn.daxpay.single.service.core.extra.WeChatOpenIdService; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import com.egzosn.pay.union.api.UnionPayConfigStorage; import com.ijpay.alipay.AliPayApi; @@ -14,15 +15,15 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.Map; /** * 包括支付成功/退款/转账等一系列类型的回调处理 + * 也包括获取微信OpenId/支付宝UserId等的授权回调 * @author xxm * @since 2021/2/27 */ @@ -36,6 +37,8 @@ public class PayCallbackController { private final AliPayCallbackService aliPayCallbackService; + private final WeChatOpenIdService wechatOpenIdService; + private final WeChatPayCallbackService weChatPayCallbackService; private final UnionPayCallbackService unionPayCallbackService; @@ -57,6 +60,14 @@ public class PayCallbackController { return weChatPayCallbackService.callback(params); } + @Operation(summary = "微信获取OpenId授权回调方法") + @GetMapping("/wechat/openId/{code}") + public ModelAndView wxAuthCallback(@RequestParam("code") String authCode, @PathVariable("code") String code){ + wechatOpenIdService.authCallback(authCode, code); + // 调用页面自动关闭 + return new ModelAndView("forward:/h5/openIdCallbackClose.html"); + } + @SuppressWarnings({"unchecked", "rawtypes"}) @SneakyThrows @Operation(summary = "云闪付支付信息回调") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java index 2f652b9b..50a86348 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java @@ -11,7 +11,7 @@ import cn.daxpay.single.result.assist.WxAccessTokenResult; import cn.daxpay.single.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.annotation.PaymentVerify; -import cn.daxpay.single.service.core.payment.assist.service.UniPayAssistService; +import cn.daxpay.single.service.core.extra.WeChatOpenIdService; import cn.daxpay.single.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -32,14 +32,14 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/unipay/assist") @RequiredArgsConstructor public class UniPayAssistController { - private final UniPayAssistService uniPayAssistService; + private final WeChatOpenIdService wechatOpenIdService; @PaymentVerify @InitPaymentContext(PaymentApiCode.GET_WX_AUTH_URL) @Operation(summary = "获取微信OAuth2授权链接") @PostMapping("/getWxAuthUrl") public DaxResult<WxAuthUrlResult> getWxAuthUrl(@RequestBody WxAuthUrlParam param){ - return DaxRes.ok(uniPayAssistService.getWxAuthUrl(param)); + return DaxRes.ok(wechatOpenIdService.getWxAuthUrl(param)); } @PaymentVerify @@ -47,7 +47,7 @@ public class UniPayAssistController { @Operation(summary = "获取微信AccessToken") @PostMapping("/getWxAccessToken") public ResResult<WxAccessTokenResult> getWxAccessToken(@RequestBody WxAccessTokenParam param){ - return Res.ok(uniPayAssistService.getWxAccessToken(param)); + return Res.ok(wechatOpenIdService.getWxAccessToken(param)); } } diff --git a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/.gitkeep b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html new file mode 100644 index 00000000..f362818c --- /dev/null +++ b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html lang="en" xmlns:th="http://www.thymeleaf.org"> +<head> + <meta charset="UTF-8"> + <title>获取成功</title> +</head> +获取成功... +<body> +<script> + // 常规关闭 + setTimeout(function (){ + window.opener = window; + const win = window.open("", "_self"); + win.close(); + //frame的时候 + top.close(); + },500) + // 微信浏览器关闭 + setTimeout(function (){ + WeixinJSBridge.call('closeWindow') + },500) +</script> +</body> diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java similarity index 99% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java index d2954596..359f948d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.ReconcileTradeEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; @@ -60,7 +59,7 @@ import static cn.daxpay.single.service.code.WeChatPayCode.ACCOUNT_TYPE_BASIC; @Slf4j @Service @RequiredArgsConstructor -public class WechatPayReconcileService{ +public class WeChatPayReconcileService { private final WxReconcileBillTotalManger reconcileBillTotalManger; private final WxReconcileBillDetailManager reconcileBillDetailManager; private final FileStorageService fileStorageService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java similarity index 99% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java index e4b28921..44bbd4be 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java @@ -31,7 +31,7 @@ import static cn.daxpay.single.service.code.WeChatPayCode.*; @Slf4j @Service @RequiredArgsConstructor -public class WechatPayRefundService { +public class WeChatPayRefundService { /** * 退款方法 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/assist/service/UniPayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatOpenIdService.java similarity index 47% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/assist/service/UniPayAssistService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatOpenIdService.java index 95b29ced..078e85c1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/assist/service/UniPayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatOpenIdService.java @@ -1,11 +1,18 @@ -package cn.daxpay.single.service.core.payment.assist.service; +package cn.daxpay.single.service.core.extra; +import cn.bootx.platform.common.redis.RedisClient; import cn.daxpay.single.param.assist.WxAccessTokenParam; import cn.daxpay.single.param.assist.WxAuthUrlParam; import cn.daxpay.single.result.assist.WxAccessTokenResult; import cn.daxpay.single.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; +import cn.daxpay.single.service.core.system.config.entity.PlatformConfig; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; +import cn.daxpay.single.service.dto.extra.WeChatAuthUrlResult; +import cn.daxpay.single.service.dto.extra.WeChatOpenIdResult; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -16,6 +23,8 @@ import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; import org.springframework.stereotype.Service; +import java.util.Objects; + /** * 支付支撑服务类 * @author xxm @@ -24,9 +33,16 @@ import org.springframework.stereotype.Service; @Slf4j @Service @RequiredArgsConstructor -public class UniPayAssistService { +public class WeChatOpenIdService { + + public static final String OPEN_ID_KEY_PREFIX = "daxpay:wechat:openId:"; + private final WeChatPayConfigService weChatPayConfigService; + private final PlatformConfigService platformsConfigService; + + private final RedisClient redisClient; + /** * 构建微信oauth2授权的url连接 */ @@ -49,6 +65,56 @@ public class UniPayAssistService { .setOpenId(accessToken.getOpenId()); } + /** + * 根据传入的标识码code生成一个用于微信授权页面的链接 + */ + public WeChatAuthUrlResult generateAuthUrl() { + PlatformConfig config = platformsConfigService.getConfig(); + String code = RandomUtil.randomString(10); + // 构建出授权后重定向页面链接 + String redirectUrl = StrUtil.format("{}/callback/pay/wechat/openId/{}", config.getWebsiteUrl(), code); + WxAuthUrlResult result = this.getWxAuthUrl(new WxAuthUrlParam().setUrl(redirectUrl)); + + // 写入Redis, 五分钟有效期 + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, "", 5*60*1000L); + return new WeChatAuthUrlResult() + .setCode(code) + .setAuthUrl(result.getUrl()); + } + + /** + * 微信授权回调页面, 通过获取到authCode获取到OpenId, 存到到Redis中对应code关联的键值对中 + * @param authCode 微信返回的授权码 + * @param code 标识码 + */ + public void authCallback(String authCode, String code) { + // 获取OpenId + WxAccessTokenParam param = new WxAccessTokenParam(); + param.setCode(authCode); + WxAccessTokenResult wxAccessToken = this.getWxAccessToken(new WxAccessTokenParam().setCode(authCode)); + // 写入Redis + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, wxAccessToken.getOpenId(), 60*1000L); + } + + /** + * 通过标识码轮训获取OpenId + */ + public WeChatOpenIdResult queryOpenId(String code) { + // 从redis中获取 + String openId = redisClient.get(OPEN_ID_KEY_PREFIX + code); + // 不为空存在 + if (StrUtil.isNotBlank(openId)){ + return new WeChatOpenIdResult().setOpenId(openId).setStatus("success"); + } + // 为空获取中 + if (Objects.equals(openId, "")){ + return new WeChatOpenIdResult().setStatus("pending"); + } + // null不存在 + return new WeChatOpenIdResult().setStatus("fail"); + } + + /** * 获取微信公众号API的Service */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java index 7044206c..a3746983 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java @@ -5,7 +5,7 @@ import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; -import cn.daxpay.single.service.core.channel.wechat.service.WechatPayReconcileService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayReconcileService; import cn.daxpay.single.service.func.AbsReconcileStrategy; import cn.hutool.core.date.DatePattern; import lombok.RequiredArgsConstructor; @@ -28,7 +28,7 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT @RequiredArgsConstructor public class WechatPayReconcileStrategy extends AbsReconcileStrategy { - private final WechatPayReconcileService reconcileService; + private final WeChatPayReconcileService reconcileService; private final WeChatPayConfigService weChatPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java index d34a9a9d..e9891ba5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.payment.refund.strategy; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; -import cn.daxpay.single.service.core.channel.wechat.service.WechatPayRefundService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayRefundService; import cn.daxpay.single.service.func.AbsRefundStrategy; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Scope; @@ -23,7 +23,7 @@ public class WeChatRefundStrategy extends AbsRefundStrategy { private final WeChatPayConfigService weChatPayConfigService; - private final WechatPayRefundService wechatPayRefundService; + private final WeChatPayRefundService wechatPayRefundService; private WeChatPayConfig weChatPayConfig; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatAuthUrlResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatAuthUrlResult.java new file mode 100644 index 00000000..047b0e6b --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatAuthUrlResult.java @@ -0,0 +1,25 @@ +package cn.daxpay.single.service.dto.extra; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 微信获取OpenId授权链接和查询标识返回类 + * @author xxm + * @since 2024/6/15 + */ +@Data +@Accessors(chain = true) +@Schema(title = "微信授权链接和查询标识返回类") +public class WeChatAuthUrlResult { + + /** 授权访问链接 */ + @Schema(description = "授权访问链接") + private String authUrl; + + /** 标识码, 用于查询是否获取到了OpenId */ + @Schema(description = "标识码") + private String code; + +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatOpenIdResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatOpenIdResult.java new file mode 100644 index 00000000..5fc3dcc8 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatOpenIdResult.java @@ -0,0 +1,28 @@ +package cn.daxpay.single.service.dto.extra; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 微信OpenId查询结果 + * @author xxm + * @since 2024/6/15 + */ +@Data +@Accessors(chain = true) +@Schema(title = "微信OpenId查询结果") +public class WeChatOpenIdResult { + + @Schema(description = "OpenId") + private String openId; + + /** + * 状态 + * pending:查询中 + * success:查询成功 + * fail:查询失败 + */ + @Schema(description = "状态") + private String status; +} -- Gitee From 676c0b32322cb5691f2aa841ae3cc62f7ae29861 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Sun, 16 Jun 2024 15:57:47 +0800 Subject: [PATCH 16/34] =?UTF-8?q?feat=20=E6=96=B0=E5=A2=9E=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=AE=9D=E8=8E=B7=E5=8F=96OpenId=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 5 +- .../extra/AliPayAuthController.java | 43 ++++++ ...troller.java => WechatAuthController.java} | 24 ++-- .../param/assist/AliPayAccessTokenParam.java | 23 ++++ .../param/assist/AliPayAuthUrlParam.java | 28 ++++ .../single/param/assist/WxAuthUrlParam.java | 4 +- .../controller/PayCallbackController.java | 22 ++- .../controller/UniPayAssistController.java | 8 +- .../main/resources/static/h5/alipayAuth.html | 21 +++ .../static/h5/openIdCallbackClose.html | 4 + .../daxpay/single/service/code/AliPayWay.java | 2 +- .../service/core/extra/AliPayAuthService.java | 130 ++++++++++++++++++ ...nIdService.java => WeChatAuthService.java} | 22 +-- ...tAuthUrlResult.java => AuthUrlResult.java} | 2 +- ...hatOpenIdResult.java => OpenIdResult.java} | 2 +- 15 files changed, 301 insertions(+), 39 deletions(-) create mode 100644 daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java rename daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/{WechatOpenIdController.java => WechatAuthController.java} (59%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAccessTokenParam.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAuthUrlParam.java create mode 100644 daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/alipayAuth.html create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/{WeChatOpenIdService.java => WeChatAuthService.java} (87%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/{WeChatAuthUrlResult.java => AuthUrlResult.java} (94%) rename daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/{WeChatOpenIdResult.java => OpenIdResult.java} (94%) diff --git a/_doc/Task.md b/_doc/Task.md index ffe885e4..7c1dd35f 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -2,12 +2,13 @@ 2.0.8: 转账/撤销接口和系统优化 - [x] 支持撤销接口 - [x] 增加转账接口功能 +- [ ] 支付宝支持JSAPI方式支付 - [ ] 细分各种支付异常类和编码(部分) - [ ] 增加分账回调处理(支付宝) - [ ] 增加分账修复功能 -- [ ] 增加扫码获取微信OpenID和支付宝OpenId功能 +- [x] 增加扫码获取微信OpenID和支付宝OpenId功能 - [x] 微信 - - [ ] 支付宝 + - [x] 支付宝 - [ ] DEMO增加转账演示功能 - [x] 支付宝微信等消息通知地址支持一键生成 - [ ] 管理端界面支持扫码绑定对账接收方功能 diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java new file mode 100644 index 00000000..12b5895a --- /dev/null +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java @@ -0,0 +1,43 @@ +package cn.daxpay.single.admin.controller.extra; + +import cn.bootx.platform.common.core.annotation.IgnoreAuth; +import cn.bootx.platform.common.core.rest.Res; +import cn.bootx.platform.common.core.rest.ResResult; +import cn.daxpay.single.service.core.extra.AliPayAuthService; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 支付宝认证控制器 + * @author xxm + * @since 2024/6/16 + */ +@IgnoreAuth +@Tag(name = "支付宝认证控制器") +@RestController +@RequestMapping("/alipay/auth") +@RequiredArgsConstructor +public class AliPayAuthController { + private final AliPayAuthService aliPayAuthService; + + + @Operation(summary = "返回获取OpenId授权页面地址和标识码") + @PostMapping("/generateAuthUrl") + public ResResult<AuthUrlResult> generateAuthUrl(){ + return Res.ok(aliPayAuthService.generateAuthUrl()); + } + + + @Operation(summary = "根据标识码查询OpenId") + @GetMapping("/queryOpenId") + public ResResult<OpenIdResult> queryOpenId(String code){ + return Res.ok(aliPayAuthService.queryOpenId(code)); + } +} diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatOpenIdController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatAuthController.java similarity index 59% rename from daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatOpenIdController.java rename to daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatAuthController.java index 257e5aa2..40793d87 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatOpenIdController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatAuthController.java @@ -3,9 +3,9 @@ package cn.daxpay.single.admin.controller.extra; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; -import cn.daxpay.single.service.core.extra.WeChatOpenIdService; -import cn.daxpay.single.service.dto.extra.WeChatAuthUrlResult; -import cn.daxpay.single.service.dto.extra.WeChatOpenIdResult; +import cn.daxpay.single.service.core.extra.WeChatAuthService; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -15,28 +15,28 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** - * + * 微信认证控制器 * @author xxm * @since 2024/6/15 */ @IgnoreAuth -@Tag(name = "微信OpenId服务类") +@Tag(name = "微信认证控制器") @RestController -@RequestMapping("/wechat/openId/") +@RequestMapping("/wechat/auth/") @RequiredArgsConstructor -public class WechatOpenIdController { - private final WeChatOpenIdService wechatOpenIdService; +public class WechatAuthController { + private final WeChatAuthService wechatAuthService; @Operation(summary = "返回获取OpenId授权页面地址和标识码") @PostMapping("/generateAuthUrl") - public ResResult<WeChatAuthUrlResult> generateAuthUrl(){ - return Res.ok(wechatOpenIdService.generateAuthUrl()); + public ResResult<AuthUrlResult> generateAuthUrl(){ + return Res.ok(wechatAuthService.generateAuthUrl()); } @Operation(summary = "根据标识码查询OpenId") @GetMapping("/queryOpenId") - public ResResult<WeChatOpenIdResult> queryOpenId(String code){ - return Res.ok(wechatOpenIdService.queryOpenId(code)); + public ResResult<OpenIdResult> queryOpenId(String code){ + return Res.ok(wechatAuthService.queryOpenId(code)); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAccessTokenParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAccessTokenParam.java new file mode 100644 index 00000000..716b2bac --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAccessTokenParam.java @@ -0,0 +1,23 @@ +package cn.daxpay.single.param.assist; + +import cn.daxpay.single.param.PaymentCommonParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 获取微信AccessToken参数 + * @author xxm + * @since 2024/6/16 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "获取支付宝AccessToken参数") +public class AliPayAccessTokenParam extends PaymentCommonParam { + + @Schema(description = "支付宝认证code") + private String code; +} + diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAuthUrlParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAuthUrlParam.java new file mode 100644 index 00000000..dd3641e0 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAuthUrlParam.java @@ -0,0 +1,28 @@ +package cn.daxpay.single.param.assist; + +import cn.daxpay.single.param.PaymentCommonParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 构造微信OAuth2授权的url链接 + * @author xxm + * @since 2024/6/16 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "构造微信OAuth2授权的url链接") +public class AliPayAuthUrlParam extends PaymentCommonParam { + + @Schema(description = "回调地址") + private String url; + + /** + * 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 + */ + @Schema(description = "重定向后原样带回,可以为空") + private String state; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java index 08fe0cae..90be1ee3 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java @@ -7,14 +7,14 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * 构造oauth2授权的url连接 + * 构造微信OAuth2授权的url链接 * @author xxm * @since 2024/2/10 */ @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@Schema(title = "构造oauth2授权的url连接") +@Schema(title = "构造微信OAuth2授权的url链接") public class WxAuthUrlParam extends PaymentCommonParam { @Schema(description = "回调地址") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java index f85a6226..8eecdc17 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java @@ -4,7 +4,8 @@ import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCallbackService; import cn.daxpay.single.service.core.channel.union.service.UnionPayCallbackService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCallbackService; -import cn.daxpay.single.service.core.extra.WeChatOpenIdService; +import cn.daxpay.single.service.core.extra.AliPayAuthService; +import cn.daxpay.single.service.core.extra.WeChatAuthService; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import com.egzosn.pay.union.api.UnionPayConfigStorage; import com.ijpay.alipay.AliPayApi; @@ -37,12 +38,14 @@ public class PayCallbackController { private final AliPayCallbackService aliPayCallbackService; - private final WeChatOpenIdService wechatOpenIdService; + private final WeChatAuthService wechatAuthService; private final WeChatPayCallbackService weChatPayCallbackService; private final UnionPayCallbackService unionPayCallbackService; + private final AliPayAuthService aliPayAuthService; + @SneakyThrows @Operation(summary = "支付宝信息回调") @PostMapping("/alipay") @@ -51,6 +54,15 @@ public class PayCallbackController { return aliPayCallbackService.callback(stringStringMap); } + + @Operation(summary = "支付宝认证授权回调") + @GetMapping("/alipay/auth/{code}") + public ModelAndView wechatCallback(@RequestParam("code") String authCode, @PathVariable("code") String code){ + aliPayAuthService.authCallback(authCode, code); + // 调用页面自动关闭 + return new ModelAndView("forward:/h5/openIdCallbackClose.html"); + } + @SneakyThrows @Operation(summary = "微信支付信息回调") @PostMapping("/wechat") @@ -60,10 +72,10 @@ public class PayCallbackController { return weChatPayCallbackService.callback(params); } - @Operation(summary = "微信获取OpenId授权回调方法") - @GetMapping("/wechat/openId/{code}") + @Operation(summary = "微信宝认证授权回调") + @GetMapping("/wechat/auth/{code}") public ModelAndView wxAuthCallback(@RequestParam("code") String authCode, @PathVariable("code") String code){ - wechatOpenIdService.authCallback(authCode, code); + wechatAuthService.authCallback(authCode, code); // 调用页面自动关闭 return new ModelAndView("forward:/h5/openIdCallbackClose.html"); } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java index 50a86348..b0997f5f 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java @@ -11,7 +11,7 @@ import cn.daxpay.single.result.assist.WxAccessTokenResult; import cn.daxpay.single.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.annotation.PaymentVerify; -import cn.daxpay.single.service.core.extra.WeChatOpenIdService; +import cn.daxpay.single.service.core.extra.WeChatAuthService; import cn.daxpay.single.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -32,14 +32,14 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/unipay/assist") @RequiredArgsConstructor public class UniPayAssistController { - private final WeChatOpenIdService wechatOpenIdService; + private final WeChatAuthService wechatAuthService; @PaymentVerify @InitPaymentContext(PaymentApiCode.GET_WX_AUTH_URL) @Operation(summary = "获取微信OAuth2授权链接") @PostMapping("/getWxAuthUrl") public DaxResult<WxAuthUrlResult> getWxAuthUrl(@RequestBody WxAuthUrlParam param){ - return DaxRes.ok(wechatOpenIdService.getWxAuthUrl(param)); + return DaxRes.ok(wechatAuthService.getWxAuthUrl(param)); } @PaymentVerify @@ -47,7 +47,7 @@ public class UniPayAssistController { @Operation(summary = "获取微信AccessToken") @PostMapping("/getWxAccessToken") public ResResult<WxAccessTokenResult> getWxAccessToken(@RequestBody WxAccessTokenParam param){ - return Res.ok(wechatOpenIdService.getWxAccessToken(param)); + return Res.ok(wechatAuthService.getWxAccessToken(param)); } } diff --git a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/alipayAuth.html b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/alipayAuth.html new file mode 100644 index 00000000..a2c50a87 --- /dev/null +++ b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/alipayAuth.html @@ -0,0 +1,21 @@ +<script src = "https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.min.js"> </script> +<script> + + const params = new URLSearchParams(window.location.search); + // 获取AppId + const appid = params.get("appId"); + // 回调地址 + const redirectUrl = params.get("redirectUrl"); + // 重定向后原样带回,可以为空 + const state = params.get("state"); + ap.getAuthCode ({ + appId : appid , + scopes : ['auth_base'], + },function(res){ + const authCode = res.authCode; + // 跳转到回调地址 + window.location.replace(`${redirectUrl}?state=${state}&code=${authCode}`) + // window.location.href = `${redirectUrl}?code=${authCode}`; + + }); +</script> diff --git a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html index f362818c..bdd98b0b 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html +++ b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html @@ -19,5 +19,9 @@ setTimeout(function (){ WeixinJSBridge.call('closeWindow') },500) + // 支付宝浏览器关闭 + setTimeout(function (){ + AlipayJSBridge.call('closeWebview') + },500) </script> </body> diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java index 2b089cfc..efeac51d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java @@ -19,7 +19,7 @@ public class AliPayWay { // 支付方式 private static final List<PayMethodEnum> PAY_WAYS = Arrays.asList(PayMethodEnum.WAP, PayMethodEnum.APP, PayMethodEnum.WEB, - PayMethodEnum.QRCODE, PayMethodEnum.BARCODE); + PayMethodEnum.QRCODE, PayMethodEnum.BARCODE, PayMethodEnum.JSAPI); /** * 根据编码获取 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java new file mode 100644 index 00000000..9ca341d4 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java @@ -0,0 +1,130 @@ +package cn.daxpay.single.service.core.extra; + +import cn.bootx.platform.common.core.exception.BizException; +import cn.bootx.platform.common.redis.RedisClient; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; +import cn.daxpay.single.service.core.system.config.entity.PlatformConfig; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; +import com.alipay.api.AlipayClient; +import com.alipay.api.AlipayConfig; +import com.alipay.api.DefaultAlipayClient; +import com.alipay.api.request.AlipaySystemOauthTokenRequest; +import com.alipay.api.response.AlipaySystemOauthTokenResponse; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * 支付宝认证服务类 + * @author xxm + * @since 2024/6/16 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class AliPayAuthService { + + public static final String OPEN_ID_KEY_PREFIX = "daxpay:wechat:openId:"; + + private final AliPayConfigService aliPayConfigService; + + private final PlatformConfigService platformsConfigService; + + private final RedisClient redisClient; + + /** + * 根据传入的标识码code生成一个用于微信授权页面的链接 + */ + public AuthUrlResult generateAuthUrl() { + PlatformConfig platformConfig = platformsConfigService.getConfig(); + AliPayConfig aliPayConfig = aliPayConfigService.getConfig(); + String code = RandomUtil.randomString(10); + // 构建出授权成功后重定向页面链接 + String redirectUrl = StrUtil.format("{}/callback/pay/alipay/auth/{}", platformConfig.getWebsiteUrl(), code); + // 构造出授权页地址 + String url = StrUtil.format("{}/h5/alipayAuth.html?appId={}&redirectUrl={}", + platformConfig.getWebsiteUrl(), aliPayConfig.getAppId(), redirectUrl); + // 写入Redis, 五分钟有效期 + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, "", 5*60*1000L); + return new AuthUrlResult() + .setCode(code) + .setAuthUrl(url); + } + + /** + * 微信授权回调页面, 通过获取到authCode获取到OpenId, 存到到Redis中对应code关联的键值对中 + * @param authCode 微信返回的授权码 + * @param code 标识码 + */ + public void authCallback(String authCode, String code) { + // 获取OpenId + String openId = this.getOpenId(authCode); + // 写入Redis + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, openId, 60*1000L); + } + + /** + * 通过标识码轮训获取OpenId + */ + public OpenIdResult queryOpenId(String code) { + // 从redis中获取 + String openId = redisClient.get(OPEN_ID_KEY_PREFIX + code); + // 不为空存在 + if (StrUtil.isNotBlank(openId)){ + return new OpenIdResult().setOpenId(openId).setStatus("success"); + } + // 为空获取中 + if (Objects.equals(openId, "")){ + return new OpenIdResult().setStatus("pending"); + } + // null不存在 + return new OpenIdResult().setStatus("fail"); + } + + + @SneakyThrows + public String getOpenId(String authCode) { + // 初始化SDK + AlipayClient alipayClient = new DefaultAlipayClient(this.getAlipayConfig()); + // 构造请求参数以调用接口 + AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); + // 设置授权码 + request.setCode(authCode); + // 设置授权方式 + request.setGrantType("authorization_code"); + AlipaySystemOauthTokenResponse response = alipayClient.execute(request); + if (!response.isSuccess()) { + log.warn("获取支付宝OpenId失败,原因:{}", response.getSubMsg()); + throw new BizException("获取支付宝OpenId失败"); + } + + return response.getOpenId(); + } + + /** + * 获取支付宝SDK的配置 + */ + private AlipayConfig getAlipayConfig(){ + AliPayConfig aliPayConfig = aliPayConfigService.getConfig(); + String privateKey = aliPayConfig.getPrivateKey(); + String alipayPublicKey =aliPayConfig.getAlipayPublicKey(); + AlipayConfig alipayConfig = new AlipayConfig(); + alipayConfig.setServerUrl(aliPayConfig.getServerUrl()); + alipayConfig.setAppId(aliPayConfig.getAppId()); + alipayConfig.setPrivateKey(privateKey); + alipayConfig.setFormat("json"); + alipayConfig.setAlipayPublicKey(alipayPublicKey); + alipayConfig.setCharset("UTF-8"); + alipayConfig.setSignType(aliPayConfig.getSignType()); + return alipayConfig; + } + +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatOpenIdService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java similarity index 87% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatOpenIdService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java index 078e85c1..4a05c210 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatOpenIdService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java @@ -9,8 +9,8 @@ import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.system.config.entity.PlatformConfig; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; -import cn.daxpay.single.service.dto.extra.WeChatAuthUrlResult; -import cn.daxpay.single.service.dto.extra.WeChatOpenIdResult; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; @@ -33,7 +33,7 @@ import java.util.Objects; @Slf4j @Service @RequiredArgsConstructor -public class WeChatOpenIdService { +public class WeChatAuthService { public static final String OPEN_ID_KEY_PREFIX = "daxpay:wechat:openId:"; @@ -66,18 +66,18 @@ public class WeChatOpenIdService { } /** - * 根据传入的标识码code生成一个用于微信授权页面的链接 + * 生成一个用于微信授权页面的链接和code标识 */ - public WeChatAuthUrlResult generateAuthUrl() { + public AuthUrlResult generateAuthUrl() { PlatformConfig config = platformsConfigService.getConfig(); String code = RandomUtil.randomString(10); // 构建出授权后重定向页面链接 - String redirectUrl = StrUtil.format("{}/callback/pay/wechat/openId/{}", config.getWebsiteUrl(), code); + String redirectUrl = StrUtil.format("{}/callback/pay/wechat/auth/{}", config.getWebsiteUrl(), code); WxAuthUrlResult result = this.getWxAuthUrl(new WxAuthUrlParam().setUrl(redirectUrl)); // 写入Redis, 五分钟有效期 redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, "", 5*60*1000L); - return new WeChatAuthUrlResult() + return new AuthUrlResult() .setCode(code) .setAuthUrl(result.getUrl()); } @@ -99,19 +99,19 @@ public class WeChatOpenIdService { /** * 通过标识码轮训获取OpenId */ - public WeChatOpenIdResult queryOpenId(String code) { + public OpenIdResult queryOpenId(String code) { // 从redis中获取 String openId = redisClient.get(OPEN_ID_KEY_PREFIX + code); // 不为空存在 if (StrUtil.isNotBlank(openId)){ - return new WeChatOpenIdResult().setOpenId(openId).setStatus("success"); + return new OpenIdResult().setOpenId(openId).setStatus("success"); } // 为空获取中 if (Objects.equals(openId, "")){ - return new WeChatOpenIdResult().setStatus("pending"); + return new OpenIdResult().setStatus("pending"); } // null不存在 - return new WeChatOpenIdResult().setStatus("fail"); + return new OpenIdResult().setStatus("fail"); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatAuthUrlResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java similarity index 94% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatAuthUrlResult.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java index 047b0e6b..aa967689 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatAuthUrlResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java @@ -12,7 +12,7 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @Schema(title = "微信授权链接和查询标识返回类") -public class WeChatAuthUrlResult { +public class AuthUrlResult { /** 授权访问链接 */ @Schema(description = "授权访问链接") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatOpenIdResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/OpenIdResult.java similarity index 94% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatOpenIdResult.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/OpenIdResult.java index 5fc3dcc8..2917608d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/WeChatOpenIdResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/OpenIdResult.java @@ -12,7 +12,7 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @Schema(title = "微信OpenId查询结果") -public class WeChatOpenIdResult { +public class OpenIdResult { @Schema(description = "OpenId") private String openId; -- Gitee From 72ac03f842a5f3fcb66e9139c22f24559bb53be3 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Sun, 16 Jun 2024 17:20:39 +0800 Subject: [PATCH 17/34] =?UTF-8?q?ref=20=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=9B=BF=E6=8D=A2=E4=B8=BA=E5=8E=9F=E7=94=9F?= =?UTF-8?q?SDK=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../single/sdk/param/channel/AliPayParam.java | 15 ++- .../single/param/channel/AliPayParam.java | 16 +++ .../single/service/code/AliPayCode.java | 3 + .../alipay/service/AliPayConfigService.java | 37 ++++++- .../channel/alipay/service/AliPayService.java | 103 +++++++++++++++--- .../service/core/extra/AliPayAuthService.java | 24 +--- 6 files changed, 154 insertions(+), 44 deletions(-) diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java index 4e612c8f..11881a18 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java @@ -13,7 +13,20 @@ import lombok.Setter; @Setter public class AliPayParam implements ChannelParam { - /** 授权码(主动扫描用户的付款码) */ + /** + * 授权码(主动扫描用户的付款码) + */ private String authCode; + /** + * 【描述】小程序支付中,商户实际经营主体的小程序应用的appid,也即最终唤起收银台支付所在的小程序的应用id + * 【注意事项】商户需要先在产品管理中心绑定该小程序appid,否则下单会失败 + */ + private String opAppId; + + /** + * 买家支付宝用户唯一标识 + */ + private String openId; + } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java index 16c617a3..981c6e39 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java @@ -12,7 +12,23 @@ import lombok.Data; @Schema(title = "支付宝支付参数") public class AliPayParam implements ChannelParam { + /** + * 授权码(主动扫描用户的付款码) + */ @Schema(description = "授权码(主动扫描用户的付款码)") private String authCode; + /** + * 【描述】小程序支付中,商户实际经营主体的小程序应用的appid,也即最终唤起收银台支付所在的小程序的应用id + * 【注意事项】商户需要先在产品管理中心绑定该小程序appid,否则下单会失败 + */ + @Schema(description = "商户实际经营主体的小程序应用的appid") + private String opAppId; + + /** + * 买家支付宝用户唯一标识 + */ + @Schema(description = "买家支付宝用户唯一标识") + private String openId; + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java index a28f0ef1..d095fbb9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java @@ -28,6 +28,9 @@ public interface AliPayCode { /** 询余额账户类型 */ String QUERY_ACCOUNT_TYPE = "ACCTRANS_ACCOUNT"; + /** jsapi */ + String JSAPI_PAY ="JSAPI_PAY"; + /** 付款码支付 */ String BAR_CODE = "bar_code"; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index 030f1c22..2bc533ae 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -8,12 +8,14 @@ import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; import cn.daxpay.single.service.core.channel.alipay.dao.AliPayConfigManager; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; -import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.alipay.AliPayConfigParam; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.util.CharsetUtil; +import com.alipay.api.AlipayClient; +import com.alipay.api.AlipayConfig; +import com.alipay.api.DefaultAlipayClient; import com.ijpay.alipay.AliPayApiConfig; import com.ijpay.alipay.AliPayApiConfigKit; import lombok.RequiredArgsConstructor; @@ -39,7 +41,6 @@ public class AliPayConfigService { /** 默认支付宝配置的主键ID */ private final static Long ID = 0L; private final AliPayConfigManager alipayConfigManager; - private final PayChannelConfigService payChannelConfigService; private final PlatformConfigService platformConfigService; /** @@ -94,6 +95,38 @@ public class AliPayConfigService { return platformConfigService.getConfig().getWebsiteUrl() + "/return/pay/alipay"; } + /** + * 获取支付宝SDK的配置 + */ + public AlipayClient getAlipayClient(){ + AliPayConfig aliPayConfig = this.getConfig(); + return this.getAlipayClient(aliPayConfig); + } + + /** + * 获取支付宝SDK的配置 + */ + @SneakyThrows + public AlipayClient getAlipayClient(AliPayConfig aliPayConfig){ + AlipayConfig config = new AlipayConfig(); + config.setServerUrl(aliPayConfig.getServerUrl()); + config.setAppId(aliPayConfig.getAppId()); + config.setFormat("json"); + config.setCharset("UTF-8"); + config.setSignType(aliPayConfig.getSignType()); + // 证书 + if (Objects.equals(aliPayConfig.getAuthType(), AliPayCode.AUTH_TYPE_CART)){ + config.setAppCertContent(aliPayConfig.getAppCert()); + config.setRootCertContent(aliPayConfig.getAlipayRootCert()); + config.setAlipayPublicCertContent(aliPayConfig.getAlipayCert()); + } else { + // 公钥 + config.setPrivateKey(aliPayConfig.getPrivateKey()); + config.setAlipayPublicKey(aliPayConfig.getAlipayPublicKey()); + } + return new DefaultAlipayClient(config); + } + /** * 初始化IJPay服务 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index 350168b8..a1c3e2ca 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -16,13 +16,14 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.Method; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.AlipayResponse; import com.alipay.api.domain.*; -import com.alipay.api.request.AlipayTradePagePayRequest; -import com.alipay.api.request.AlipayTradeWapPayRequest; +import com.alipay.api.request.*; import com.alipay.api.response.*; import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -44,6 +45,8 @@ import static cn.daxpay.single.service.code.AliPayCode.QUICK_MSECURITY_PAY; @RequiredArgsConstructor public class AliPayService { + private final AliPayConfigService aliPayConfigService; + /** * 支付前检查支付方式是否可用 */ @@ -54,7 +57,7 @@ public class AliPayService { } // 发起的支付类型是否在支持的范围内 PayMethodEnum payMethodEnum = Optional.ofNullable(AliPayWay.findByCode(payParam.getMethod())) - .orElseThrow(() -> new PayFailureException("非法的支付宝支付类型")); + .orElseThrow(() -> new PayFailureException("非法的支付宝支付类型")); if (!alipayConfig.getPayWays().contains(payMethodEnum.getCode())) { throw new PayFailureException("该支付宝支付方式不可用"); } @@ -88,6 +91,10 @@ public class AliPayService { else if (Objects.equals(payOrder.getMethod(), PayMethodEnum.WEB.getCode())) { payBody = this.webPay(amount, payOrder, alipayConfig); } + // jsapi支付 + else if (Objects.equals(payOrder.getMethod(), PayMethodEnum.JSAPI.getCode())) { + payBody = this.jsapiPay(amount, payOrder, aliPayParam, alipayConfig); + } // 二维码支付 else if (Objects.equals(payOrder.getMethod(), PayMethodEnum.QRCODE.getCode())) { payBody = this.qrCodePay(amount, payOrder, alipayConfig); @@ -103,7 +110,11 @@ public class AliPayService { /** * wap支付 */ + @SneakyThrows public String wapPay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradeWapPayModel model = new AlipayTradeWapPayModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); @@ -114,7 +125,7 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } @@ -127,7 +138,7 @@ public class AliPayService { try { // 通过GET方式的请求, 返回URL的响应, 默认是POST方式的请求, 返回的是表单响应 - AlipayTradeWapPayResponse response = AliPayApi.pageExecute(request, Method.GET.name()); + AlipayTradeWapPayResponse response = alipayClient.pageExecute(request, Method.GET.name()); return response.getBody(); } catch (AlipayApiException e) { @@ -139,9 +150,12 @@ public class AliPayService { /** * app支付 */ + @SneakyThrows public String appPay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { - AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.setSubject(payOrder.getTitle()); model.setProductCode(QUICK_MSECURITY_PAY); model.setOutTradeNo(payOrder.getOrderNo()); @@ -151,13 +165,15 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } - + AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); + request.setBizModel(model); + request.setNotifyUrl(alipayConfig.getNotifyUrl()); try { // 异步回调必须到当前系统中 - AlipayTradeAppPayResponse response = AliPayApi.appPayToResponse(model, alipayConfig.getNotifyUrl()); + AlipayTradeAppPayResponse response = alipayClient.execute(request); return response.getBody(); } catch (AlipayApiException e) { @@ -169,9 +185,12 @@ public class AliPayService { /** * PC支付 */ + @SneakyThrows public String webPay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { - AlipayTradePagePayModel model = new AlipayTradePagePayModel(); + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradePagePayModel model = new AlipayTradePagePayModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); // 过期时间 @@ -183,7 +202,7 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } @@ -195,7 +214,7 @@ public class AliPayService { request.setReturnUrl(alipayConfig.getReturnUrl()); try { // 通过GET方式的请求, 返回URL的响应, 默认是POST方式的请求, 返回的是表单响应 - AlipayTradePagePayResponse response = AliPayApi.pageExecute(request, Method.GET.name()); + AlipayTradePagePayResponse response = alipayClient.pageExecute(request, Method.GET.name()); return response.getBody(); } catch (AlipayApiException e) { @@ -204,10 +223,50 @@ public class AliPayService { } } + /** + * jsapi支付 + */ + @SneakyThrows + public String jsapiPay(String amount, PayOrder payOrder, AliPayParam aliPayParam, AliPayConfig alipayConfig) { + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + + // 构造请求参数以调用接口 + AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); + AlipayTradeCreateModel model = new AlipayTradeCreateModel(); + model.setOutTradeNo(payOrder.getOrderNo()); + model.setProductCode(AliPayCode.JSAPI_PAY); + model.setOpAppId(aliPayParam.getOpAppId()); + model.setTotalAmount(amount); + model.setSubject(payOrder.getTitle()); + model.setOpBuyerOpenId(aliPayParam.getOpenId()); + model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); + // 是否分账 + if (payOrder.getAllocation()){ + ExtendParams extendParams = new ExtendParams(); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); + model.setExtendParams(extendParams); + } + request.setBizModel(model); + try { + AlipayTradeCreateResponse response = alipayClient.execute(request); + this.verifyErrorMsg(response); + // my.tradePay使用支付宝交易号调起支付 + return response.getTradeNo(); + } catch (AlipayApiException e) { + log.error("支付宝JsApi支付失败", e); + throw new PayFailureException("支付宝JsApi支付失败"); + } + } + /** * 二维码支付(扫码支付) */ + @SneakyThrows public String qrCodePay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); @@ -215,14 +274,16 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } // 过期时间 model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); - + AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); + request.setBizModel(model); + request.setNotifyUrl(alipayConfig.getNotifyUrl()); try { - AlipayTradePrecreateResponse response = AliPayApi.tradePrecreatePayToResponse(model, alipayConfig.getNotifyUrl()); + AlipayTradePrecreateResponse response = alipayClient.execute(request); this.verifyErrorMsg(response); return response.getQrCode(); } @@ -235,9 +296,12 @@ public class AliPayService { /** * 付款码支付 */ + @SneakyThrows public void barCode(String amount, PayOrder payOrder, AliPayParam aliPayParam, AliPayConfig alipayConfig) { - PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); AlipayTradePayModel model = new AlipayTradePayModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); @@ -246,14 +310,17 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } // 过期时间 model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); model.setTotalAmount(amount); + AlipayTradePayRequest request = new AlipayTradePayRequest(); + request.setBizModel(model); + request.setNotifyUrl(alipayConfig.getNotifyUrl()); try { - AlipayTradePayResponse response = AliPayApi.tradePayToResponse(model, alipayConfig.getNotifyUrl()); + AlipayTradePayResponse response = alipayClient.execute(request); // 支付成功处理 金额2000以下免密支付, 记录支付完成相关信息 if (Objects.equals(response.getCode(), AliPayCode.SUCCESS)) { Date gmtPayment = response.getGmtPayment(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java index 9ca341d4..787e4a24 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java @@ -11,8 +11,6 @@ import cn.daxpay.single.service.dto.extra.OpenIdResult; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import com.alipay.api.AlipayClient; -import com.alipay.api.AlipayConfig; -import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipaySystemOauthTokenRequest; import com.alipay.api.response.AlipaySystemOauthTokenResponse; import lombok.RequiredArgsConstructor; @@ -93,7 +91,7 @@ public class AliPayAuthService { @SneakyThrows public String getOpenId(String authCode) { // 初始化SDK - AlipayClient alipayClient = new DefaultAlipayClient(this.getAlipayConfig()); + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(); // 构造请求参数以调用接口 AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); // 设置授权码 @@ -105,26 +103,6 @@ public class AliPayAuthService { log.warn("获取支付宝OpenId失败,原因:{}", response.getSubMsg()); throw new BizException("获取支付宝OpenId失败"); } - return response.getOpenId(); } - - /** - * 获取支付宝SDK的配置 - */ - private AlipayConfig getAlipayConfig(){ - AliPayConfig aliPayConfig = aliPayConfigService.getConfig(); - String privateKey = aliPayConfig.getPrivateKey(); - String alipayPublicKey =aliPayConfig.getAlipayPublicKey(); - AlipayConfig alipayConfig = new AlipayConfig(); - alipayConfig.setServerUrl(aliPayConfig.getServerUrl()); - alipayConfig.setAppId(aliPayConfig.getAppId()); - alipayConfig.setPrivateKey(privateKey); - alipayConfig.setFormat("json"); - alipayConfig.setAlipayPublicKey(alipayPublicKey); - alipayConfig.setCharset("UTF-8"); - alipayConfig.setSignType(aliPayConfig.getSignType()); - return alipayConfig; - } - } -- Gitee From f3703a7cedeba2bc4e6915de28d4d336b7c12441 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Sun, 16 Jun 2024 22:57:30 +0800 Subject: [PATCH 18/34] =?UTF-8?q?ref=20=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=9B=BF=E6=8D=A2=E4=B8=BA=E5=8E=9F=E7=94=9F?= =?UTF-8?q?SDK=E6=96=B9=E5=BC=8F,=20=E8=B0=83=E6=95=B4=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AD=97=E6=AE=B5=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E5=92=8C=E9=95=BF=E5=BA=A6=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 4 +- bootx-platform/pom.xml | 1 - .../sdk/param/allocation/AllocationParam.java | 2 +- .../single/sdk/allocation/AllocationTest.java | 6 +-- .../allocation/AllocationOrderController.java | 8 ++-- .../controller/order/PayOrderController.java | 2 +- .../payment/allocation/AllocationParam.java | 2 +- .../java/cn/daxpay/single/util/PayUtil.java | 27 +++++++++++- .../controller/PayCallbackController.java | 4 +- .../PayNoticeReceiverController.java | 4 +- daxpay-single/daxpay-single-service/pom.xml | 14 ++----- .../common/context/AllocationLocal.java | 2 +- .../AliPayAllocationReceiverService.java | 20 ++++++--- .../service/AliPayAllocationService.java | 28 ++++++++----- .../alipay/service/AliPayCallbackService.java | 1 - .../alipay/service/AliPayCloseService.java | 32 ++++++++++----- .../alipay/service/AliPayConfigService.java | 41 ------------------- .../service/AliPayNoticeReceiverService.java | 2 - .../service/AliPayReconcileService.java | 18 +++++--- .../alipay/service/AliPayRefundService.java | 23 +++++++---- .../channel/alipay/service/AliPayService.java | 1 - .../alipay/service/AliPaySyncService.java | 37 +++++++++++------ .../alipay/service/AliPayTransferService.java | 25 +++++++---- .../order/allocation/entity/AllocOrder.java | 4 +- .../allocation/service/AllocOrderService.java | 4 +- .../order/reconcile/entity/ReconcileDiff.java | 2 +- .../reconcile/entity/ReconcileOutTrade.java | 14 +++---- .../allocation/service/AllocationService.java | 8 ++-- .../allocation/AliPayAllocationStrategy.java | 7 ++-- .../AliPayAllocationReceiverStrategy.java | 5 +-- .../cancel/strategy/AliPayCancelStrategy.java | 7 ++-- .../close/strategy/AliPayCloseStrategy.java | 7 ++-- .../payment/pay/strategy/AliPayStrategy.java | 11 +---- .../strategy/AlipayReconcileStrategy.java | 7 ++-- .../refund/strategy/AliRefundStrategy.java | 10 +++-- .../repair/service/RefundRepairService.java | 1 + .../strategy/pay/AliPayRepairStrategy.java | 7 ++-- .../Refund/AliRefundSyncStrategy.java | 3 -- .../sync/strategy/pay/AliPaySyncStrategy.java | 11 +---- .../strategy/AliPayTransferStrategy.java | 6 ++- .../record/flow/entity/TradeFlowRecord.java | 2 +- .../record/sync/entity/PaySyncRecord.java | 8 ++-- .../service/task/AllocationAutoStartTask.java | 2 +- daxpay-single/pom.xml | 3 +- 44 files changed, 228 insertions(+), 205 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index 7c1dd35f..bad55e6b 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -2,7 +2,9 @@ 2.0.8: 转账/撤销接口和系统优化 - [x] 支持撤销接口 - [x] 增加转账接口功能 -- [ ] 支付宝支持JSAPI方式支付 +- [ ] 转账同步接口 +- [x] 支付宝支持JSAPI方式支付 +- [ ] 支付宝SDK修改为官方SDK - [ ] 细分各种支付异常类和编码(部分) - [ ] 增加分账回调处理(支付宝) - [ ] 增加分账修复功能 diff --git a/bootx-platform/pom.xml b/bootx-platform/pom.xml index 3565400a..cb4c6e1f 100644 --- a/bootx-platform/pom.xml +++ b/bootx-platform/pom.xml @@ -61,7 +61,6 @@ <plumelog.version>3.5.3</plumelog.version> <easyexcel.version>3.3.2</easyexcel.version> <xxl-job.version>2.4.0</xxl-job.version> - <IJPay.version>2.9.7</IJPay.version> <sa-token.version>1.36.0</sa-token.version> <justauth.version>1.16.6</justauth.version> <minio.version>8.5.4</minio.version> diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java index 77b982fc..cfa95ce5 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java @@ -20,7 +20,7 @@ import java.util.List; public class AllocationParam extends DaxPayRequest<AllocationModel> { /** 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** 支付订单号 */ private String orderNo; diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java index 4e3d1a61..8bd96e01 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java @@ -91,7 +91,7 @@ public class AllocationTest { public void allocationOpen() { // 分账参数 AllocationParam param = new AllocationParam(); - param.setBizAllocationNo("A"+ RandomUtil.randomNumbers(5)); + param.setBizAllocNo("A"+ RandomUtil.randomNumbers(5)); param.setAttach("88899"); param.setBizOrderNo("SDK_1717264053245"); param.setDescription("测试分账"); @@ -108,7 +108,7 @@ public class AllocationTest { public void allocationOpenByGroup() { // 分账参数 AllocationParam param = new AllocationParam(); - param.setBizAllocationNo("A"+ RandomUtil.randomNumbers(5)); + param.setBizAllocNo("A"+ RandomUtil.randomNumbers(5)); param.setAttach("88899"); param.setBizOrderNo("SDK_1717257064753"); param.setGroupNo("123"); @@ -126,7 +126,7 @@ public class AllocationTest { public void allocationOpenByReceivers() { // 分账参数 AllocationParam param = new AllocationParam(); - param.setBizAllocationNo("A"+ RandomUtil.randomNumbers(5)); + param.setBizAllocNo("A"+ RandomUtil.randomNumbers(5)); param.setAttach("88899"); param.setOrderNo("DEVP24060201473363000001"); AllocReceiverParam allocReceiverParam = new AllocReceiverParam(); diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java index fa5b25b2..709cadf9 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java @@ -92,9 +92,9 @@ public class AllocationOrderController { @InitPaymentContext(PaymentApiCode.ALLOCATION_FINISH) @Operation(summary = "分账完结") @PostMapping("/finish") - public ResResult<Void> finish(String allocationNo){ + public ResResult<Void> finish(String allocNo){ AllocFinishParam param = new AllocFinishParam(); - param.setAllocNo(allocationNo); + param.setAllocNo(allocNo); allocationService.finish(param); return Res.ok(); } @@ -102,9 +102,9 @@ public class AllocationOrderController { @InitPaymentContext(PaymentApiCode.ALLOCATION) @Operation(summary = "重新发起分账") @PostMapping("/retry") - public ResResult<Void> retryAllocation(String bizAllocationNo){ + public ResResult<Void> retryAllocation(String bizAllocNo){ AllocationParam param = new AllocationParam(); - param.setBizAllocationNo(bizAllocationNo); + param.setBizAllocNo(bizAllocNo); allocationService.allocation(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java index 8ca9612d..d8b8e91e 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java @@ -91,7 +91,7 @@ public class PayOrderController { public ResResult<Void> allocation(String orderNo){ AllocationParam param = new AllocationParam(); param.setOrderNo(orderNo); - param.setBizAllocationNo(OrderNoGenerateUtil.allocation()); + param.setBizAllocNo(OrderNoGenerateUtil.allocation()); allocationService.allocation(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java index e4414e30..34a124f9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java @@ -24,7 +24,7 @@ public class AllocationParam extends PaymentCommonParam { @NotBlank(message = "商户分账单号不可为空") @Size(max = 100, message = "商户分账单号不可超过100位") @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** 支付订单号 */ @Size(max = 32, message = "支付订单号不可超过32位") diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java index cfe3cd91..28d359f4 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java @@ -4,10 +4,13 @@ import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.hutool.core.date.DatePattern; import lombok.experimental.UtilityClass; +import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; +import java.util.HashMap; +import java.util.Map; /** * 支付工具类 @@ -51,7 +54,7 @@ public class PayUtil { * @param amount 元的金额 * @return 分的金额 */ - public static int convertCentAmount(BigDecimal amount) { + public int convertCentAmount(BigDecimal amount) { return amount.multiply(HUNDRED).setScale(0, RoundingMode.HALF_UP).intValue(); } @@ -61,7 +64,27 @@ public class PayUtil { * @param amount 元的金额 * @return 元的金额 两位小数 */ - public static BigDecimal conversionAmount(int amount) { + public BigDecimal conversionAmount(int amount) { return BigDecimal.valueOf(amount).divide(HUNDRED,2, RoundingMode.HALF_UP); } + + /** + * 获取请求参数 + */ + public Map<String, String> toMap(HttpServletRequest request) { + Map<String, String> params = new HashMap<>(); + Map<String, String[]> requestParams = request.getParameterMap(); + + for (String name : requestParams.keySet()) { + String[] values = requestParams.get(name); + String valueStr = ""; + + for (int i = 0; i < values.length; ++i) { + valueStr = i == values.length - 1 ? valueStr + values[i] : valueStr + values[i] + ","; + } + + params.put(name, valueStr); + } + return params; + } } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java index 8eecdc17..99991b8b 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java @@ -7,8 +7,8 @@ import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCallbackSer import cn.daxpay.single.service.core.extra.AliPayAuthService; import cn.daxpay.single.service.core.extra.WeChatAuthService; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; +import cn.daxpay.single.util.PayUtil; import com.egzosn.pay.union.api.UnionPayConfigStorage; -import com.ijpay.alipay.AliPayApi; import com.ijpay.core.kit.HttpKit; import com.ijpay.core.kit.WxPayKit; import io.swagger.v3.oas.annotations.Operation; @@ -50,7 +50,7 @@ public class PayCallbackController { @Operation(summary = "支付宝信息回调") @PostMapping("/alipay") public String aliPayNotify(HttpServletRequest request) { - Map<String, String> stringStringMap = AliPayApi.toMap(request); + Map<String, String> stringStringMap = PayUtil.toMap(request); return aliPayCallbackService.callback(stringStringMap); } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java index a34beb89..bacfb5fc 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java @@ -2,7 +2,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.service.core.channel.alipay.service.AliPayNoticeReceiverService; -import com.ijpay.alipay.AliPayApi; +import cn.daxpay.single.util.PayUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -32,7 +32,7 @@ public class PayNoticeReceiverController { @Operation(summary = "支付宝消息通知") @PostMapping("/alipay") public String aliPayNotice(HttpServletRequest request) { - Map<String, String> map = AliPayApi.toMap(request); + Map<String, String> map = PayUtil.toMap(request); return aliPayNoticeReceiverService.noticeReceiver(map); } diff --git a/daxpay-single/daxpay-single-service/pom.xml b/daxpay-single/daxpay-single-service/pom.xml index e3917bed..cfc91d96 100644 --- a/daxpay-single/daxpay-single-service/pom.xml +++ b/daxpay-single/daxpay-single-service/pom.xml @@ -78,17 +78,11 @@ <version>${daxpay.version}</version> </dependency> - <!-- 支付宝支付 --> + <!-- 支付宝官方SDK --> <dependency> - <groupId>com.github.javen205</groupId> - <artifactId>IJPay-AliPay</artifactId> - <version>${IJPay.version}</version> - <exclusions> - <exclusion> - <artifactId>fastjson</artifactId> - <groupId>com.alibaba</groupId> - </exclusion> - </exclusions> + <groupId>com.alipay.sdk</groupId> + <artifactId>alipay-sdk-java</artifactId> + <version>${alipay.version}</version> </dependency> <!-- 微信支付 ijpay --> diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java index 5a17bd57..2a0ee134 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java @@ -13,5 +13,5 @@ import lombok.experimental.Accessors; public class AllocationLocal { /** 通道分账号 */ - private String outAllocationNo; + private String outAllocNo; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java index 68c79e92..e86e0a47 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java @@ -3,15 +3,18 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.daxpay.single.code.AllocReceiverTypeEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; import cn.hutool.core.util.StrUtil; +import com.alipay.api.AlipayClient; import com.alipay.api.AlipayResponse; import com.alipay.api.domain.AlipayTradeRoyaltyRelationBindModel; import com.alipay.api.domain.AlipayTradeRoyaltyRelationUnbindModel; import com.alipay.api.domain.RoyaltyEntity; +import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest; +import com.alipay.api.request.AlipayTradeRoyaltyRelationUnbindRequest; import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse; import com.alipay.api.response.AlipayTradeRoyaltyRelationUnbindResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -33,6 +36,7 @@ import static cn.daxpay.single.code.AllocReceiverTypeEnum.*; @Service @RequiredArgsConstructor public class AliPayAllocationReceiverService { + private final AliPayConfigService aliPayConfigService; /** * 校验 @@ -47,7 +51,8 @@ public class AliPayAllocationReceiverService { * 绑定关系 */ @SneakyThrows - public void bind(AllocationReceiver allocationReceiver){ + public void bind(AllocationReceiver allocationReceiver, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); AlipayTradeRoyaltyRelationBindModel model = new AlipayTradeRoyaltyRelationBindModel(); model.setOutRequestNo(String.valueOf(allocationReceiver.getId())); @@ -60,7 +65,9 @@ public class AliPayAllocationReceiverService { // 不报错视为同步成功 model.setReceiverList(Collections.singletonList(entity)); - AlipayTradeRoyaltyRelationBindResponse response = AliPayApi.tradeRoyaltyRelationBind(model); + AlipayTradeRoyaltyRelationBindRequest request = new AlipayTradeRoyaltyRelationBindRequest(); + request.setBizModel(model); + AlipayTradeRoyaltyRelationBindResponse response = alipayClient.execute(request); this.verifyErrorMsg(response); } @@ -68,7 +75,8 @@ public class AliPayAllocationReceiverService { * 解绑关系 */ @SneakyThrows - public void unbind(AllocationReceiver allocationReceiver){ + public void unbind(AllocationReceiver allocationReceiver, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); AlipayTradeRoyaltyRelationUnbindModel model = new AlipayTradeRoyaltyRelationUnbindModel(); model.setOutRequestNo(String.valueOf(allocationReceiver.getId())); @@ -78,7 +86,9 @@ public class AliPayAllocationReceiverService { entity.setAccount(allocationReceiver.getReceiverAccount()); model.setReceiverList(Collections.singletonList(entity)); - AlipayTradeRoyaltyRelationUnbindResponse response = AliPayApi.tradeRoyaltyRelationUnBind(model); + AlipayTradeRoyaltyRelationUnbindRequest request = new AlipayTradeRoyaltyRelationUnbindRequest(); + request.setBizModel(model); + AlipayTradeRoyaltyRelationUnbindResponse response = alipayClient.execute(request); System.out.println(response); // 如果出现分账方不存在也视为成功 if (Objects.equals(response.getSubCode(), AliPayCode.USER_NOT_EXIST)) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java index 281ffc91..26711aba 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java @@ -6,6 +6,7 @@ import cn.daxpay.single.code.AllocDetailResultEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; @@ -13,12 +14,13 @@ import cn.daxpay.single.util.PayUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.alipay.api.AlipayClient; import com.alipay.api.AlipayResponse; import com.alipay.api.domain.*; import com.alipay.api.request.AlipayTradeOrderSettleQueryRequest; +import com.alipay.api.request.AlipayTradeOrderSettleRequest; import com.alipay.api.response.AlipayTradeOrderSettleQueryResponse; import com.alipay.api.response.AlipayTradeOrderSettleResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -41,12 +43,13 @@ import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class AliPayAllocationService { - + private final AliPayConfigService aliPayConfigService; /** * 发起分账 */ @SneakyThrows - public void allocation(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails){ + public void allocation(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails, AliPayConfig config){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); model.setOutRequestNo(allocOrder.getAllocNo()); @@ -64,11 +67,12 @@ public class AliPayAllocationService { }) .collect(Collectors.toList()); model.setRoyaltyParameters(royaltyParameters); - - AlipayTradeOrderSettleResponse response = AliPayApi.tradeOrderSettleToResponse(model); + AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest(); + request.setBizModel(model); + AlipayTradeOrderSettleResponse response = alipayClient.execute(request); // 需要写入到分账订单中 String settleNo = response.getSettleNo(); - PaymentContextLocal.get().getAllocationInfo().setOutAllocationNo(settleNo); + PaymentContextLocal.get().getAllocationInfo().setOutAllocNo(settleNo); this.verifyErrorMsg(response); } @@ -76,7 +80,8 @@ public class AliPayAllocationService { * 分账完结 */ @SneakyThrows - public void finish(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails ){ + public void finish(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails, AliPayConfig config){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); model.setOutRequestNo(String.valueOf(allocOrder.getAllocNo())); @@ -98,7 +103,9 @@ public class AliPayAllocationService { }) .collect(Collectors.toList()); model.setRoyaltyParameters(royaltyParameters); - AlipayTradeOrderSettleResponse response = AliPayApi.tradeOrderSettleToResponse(model); + AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest(); + request.setBizModel(model); + AlipayTradeOrderSettleResponse response = alipayClient.execute(request); this.verifyErrorMsg(response); } @@ -106,13 +113,14 @@ public class AliPayAllocationService { * 分账状态同步 */ @SneakyThrows - public AllocRemoteSyncResult sync(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails){ + public AllocRemoteSyncResult sync(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails, AliPayConfig config){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); AlipayTradeOrderSettleQueryModel model = new AlipayTradeOrderSettleQueryModel(); model.setTradeNo(allocOrder.getOutOrderNo()); model.setOutRequestNo(allocOrder.getAllocNo()); AlipayTradeOrderSettleQueryRequest request = new AlipayTradeOrderSettleQueryRequest(); request.setBizModel(model); - AlipayTradeOrderSettleQueryResponse response = AliPayApi.execute(request); + AlipayTradeOrderSettleQueryResponse response = alipayClient.execute(request); // 验证 this.verifyErrorMsg(response); Map<String, AllocOrderDetail> detailMap = allocOrderDetails.stream() diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java index d1dc57e6..941753a8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java @@ -50,7 +50,6 @@ public class AliPayCallbackService { private final RefundCallbackService refundCallbackService; - /** * 回调处理入口 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java index 50143899..965352ae 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java @@ -3,14 +3,17 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.daxpay.single.code.PaySyncStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayTradeCancelModel; import com.alipay.api.domain.AlipayTradeCloseModel; +import com.alipay.api.request.AlipayTradeCancelRequest; +import com.alipay.api.request.AlipayTradeCloseRequest; import com.alipay.api.response.AlipayTradeCancelResponse; import com.alipay.api.response.AlipayTradeCloseResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -29,6 +32,8 @@ import java.util.Objects; public class AliPayCloseService { private final AliPaySyncService aliPaySyncService; + private final AliPayConfigService aliPayConfigService; + /** * 关闭支付 此处使用交易关闭接口 * 交易关闭: 只有订单在未支付的状态下才可以进行关闭, 商户不需要额外申请就有此接口的权限 @@ -37,16 +42,18 @@ public class AliPayCloseService { * 2. 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 * */ - public void close(PayOrder payOrder) { + public void close(PayOrder payOrder, AliPayConfig config) { + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); AlipayTradeCloseModel model = new AlipayTradeCloseModel(); model.setOutTradeNo(payOrder.getOrderNo()); - + AlipayTradeCloseRequest request = new AlipayTradeCloseRequest(); + request.setBizModel(model); try { - AlipayTradeCloseResponse response = AliPayApi.tradeCloseToResponse(model); + AlipayTradeCloseResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { // 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 if (Objects.equals(response.getSubCode(),AliPayCode.ACQ_TRADE_STATUS_ERROR)){ - if (this.syncStatus(payOrder)){ + if (this.syncStatus(payOrder, config)){ return; } } @@ -67,17 +74,20 @@ public class AliPayCloseService { * 交易撤销: 如果用户支付成功,会将此订单资金退还给用户. 限制时间为1天,过了24小时,该接口无法再使用。 * 可以视为一个特殊的接口, 需要专门签约这个接口的权限 */ - public void cancel(PayOrder payOrder) { + public void cancel(PayOrder payOrder, AliPayConfig config) { + + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); AlipayTradeCancelModel model = new AlipayTradeCancelModel(); model.setOutTradeNo(payOrder.getOrderNo()); - + AlipayTradeCancelRequest request = new AlipayTradeCancelRequest(); + request.setBizModel(model); try { - AlipayTradeCancelResponse response = AliPayApi.tradeCancelToResponse(model); + AlipayTradeCancelResponse response = alipayClient.execute(request);; if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { // 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 if (Objects.equals(response.getSubCode(),AliPayCode.ACQ_TRADE_STATUS_ERROR)){ - if (this.syncStatus(payOrder)){ + if (this.syncStatus(payOrder, config)){ return; } } @@ -99,8 +109,8 @@ public class AliPayCloseService { /** * 关闭失败后, 获取支付网关的状态, 如果是关闭返回true, 其他情况抛出异常 */ - private boolean syncStatus(PayOrder payOrder){ - PayRemoteSyncResult gatewaySyncResult = aliPaySyncService.syncPayStatus(payOrder); + private boolean syncStatus(PayOrder payOrder, AliPayConfig config){ + PayRemoteSyncResult gatewaySyncResult = aliPaySyncService.syncPayStatus(payOrder,config); // 已经关闭 if (Objects.equals(gatewaySyncResult.getSyncStatus(), PaySyncStatusEnum.CLOSED)){ return true; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index 2bc533ae..bde29a6d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -1,6 +1,5 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.daxpay.single.exception.pay.PayFailureException; @@ -12,12 +11,9 @@ import cn.daxpay.single.service.core.system.config.service.PlatformConfigService import cn.daxpay.single.service.param.channel.alipay.AliPayConfigParam; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.CharsetUtil; import com.alipay.api.AlipayClient; import com.alipay.api.AlipayConfig; import com.alipay.api.DefaultAlipayClient; -import com.ijpay.alipay.AliPayApiConfig; -import com.ijpay.alipay.AliPayApiConfigKit; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -126,41 +122,4 @@ public class AliPayConfigService { } return new DefaultAlipayClient(config); } - - /** - * 初始化IJPay服务 - */ - @SneakyThrows - public void initConfig(AliPayConfig alipayConfig) { - AliPayApiConfig aliPayApiConfig; - // 公钥 - if (Objects.equals(alipayConfig.getAuthType(), AliPayCode.AUTH_TYPE_KEY)) { - aliPayApiConfig = AliPayApiConfig.builder() - .setAppId(alipayConfig.getAppId()) - .setPrivateKey(alipayConfig.getPrivateKey()) - .setAliPayPublicKey(alipayConfig.getAlipayPublicKey()) - .setCharset(CharsetUtil.UTF_8) - .setServiceUrl(alipayConfig.getServerUrl()) - .setSignType(alipayConfig.getSignType()) - .build(); - } - // 证书 - else if (Objects.equals(alipayConfig.getAuthType(), AliPayCode.AUTH_TYPE_CART)) { - aliPayApiConfig = AliPayApiConfig.builder() - .setAppId(alipayConfig.getAppId()) - .setPrivateKey(alipayConfig.getPrivateKey()) - .setAppCertContent(alipayConfig.getAppCert()) - .setAliPayCertContent(alipayConfig.getAlipayCert()) - .setAliPayRootCertContent(alipayConfig.getAlipayRootCert()) - .setCharset(CharsetUtil.UTF_8) - .setServiceUrl(alipayConfig.getServerUrl()) - .setSignType(alipayConfig.getSignType()) - .buildByCertContent(); - } - else { - throw new BizException("支付宝认证方式不可为空"); - } - AliPayApiConfigKit.setThreadLocalAliPayApiConfig(aliPayApiConfig); - } - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java index 111874f5..f67eb501 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java @@ -29,8 +29,6 @@ import static cn.daxpay.single.service.code.AliPayCode.AUTH_TYPE_KEY; @RequiredArgsConstructor public class AliPayNoticeReceiverService { - private final AllocationCallbackService allocationCallbackService; - private final AliPayConfigService aliPayConfigService; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java index aaeb7be9..e2c1facd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.ReconcileTradeEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; @@ -9,6 +8,7 @@ import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.dao.AliReconcileBillDetailManager; import cn.daxpay.single.service.core.channel.alipay.dao.AliReconcileBillTotalManager; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.entity.AliReconcileBillDetail; import cn.daxpay.single.service.core.channel.alipay.entity.AliReconcileBillTotal; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; @@ -23,12 +23,13 @@ import cn.hutool.core.text.csv.CsvUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayDataDataserviceBillDownloadurlQueryModel; -import com.ijpay.alipay.AliPayApi; +import com.alipay.api.request.AlipayDataDataserviceBillDownloadurlQueryRequest; +import com.alipay.api.response.AlipayDataDataserviceBillDownloadurlQueryResponse; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import lombok.val; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.dromara.x.file.storage.core.FileInfo; @@ -57,6 +58,8 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class AliPayReconcileService { + private final AliPayConfigService aliPayConfigService; + private final AliReconcileBillDetailManager reconcileBillDetailManager; private final AliReconcileBillTotalManager reconcileBillTotalManager; @@ -71,16 +74,19 @@ public class AliPayReconcileService { * * @param date 对账日期 yyyy-MM-dd 格式 * @param recordOrder 对账单对象 + * @param config */ @SneakyThrows @Transactional(rollbackFor = Exception.class) - public void downAndSave(String date, ReconcileOrder recordOrder){ - + public void downAndSave(String date, ReconcileOrder recordOrder, AliPayConfig config){ try { + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); AlipayDataDataserviceBillDownloadurlQueryModel model = new AlipayDataDataserviceBillDownloadurlQueryModel(); model.setBillDate(date); model.setBillType("trade"); - val response = AliPayApi.billDownloadUrlQueryToResponse(model); + AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest(); + request.setBizModel(model); + AlipayDataDataserviceBillDownloadurlQueryResponse response = alipayClient.execute(request); // 判断返回结果 if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("获取支付宝对账单失败: {}", response.getSubMsg()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java index 6d05b51f..4dc16feb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java @@ -6,12 +6,14 @@ import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.util.PayUtil; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayTradeRefundModel; +import com.alipay.api.request.AlipayTradeRefundRequest; import com.alipay.api.response.AlipayTradeRefundResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -29,22 +31,27 @@ import java.util.Objects; @RequiredArgsConstructor public class AliPayRefundService { + private final AliPayConfigService aliPayConfigService; + /** * 退款, 调用支付宝退款 */ - public void refund(RefundOrder refundOrder) { + public void refund(RefundOrder refundOrder, AliPayConfig config) { + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); + RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); - AlipayTradeRefundModel refundModel = new AlipayTradeRefundModel(); - refundModel.setOutTradeNo(refundOrder.getOrderNo()); - refundModel.setOutRequestNo(refundOrder.getRefundNo()); + AlipayTradeRefundModel model = new AlipayTradeRefundModel(); + model.setOutTradeNo(refundOrder.getOrderNo()); + model.setOutRequestNo(refundOrder.getRefundNo()); // 金额转换 String refundAmount = PayUtil.conversionAmount(refundOrder.getAmount()).toString(); - refundModel.setRefundAmount(refundAmount); + model.setRefundAmount(refundAmount); + AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); + request.setBizModel(model); - // 设置退款信息 try { - AlipayTradeRefundResponse response = AliPayApi.tradeRefundToResponse(refundModel); + AlipayTradeRefundResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { errorInfo.setErrorMsg(response.getSubMsg()); errorInfo.setErrorCode(response.getCode()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index a1c3e2ca..9378f5f4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -21,7 +21,6 @@ import com.alipay.api.AlipayResponse; import com.alipay.api.domain.*; import com.alipay.api.request.*; import com.alipay.api.response.*; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java index 7d5e1c2a..c3307732 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java @@ -1,20 +1,23 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.RefundSyncStatusEnum; import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.hutool.json.JSONUtil; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayTradeFastpayRefundQueryModel; import com.alipay.api.domain.AlipayTradeQueryModel; +import com.alipay.api.request.AlipayTradeFastpayRefundQueryRequest; +import com.alipay.api.request.AlipayTradeQueryRequest; import com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse; import com.alipay.api.response.AlipayTradeQueryResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -35,6 +38,8 @@ import static cn.daxpay.single.service.code.AliPayCode.GMT_REFUND_PAY; @Service @RequiredArgsConstructor public class AliPaySyncService { + private final AliPayConfigService aliPayConfigService; + /** * 与支付宝网关同步状态, 退款状态有 * 1 远程支付成功 @@ -43,18 +48,21 @@ public class AliPaySyncService { * 4 查询不到 * 5 查询失败 */ - public PayRemoteSyncResult syncPayStatus(PayOrder payOrder) { + public PayRemoteSyncResult syncPayStatus(PayOrder payOrder, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); PayRemoteSyncResult syncResult = new PayRemoteSyncResult().setSyncStatus(PaySyncStatusEnum.FAIL); // 查询 try { - AlipayTradeQueryModel queryModel = new AlipayTradeQueryModel(); - queryModel.setOutTradeNo(payOrder.getOrderNo()); - AlipayTradeQueryResponse response = AliPayApi.tradeQueryToResponse(queryModel); + AlipayTradeQueryModel model = new AlipayTradeQueryModel(); + model.setOutTradeNo(payOrder.getOrderNo()); + AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); + request.setBizModel(model); + AlipayTradeQueryResponse response = alipayClient.execute(request); String tradeStatus = response.getTradeStatus(); syncResult.setSyncInfo(JSONUtil.toJsonStr(response)); // 设置网关订单号 syncResult.setOutOrderNo(response.getTradeNo()); - // 支付完成 TODO 部分退款也在这个地方, 但无法进行区分, 需要借助对账进行处理 + // 支付完成 部分退款无法进行区分, 需要借助对账进行处理 if (Objects.equals(tradeStatus, AliPayCode.NOTIFY_TRADE_SUCCESS) || Objects.equals(tradeStatus, AliPayCode.NOTIFY_TRADE_FINISHED)) { // 支付完成时间 LocalDateTime payTime = LocalDateTimeUtil.of(response.getSendPayDate()); @@ -96,17 +104,20 @@ public class AliPaySyncService { * 退款同步查询 * 注意: 支付宝退款没有网关订单号, 网关订单号是支付单的 */ - public RefundRemoteSyncResult syncRefundStatus(RefundOrder refundOrder) { + public RefundRemoteSyncResult syncRefundStatus(RefundOrder refundOrder){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(); RefundRemoteSyncResult syncResult = new RefundRemoteSyncResult().setSyncStatus(RefundSyncStatusEnum.FAIL); try { - AlipayTradeFastpayRefundQueryModel queryModel = new AlipayTradeFastpayRefundQueryModel(); + AlipayTradeFastpayRefundQueryModel model = new AlipayTradeFastpayRefundQueryModel(); // 退款请求号 - queryModel.setOutRequestNo(String.valueOf(refundOrder.getRefundNo())); + model.setOutRequestNo(String.valueOf(refundOrder.getRefundNo())); // 商户订单号 - queryModel.setOutTradeNo(String.valueOf(refundOrder.getOrderNo())); + model.setOutTradeNo(String.valueOf(refundOrder.getOrderNo())); // 设置返回退款完成时间 - queryModel.setQueryOptions(Collections.singletonList(GMT_REFUND_PAY)); - AlipayTradeFastpayRefundQueryResponse response = AliPayApi.tradeRefundQueryToResponse(queryModel); + model.setQueryOptions(Collections.singletonList(GMT_REFUND_PAY)); + AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest(); + request.setBizModel(model); + AlipayTradeFastpayRefundQueryResponse response = alipayClient.execute(request); syncResult.setSyncInfo(JSONUtil.toJsonStr(response)); // 失败 if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index 04f2d247..0d6aee8a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -12,11 +12,13 @@ import cn.daxpay.single.util.OrderNoGenerateUtil; import cn.daxpay.single.util.PayUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.util.StrUtil; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayFundAccountQueryModel; import com.alipay.api.domain.AlipayFundTransToaccountTransferModel; +import com.alipay.api.request.AlipayFundAccountQueryRequest; +import com.alipay.api.request.AlipayFundTransToaccountTransferRequest; import com.alipay.api.response.AlipayFundAccountQueryResponse; import com.alipay.api.response.AlipayFundTransToaccountTransferResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -32,15 +34,20 @@ import static cn.daxpay.single.service.code.AliPayCode.QUERY_ACCOUNT_TYPE; @RequiredArgsConstructor public class AliPayTransferService { + private final AliPayConfigService aliPayConfigService; + /** * 余额查询接口 */ @SneakyThrows - public void queryAccountAmount(AliPayConfig config) { + public void queryAccountAmount(AliPayConfig config, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); AlipayFundAccountQueryModel model = new AlipayFundAccountQueryModel(); model.setAccountType(QUERY_ACCOUNT_TYPE); model.setAlipayUserId(config.getAlipayUserId()); - AlipayFundAccountQueryResponse response = AliPayApi.accountQueryToResponse(model, null); + AlipayFundAccountQueryRequest request = new AlipayFundAccountQueryRequest(); + request.setBizModel(model); + AlipayFundAccountQueryResponse response = alipayClient.execute(request); System.out.println(response); } @@ -48,17 +55,20 @@ public class AliPayTransferService { * 转账接口 */ @SneakyThrows - public void transfer(TransferOrder order) { + public void transfer(TransferOrder order, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); AlipayFundTransToaccountTransferModel model = new AlipayFundTransToaccountTransferModel(); model.setAmount(PayUtil.conversionAmount(order.getAmount()).toString()); model.setOutBizNo(OrderNoGenerateUtil.transfer()); model.setPayeeType(order.getPayeeType()); model.setPayeeAccount(order.getPayeeAccount()); model.setPayerShowName(order.getPayerShowName()); - // 标题 + // 标题需要用附加方式传输进去 model.setExtParam(StrUtil.format("{order_title: '{}'}", order.getTitle())); model.setRemark(order.getReason()); - AlipayFundTransToaccountTransferResponse response = AliPayApi.transferToResponse(model); + AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest(); + request.setBizModel(model); + AlipayFundTransToaccountTransferResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("网关返回退款失败: {}", response.getSubMsg()); throw new PayFailureException(response.getSubMsg()); @@ -70,8 +80,7 @@ public class AliPayTransferService { String payDate = response.getPayDate(); if (StrUtil.isNotBlank(payDate)){ LocalDateTime time = LocalDateTimeUtil.parse(payDate, DatePattern.NORM_DATETIME_PATTERN); - transferInfo.setFinishTime(time) - .setStatus(TransferStatusEnum.SUCCESS); + transferInfo.setFinishTime(time).setStatus(TransferStatusEnum.SUCCESS); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java index 0f7abc28..f1ad88bc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java @@ -49,7 +49,7 @@ public class AllocOrder extends MpBaseEntity implements EntityBaseFunction<Alloc * 通道分账号 */ @DbMySqlIndex(comment = "通道分账号索引") - @DbColumn(comment = "通道分账号", length = 150, isNull = false) + @DbColumn(comment = "通道分账号", length = 150) private String outAllocNo; /** 支付订单ID */ @@ -99,7 +99,7 @@ public class AllocOrder extends MpBaseEntity implements EntityBaseFunction<Alloc * 状态 * @see AllocOrderStatusEnum */ - @DbColumn(comment = "状态", length = 20, isNull = false) + @DbColumn(comment = "状态", length = 30, isNull = false) private String status; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java index 8689f02c..b90c6117 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.order.allocation.service; import cn.daxpay.single.code.AllocDetailResultEnum; +import cn.daxpay.single.code.AllocOrderResultEnum; import cn.daxpay.single.code.AllocOrderStatusEnum; import cn.daxpay.single.code.PayOrderAllocStatusEnum; import cn.daxpay.single.exception.pay.PayFailureException; @@ -159,10 +160,11 @@ public class AllocOrderService { .setOutOrderNo(payOrder.getOutOrderNo()) .setTitle(payOrder.getTitle()) .setAllocNo(OrderNoGenerateUtil.allocation()) - .setBizAllocNo(param.getBizAllocationNo()) + .setBizAllocNo(param.getBizAllocNo()) .setChannel(payOrder.getChannel()) .setDescription(param.getDescription()) .setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) + .setResult(AllocOrderResultEnum.ALL_PENDING.getCode()) .setAmount(sumAmount) .setNotifyUrl(param.getNotifyUrl()) .setAttach(param.getAttach()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java index bb69e75d..aa6a89f4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java @@ -56,7 +56,7 @@ public class ReconcileDiff extends MpBaseEntity implements EntityBaseFunction<Re private String tradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号", length = 150, isNull = false) + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; /** 交易时间 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java index 40d48aa1..c151fc89 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java @@ -29,34 +29,34 @@ public class ReconcileOutTrade extends MpCreateEntity implements EntityBaseFunct /** 关联对账订单ID */ @DbMySqlIndex(comment = "对账单ID索引") - @DbColumn(comment = "关联对账订单ID") + @DbColumn(comment = "关联对账订单ID", isNull = false) private Long reconcileId; /** 商品名称 */ - @DbColumn(comment = "商品名称") + @DbColumn(comment = "商品名称", length = 100, isNull = false) private String title; /** 交易金额 */ - @DbColumn(comment = "交易金额") + @DbColumn(comment = "交易金额", length = 15, isNull = false) private Integer amount; /** * 交易类型 * @see PaymentTypeEnum */ - @DbColumn(comment = "交易类型") + @DbColumn(comment = "交易类型", length = 20, isNull = false) private String type; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 通道交易号 - 支付宝/微信的订单号 */ - @DbColumn(comment = "通道交易号") + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; /** 交易时间 */ - @DbColumn(comment = "交易时间") + @DbColumn(comment = "交易时间", isNull = false) private LocalDateTime tradeTime; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index 9b03bde2..2ef0ed75 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -76,7 +76,7 @@ public class AllocationService { */ public AllocationResult allocation(AllocationParam param) { // 判断是否已经有分账订单 - AllocOrder allocOrder = allocationOrderManager.findByBizAllocNo(param.getBizAllocationNo()) + AllocOrder allocOrder = allocationOrderManager.findByBizAllocNo(param.getBizAllocNo()) .orElse(null); if (Objects.nonNull(allocOrder)){ // 重复分账 @@ -130,10 +130,10 @@ public class AllocationService { // TODO 返回异常处理 } // 网关分账号 - String outAllocationNo = PaymentContextLocal.get() + String outAllocNo = PaymentContextLocal.get() .getAllocationInfo() - .getOutAllocationNo(); - order.setOutAllocNo(outAllocationNo); + .getOutAllocNo(); + order.setOutAllocNo(outAllocNo); allocationOrderManager.updateById(order); return new AllocationResult() .setAllocNo(order.getAllocNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java index b94c7211..3ec7161f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java @@ -52,7 +52,6 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { if (Objects.equals(aliPayConfig.getAllocation(),false)){ throw new PayFailureException("支付宝支付配置不支持分账"); } - aliPayConfigService.initConfig(this.aliPayConfig); } /** @@ -60,7 +59,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void allocation() { - aliPayAllocationService.allocation(this.getAllocOrder(), this.getAllocOrderDetails()); + aliPayAllocationService.allocation(this.getAllocOrder(), this.getAllocOrderDetails(), this.aliPayConfig); } /** @@ -68,7 +67,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void finish() { - aliPayAllocationService.finish(this.getAllocOrder(), this.getAllocOrderDetails()); + aliPayAllocationService.finish(this.getAllocOrder(), this.getAllocOrderDetails(), this.aliPayConfig); } /** @@ -76,7 +75,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public AllocRemoteSyncResult doSync() { - return aliPayAllocationService.sync(this.getAllocOrder(), this.getAllocOrderDetails()); + return aliPayAllocationService.sync(this.getAllocOrder(), this.getAllocOrderDetails(), this.aliPayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java index dfca3440..b1de2df5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java @@ -58,7 +58,6 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat if (Objects.equals(aliPayConfig.getAllocation(),false)){ throw new PayFailureException("微信支付配置不支持分账"); } - payConfigService.initConfig(this.aliPayConfig); } /** @@ -69,7 +68,7 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat if (!receiverService.validation(this.getAllocationReceiver())){ throw new PayFailureException("分账接收者参数未通过校验"); } - receiverService.bind(this.getAllocationReceiver()); + receiverService.bind(this.getAllocationReceiver(), this.aliPayConfig); } /** @@ -80,6 +79,6 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat if (!receiverService.validation(this.getAllocationReceiver())){ throw new PayFailureException("分账参数未通过校验"); } - receiverService.unbind(this.getAllocationReceiver()); + receiverService.unbind(this.getAllocationReceiver(), this.aliPayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java index a2bbbc48..1a866b60 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java @@ -27,6 +27,8 @@ public class AliPayCancelStrategy extends AbsPayCancelStrategy { private final AliPayCloseService aliPayCloseService; + private AliPayConfig config; + @Override public String getChannel() { return PayChannelEnum.ALI.getCode(); @@ -37,8 +39,7 @@ public class AliPayCancelStrategy extends AbsPayCancelStrategy { */ @Override public void doBeforeCancelHandler() { - AliPayConfig config = alipayConfigService.getConfig(); - alipayConfigService.initConfig(config); + this.config = alipayConfigService.getConfig(); } /** @@ -46,6 +47,6 @@ public class AliPayCancelStrategy extends AbsPayCancelStrategy { */ @Override public void doCancelHandler() { - aliPayCloseService.cancel(this.getOrder()); + aliPayCloseService.cancel(this.getOrder(),this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java index 0ac9fd4a..9cc9c313 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java @@ -27,6 +27,8 @@ public class AliPayCloseStrategy extends AbsPayCloseStrategy { private final AliPayCloseService aliPayCloseService; + private AliPayConfig alipayConfig; + @Override public String getChannel() { return PayChannelEnum.ALI.getCode(); @@ -37,8 +39,7 @@ public class AliPayCloseStrategy extends AbsPayCloseStrategy { */ @Override public void doBeforeCloseHandler() { - AliPayConfig config = alipayConfigService.getConfig(); - alipayConfigService.initConfig(config); + this.alipayConfig = alipayConfigService.getConfig(); } /** @@ -46,6 +47,6 @@ public class AliPayCloseStrategy extends AbsPayCloseStrategy { */ @Override public void doCloseHandler() { - aliPayCloseService.close(this.getOrder()); + aliPayCloseService.close(this.getOrder(), this.alipayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java index 36bbb47c..99742d64 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java @@ -61,7 +61,7 @@ public class AliPayStrategy extends AbsPayStrategy { throw new PayFailureException("支付参数错误"); } // 检查并获取支付宝支付配置 - this.initAlipayConfig(); + this.alipayConfig = alipayConfigService.getAndCheckConfig(); // 支付宝相关校验 aliPayService.validation(this.getPayParam(), alipayConfig); } @@ -74,13 +74,4 @@ public class AliPayStrategy extends AbsPayStrategy { aliPayService.pay(this.getOrder(), this.aliPayParam, this.alipayConfig); } - /** - * 初始化支付宝配置信息 - */ - private void initAlipayConfig() { - // 获取并初始化支付宝支付配置 - this.alipayConfig = alipayConfigService.getAndCheckConfig(); - alipayConfigService.initConfig(this.alipayConfig); - } - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java index 3b66275f..85bf9d48 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java @@ -32,6 +32,8 @@ public class AlipayReconcileStrategy extends AbsReconcileStrategy { private final AliPayConfigService configService; + private AliPayConfig config; + /** * 策略标识 * @@ -47,8 +49,7 @@ public class AlipayReconcileStrategy extends AbsReconcileStrategy { */ @Override public void doBeforeHandler() { - AliPayConfig config = configService.getConfig(); - configService.initConfig(config); + this.config = configService.getConfig(); } /** @@ -66,6 +67,6 @@ public class AlipayReconcileStrategy extends AbsReconcileStrategy { @Override public void downAndSave() { String date = LocalDateTimeUtil.format(this.getRecordOrder().getDate(), DatePattern.NORM_DATE_PATTERN); - reconcileService.downAndSave(date,this.getRecordOrder()); + reconcileService.downAndSave(date,this.getRecordOrder(),this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java index b84427d8..670285c8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java @@ -22,10 +22,13 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT public class AliRefundStrategy extends AbsRefundStrategy { private final AliPayConfigService alipayConfigService; + private final AliPayRefundService aliRefundService; + + private AliPayConfig config; + /** * 策略标识 - * * @see PayChannelEnum */ @Override @@ -39,8 +42,7 @@ public class AliRefundStrategy extends AbsRefundStrategy { */ @Override public void doBeforeRefundHandler() { - AliPayConfig config = alipayConfigService.getAndCheckConfig(); - alipayConfigService.initConfig(config); + this.config = alipayConfigService.getAndCheckConfig(); } /** @@ -48,6 +50,6 @@ public class AliRefundStrategy extends AbsRefundStrategy { */ @Override public void doRefundHandler() { - aliRefundService.refund(this.getRefundOrder()); + aliRefundService.refund(this.getRefundOrder(),this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java index 2f29743b..d1cf3eef 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java @@ -213,6 +213,7 @@ public class RefundRepairService { .setTradeId(refundOrder.getId()) .setRepairNo(repairResult.getRepairNo()) .setTradeNo(refundOrder.getRefundNo()) + .setChannel(refundOrder.getChannel()) .setRepairType(PaymentTypeEnum.REFUND.getCode()) .setBeforeStatus(repairResult.getBeforeRefundStatus().getCode()) .setAfterStatus(afterStatus) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java index 1722c07f..269894b1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java @@ -26,6 +26,8 @@ public class AliPayRepairStrategy extends AbsPayRepairStrategy { private final AliPayConfigService aliPayConfigService; + private AliPayConfig config; + /** * 策略标识 */ @@ -39,8 +41,7 @@ public class AliPayRepairStrategy extends AbsPayRepairStrategy { */ @Override public void doBeforeHandler() { - AliPayConfig config = aliPayConfigService.getConfig(); - aliPayConfigService.initConfig(config); + this.config = aliPayConfigService.getConfig(); } @@ -49,6 +50,6 @@ public class AliPayRepairStrategy extends AbsPayRepairStrategy { */ @Override public void doCloseRemoteHandler() { - closeService.close(this.getOrder()); + closeService.close(this.getOrder(), this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java index cca9d89d..66232160 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java @@ -2,7 +2,6 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPaySyncService; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; @@ -42,8 +41,6 @@ public class AliRefundSyncStrategy extends AbsRefundSyncStrategy { */ @Override public RefundRemoteSyncResult doSyncStatus() { - AliPayConfig config = alipayConfigService.getConfig(); - alipayConfigService.initConfig(config); return aliPaySyncService.syncRefundStatus(this.getRefundOrder()); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java index f43457a5..0f61e4cd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java @@ -40,16 +40,7 @@ public class AliPaySyncStrategy extends AbsPaySyncStrategy { */ @Override public PayRemoteSyncResult doSyncStatus() { - this.initAlipayConfig(); - return alipaySyncService.syncPayStatus(this.getOrder()); - } - - /** - * 初始化支付宝配置信息 - */ - private void initAlipayConfig() { - // 检查并获取支付宝支付配置 AliPayConfig config = alipayConfigService.getConfig(); - alipayConfigService.initConfig(config); + return alipaySyncService.syncPayStatus(this.getOrder(),config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index 30f5ae9f..cd18952c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayTransferService; import cn.daxpay.single.service.func.AbsTransferStrategy; @@ -31,6 +32,7 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { private final AliPayTransferService aliPayTransferService; + private AliPayConfig config; /** * 策略标识 @@ -54,7 +56,7 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { */ @Override public void doBeforeHandler() { - payConfigService.initConfig(payConfigService.getAndCheckConfig()); + this.config = payConfigService.getAndCheckConfig(); } /** @@ -62,6 +64,6 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { */ @Override public void doTransferHandler() { - aliPayTransferService.transfer(this.getTransferOrder()); + aliPayTransferService.transfer(this.getTransferOrder(), this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java index 567908dd..21bad69e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java @@ -60,7 +60,7 @@ public class TradeFlowRecord extends MpCreateEntity implements EntityBaseFunctio /** 通道交易号 */ @DbMySqlIndex(comment = "通道交易号索引") - @DbColumn(comment = "通道交易号", length = 150, isNull = false) + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; @Override diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java index 1812bd47..15b06719 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java @@ -42,19 +42,19 @@ public class PaySyncRecord extends MpCreateEntity implements EntityBaseFunction< /** 通道交易号 */ @DbMySqlIndex(comment = "通道交易号索引") - @DbColumn(comment = "通道交易号", length = 150, isNull = false) + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; /** - * 三方支付返回状态 + * 三方支付返回状态, 分账无返回状态 * @see PaySyncStatusEnum * @see RefundSyncStatusEnum */ - @DbColumn(comment = "网关返回状态", length = 20, isNull = false) + @DbColumn(comment = "网关返回状态", length = 30) private String outTradeStatus; /** - * 同步类型 支付/退款 + * 同步类型 支付/退款/分账/转账 * @see PaymentTypeEnum */ @DbColumn(comment = "同步类型", length = 20, isNull = false) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java index 11cb2b51..4d7f183f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java @@ -28,7 +28,7 @@ public class AllocationAutoStartTask implements Job { public void execute(JobExecutionContext jobExecutionContext) { for (PayOrder payOrder : payOrderManager.findAutoAllocation()) { AllocationParam param = new AllocationParam(); - param.setBizAllocationNo(OrderNoGenerateUtil.allocation()); + param.setBizAllocNo(OrderNoGenerateUtil.allocation()); try { allocationService.allocation(param, payOrder); } catch (Exception e) { diff --git a/daxpay-single/pom.xml b/daxpay-single/pom.xml index e9ea950f..16625393 100644 --- a/daxpay-single/pom.xml +++ b/daxpay-single/pom.xml @@ -29,7 +29,8 @@ <xml-apis.version>1.4.01</xml-apis.version> <spring.checkstyle.version>0.0.38</spring.checkstyle.version> <plumelog.version>3.5.2</plumelog.version> - <IJPay.version>2.9.10</IJPay.version> + <alipay.version>4.39.104.ALL</alipay.version> + <IJPay.version>2.9.11</IJPay.version> <egzosn-java.version>2.14.7</egzosn-java.version> <knife4j.version>4.4.0</knife4j.version> <mapstruct.version>1.5.3.Final</mapstruct.version> -- Gitee From b19888d5207fb915fd6da0a7cb28457bdb760d0c Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Mon, 17 Jun 2024 20:04:52 +0800 Subject: [PATCH 19/34] =?UTF-8?q?feat=20=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E8=BD=AC=E8=B4=A6=E6=8E=A5=E5=8F=A3=E7=9B=B8=E5=85=B3=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 16 +-- .../AllocationOrderController.java | 2 +- .../order/ReconcileOrderController.java | 2 +- .../order/RefundOrderController.java | 6 +- .../order/TransferOrderController.java | 77 +++++++++++++ .../payment/transfer/QueryTransferParam.java | 16 ++- .../param/payment/transfer/TransferParam.java | 4 - .../payment/transfer/TransferSyncParam.java | 29 +++++ .../result/order/TransferOrderResult.java | 19 ++++ .../result/sync/TransferSyncResult.java | 27 +++++ .../gateway/controller/UniPayController.java | 2 +- .../controller/UniPaySyncController.java | 13 ++- .../single/service/code/AliPayCode.java | 4 + .../service/common/context/TransferLocal.java | 2 +- .../alipay/service/AliPaySyncService.java | 29 +++++ .../alipay/service/AliPayTransferService.java | 53 +++++---- .../order/refund/dao/RefundOrderManager.java | 3 +- .../service/RefundOrderQueryService.java | 3 +- .../refund/service/RefundOrderService.java | 10 +- .../convert/TransferOrderConvert.java | 4 + .../transfer/dao/TransferOrderManager.java | 43 ++++++++ .../transfer/dao/TransferOrderMapper.java | 11 ++ .../order/transfer/entity/TransferOrder.java | 4 - .../service/TransferOrderQueryService.java | 94 ++++++++++++++++ .../service/TransferOrderService.java | 17 ++- .../payment/common/aop/PaymentVerifyAop.java | 5 +- .../common/service/PaymentAssistService.java | 2 +- .../sync/service/TransferSyncService.java | 26 +++++ .../Refund/AliRefundSyncStrategy.java | 3 - .../transfer/AliTransferSyncStrategy.java | 18 ++++ .../service/TransferAssistService.java | 1 - .../dto/order/transfer/TransferOrderDto.java | 6 +- .../service/func/AbsTransferSyncStrategy.java | 29 +++++ .../param/order/TransferOrderQuery.java | 101 ++++++++++++++++++ 34 files changed, 607 insertions(+), 74 deletions(-) rename daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/{allocation => order}/AllocationOrderController.java (98%) create mode 100644 daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferSyncParam.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/TransferOrderResult.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/TransferSyncResult.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/transfer/AliTransferSyncStrategy.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java create mode 100644 daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java diff --git a/_doc/Task.md b/_doc/Task.md index bad55e6b..6356dc4f 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -2,20 +2,21 @@ 2.0.8: 转账/撤销接口和系统优化 - [x] 支持撤销接口 - [x] 增加转账接口功能 +- [ ] 转账订单功能 - [ ] 转账同步接口 - [x] 支付宝支持JSAPI方式支付 -- [ ] 支付宝SDK修改为官方SDK +- [x] 支付宝SDK修改为官方SDK +- [ ] 手动发起分账是参数修正 - [ ] 细分各种支付异常类和编码(部分) -- [ ] 增加分账回调处理(支付宝) - [ ] 增加分账修复功能 - [x] 增加扫码获取微信OpenID和支付宝OpenId功能 - [x] 微信 - [x] 支付宝 - [ ] DEMO增加转账演示功能 - [x] 支付宝微信等消息通知地址支持一键生成 -- [ ] 管理端界面支持扫码绑定对账接收方功能 +- [x] 管理端界面支持扫码绑定对账接收方功能 - [x] 微信 - - [ ] 支付宝 + - [x] 支付宝 - [x] 界面金额统一显示为分 - [ ] 上下文对象进行优化精简 - [x] 请求IP参数增加正则校验 @@ -42,15 +43,16 @@ - [x] 策略工厂修改为通用策略工厂 - [x] 支付和退款达到终态不可以再回退回之前的状态 - [x] 修复支付关闭参数名称不正确问题 -- [ ] 脚手架优化 - - [ ] 请求权限改版, 使用专用配置类 - - [X] 去除消息通知模块 +- [X] 去除消息通知模块 2.0.9: 消息通知改版和系统优化 - [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 - [ ] 优化前端各种状态颜色展示 +- [ ] 修复功能优化, 更改为交易调整单 - [ ] 增加验签调试等功能的页面 - [ ] 聚合支付UA在前端判断, 提高响应速度 +- [ ] 增加分账回调处理(支付宝) +- [ ] 请求权限改版, 使用专用配置类 **任务池** - [ ] 增加收单收银台功能 diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java similarity index 98% rename from daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java rename to daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java index 709cadf9..f7e206e6 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.admin.controller.allocation; +package cn.daxpay.single.admin.controller.order; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java index 8b0d0260..8a1151c4 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java @@ -24,7 +24,7 @@ import org.springframework.web.multipart.MultipartFile; * @author xxm * @since 2024/1/18 */ -@Tag(name = "对账控制器") +@Tag(name = "对账订单控制器") @RestController @RequestMapping("/order/reconcile") @RequiredArgsConstructor diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java index b8c36c5c..5ae5779b 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java @@ -12,7 +12,6 @@ import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryServic import cn.daxpay.single.service.core.order.refund.service.RefundOrderService; import cn.daxpay.single.service.core.payment.sync.service.RefundSyncService; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.PayOrderRefundParam; import cn.daxpay.single.service.param.order.RefundOrderQuery; import io.swagger.v3.oas.annotations.Operation; @@ -25,7 +24,7 @@ import org.springframework.web.bind.annotation.*; * @author xxm * @since 2024/1/9 */ -@Tag(name = "支付退款控制器") +@Tag(name = "退款订单控制器") @RestController @RequestMapping("/order/refund") @RequiredArgsConstructor @@ -69,6 +68,7 @@ public class RefundOrderController { return Res.ok(); } + @InitPaymentContext(PaymentApiCode.SYNC_REFUND) @Operation(summary = "退款同步") @PostMapping("/syncByRefundNo") public ResResult<RefundSyncResult> syncByRefundNo(String refundNo){ @@ -79,7 +79,7 @@ public class RefundOrderController { @Operation(summary = "查询金额汇总") @GetMapping("/getTotalAmount") - public ResResult<Integer> getTotalAmount(PayOrderQuery param){ + public ResResult<Integer> getTotalAmount(RefundOrderQuery param){ return Res.ok(queryService.getTotalAmount(param)); } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java new file mode 100644 index 00000000..0cb5e164 --- /dev/null +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java @@ -0,0 +1,77 @@ +package cn.daxpay.single.admin.controller.order; + +import cn.bootx.platform.common.core.rest.PageResult; +import cn.bootx.platform.common.core.rest.Res; +import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.daxpay.single.code.PaymentApiCode; +import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.service.annotation.InitPaymentContext; +import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; +import cn.daxpay.single.service.core.order.transfer.service.TransferOrderService; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + * 转账订单控制器 + * @author xxm + * @since 2024/6/17 + */ +@Tag(name = "转账订单控制器") +@RestController +@RequestMapping("/order/transfer") +@RequiredArgsConstructor +public class TransferOrderController { + private final TransferOrderQueryService queryService; + private final TransferOrderService transferOrderService; + + + @Operation(summary = "分页查询") + @GetMapping("/page") + public ResResult<PageResult<TransferOrderDto>> page(PageParam pageParam, TransferOrderQuery query){ + return Res.ok(queryService.page(pageParam, query)); + } + + + @Operation(summary = "查询退款订单详情") + @GetMapping("/findByTransferNo") + public ResResult<TransferOrderDto> findByTransferNo(String refundNo){ + return Res.ok(queryService.findByTransferNo(refundNo)); + } + @Operation(summary = "查询单条") + @GetMapping("/findById") + public ResResult<TransferOrderDto> findById(Long id){ + return Res.ok(queryService.findById(id)); + } + + + @InitPaymentContext(PaymentApiCode.TRANSFER) + @Operation(summary = "手动发起转账") + @PostMapping("/transfer") + public ResResult<Void> transfer(@RequestBody TransferParam param){ + return Res.ok(); + } + + @InitPaymentContext(PaymentApiCode.TRANSFER) + @Operation(summary = "重新发起转账") + @PostMapping("/resetTransfer") + public ResResult<Void> resetTransfer(Long id){ + return Res.ok(); + } + + @Operation(summary = "手动转账同步") + @PostMapping("/syncByTransferNo") + public ResResult<Void> syncByTransferNo(String transferNo){ + return Res.ok(); + } + + @Operation(summary = "查询金额汇总") + @GetMapping("/getTotalAmount") + public ResResult<Integer> getTotalAmount(TransferOrderQuery param){ + return Res.ok(queryService.getTotalAmount(param)); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java index 67a1da65..f2d44cf8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java @@ -6,14 +6,26 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.Size; + /** - * 转正订单查询参数 + * 转账订单查询参数 * @author xxm * @since 2024/5/27 */ @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@Schema(title = "转正订单查询参数") +@Schema(title = "转账订单查询参数") public class QueryTransferParam extends PaymentCommonParam { + + /** 商户转账号 */ + @Size(max = 100, message = "商户转账号不可超过100位") + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Size(max = 32, message = "转账号不可超过100位") + @Schema(description = "转账号") + private String transferNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java index 8cf0e5ec..967f3b6e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java @@ -63,10 +63,6 @@ public class TransferParam extends PaymentCommonParam { @Schema(description = "转账类型, 微信使用") private String transferType; - /** 付款方显示名称 */ - @Size(max = 50, message = "付款方显示名称不可超过50位") - @Schema(description = "付款方显示名称") - private String payerShowName; /** * 收款人账号类型 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferSyncParam.java new file mode 100644 index 00000000..266ccebd --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferSyncParam.java @@ -0,0 +1,29 @@ +package cn.daxpay.single.param.payment.transfer; + +import cn.daxpay.single.param.PaymentCommonParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.Size; + +/** + * 转账状态同步参数 + * @author xxm + * @since 2024/6/17 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Schema(title = "转账状态同步参数") +public class TransferSyncParam extends PaymentCommonParam { + + /** 商户转账号 */ + @Size(max = 100, message = "商户转账号不可超过100位") + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Size(max = 32, message = "转账号不可超过100位") + @Schema(description = "转账号") + private String transferNo; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/TransferOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/TransferOrderResult.java new file mode 100644 index 00000000..8db961e7 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/TransferOrderResult.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.result.order; + +import cn.daxpay.single.result.PaymentCommonResult; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 转账订单数据 + * @author xxm + * @since 2024/6/17 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账订单数据") +public class TransferOrderResult extends PaymentCommonResult { +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/TransferSyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/TransferSyncResult.java new file mode 100644 index 00000000..11972ada --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/TransferSyncResult.java @@ -0,0 +1,27 @@ +package cn.daxpay.single.result.sync; + +import cn.daxpay.single.code.TransferStatusEnum; +import cn.daxpay.single.result.PaymentCommonResult; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 转账同步结果 + * @author xxm + * @since 2024/6/17 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账同步结果") +public class TransferSyncResult extends PaymentCommonResult { + + /** + * 转账状态 + * @see TransferStatusEnum + */ + @Schema(description = "转账状态") + private String status; +} diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java index 37c4aee0..6c5d2c73 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java @@ -13,8 +13,8 @@ import cn.daxpay.single.result.pay.PayCloseResult; import cn.daxpay.single.result.pay.PayResult; import cn.daxpay.single.result.pay.RefundResult; import cn.daxpay.single.result.transfer.TransferResult; -import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.cancel.service.PayCancelService; import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.pay.service.PayService; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java index 9dce6c2d..fd6dae1c 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java @@ -5,15 +5,18 @@ import cn.daxpay.single.code.PaymentApiCode; import cn.daxpay.single.param.payment.allocation.AllocSyncParam; import cn.daxpay.single.param.payment.pay.PaySyncParam; import cn.daxpay.single.param.payment.refund.RefundSyncParam; +import cn.daxpay.single.param.payment.transfer.TransferSyncParam; import cn.daxpay.single.result.DaxResult; import cn.daxpay.single.result.sync.AllocSyncResult; import cn.daxpay.single.result.sync.PaySyncResult; import cn.daxpay.single.result.sync.RefundSyncResult; -import cn.daxpay.single.service.annotation.PaymentVerify; +import cn.daxpay.single.result.sync.TransferSyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; import cn.daxpay.single.service.core.payment.sync.service.RefundSyncService; +import cn.daxpay.single.service.core.payment.sync.service.TransferSyncService; import cn.daxpay.single.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -38,6 +41,7 @@ public class UniPaySyncController { private final PaySyncService paySyncService; private final RefundSyncService refundSyncService; private final AllocationSyncService allocationSyncService; + private final TransferSyncService transferSyncService; @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_PAY) @@ -55,7 +59,6 @@ public class UniPaySyncController { return DaxRes.ok(refundSyncService.sync(param)); } - @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_ALLOCATION) @Operation(summary = "分账同步接口") @@ -68,8 +71,8 @@ public class UniPaySyncController { @InitPaymentContext(PaymentApiCode.SYNC_TRANSFER) @Operation(summary = "转账同步接口") @PostMapping("/transfer") - public DaxResult<Void> transfer(@RequestBody AllocSyncParam param){ - allocationSyncService.sync(param); - return DaxRes.ok(); + public DaxResult<TransferSyncResult> transfer(@RequestBody TransferSyncParam param){ + return DaxRes.ok(transferSyncService.sync(param)); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java index d095fbb9..87875abf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java @@ -89,6 +89,10 @@ public interface AliPayCode { /** 返回退款时间 */ String GMT_REFUND_PAY = "gmt_refund_pay"; + // 转账状态 + /** 转账成功 */ + String TRANSFER_SUCCESS = "SUCCESS"; + // 错误提示 /** 交易不存在 */ String ACQ_TRADE_NOT_EXIST = "ACQ.TRADE_NOT_EXIST"; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java index 51608e2a..5361ec15 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java @@ -19,7 +19,7 @@ public class TransferLocal { private String outTransferNo; /** 状态 */ - private TransferStatusEnum status = TransferStatusEnum.SUCCESS; + private TransferStatusEnum status = TransferStatusEnum.TRANSFERRING; /** 完成时间 */ private LocalDateTime finishTime; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java index c3307732..316f7912 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java @@ -3,22 +3,29 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.code.PaySyncStatusEnum; import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.code.TransferStatusEnum; +import cn.daxpay.single.result.sync.TransferSyncResult; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.hutool.json.JSONUtil; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; +import com.alipay.api.domain.AlipayFundTransCommonQueryModel; import com.alipay.api.domain.AlipayTradeFastpayRefundQueryModel; import com.alipay.api.domain.AlipayTradeQueryModel; +import com.alipay.api.request.AlipayFundTransCommonQueryRequest; import com.alipay.api.request.AlipayTradeFastpayRefundQueryRequest; import com.alipay.api.request.AlipayTradeQueryRequest; +import com.alipay.api.response.AlipayFundTransCommonQueryResponse; import com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse; import com.alipay.api.response.AlipayTradeQueryResponse; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -140,4 +147,26 @@ public class AliPaySyncService { } return syncResult; } + + /** + * 转账同步 + */ + @SneakyThrows + public TransferSyncResult syncTransferStatus(TransferOrder transferOrder){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(); + // 构造请求参数以调用接口 + AlipayFundTransCommonQueryRequest request = new AlipayFundTransCommonQueryRequest(); + AlipayFundTransCommonQueryModel model = new AlipayFundTransCommonQueryModel(); + // 设置销售产品码 + model.setProductCode("STD_RED_PACKET"); + // 设置描述特定的业务场景 + model.setBizScene("PERSONAL_PAY"); + // 设置商户转账唯一订单号 + model.setOutBizNo(transferOrder.getTransferNo()); + request.setBizModel(model); + AlipayFundTransCommonQueryResponse response = alipayClient.execute(request); + System.out.println(response.getBody()); + return new TransferSyncResult().setStatus(TransferStatusEnum.FAIL.getCode()); + } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index 0d6aee8a..a7f0b78d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -8,17 +8,16 @@ import cn.daxpay.single.service.common.context.TransferLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; -import cn.daxpay.single.util.OrderNoGenerateUtil; import cn.daxpay.single.util.PayUtil; import cn.hutool.core.date.DatePattern; -import cn.hutool.core.util.StrUtil; import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayFundAccountQueryModel; -import com.alipay.api.domain.AlipayFundTransToaccountTransferModel; +import com.alipay.api.domain.AlipayFundTransUniTransferModel; +import com.alipay.api.domain.Participant; import com.alipay.api.request.AlipayFundAccountQueryRequest; -import com.alipay.api.request.AlipayFundTransToaccountTransferRequest; +import com.alipay.api.request.AlipayFundTransUniTransferRequest; import com.alipay.api.response.AlipayFundAccountQueryResponse; -import com.alipay.api.response.AlipayFundTransToaccountTransferResponse; +import com.alipay.api.response.AlipayFundTransUniTransferResponse; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -57,18 +56,35 @@ public class AliPayTransferService { @SneakyThrows public void transfer(TransferOrder order, AliPayConfig aliPayConfig){ AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); - AlipayFundTransToaccountTransferModel model = new AlipayFundTransToaccountTransferModel(); - model.setAmount(PayUtil.conversionAmount(order.getAmount()).toString()); - model.setOutBizNo(OrderNoGenerateUtil.transfer()); - model.setPayeeType(order.getPayeeType()); - model.setPayeeAccount(order.getPayeeAccount()); - model.setPayerShowName(order.getPayerShowName()); - // 标题需要用附加方式传输进去 - model.setExtParam(StrUtil.format("{order_title: '{}'}", order.getTitle())); + + // 构造请求参数以调用接口 + AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); + AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel(); + + // 设置转账业务的标题 + model.setOrderTitle(order.getTitle()); + // 设置描述特定的业务场景 + model.setBizScene("DIRECT_TRANSFER"); + // 设置业务产品码 + model.setProductCode("TRANS_ACCOUNT_NO_PWD"); + // 设置转账业务请求的扩展参数 + model.setBusinessParams("{payer_show_name_use_alias: true}"); + // 设置业务备注 + model.setRemark(order.getReason()); + // 设置商家侧唯一订单号 + model.setOutBizNo(order.getTransferNo()); + // 设置订单总金额 + model.setTransAmount(PayUtil.conversionAmount(order.getAmount()).toString()); + + // 设置收款方信息 + Participant payeeInfo = new Participant(); + payeeInfo.setIdentity(order.getPayeeAccount()); + payeeInfo.setName(order.getPayeeName()); + payeeInfo.setIdentityType(order.getPayeeType()); + model.setPayeeInfo(payeeInfo); model.setRemark(order.getReason()); - AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest(); request.setBizModel(model); - AlipayFundTransToaccountTransferResponse response = alipayClient.execute(request); + AlipayFundTransUniTransferResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("网关返回退款失败: {}", response.getSubMsg()); throw new PayFailureException(response.getSubMsg()); @@ -77,9 +93,10 @@ public class AliPayTransferService { // 通道转账号 transferInfo.setOutTransferNo(response.getOrderId()); // 有完成时间代表处理完成 - String payDate = response.getPayDate(); - if (StrUtil.isNotBlank(payDate)){ - LocalDateTime time = LocalDateTimeUtil.parse(payDate, DatePattern.NORM_DATETIME_PATTERN); + if (Objects.equals(response.getStatus(), AliPayCode.TRANSFER_SUCCESS)){ + // 时间 + String transDate = response.getTransDate(); + LocalDateTime time = LocalDateTimeUtil.parse(transDate, DatePattern.NORM_DATETIME_PATTERN); transferInfo.setFinishTime(time).setStatus(TransferStatusEnum.SUCCESS); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java index 4070f6dd..4452acad 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java @@ -7,7 +7,6 @@ import cn.bootx.platform.common.query.generator.QueryGenerator; import cn.daxpay.single.code.PayStatusEnum; import cn.daxpay.single.code.RefundStatusEnum; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.RefundOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -86,7 +85,7 @@ public class RefundOrderManager extends BaseManager<RefundOrderMapper, RefundOrd /** * 查询汇总金额 */ - public Integer getTalAmount(PayOrderQuery query){ + public Integer getTalAmount(RefundOrderQuery query){ QueryWrapper<RefundOrder> generator = QueryGenerator.generator(query); generator.eq(MpUtil.getColumnName(RefundOrder::getStatus), PayStatusEnum.SUCCESS.getCode()); return baseMapper.getTalAmount(generator); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java index e529c947..41cdacbb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java @@ -11,7 +11,6 @@ import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.RefundOrderQuery; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -89,7 +88,7 @@ public class RefundOrderQueryService { /** * 查询支付总金额 */ - public Integer getTotalAmount(PayOrderQuery param) { + public Integer getTotalAmount(RefundOrderQuery param) { return refundOrderManager.getTalAmount(param); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java index f2b3b847..4dd8d6cf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java @@ -50,8 +50,6 @@ public class RefundOrderService { refundParam.setReason(param.getReason()); refundParam.setReqTime(LocalDateTime.now()); refundParam.setClientIp(ip); - // 手动初始化上下文 - paymentAssistService.initRequest(refundParam); // 调用统一退款接口 refundService.refund(refundParam); } @@ -60,8 +58,7 @@ public class RefundOrderService { * 重新退款 */ public void resetRefund(Long id){ - - // 查询扩展信息 + // 查询信息 RefundOrder refundOrder = refundOrderManager.findById(id) .orElseThrow(() -> new DataNotExistException("未找到退款订单")); @@ -76,8 +73,7 @@ public class RefundOrderService { refundParam.setAttach(refundOrder.getAttach()); refundParam.setReqTime(LocalDateTime.now()); refundParam.setClientIp(ip); - - // 手动初始化请求上下文 - paymentAssistService.initRequest(refundParam); + // 调用统一退款接口 + refundService.refund(refundParam); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java index 08b5b0a8..c84d7f5f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.order.transfer.convert; +import cn.daxpay.single.result.order.TransferOrderResult; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import org.mapstruct.Mapper; @@ -15,4 +16,7 @@ public interface TransferOrderConvert { TransferOrderConvert CONVERT = Mappers.getMapper(TransferOrderConvert.class); TransferOrderDto convert(TransferOrder in); + + + TransferOrderResult convertResult(TransferOrder in); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java index 91206efd..3a3b6afc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java @@ -1,11 +1,21 @@ package cn.daxpay.single.service.core.order.transfer.dao; +import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; +import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.bootx.platform.common.query.generator.QueryGenerator; +import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; +import java.util.Optional; + /** * * @author xxm @@ -15,4 +25,37 @@ import org.springframework.stereotype.Repository; @Repository @RequiredArgsConstructor public class TransferOrderManager extends BaseManager<TransferOrderMapper, TransferOrder> { + + + /** + * 分页 + */ + public Page<TransferOrder> page(PageParam pageParam, TransferOrderQuery query) { + Page<TransferOrder> mpPage = MpUtil.getMpPage(pageParam, TransferOrder.class); + QueryWrapper<TransferOrder> generator = QueryGenerator.generator(query); + return page(mpPage,generator); + } + + /** + * 根据转账号查询 + */ + public Optional<TransferOrder> findByTransferNo(String transferNo) { + return findByField(TransferOrder::getTransferNo, transferNo); + } + + /** + * 根据商户转账号查询 + */ + public Optional<TransferOrder> findByBizTransferNo(String bizTransferNo) { + return findByField(TransferOrder::getBizTransferNo, bizTransferNo); + } + + /** + * 查询汇总金额 + */ + public Integer getTalAmount(TransferOrderQuery query){ + QueryWrapper<TransferOrderQuery> generator = QueryGenerator.generator(query); + generator.eq(MpUtil.getColumnName(RefundOrder::getStatus), PayStatusEnum.SUCCESS.getCode()); + return baseMapper.getTalAmount(generator); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java index b5009faa..468b679d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java @@ -1,8 +1,13 @@ package cn.daxpay.single.service.core.order.transfer.dao; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * @@ -11,4 +16,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TransferOrderMapper extends BaseMapper<TransferOrder> { + + /** + * 查询转账总金额 + */ + @Select("select sum(amount) from pay_transfer_order ${ew.customSqlSegment}") + Integer getTalAmount(@Param(Constants.WRAPPER) QueryWrapper<TransferOrderQuery> generator); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index 38734f83..d7877653 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -76,10 +76,6 @@ public class TransferOrder extends MpBaseEntity implements EntityBaseFunction<Tr @DbColumn(comment = "付款方", length = 100) private String payer; - /** 付款方显示名称 */ - @DbColumn(comment = "付款方显示名称", length = 50) - private String payerShowName; - /** * 收款人类型 * @see TransferPayeeTypeEnum diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java new file mode 100644 index 00000000..d9838bf2 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java @@ -0,0 +1,94 @@ +package cn.daxpay.single.service.core.order.transfer.service; + +import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.common.core.rest.PageResult; +import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.param.payment.transfer.QueryTransferParam; +import cn.daxpay.single.result.order.TransferOrderResult; +import cn.daxpay.single.service.core.order.transfer.convert.TransferOrderConvert; +import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Objects; +import java.util.Optional; + +/** + * 转账订单查询服务 + * @author xxm + * @since 2024/3/21 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class TransferOrderQueryService { + private final TransferOrderManager transferOrderManager; + + /** + * 分页查询 + */ + public PageResult<TransferOrderDto> page(PageParam pageParam, TransferOrderQuery query) { + Page<TransferOrder> page = transferOrderManager.page(pageParam, query); + return MpUtil.convert2DtoPageResult(page); + } + + /** + * 根据id查询 + */ + public TransferOrderDto findById(Long id) { + return transferOrderManager.findById(id).map(TransferOrder::toDto) + .orElseThrow(() -> new DataNotExistException("转账订单不存在")); + } + + /** + * 根据转账号查询 + */ + public TransferOrderDto findByTransferNo(String transferNo){ + return transferOrderManager.findByTransferNo(transferNo).map(TransferOrder::toDto) + .orElseThrow(() -> new DataNotExistException("转账订单扩展信息不存在")); + + } + + /** + * 根据转账号和商户转账号查询 + */ + public Optional<TransferOrder> findByBizOrTransferNo(String transferNo, String bizTransferNo) { + if (StrUtil.isNotBlank(transferNo)){ + return transferOrderManager.findByTransferNo(transferNo); + } else if (StrUtil.isNotBlank(bizTransferNo)){ + return transferOrderManager.findByBizTransferNo(bizTransferNo); + } else { + return Optional.empty(); + } + } + + /** + * 查询转账订单 + */ + public TransferOrderResult queryTransferOrder(QueryTransferParam param) { + // 校验参数 + if (StrUtil.isBlank(param.getTransferNo()) && Objects.isNull(param.getBizTransferNo())){ + throw new PayFailureException("转账号或商户转账号不能都为空"); + } + // 查询转账单 + TransferOrder transferOrder = this.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo()) + .orElseThrow(() -> new PayFailureException("转账订单不存在")); + + return TransferOrderConvert.CONVERT.convertResult(transferOrder); + } + + /** + * 查询支付总金额 + */ + public Integer getTotalAmount(TransferOrderQuery param) { + return transferOrderManager.getTalAmount(param); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java index 055b18a2..fb620dac 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java @@ -5,9 +5,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; /** - * 转正订单服务 + * 转账订单服务 * @author xxm - * @since 2024/3/21 + * @since 2024/6/17 */ @Slf4j @Service @@ -15,6 +15,17 @@ import org.springframework.stereotype.Service; public class TransferOrderService { /** - * 创建订单 + * 手动转账 */ + public void transfer(){ + + } + + /** + * 重试转账 + */ + public void retryTransfer(){ + + } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java index 2e5dbd19..69fa7732 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java @@ -40,9 +40,8 @@ public class PaymentVerifyAop { if (param instanceof PaymentCommonParam){ // 参数校验 ValidationUtil.validateParam(param); - - // 请求上下文初始化 - paymentAssistService.initRequest((PaymentCommonParam) param); + // 终端信息初始化 + paymentAssistService.initClient((PaymentCommonParam) param); // 参数签名校验 paymentAssistService.signVerify((PaymentCommonParam) param); // 参数请求时间校验 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java index b8dbaa35..13f266a2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java @@ -32,7 +32,7 @@ public class PaymentAssistService { /** * 初始化请求相关信息上下文 */ - public void initRequest(PaymentCommonParam paymentCommonParam){ + public void initClient(PaymentCommonParam paymentCommonParam){ ClientLocal request = PaymentContextLocal.get().getClientInfo(); request.setClientIp(paymentCommonParam.getClientIp()); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java new file mode 100644 index 00000000..e85a6606 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java @@ -0,0 +1,26 @@ +package cn.daxpay.single.service.core.payment.sync.service; + +import cn.daxpay.single.param.payment.transfer.TransferSyncParam; +import cn.daxpay.single.result.sync.TransferSyncResult; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 转账同步接口 + * @author xxm + * @since 2024/6/17 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class TransferSyncService { + + /** + * 转账同步接口 + */ + public TransferSyncResult sync(TransferSyncParam param) { + + return null; + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java index 66232160..2b1b219f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java @@ -2,7 +2,6 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPaySyncService; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.daxpay.single.service.func.AbsRefundSyncStrategy; @@ -22,8 +21,6 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT @RequiredArgsConstructor public class AliRefundSyncStrategy extends AbsRefundSyncStrategy { - private final AliPayConfigService alipayConfigService; - private final AliPaySyncService aliPaySyncService;; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/transfer/AliTransferSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/transfer/AliTransferSyncStrategy.java new file mode 100644 index 00000000..3ae1b75e --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/transfer/AliTransferSyncStrategy.java @@ -0,0 +1,18 @@ +package cn.daxpay.single.service.core.payment.sync.strategy.transfer; + +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 转账同步接口 + * @author xxm + * @since 2024/6/17 + */ +@Scope(SCOPE_PROTOTYPE) +@Component +@RequiredArgsConstructor +public class AliTransferSyncStrategy { +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java index 25bcb15f..5044c7e4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -39,7 +39,6 @@ public class TransferAssistService { .setPayeeName(param.getPayeeName()) .setPayeeAccount(param.getPayeeAccount()) .setPayeeType(param.getPayeeType()) - .setPayerShowName(param.getPayerShowName()) .setReason(param.getReason()) .setStatus(TransferStatusEnum.TRANSFERRING.getCode()) .setTitle(param.getTitle()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java index fb71952e..c8996eec 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java @@ -27,7 +27,7 @@ public class TransferOrderDto extends BaseDto { private String bizTransferNo; /** 转账号 */ - @Schema(description = "收款人账号") + @Schema(description = "转账号") private String transferNo; /** 通道转账号 */ @@ -64,10 +64,6 @@ public class TransferOrderDto extends BaseDto { @Schema(description = "付款方") private String payer; - /** 付款方显示名称 */ - @Schema(description = "付款方显示名称") - private String payerShowName; - /** * 收款人类型 * @see TransferPayeeTypeEnum diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java new file mode 100644 index 00000000..992fbc27 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java @@ -0,0 +1,29 @@ +package cn.daxpay.single.service.func; + +import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; +import lombok.Getter; +import lombok.Setter; + +/** + * 转账修复策略 + * @author xxm + * @since 2024/6/17 + */ +@Getter +@Setter +public abstract class AbsTransferSyncStrategy implements PayStrategy{ + + private TransferOrder transferOrder; + + /** + * 同步前处理 + */ + public void doBeforeHandler(){} + /** + * 异步支付单与支付网关进行状态比对后的结果 + * @see PaySyncStatusEnum + */ + public abstract RefundRemoteSyncResult doSyncStatus(); +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java new file mode 100644 index 00000000..4e895cb8 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java @@ -0,0 +1,101 @@ +package cn.daxpay.single.service.param.order; + +import cn.bootx.platform.common.core.annotation.QueryParam; +import cn.bootx.platform.common.core.rest.param.QueryOrder; +import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.code.TransferPayeeTypeEnum; +import cn.daxpay.single.code.TransferTypeEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 转账订单查询参数 + * @author xxm + * @since 2024/6/17 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账订单查询参数") +public class TransferOrderQuery extends QueryOrder { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "转账号") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String transferNo; + + /** 通道转账号 */ + @Schema(description = "通道转账号") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Schema(description = "标题") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String title; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Schema(description = "转账类型, 微信使用") + private String transferType; + + /** 付款方 */ + @Schema(description = "付款方") + private String payer; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + @Schema(description = "收款人类型") + private String payeeType; + + /** 收款人账号 */ + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Schema(description = "收款人姓名") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String payeeName; + + /** + * 状态 + * @see cn.daxpay.single.code.TransferStatusEnum + */ + @Schema(description = "状态") + private String status; + + /** 成功时间 */ + @Schema(description = "成功时间") + private LocalDateTime successTime; + + /** + * 错误码 + */ + @Schema(description = "错误码") + private String errorCode; + +} -- Gitee From 9ef50fae2ebabbbd56dc43a95f786821976f183a Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Mon, 17 Jun 2024 20:59:36 +0800 Subject: [PATCH 20/34] =?UTF-8?q?pref=20=E9=80=9A=E7=9F=A5=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=9C=B0=E5=9D=80=E8=B0=83=E6=95=B4,=20=E5=8C=85?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 6 +++--- .../java/cn/daxpay/single/code/DaxPayCode.java | 12 ------------ ...rorCode.java => DaxPayCommonErrorCode.java} | 5 ++++- .../exception/pay/AmountAbnormalException.java | 6 +++--- .../exception/pay/PayFailureException.java | 6 +++--- .../exception/pay/PayHasExistedException.java | 4 ++-- .../pay/PayIsProcessingException.java | 4 ++-- .../exception/pay/PayNotExistedException.java | 4 ++-- .../pay/PayUnsupportedMethodException.java | 4 ++-- .../waller/WalletBannedException.java | 4 ++-- .../waller/WalletInfoNotExistException.java | 4 ++-- .../waller/WalletLackOfBalanceException.java | 4 ++-- .../exception/waller/WalletLogError.java | 4 ++-- .../waller/WalletNotExistsException.java | 4 ++-- .../cn/daxpay/single/util/PaySignUtil.java | 5 +++-- ...er.java => CallbackReceiverController.java} | 4 ++-- ...ller.java => NoticeReceiverController.java} | 4 ++-- .../controller/PayReturnController.java | 18 +++++++++--------- .../alipay/service/AliPayConfigService.java | 4 ++-- .../union/service/UnionPayConfigService.java | 4 ++-- .../wechat/service/WeChatPayConfigService.java | 4 ++-- .../service/RefundOrderQueryService.java | 2 +- 22 files changed, 54 insertions(+), 62 deletions(-) delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCode.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/{DaxPayErrorCode.java => DaxPayCommonErrorCode.java} (91%) rename daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/{PayCallbackController.java => CallbackReceiverController.java} (97%) rename daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/{PayNoticeReceiverController.java => NoticeReceiverController.java} (94%) diff --git a/_doc/Task.md b/_doc/Task.md index 6356dc4f..e0e89a1a 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -3,16 +3,15 @@ - [x] 支持撤销接口 - [x] 增加转账接口功能 - [ ] 转账订单功能 +- [ ] DEMO增加转账演示功能 - [ ] 转账同步接口 +- [ ] 手动发起分账是参数修正 - [x] 支付宝支持JSAPI方式支付 - [x] 支付宝SDK修改为官方SDK -- [ ] 手动发起分账是参数修正 - [ ] 细分各种支付异常类和编码(部分) -- [ ] 增加分账修复功能 - [x] 增加扫码获取微信OpenID和支付宝OpenId功能 - [x] 微信 - [x] 支付宝 -- [ ] DEMO增加转账演示功能 - [x] 支付宝微信等消息通知地址支持一键生成 - [x] 管理端界面支持扫码绑定对账接收方功能 - [x] 微信 @@ -49,6 +48,7 @@ - [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 - [ ] 优化前端各种状态颜色展示 - [ ] 修复功能优化, 更改为交易调整单 +- [ ] 增加分账修复功能 - [ ] 增加验签调试等功能的页面 - [ ] 聚合支付UA在前端判断, 提高响应速度 - [ ] 增加分账回调处理(支付宝) diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCode.java deleted file mode 100644 index 5e133eda..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCode.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.daxpay.single.code; - -/** - * 支付系统相关常量 - * @author xxm - * @since 2024/1/7 - */ -public interface DaxPayCode { - - /** 签名字段 */ - String FIELD_SIGN = "sign"; -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCommonErrorCode.java similarity index 91% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayErrorCode.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCommonErrorCode.java index cc72742d..54cae84a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayErrorCode.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCommonErrorCode.java @@ -6,7 +6,10 @@ package cn.daxpay.single.code; * @author xxm * @since 2020/12/7 */ -public interface DaxPayErrorCode { +public interface DaxPayCommonErrorCode { + + /** 未归类的错误 */ + int UNCLASSIFIED_ERROR = 10000; /** * 支付失败 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java index ad6f88b4..fe865495 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.pay; import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 异常金额 @@ -12,11 +12,11 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class AmountAbnormalException extends FatalException { public AmountAbnormalException(String msg) { - super(DaxPayErrorCode.PAYMENT_AMOUNT_ABNORMAL, msg); + super(DaxPayCommonErrorCode.PAYMENT_AMOUNT_ABNORMAL, msg); } public AmountAbnormalException() { - super(DaxPayErrorCode.PAYMENT_AMOUNT_ABNORMAL, "异常金额"); + super(DaxPayCommonErrorCode.PAYMENT_AMOUNT_ABNORMAL, "异常金额"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java index ef1c5026..364c35b7 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.pay; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 支付错误 @@ -12,11 +12,11 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class PayFailureException extends BizException { public PayFailureException(String message) { - super(DaxPayErrorCode.PAY_FAILURE, message); + super(DaxPayCommonErrorCode.PAY_FAILURE, message); } public PayFailureException() { - super(DaxPayErrorCode.PAY_FAILURE, "支付失败"); + super(DaxPayCommonErrorCode.PAY_FAILURE, "支付失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java index a8fc4558..4da479c5 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.pay; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 付款已存在 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class PayHasExistedException extends BizException { public PayHasExistedException() { - super(DaxPayErrorCode.PAYMENT_HAS_EXISTED, "付款已存在"); + super(DaxPayCommonErrorCode.PAYMENT_HAS_EXISTED, "付款已存在"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java index c866f09c..b4343988 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.pay; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 付款正在处理中 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class PayIsProcessingException extends BizException { public PayIsProcessingException() { - super(DaxPayErrorCode.PAYMENT_IS_PROCESSING, "付款正在处理中"); + super(DaxPayCommonErrorCode.PAYMENT_IS_PROCESSING, "付款正在处理中"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java index 9d436afa..5b64f78c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.pay; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 付款记录不存在 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class PayNotExistedException extends BizException { public PayNotExistedException() { - super(DaxPayErrorCode.PAYMENT_RECORD_NOT_EXISTED, "付款记录不存在"); + super(DaxPayCommonErrorCode.PAYMENT_RECORD_NOT_EXISTED, "付款记录不存在"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java index 128b973f..4e5e4ad6 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.pay; import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 付款方式不支持异常 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class PayUnsupportedMethodException extends FatalException { public PayUnsupportedMethodException() { - super(DaxPayErrorCode.PAYMENT_METHOD_UNSUPPORT, "不支持的支付方式"); + super(DaxPayCommonErrorCode.PAYMENT_METHOD_UNSUPPORT, "不支持的支付方式"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java index 947c83e1..efd4fc68 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.waller; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 钱包被禁用 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class WalletBannedException extends BizException { public WalletBannedException() { - super(DaxPayErrorCode.WALLET_BANNED, "钱包被禁用"); + super(DaxPayCommonErrorCode.WALLET_BANNED, "钱包被禁用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java index bd812afb..19ca6c8e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.waller; import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 钱包信息不存在 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class WalletInfoNotExistException extends FatalException { public WalletInfoNotExistException() { - super(DaxPayErrorCode.WALLET_INFO_NOT_EXISTS, "钱包信息不存在"); + super(DaxPayCommonErrorCode.WALLET_INFO_NOT_EXISTS, "钱包信息不存在"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java index ec3fecb9..0e478288 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.waller; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 余额不足异常 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class WalletLackOfBalanceException extends BizException { public WalletLackOfBalanceException() { - super(DaxPayErrorCode.WALLET_BALANCE_NOT_ENOUGH, "余额不足异常"); + super(DaxPayCommonErrorCode.WALLET_BALANCE_NOT_ENOUGH, "余额不足异常"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java index 749f836d..261628a1 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.waller; import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 钱包日志错误 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class WalletLogError extends FatalException { public WalletLogError() { - super(DaxPayErrorCode.WALLET_LOG_ERROR, "钱包日志错误"); + super(DaxPayCommonErrorCode.WALLET_LOG_ERROR, "钱包日志错误"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java index 36ce2fd6..ed166abe 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.exception.waller; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.code.DaxPayCommonErrorCode; /** * 钱包不存在 @@ -12,7 +12,7 @@ import cn.daxpay.single.code.DaxPayErrorCode; public class WalletNotExistsException extends BizException { public WalletNotExistsException() { - super(DaxPayErrorCode.WALLET_NOT_EXISTS, "钱包不存在"); + super(DaxPayCommonErrorCode.WALLET_NOT_EXISTS, "钱包不存在"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java index 912b7b59..aa14014b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java @@ -14,8 +14,6 @@ import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; -import static cn.daxpay.single.code.DaxPayCode.FIELD_SIGN; - /** * 如果需要进行签名, * 1. 参数名ASCII码从小到大排序(字典序) @@ -27,6 +25,9 @@ import static cn.daxpay.single.code.DaxPayCode.FIELD_SIGN; @UtilityClass public class PaySignUtil { + private String FIELD_SIGN = "sign"; + + /** * 将参数转换为map对象. 使用ChatGPT生成 * 1. 参数名ASCII码从小到大排序(字典序) diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java similarity index 97% rename from daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java rename to daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java index 99991b8b..455d47f4 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java @@ -32,9 +32,9 @@ import java.util.Map; @Slf4j @Tag(name = "支付通道信息回调") @RestController -@RequestMapping("/callback/pay") +@RequestMapping("/unipay/callback") @AllArgsConstructor -public class PayCallbackController { +public class CallbackReceiverController { private final AliPayCallbackService aliPayCallbackService; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java similarity index 94% rename from daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java rename to daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java index bacfb5fc..6d7480c1 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java @@ -23,9 +23,9 @@ import java.util.Objects; @IgnoreAuth @Tag(name = "支付通道网关消息通知") @RestController -@RequestMapping("/callback/notice") +@RequestMapping("/unipay/notice") @RequiredArgsConstructor -public class PayNoticeReceiverController { +public class NoticeReceiverController { private final AliPayNoticeReceiverService aliPayNoticeReceiverService; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java index cb6146f4..3704d468 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java @@ -14,33 +14,33 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; /** - * 支付同步通知控制器 + * 同步通知跳转控制器 * @author xxm * @since 2024/1/13 */ @IgnoreAuth -@Tag(name = "支付同步通知") +@Tag(name = "同步通知跳转控制器") @RestController -@RequestMapping("/return/pay") +@RequestMapping("/unipay/return") @RequiredArgsConstructor public class PayReturnController { private final PayReturnService payReturnService; - @Operation(summary = "支付宝同步跳转连接") - @GetMapping("/alipay") + @Operation(summary = "支付宝同步跳转通知") + @GetMapping("/pay/alipay") public ModelAndView alipay(AliPayReturnParam param){ String url = payReturnService.alipay(param); return new ModelAndView("redirect:" + url); } - @Operation(summary = "微信同步跳转连接") - @GetMapping("/wechat") + @Operation(summary = "微信同步跳转通知") + @GetMapping("/pay/wechat") public ModelAndView wechat(){ return null; } - @Operation(summary = "云闪付同步跳转连接") - @PostMapping("/union") + @Operation(summary = "云闪付同步跳转通知") + @PostMapping("/pay/union") public ModelAndView union(UnionPayReturnParam param){ String url = payReturnService.union(param); return new ModelAndView("redirect:" + url); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index bde29a6d..8fbdbe30 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -81,14 +81,14 @@ public class AliPayConfigService { * 生成通知地址 */ public String generateNotifyUrl(){ - return platformConfigService.getConfig().getWebsiteUrl() + "/callback/pay/alipay"; + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/callback/alipay"; } /** * 生成同步跳转地址 */ public String generateReturnUrl(){ - return platformConfigService.getConfig().getWebsiteUrl() + "/return/pay/alipay"; + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/return/alipay"; } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java index 4fac70ae..0c3d861c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java @@ -81,14 +81,14 @@ public class UnionPayConfigService { * 生成通知地址 */ public String generateNotifyUrl(){ - return platformConfigService.getConfig().getWebsiteUrl() + "/callback/pay/union"; + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/callback/union"; } /** * 生成同步跳转地址 */ public String generateReturnUrl(){ - return platformConfigService.getConfig().getWebsiteUrl() + "/return/pay/union"; + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/return/union"; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java index b17d4469..29a1a1d0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java @@ -78,14 +78,14 @@ public class WeChatPayConfigService { * 生成微信通知地址 */ public String generateNotifyUrl(){ - return platformConfigService.getConfig().getWebsiteUrl() + "/callback/pay/wechat"; + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/callback/wechat"; } /** * 生成同步跳转地址 */ public String generateReturnUrl(){ - return platformConfigService.getConfig().getWebsiteUrl() + "/return/pay/wechat"; + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/return/wechat"; } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java index 41cdacbb..0f57130d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java @@ -76,7 +76,7 @@ public class RefundOrderQueryService { public RefundOrderResult queryRefundOrder(QueryRefundParam param) { // 校验参数 if (StrUtil.isBlank(param.getRefundNo()) && Objects.isNull(param.getBizRefundNo())){ - throw new PayFailureException("退款号或=商户退款号不能都为空"); + throw new PayFailureException("退款号或商户退款号不能都为空"); } // 查询退款单 RefundOrder refundOrder = this.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo()) -- Gitee From 96344eb0e9276d5f1d455f06df604b9097a76a58 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Tue, 18 Jun 2024 18:11:37 +0800 Subject: [PATCH 21/34] =?UTF-8?q?pref=20=E6=94=AF=E4=BB=98=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=B1=BB=E6=8B=86=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 2 +- .../AllocationReceiverController.java | 6 +- .../order/AllocationOrderController.java | 8 +- .../controller/order/PayOrderController.java | 12 +-- .../order/RefundOrderController.java | 6 +- .../order/TransferOrderController.java | 4 +- .../single/code/DaxPayCommonErrorCode.java | 80 ------------------- .../code/AllocDetailResultEnum.java | 2 +- .../{ => core}/code/AllocOrderResultEnum.java | 2 +- .../{ => core}/code/AllocOrderStatusEnum.java | 2 +- .../code/AllocReceiverTypeEnum.java | 2 +- .../code/AllocRelationTypeEnum.java | 2 +- .../core/code/DaxPayCommonErrorCode.java | 75 +++++++++++++++++ .../{ => core}/code/PayChannelEnum.java | 4 +- .../single/{ => core}/code/PayMethodEnum.java | 4 +- .../code/PayOrderAllocStatusEnum.java | 2 +- .../code/PayOrderRefundStatusEnum.java | 2 +- .../{ => core}/code/PaySignTypeEnum.java | 2 +- .../single/{ => core}/code/PayStatusEnum.java | 2 +- .../{ => core}/code/PaySyncStatusEnum.java | 6 +- .../{ => core}/code/PaymentApiCode.java | 2 +- .../{ => core}/code/ReconcileTradeEnum.java | 2 +- .../{ => core}/code/RefundStatusEnum.java | 2 +- .../{ => core}/code/RefundSyncStatusEnum.java | 2 +- .../code/TransferPayeeTypeEnum.java | 2 +- .../{ => core}/code/TransferStatusEnum.java | 2 +- .../{ => core}/code/TransferTypeEnum.java | 2 +- .../exception/AmountExceedLimitException.java | 19 +++++ .../exception/ChannelNotEnabledException.java | 19 +++++ .../exception/ChannelNotExistException.java | 19 +++++ .../exception/ConfigNotEnabledException.java | 19 +++++ .../exception/MethodNotEnabledException.java | 19 +++++ .../exception/MethodNotExistException.java | 19 +++++ .../exception/OperationFailedException.java | 19 +++++ .../ParamValidationFailedException.java | 19 +++++ .../exception}/PayFailureException.java | 13 ++- .../ReconcileGetFailedException.java | 19 +++++ .../exception/ReconcileNotExistException.java | 19 +++++ .../ReconcileNotGeneratedException.java | 19 +++++ .../ReconciliationFailedException.java | 19 +++++ .../exception/StatusNotExistException.java | 19 +++++ .../SystemUnknownErrorException.java | 19 +++++ .../core/exception/TradeClosedException.java | 19 +++++ .../core/exception/TradeFailedException.java | 19 +++++ .../exception/TradeNotExistException.java | 19 +++++ .../exception/TradeProcessingException.java | 19 +++++ .../exception/TradeStatusErrorException.java | 19 +++++ .../UnsupportedAbilityException.java | 19 +++++ .../exception/VerifySignFailedException.java | 19 +++++ .../single/{ => core}/param/ChannelParam.java | 2 +- .../{ => core}/param/PaymentCommonParam.java | 4 +- .../param/assist/AliPayAccessTokenParam.java | 4 +- .../param/assist/AliPayAuthUrlParam.java | 4 +- .../param/assist/WxAccessTokenParam.java | 4 +- .../param/assist/WxAuthUrlParam.java | 4 +- .../{ => core}/param/channel/AliPayParam.java | 4 +- .../param/channel/UnionPayParam.java | 2 +- .../param/channel/WalletPayParam.java | 4 +- .../param/channel/WeChatPayParam.java | 4 +- .../payment/allocation/AllocFinishParam.java | 4 +- .../allocation/AllocReceiverAddParam.java | 10 +-- .../allocation/AllocReceiverParam.java | 2 +- .../allocation/AllocReceiverRemoveParam.java | 5 +- .../payment/allocation/AllocSyncParam.java | 4 +- .../payment/allocation/AllocationParam.java | 4 +- .../allocation/QueryAllocOrderParam.java | 4 +- .../allocation/QueryAllocReceiverParam.java | 4 +- .../param/payment/pay/PayCancelParam.java | 4 +- .../param/payment/pay/PayCloseParam.java | 4 +- .../param/payment/pay/PayParam.java | 18 ++--- .../param/payment/pay/PaySyncParam.java | 4 +- .../param/payment/pay/QueryPayParam.java | 4 +- .../payment/refund/QueryRefundParam.java | 4 +- .../param/payment/refund/RefundParam.java | 10 +-- .../param/payment/refund/RefundSyncParam.java | 4 +- .../payment/transfer/QueryTransferParam.java | 4 +- .../param/payment/transfer/TransferParam.java | 10 +-- .../payment/transfer/TransferSyncParam.java | 4 +- .../single/{ => core}/result/DaxResult.java | 2 +- .../result/PaymentCommonResult.java | 4 +- .../allocation/AllocReceiverAddResult.java | 4 +- .../allocation/AllocReceiverRemoveResult.java | 4 +- .../allocation/AllocReceiverResult.java | 8 +- .../allocation/AllocReceiversResult.java | 4 +- .../result/allocation/AllocationResult.java | 6 +- .../result/assist/WxAccessTokenResult.java | 4 +- .../result/assist/WxAuthUrlResult.java | 4 +- .../result/order/AllocOrderDetailResult.java | 6 +- .../result/order/AllocOrderResult.java | 10 +-- .../result/order/PayOrderResult.java | 16 ++-- .../result/order/RefundOrderResult.java | 10 +-- .../result/order/TransferOrderResult.java | 4 +- .../result/pay/PayCancelResult.java | 4 +- .../{ => core}/result/pay/PayCloseResult.java | 4 +- .../{ => core}/result/pay/PayResult.java | 4 +- .../{ => core}/result/pay/RefundResult.java | 4 +- .../result/sync/AllocSyncResult.java | 4 +- .../{ => core}/result/sync/PaySyncResult.java | 8 +- .../result/sync/RefundSyncResult.java | 10 +-- .../result/sync/TransferSyncResult.java | 6 +- .../result/transfer/TransferResult.java | 7 +- .../LocalDateTimeToTimestampSerializer.java | 2 +- .../TimestampToLocalDateTimeDeserializer.java | 2 +- .../daxpay/single/{ => core}/util/DaxRes.java | 4 +- .../{ => core}/util/OrderNoGenerateUtil.java | 2 +- .../single/{ => core}/util/PaySignUtil.java | 2 +- .../single/{ => core}/util/PayUtil.java | 2 +- .../pay/AmountAbnormalException.java | 22 ----- .../exception/pay/PayHasExistedException.java | 18 ----- .../pay/PayIsProcessingException.java | 18 ----- .../exception/pay/PayNotExistedException.java | 18 ----- .../pay/PayUnsupportedMethodException.java | 18 ----- .../waller/WalletBannedException.java | 18 ----- .../waller/WalletInfoNotExistException.java | 18 ----- .../waller/WalletLackOfBalanceException.java | 18 ----- .../exception/waller/WalletLogError.java | 18 ----- .../waller/WalletNotExistsException.java | 18 ----- .../CallbackReceiverController.java | 2 +- .../controller/NoticeReceiverController.java | 2 +- .../controller/UniAllocationController.java | 20 ++--- .../controller/UniPayAssistController.java | 14 ++-- .../gateway/controller/UniPayController.java | 26 +++--- .../controller/UniPaySyncController.java | 22 ++--- .../controller/UniQueryController.java | 25 +++--- .../controller/UniReconcileController.java | 6 +- .../annotation/InitPaymentContext.java | 2 +- .../daxpay/single/service/code/AliPayWay.java | 4 +- .../single/service/code/UnionPayWay.java | 6 +- .../single/service/code/WalletPayWay.java | 6 +- .../single/service/code/WeChatPayWay.java | 6 +- .../service/common/context/CallbackLocal.java | 4 +- .../service/common/context/PlatformLocal.java | 2 +- .../service/common/context/RefundLocal.java | 2 +- .../service/common/context/TransferLocal.java | 2 +- .../configuration/DaxPayProperties.java | 2 +- .../AliPayAllocationReceiverService.java | 8 +- .../service/AliPayAllocationService.java | 8 +- .../alipay/service/AliPayCallbackService.java | 4 +- .../alipay/service/AliPayCloseService.java | 4 +- .../alipay/service/AliPayConfigService.java | 2 +- .../service/AliPayReconcileService.java | 8 +- .../alipay/service/AliPayRefundService.java | 6 +- .../channel/alipay/service/AliPayService.java | 13 +-- .../alipay/service/AliPaySyncService.java | 8 +- .../alipay/service/AliPayTransferService.java | 8 +- .../service/UnionPayCallbackService.java | 6 +- .../union/service/UnionPayCloseService.java | 4 +- .../union/service/UnionPayConfigService.java | 4 +- .../service/UnionPayReconcileService.java | 9 +-- .../union/service/UnionPayRefundService.java | 4 +- .../union/service/UnionPayService.java | 20 ++--- .../union/service/UnionPaySyncService.java | 4 +- .../wallet/service/WalletQueryService.java | 8 +- .../WeChatPayAllocationReceiverService.java | 10 +-- .../service/WeChatPayAllocationService.java | 5 +- .../service/WeChatPayCallbackService.java | 6 +- .../wechat/service/WeChatPayCloseService.java | 1 - .../service/WeChatPayConfigService.java | 1 - .../service/WeChatPayReconcileService.java | 5 +- .../service/WeChatPayRefundService.java | 3 +- .../wechat/service/WeChatPayService.java | 11 ++- .../wechat/service/WeChatPaySyncService.java | 4 +- .../service/WeChatPayTransferService.java | 1 - .../service/core/extra/WeChatAuthService.java | 8 +- .../core/notice/entity/ClientNoticeTask.java | 6 +- .../allocation/convert/AllocOrderConvert.java | 4 +- .../dao/AllocationOrderManager.java | 2 +- .../order/allocation/entity/AllocOrder.java | 6 +- .../allocation/entity/AllocOrderDetail.java | 4 +- .../service/AllocOrderQueryService.java | 2 +- .../allocation/service/AllocOrderService.java | 15 ++-- .../order/pay/convert/PayOrderConvert.java | 2 +- .../core/order/pay/dao/PayOrderManager.java | 4 +- .../core/order/pay/entity/PayOrder.java | 7 +- .../pay/service/PayOrderQueryService.java | 11 +-- .../order/pay/service/PayOrderService.java | 4 +- .../order/reconcile/entity/ReconcileDiff.java | 4 +- .../reconcile/entity/ReconcileOrder.java | 2 +- .../refund/convert/RefundOrderConvert.java | 2 +- .../order/refund/dao/RefundOrderManager.java | 4 +- .../core/order/refund/entity/RefundOrder.java | 10 +-- .../service/RefundOrderQueryService.java | 5 +- .../refund/service/RefundOrderService.java | 4 +- .../convert/TransferOrderConvert.java | 2 +- .../transfer/dao/TransferOrderManager.java | 2 +- .../order/transfer/entity/TransferOrder.java | 9 ++- .../service/TransferOrderQueryService.java | 5 +- .../convert/AllocationReceiverConvert.java | 4 +- .../allocation/entity/AllocationReceiver.java | 6 +- .../service/AllocationAssistService.java | 2 +- .../service/AllocationGroupService.java | 1 - .../service/AllocationReceiverService.java | 19 +++-- .../allocation/service/AllocationService.java | 25 +++--- .../service/AllocationSyncService.java | 10 +-- .../allocation/AliPayAllocationStrategy.java | 3 +- .../WeChatPayAllocationStrategy.java | 3 +- .../AliPayAllocationReceiverStrategy.java | 3 +- .../WeChatPayAllocationReceiverStrategy.java | 3 +- .../callback/service/PayCallbackService.java | 2 +- .../service/RefundCallbackService.java | 2 +- .../cancel/service/PayCancelService.java | 7 +- .../cancel/strategy/AliPayCancelStrategy.java | 2 +- .../strategy/WeChatPayCancelStrategy.java | 4 +- .../close/service/PayCloseService.java | 7 +- .../close/strategy/AliPayCloseStrategy.java | 2 +- .../close/strategy/UnionPayCloseStrategy.java | 2 +- .../strategy/WeChatPayCloseStrategy.java | 2 +- .../common/aop/InitPlatformInfoAop.java | 1 - .../payment/common/aop/PaymentVerifyAop.java | 7 +- .../common/service/PaymentAssistService.java | 17 ++-- .../result/AllocDetailNoticeResult.java | 6 +- .../notice/result/AllocNoticeResult.java | 10 +-- .../notice/result/PayNoticeResult.java | 12 +-- .../notice/result/RefundNoticeResult.java | 8 +- .../payment/pay/service/PayAssistService.java | 19 +++-- .../pay/service/PayExpiredTimeService.java | 2 +- .../core/payment/pay/service/PayService.java | 20 +---- .../payment/pay/strategy/AliPayStrategy.java | 5 +- .../pay/strategy/UnionPayStrategy.java | 5 +- .../pay/strategy/WalletPayStrategy.java | 12 ++- .../pay/strategy/WeChatPayStrategy.java | 2 +- .../service/ReconcileAssistService.java | 2 +- .../reconcile/service/ReconcileService.java | 5 +- .../strategy/AlipayReconcileStrategy.java | 2 +- .../strategy/UnionPayReconcileStrategy.java | 2 +- .../strategy/WechatPayReconcileStrategy.java | 2 +- .../refund/service/RefundAssistService.java | 19 +++-- .../payment/refund/service/RefundService.java | 9 +-- .../refund/strategy/AliRefundStrategy.java | 2 +- .../refund/strategy/UnionRefundStrategy.java | 2 +- .../refund/strategy/WalletRefundStrategy.java | 4 +- .../refund/strategy/WeChatRefundStrategy.java | 2 +- .../repair/result/PayRepairResult.java | 2 +- .../repair/result/RefundRepairResult.java | 4 +- .../repair/service/PayRepairService.java | 6 +- .../repair/service/RefundRepairService.java | 8 +- .../strategy/pay/AliPayRepairStrategy.java | 2 +- .../strategy/pay/UnionPayRepairStrategy.java | 2 +- .../strategy/pay/WeChatPayRepairStrategy.java | 2 +- .../sync/result/PayRemoteSyncResult.java | 4 +- .../sync/result/RefundRemoteSyncResult.java | 4 +- .../payment/sync/service/PaySyncService.java | 15 ++-- .../sync/service/RefundSyncService.java | 9 +-- .../sync/service/TransferSyncService.java | 4 +- .../Refund/AliRefundSyncStrategy.java | 4 +- .../Refund/UnionRefundSyncStrategy.java | 4 +- .../Refund/WeChatRefundSyncStrategy.java | 2 +- .../sync/strategy/pay/AliPaySyncStrategy.java | 2 +- .../strategy/pay/UnionPaySyncStrategy.java | 4 +- .../strategy/pay/WeChatPaySyncStrategy.java | 2 +- .../service/TransferAssistService.java | 8 +- .../transfer/service/TransferService.java | 6 +- .../strategy/AliPayTransferStrategy.java | 7 +- .../strategy/WeChatTransferStrategy.java | 7 +- .../callback/entity/PayCallbackRecord.java | 2 +- .../record/close/entity/PayCloseRecord.java | 2 +- .../record/flow/entity/TradeFlowRecord.java | 2 +- .../record/repair/entity/PayRepairRecord.java | 2 +- .../record/sync/entity/PaySyncRecord.java | 6 +- .../report/service/CockpitReportService.java | 2 +- .../system/config/entity/PlatformConfig.java | 2 +- .../AllocationGroupReceiverResult.java | 4 +- .../dto/allocation/AllocationReceiverDto.java | 6 +- .../wechat/WeChatPayAllocationReceiver.java | 2 +- .../dto/order/allocation/AllocOrderDto.java | 4 +- .../allocation/AllocationOrderDetailDto.java | 4 +- .../service/dto/order/pay/PayOrderDto.java | 8 +- .../dto/order/reconcile/ReconcileDiffDto.java | 4 +- .../order/reconcile/ReconcileDiffExcel.java | 4 +- .../dto/order/refund/RefundOrderDto.java | 10 +-- .../dto/order/transfer/TransferOrderDto.java | 9 ++- .../record/callback/PayCallbackRecordDto.java | 2 +- .../dto/record/close/PayCloseRecordDto.java | 2 +- .../dto/record/flow/TradeFlowRecordDto.java | 2 +- .../record/notice/ClientNoticeTaskDto.java | 4 +- .../dto/record/repair/PayRepairRecordDto.java | 2 +- .../dto/record/sync/PaySyncRecordDto.java | 6 +- .../dto/system/config/PlatformConfigDto.java | 2 +- .../single/service/func/AbsPayStrategy.java | 2 +- .../service/func/AbsPaySyncStrategy.java | 2 +- .../service/func/AbsRefundSyncStrategy.java | 2 +- .../service/func/AbsTransferStrategy.java | 2 +- .../service/func/AbsTransferSyncStrategy.java | 2 +- .../single/service/func/PayStrategy.java | 4 +- .../handler/excel/AmountConverter.java | 2 +- .../handler/excel/PayChannelConvert.java | 2 +- .../handler/excel/ReconcileTradeConvert.java | 2 +- .../receiver/AllocationReceiverQuery.java | 4 +- .../service/param/order/PayOrderQuery.java | 8 +- .../service/param/order/RefundOrderQuery.java | 4 +- .../param/order/TransferOrderQuery.java | 9 ++- .../param/reconcile/ReconcileDiffQuery.java | 4 +- .../reconcile/ReconcileTradeDetailQuery.java | 2 +- .../param/record/PayCallbackRecordQuery.java | 2 +- .../param/record/PayCloseRecordQuery.java | 2 +- .../param/record/PayRepairRecordQuery.java | 2 +- .../param/record/PaySyncRecordQuery.java | 6 +- .../param/record/TradeFlowRecordQuery.java | 2 +- .../system/config/PlatformConfigParam.java | 2 +- .../service/task/AllocationAutoStartTask.java | 4 +- .../service/task/AllocationSyncTask.java | 2 +- .../service/task/PayExpiredTimeTask.java | 2 +- .../service/util/PayStrategyFactory.java | 4 +- .../single/core/util/PayParamSignTest.java | 5 +- 304 files changed, 1163 insertions(+), 989 deletions(-) delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCommonErrorCode.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/AllocDetailResultEnum.java (92%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/AllocOrderResultEnum.java (92%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/AllocOrderStatusEnum.java (94%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/AllocReceiverTypeEnum.java (97%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/AllocRelationTypeEnum.java (94%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PayChannelEnum.java (89%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PayMethodEnum.java (90%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PayOrderAllocStatusEnum.java (90%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PayOrderRefundStatusEnum.java (96%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PaySignTypeEnum.java (88%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PayStatusEnum.java (96%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PaySyncStatusEnum.java (92%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/PaymentApiCode.java (97%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/ReconcileTradeEnum.java (95%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/RefundStatusEnum.java (96%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/RefundSyncStatusEnum.java (92%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/TransferPayeeTypeEnum.java (97%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/TransferStatusEnum.java (91%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/code/TransferTypeEnum.java (93%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnabledException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnabledException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnabledException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailedException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailedException.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{exception/pay => core/exception}/PayFailureException.java (46%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileGetFailedException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailedException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailedException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/ChannelParam.java (75%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/PaymentCommonParam.java (91%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/assist/AliPayAccessTokenParam.java (82%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/assist/AliPayAuthUrlParam.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/assist/WxAccessTokenParam.java (82%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/assist/WxAuthUrlParam.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/channel/AliPayParam.java (90%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/channel/UnionPayParam.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/channel/WalletPayParam.java (80%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/channel/WeChatPayParam.java (80%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/AllocFinishParam.java (80%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/AllocReceiverAddParam.java (88%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/AllocReceiverParam.java (93%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/AllocReceiverRemoveParam.java (82%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/AllocSyncParam.java (80%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/AllocationParam.java (94%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/QueryAllocOrderParam.java (81%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/allocation/QueryAllocReceiverParam.java (84%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/pay/PayCancelParam.java (85%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/pay/PayCloseParam.java (82%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/pay/PayParam.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/pay/PaySyncParam.java (83%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/pay/QueryPayParam.java (81%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/refund/QueryRefundParam.java (83%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/refund/RefundParam.java (89%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/refund/RefundSyncParam.java (82%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/transfer/QueryTransferParam.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/transfer/TransferParam.java (91%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/param/payment/transfer/TransferSyncParam.java (86%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/DaxResult.java (95%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/PaymentCommonResult.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/allocation/AllocReceiverAddResult.java (79%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/allocation/AllocReceiverRemoveResult.java (79%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/allocation/AllocReceiverResult.java (80%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/allocation/AllocReceiversResult.java (83%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/allocation/AllocationResult.java (81%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/assist/WxAccessTokenResult.java (84%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/assist/WxAuthUrlResult.java (82%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/order/AllocOrderDetailResult.java (90%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/order/AllocOrderResult.java (89%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/order/PayOrderResult.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/order/RefundOrderResult.java (89%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/order/TransferOrderResult.java (79%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/pay/PayCancelResult.java (79%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/pay/PayCloseResult.java (79%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/pay/PayResult.java (89%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/pay/RefundResult.java (87%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/sync/AllocSyncResult.java (79%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/sync/PaySyncResult.java (71%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/sync/RefundSyncResult.java (67%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/sync/TransferSyncResult.java (77%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/result/transfer/TransferResult.java (77%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/serializer/LocalDateTimeToTimestampSerializer.java (95%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/serializer/TimestampToLocalDateTimeDeserializer.java (95%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/util/DaxRes.java (85%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/util/OrderNoGenerateUtil.java (98%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/util/PaySignUtil.java (99%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/{ => core}/util/PayUtil.java (98%) delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java diff --git a/_doc/Task.md b/_doc/Task.md index e0e89a1a..a3bff487 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -6,9 +6,9 @@ - [ ] DEMO增加转账演示功能 - [ ] 转账同步接口 - [ ] 手动发起分账是参数修正 +- [ ] 细分各种支付异常类和编码(部分) - [x] 支付宝支持JSAPI方式支付 - [x] 支付宝SDK修改为官方SDK -- [ ] 细分各种支付异常类和编码(部分) - [x] 增加扫码获取微信OpenID和支付宝OpenId功能 - [x] 微信 - [x] 支付宝 diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java index 4abe240e..c8717882 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java @@ -6,9 +6,9 @@ import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverRemoveParam; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java index f7e206e6..35336ff1 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java @@ -5,10 +5,10 @@ import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocFinishParam; -import cn.daxpay.single.param.payment.allocation.AllocSyncParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; +import cn.daxpay.single.core.param.payment.allocation.AllocSyncParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.allocation.service.AllocOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java index d8b8e91e..fd0e77fe 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java @@ -5,11 +5,11 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.param.payment.pay.PayCloseParam; -import cn.daxpay.single.param.payment.pay.PaySyncParam; -import cn.daxpay.single.result.sync.PaySyncResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.param.payment.pay.PayCloseParam; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.result.sync.PaySyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; @@ -18,7 +18,7 @@ import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; import cn.daxpay.single.service.param.order.PayOrderQuery; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java index 5ae5779b..3be57996 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java @@ -4,9 +4,9 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.refund.RefundSyncParam; -import cn.daxpay.single.result.sync.RefundSyncResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.refund.RefundSyncParam; +import cn.daxpay.single.core.result.sync.RefundSyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; import cn.daxpay.single.service.core.order.refund.service.RefundOrderService; diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java index 0cb5e164..a838ded0 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java @@ -4,8 +4,8 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderService; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCommonErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCommonErrorCode.java deleted file mode 100644 index 54cae84a..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCommonErrorCode.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.daxpay.single.code; - -/** - * 错误码 - * - * @author xxm - * @since 2020/12/7 - */ -public interface DaxPayCommonErrorCode { - - /** 未归类的错误 */ - int UNCLASSIFIED_ERROR = 10000; - - /** - * 支付失败 - */ - int PAY_FAILURE = 20000; - - /** - * 支付金额异常 - */ - int PAYMENT_AMOUNT_ABNORMAL = 28100; - - /** - * 支付记录不存在 - */ - int PAYMENT_RECORD_NOT_EXISTED = 28101; - - /** - * 支付在进行中 - */ - int PAYMENT_IS_PROCESSING = 28102; - - /** - * 支付已经存在 - */ - int PAYMENT_HAS_EXISTED = 28104; - - /** - * 支付手动取消 - */ - int PAYMENT_CANCEL = 28105; - - /** - * 不支持的支付方式 - */ - int PAYMENT_METHOD_UNSUPPORT = 28106; - /** - * 钱包已存在 - */ - int WALLET_ALREADY_EXISTS = 28814; - - /** - * 钱包不存在 - */ - int WALLET_NOT_EXISTS = 28815; - - /** - * 钱包已被禁用 - */ - int WALLET_BANNED = 28816; - - /** - * 钱包余额不足 - */ - int WALLET_BALANCE_NOT_ENOUGH = 28817; - - /** - * wallet 信息不存在 - */ - int WALLET_INFO_NOT_EXISTS = 28819; - - /** - * 钱包日志异常(类型不正确,或者充值金额小于0等场景) - */ - int WALLET_LOG_ERROR = 28827; - - - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocDetailResultEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocDetailResultEnum.java similarity index 92% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocDetailResultEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocDetailResultEnum.java index 867eaf7e..2bd76538 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocDetailResultEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocDetailResultEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderResultEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderResultEnum.java similarity index 92% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderResultEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderResultEnum.java index f24217b8..b965bf08 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderResultEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderResultEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderStatusEnum.java similarity index 94% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderStatusEnum.java index f7efa97a..f14c8e96 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java similarity index 97% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java index 9b755987..2be31fc2 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocRelationTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocRelationTypeEnum.java similarity index 94% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocRelationTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocRelationTypeEnum.java index e141dd14..64f731aa 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocRelationTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocRelationTypeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java new file mode 100644 index 00000000..49b91987 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java @@ -0,0 +1,75 @@ +package cn.daxpay.single.core.code; + +/** + * 公共错误码 + * @author xxm + * @since 2024/6/17 + */ +public interface DaxPayCommonErrorCode { + /** 未归类的错误 */ + int UNCLASSIFIED_ERROR = 10000; + + /** 不存在的支付通道 */ + int CHANNEL_NOT_EXIST = 10011; + + /** 不存在的支付方式 */ + int METHOD_NOT_EXIST = 10012; + + /** 不存在的状态 */ + int STATUS_NOT_EXIST = 10013; + + /** 支付通道未启用 */ + int CHANNEL_NOT_ENABLED = 10021; + + /** 支付方式未启用 */ + int METHOD_NOT_ENABLED = 10022; + + /** 配置未启用 */ + int CONFIG_NOT_ENABLED = 10023; + + /** 不支持该能力 */ + int UNSUPPORTED_ABILITY = 10030; + + /** 交易不存在 */ + int TRADE_NOT_EXIST = 10041; + + /** 交易已关闭 */ + int TRADE_CLOSED = 10042; + + /** 交易处理中, 请勿重复操作 */ + int TRADE_PROCESSING = 10043; + + /** 交易状态错误 */ + int TRADE_STATUS_ERROR = 10044; + + /** 交易失败 */ + int TRADE_FAILED = 10045; + + /** 参数校验未通过 */ + int PARAM_VALIDATION_FAILED = 10051; + + /** 验签失败 */ + int VERIFY_SIGN_FAILED = 10052; + + /** 金额超过限额 */ + int AMOUNT_EXCEED_LIMIT = 10060; + + /** 对账文件获取失败 */ + int RECONCILE_GET_FAILED = 10071; + + /** 对账交易账单不存在 */ + int RECONCILE_NOT_EXIST = 10072; + + /** 对账交易账单未生成 */ + int RECONCILE_NOT_GENERATED = 10073; + + /** 对账失败 */ + int RECONCILIATION_FAILED = 10074; + + /** 操作失败 */ + int OPERATION_FAILED = 10080; + + + /** 未知异常,系统无法处理 */ + int SYSTEM_UNKNOWN_ERROR = 20000; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayChannelEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java similarity index 89% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayChannelEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java index c679ee28..7b6f5b01 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayChannelEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.PayFailureException; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayMethodEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java similarity index 90% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayMethodEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java index 983528b0..c71c4c68 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayMethodEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.PayFailureException; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderAllocStatusEnum.java similarity index 90% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderAllocStatusEnum.java index 29646632..35f71e08 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderAllocStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderRefundStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderRefundStatusEnum.java similarity index 96% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderRefundStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderRefundStatusEnum.java index 7785b288..9106b2aa 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderRefundStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderRefundStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import cn.bootx.platform.common.core.exception.DataNotExistException; import lombok.AllArgsConstructor; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySignTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySignTypeEnum.java similarity index 88% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySignTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySignTypeEnum.java index 150c0595..b955d3e2 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySignTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySignTypeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayStatusEnum.java similarity index 96% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayStatusEnum.java index 0d1b0f75..bf0e1805 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import cn.bootx.platform.common.core.exception.DataNotExistException; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySyncStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java similarity index 92% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySyncStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java index 5eb24c66..3da05f07 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySyncStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.PayFailureException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -40,6 +40,6 @@ public enum PaySyncStatusEnum { return Arrays.stream(values()) .filter(item -> Objects.equals(item.getCode(), code)) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付同步状态")); + .orElseThrow(() -> new PayFailureException("不存在的支付状态")); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaymentApiCode.java similarity index 97% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaymentApiCode.java index d0d7e930..e971bfa4 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaymentApiCode.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; /** * 支付接口编码清单 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/ReconcileTradeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/ReconcileTradeEnum.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/ReconcileTradeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/ReconcileTradeEnum.java index 9de4494a..0b7c8546 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/ReconcileTradeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/ReconcileTradeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import cn.bootx.platform.common.core.exception.DataNotExistException; import lombok.AllArgsConstructor; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundStatusEnum.java similarity index 96% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundStatusEnum.java index 76287b97..162f3888 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import cn.bootx.platform.common.core.exception.DataNotExistException; import lombok.AllArgsConstructor; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundSyncStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundSyncStatusEnum.java similarity index 92% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundSyncStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundSyncStatusEnum.java index a8ab02bf..cb2ca2bc 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundSyncStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundSyncStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java similarity index 97% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java index 9d73eb41..f6d8b59b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferPayeeTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java similarity index 91% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java index 1c3685d6..5e586d62 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java similarity index 93% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java index 2f97d3ca..b9aaf82a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/TransferTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java new file mode 100644 index 00000000..37f6361c --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 金额超过限额 + * @author xxm + * @since 2024/6/17 + */ +public class AmountExceedLimitException extends PayFailureException{ + + public AmountExceedLimitException(String message) { + super(DaxPayCommonErrorCode.AMOUNT_EXCEED_LIMIT,message); + } + + public AmountExceedLimitException() { + super(DaxPayCommonErrorCode.AMOUNT_EXCEED_LIMIT,"金额超过限额"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnabledException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnabledException.java new file mode 100644 index 00000000..7bfa6163 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnabledException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 支付通道未启用 + * @author xxm + * @since 2024/6/17 + */ +public class ChannelNotEnabledException extends PayFailureException{ + + public ChannelNotEnabledException(String message) { + super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLED,message); + } + + public ChannelNotEnabledException() { + super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLED,"支付通道未启用"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java new file mode 100644 index 00000000..9482d2e5 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 不存在的支付通道 + * @author xxm + * @since 2024/6/17 + */ +public class ChannelNotExistException extends PayFailureException{ + + public ChannelNotExistException(String message) { + super(DaxPayCommonErrorCode.CHANNEL_NOT_EXIST,message); + } + + public ChannelNotExistException() { + super(DaxPayCommonErrorCode.CHANNEL_NOT_EXIST,"不存在的支付通道"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnabledException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnabledException.java new file mode 100644 index 00000000..aa7d9850 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnabledException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 配置未启用 + * @author xxm + * @since 2024/6/17 + */ +public class ConfigNotEnabledException extends PayFailureException{ + + public ConfigNotEnabledException(String message) { + super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLED,message); + } + + public ConfigNotEnabledException() { + super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLED,"配置未启用"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnabledException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnabledException.java new file mode 100644 index 00000000..58d81dcf --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnabledException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 支付方式未启用 + * @author xxm + * @since 2024/6/17 + */ +public class MethodNotEnabledException extends PayFailureException{ + + public MethodNotEnabledException(String message) { + super(DaxPayCommonErrorCode.METHOD_NOT_ENABLED,message); + } + + public MethodNotEnabledException() { + super(DaxPayCommonErrorCode.METHOD_NOT_ENABLED,"支付方式未启用"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java new file mode 100644 index 00000000..dfe4fad7 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 不存在的支付方式 + * @author xxm + * @since 2024/6/17 + */ +public class MethodNotExistException extends PayFailureException{ + + public MethodNotExistException(String message) { + super(DaxPayCommonErrorCode.METHOD_NOT_EXIST,message); + } + + public MethodNotExistException() { + super(DaxPayCommonErrorCode.METHOD_NOT_EXIST,"不存在的支付方式"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailedException.java new file mode 100644 index 00000000..1b5ec21d --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 操作失败 + * @author xxm + * @since 2024/6/17 + */ +public class OperationFailedException extends PayFailureException{ + + public OperationFailedException(String message) { + super(DaxPayCommonErrorCode.OPERATION_FAILED,message); + } + + public OperationFailedException() { + super(DaxPayCommonErrorCode.OPERATION_FAILED,"操作失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailedException.java new file mode 100644 index 00000000..159f38d9 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 参数校验未通过 + * @author xxm + * @since 2024/6/17 + */ +public class ParamValidationFailedException extends PayFailureException{ + + public ParamValidationFailedException(String message) { + super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAILED,message); + } + + public ParamValidationFailedException() { + super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAILED,"参数校验未通过"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java similarity index 46% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java index 364c35b7..12c09934 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java @@ -1,7 +1,7 @@ -package cn.daxpay.single.exception.pay; +package cn.daxpay.single.core.exception; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; /** * 支付错误 @@ -11,12 +11,17 @@ import cn.daxpay.single.code.DaxPayCommonErrorCode; */ public class PayFailureException extends BizException { + + public PayFailureException(int code, String message) { + super(code, message); + } + public PayFailureException(String message) { - super(DaxPayCommonErrorCode.PAY_FAILURE, message); + super(DaxPayCommonErrorCode.UNCLASSIFIED_ERROR, message); } public PayFailureException() { - super(DaxPayCommonErrorCode.PAY_FAILURE, "支付失败"); + super(DaxPayCommonErrorCode.UNCLASSIFIED_ERROR, "支付失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileGetFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileGetFailedException.java new file mode 100644 index 00000000..b0397b88 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileGetFailedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 对账文件获取失败 + * @author xxm + * @since 2024/6/17 + */ +public class ReconcileGetFailedException extends PayFailureException{ + + public ReconcileGetFailedException(String message) { + super(DaxPayCommonErrorCode.RECONCILE_GET_FAILED,message); + } + + public ReconcileGetFailedException() { + super(DaxPayCommonErrorCode.RECONCILE_GET_FAILED,"对账文件获取失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java new file mode 100644 index 00000000..7a6004b6 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 对账交易账单不存在 + * @author xxm + * @since 2024/6/17 + */ +public class ReconcileNotExistException extends PayFailureException{ + + public ReconcileNotExistException(String message) { + super(DaxPayCommonErrorCode.RECONCILE_NOT_EXIST,message); + } + + public ReconcileNotExistException() { + super(DaxPayCommonErrorCode.RECONCILE_NOT_EXIST,"对账交易账单不存在"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java new file mode 100644 index 00000000..ab2fecf3 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 对账交易账单未生成 + * @author xxm + * @since 2024/6/17 + */ +public class ReconcileNotGeneratedException extends PayFailureException{ + + public ReconcileNotGeneratedException(String message) { + super(DaxPayCommonErrorCode.RECONCILE_NOT_GENERATED,message); + } + + public ReconcileNotGeneratedException() { + super(DaxPayCommonErrorCode.RECONCILE_NOT_GENERATED,"对账交易账单未生成"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailedException.java new file mode 100644 index 00000000..75ce6eec --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 对账失败 + * @author xxm + * @since 2024/6/17 + */ +public class ReconciliationFailedException extends PayFailureException{ + + public ReconciliationFailedException(String message) { + super(DaxPayCommonErrorCode.RECONCILIATION_FAILED,message); + } + + public ReconciliationFailedException() { + super(DaxPayCommonErrorCode.RECONCILIATION_FAILED,"对账失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java new file mode 100644 index 00000000..31cccedd --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 不存在的状态 + * @author xxm + * @since 2024/6/17 + */ +public class StatusNotExistException extends PayFailureException{ + + public StatusNotExistException(String message) { + super(DaxPayCommonErrorCode.STATUS_NOT_EXIST,message); + } + + public StatusNotExistException() { + super(DaxPayCommonErrorCode.STATUS_NOT_EXIST,"不存在的状态"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java new file mode 100644 index 00000000..50e70100 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 未知异常,系统无法处理 + * @author xxm + * @since 2024/6/17 + */ +public class SystemUnknownErrorException extends PayFailureException{ + + public SystemUnknownErrorException(String message) { + super(DaxPayCommonErrorCode.SYSTEM_UNKNOWN_ERROR,message); + } + + public SystemUnknownErrorException() { + super(DaxPayCommonErrorCode.SYSTEM_UNKNOWN_ERROR,"未知异常,系统无法处理"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java new file mode 100644 index 00000000..be9e78ca --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 交易已关闭 + * @author xxm + * @since 2024/6/17 + */ +public class TradeClosedException extends PayFailureException{ + + public TradeClosedException(String message) { + super(DaxPayCommonErrorCode.TRADE_CLOSED,message); + } + + public TradeClosedException() { + super(DaxPayCommonErrorCode.TRADE_CLOSED,"交易已关闭"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailedException.java new file mode 100644 index 00000000..52e5eb90 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 交易失败 + * @author xxm + * @since 2024/6/17 + */ +public class TradeFailedException extends PayFailureException{ + + public TradeFailedException(String message) { + super(DaxPayCommonErrorCode.TRADE_FAILED,message); + } + + public TradeFailedException() { + super(DaxPayCommonErrorCode.TRADE_FAILED,"交易失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java new file mode 100644 index 00000000..ad132af8 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 交易不存在 + * @author xxm + * @since 2024/6/17 + */ +public class TradeNotExistException extends PayFailureException{ + + public TradeNotExistException(String message) { + super(DaxPayCommonErrorCode.TRADE_NOT_EXIST,message); + } + + public TradeNotExistException() { + super(DaxPayCommonErrorCode.TRADE_NOT_EXIST,"交易不存在"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java new file mode 100644 index 00000000..87ef11b5 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 交易处理中, 请勿重复操作 + * @author xxm + * @since 2024/6/17 + */ +public class TradeProcessingException extends PayFailureException{ + + public TradeProcessingException(String message) { + super(DaxPayCommonErrorCode.TRADE_PROCESSING,message); + } + + public TradeProcessingException() { + super(DaxPayCommonErrorCode.TRADE_PROCESSING,"交易处理中,请勿重复操作"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java new file mode 100644 index 00000000..0c848309 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 交易状态错误 + * @author xxm + * @since 2024/6/17 + */ +public class TradeStatusErrorException extends PayFailureException{ + + public TradeStatusErrorException(String message) { + super(DaxPayCommonErrorCode.TRADE_STATUS_ERROR,message); + } + + public TradeStatusErrorException() { + super(DaxPayCommonErrorCode.TRADE_STATUS_ERROR,"交易状态错误"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java new file mode 100644 index 00000000..c6efa35d --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 不支持该能力 + * @author xxm + * @since 2024/6/17 + */ +public class UnsupportedAbilityException extends PayFailureException{ + + public UnsupportedAbilityException(String message) { + super(DaxPayCommonErrorCode.UNSUPPORTED_ABILITY,message); + } + + public UnsupportedAbilityException() { + super(DaxPayCommonErrorCode.UNSUPPORTED_ABILITY,"不支持该能力"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java new file mode 100644 index 00000000..723b049e --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 验签失败 + * @author xxm + * @since 2024/6/17 + */ +public class VerifySignFailedException extends PayFailureException{ + + public VerifySignFailedException(String message) { + super(DaxPayCommonErrorCode.VERIFY_SIGN_FAILED,message); + } + + public VerifySignFailedException() { + super(DaxPayCommonErrorCode.VERIFY_SIGN_FAILED,"验签失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/ChannelParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/ChannelParam.java similarity index 75% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/ChannelParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/ChannelParam.java index a7491d20..48252e55 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/ChannelParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/ChannelParam.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.param; +package cn.daxpay.single.core.param; /** * 通道支付参数标识接口 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/PaymentCommonParam.java similarity index 91% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/PaymentCommonParam.java index 82f16290..70d04981 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/PaymentCommonParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param; +package cn.daxpay.single.core.param; -import cn.daxpay.single.serializer.TimestampToLocalDateTimeDeserializer; +import cn.daxpay.single.core.serializer.TimestampToLocalDateTimeDeserializer; import cn.bootx.platform.common.core.validation.IpAddress; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAccessTokenParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAccessTokenParam.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAccessTokenParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAccessTokenParam.java index 716b2bac..e3586d89 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAccessTokenParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAccessTokenParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.assist; +package cn.daxpay.single.core.param.assist; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAuthUrlParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAuthUrlParam.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAuthUrlParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAuthUrlParam.java index dd3641e0..c99fdcc5 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/AliPayAuthUrlParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAuthUrlParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.assist; +package cn.daxpay.single.core.param.assist; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java index de85275c..b9b20c06 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.assist; +package cn.daxpay.single.core.param.assist; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java index 90be1ee3..5829aa68 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.assist; +package cn.daxpay.single.core.param.assist; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/AliPayParam.java similarity index 90% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/AliPayParam.java index 981c6e39..8b9e5435 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/AliPayParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; -import cn.daxpay.single.param.ChannelParam; +import cn.daxpay.single.core.param.ChannelParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/UnionPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/UnionPayParam.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/UnionPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/UnionPayParam.java index 25ce5ae1..463b602c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/UnionPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/UnionPayParam.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WalletPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WalletPayParam.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WalletPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WalletPayParam.java index 2effbc2a..8af40313 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WalletPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WalletPayParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; -import cn.daxpay.single.param.ChannelParam; +import cn.daxpay.single.core.param.ChannelParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WeChatPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WeChatPayParam.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WeChatPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WeChatPayParam.java index 93a13d5e..fb7daf4b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WeChatPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WeChatPayParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; -import cn.daxpay.single.param.ChannelParam; +import cn.daxpay.single.core.param.ChannelParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocFinishParam.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocFinishParam.java index 4ad4cd62..2caba338 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocFinishParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverAddParam.java similarity index 88% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverAddParam.java index 1a259d43..a59baee0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverAddParam.java @@ -1,9 +1,9 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java similarity index 93% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java index 1afa43e9..36124939 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverRemoveParam.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverRemoveParam.java index a20715dd..b96d6872 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverRemoveParam.java @@ -1,13 +1,12 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; /** diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java index 9b863f4b..d5e8c7b1 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocationParam.java similarity index 94% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocationParam.java index 34a124f9..23704cce 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocationParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocOrderParam.java similarity index 81% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocOrderParam.java index f43aa85c..3357c6e5 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocOrderParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocReceiverParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocReceiverParam.java similarity index 84% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocReceiverParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocReceiverParam.java index 1fc094f4..c8c64fe3 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocReceiverParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocReceiverParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java similarity index 85% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java index e1ebcbb9..50472bf6 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java index 35eda5c9..93155397 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayParam.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayParam.java index 6907bdd6..8303c139 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayParam.java @@ -1,12 +1,12 @@ -package cn.daxpay.single.param.payment.pay; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import cn.daxpay.single.serializer.TimestampToLocalDateTimeDeserializer; +package cn.daxpay.single.core.param.payment.pay; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; +import cn.daxpay.single.core.serializer.TimestampToLocalDateTimeDeserializer; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PaySyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java similarity index 83% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PaySyncParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java index a2ae67c4..af0b3b76 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PaySyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/QueryPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java similarity index 81% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/QueryPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java index a650af2a..de0e5d3c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/QueryPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/QueryRefundParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java similarity index 83% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/QueryRefundParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java index 48bdcb21..59f555f9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/QueryRefundParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.refund; +package cn.daxpay.single.core.param.payment.refund; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundParam.java similarity index 89% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundParam.java index 94ec9074..3a8e0992 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundParam.java @@ -1,9 +1,9 @@ -package cn.daxpay.single.param.payment.refund; +package cn.daxpay.single.core.param.payment.refund; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundSyncParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java index 3e192c31..f80ce88b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.refund; +package cn.daxpay.single.core.param.payment.refund; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/QueryTransferParam.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/QueryTransferParam.java index f2d44cf8..0f5e7659 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/QueryTransferParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.transfer; +package cn.daxpay.single.core.param.payment.transfer; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java similarity index 91% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java index 967f3b6e..c7aff50c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java @@ -1,9 +1,9 @@ -package cn.daxpay.single.param.payment.transfer; +package cn.daxpay.single.core.param.payment.transfer; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.TransferPayeeTypeEnum; -import cn.daxpay.single.code.TransferTypeEnum; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferSyncParam.java similarity index 86% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferSyncParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferSyncParam.java index 266ccebd..013797f8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferSyncParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.transfer; +package cn.daxpay.single.core.param.payment.transfer; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/DaxResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/DaxResult.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/DaxResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/DaxResult.java index a4ec33ed..f977b7e0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/DaxResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/DaxResult.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.result; +package cn.daxpay.single.core.result; import cn.bootx.platform.common.core.code.CommonCode; import cn.bootx.platform.common.core.rest.ResResult; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/PaymentCommonResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/PaymentCommonResult.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/PaymentCommonResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/PaymentCommonResult.java index 47aa33c4..0aa7b4cd 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/PaymentCommonResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/PaymentCommonResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result; +package cn.daxpay.single.core.result; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverAddResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverAddResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverAddResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverAddResult.java index 87e1c681..11562df0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverAddResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverAddResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverRemoveResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverRemoveResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverRemoveResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverRemoveResult.java index 151f15ae..17e922d9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverRemoveResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverRemoveResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverResult.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverResult.java index 15b8738e..234355b6 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverResult.java @@ -1,8 +1,8 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiversResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiversResult.java similarity index 83% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiversResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiversResult.java index d156dd04..d8ef7e25 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiversResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiversResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocationResult.java similarity index 81% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocationResult.java index 832e528e..d1b623b6 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocationResult.java @@ -1,7 +1,7 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAccessTokenResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAccessTokenResult.java similarity index 84% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAccessTokenResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAccessTokenResult.java index 0551b97d..181384f8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAccessTokenResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAccessTokenResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.assist; +package cn.daxpay.single.core.result.assist; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAuthUrlResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAuthUrlResult.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAuthUrlResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAuthUrlResult.java index 17f2319f..0d185a46 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAuthUrlResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAuthUrlResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.assist; +package cn.daxpay.single.core.result.assist; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderDetailResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderDetailResult.java similarity index 90% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderDetailResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderDetailResult.java index a896e9aa..f5e63b70 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderDetailResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderDetailResult.java @@ -1,7 +1,7 @@ -package cn.daxpay.single.result.order; +package cn.daxpay.single.core.result.order; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderResult.java similarity index 89% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderResult.java index a9b1014f..b45e541b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderResult.java @@ -1,9 +1,9 @@ -package cn.daxpay.single.result.order; +package cn.daxpay.single.core.result.order; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/PayOrderResult.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/PayOrderResult.java index a9c8a11e..f1d28cc8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/PayOrderResult.java @@ -1,11 +1,11 @@ -package cn.daxpay.single.result.order; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +package cn.daxpay.single.core.result.order; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/RefundOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/RefundOrderResult.java similarity index 89% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/RefundOrderResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/RefundOrderResult.java index f2f9b1a4..00b22439 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/RefundOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/RefundOrderResult.java @@ -1,9 +1,9 @@ -package cn.daxpay.single.result.order; +package cn.daxpay.single.core.result.order; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/TransferOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/TransferOrderResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java index 8db961e7..3c564c52 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/TransferOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.order; +package cn.daxpay.single.core.result.order; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCancelResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCancelResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCancelResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCancelResult.java index 769fc2bb..cac6b2ad 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCancelResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCancelResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.pay; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCloseResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCloseResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCloseResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCloseResult.java index 95802e15..4800d863 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCloseResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCloseResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.pay; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayResult.java similarity index 89% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayResult.java index bfd5206a..bbc787d0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.pay; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/RefundResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/RefundResult.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/RefundResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/RefundResult.java index 274bef52..9ba3b8f7 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/RefundResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/RefundResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.pay; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/AllocSyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/AllocSyncResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/AllocSyncResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/AllocSyncResult.java index 1fe925e3..7cc6c3ec 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/AllocSyncResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/AllocSyncResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.sync; +package cn.daxpay.single.core.result.sync; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/PaySyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/PaySyncResult.java similarity index 71% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/PaySyncResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/PaySyncResult.java index 2098a64a..a4181cfd 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/PaySyncResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/PaySyncResult.java @@ -1,13 +1,13 @@ -package cn.daxpay.single.result.sync; +package cn.daxpay.single.core.result.sync; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import static cn.daxpay.single.code.PaySyncStatusEnum.FAIL; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.FAIL; /** * 支付同步结果 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/RefundSyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/RefundSyncResult.java similarity index 67% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/RefundSyncResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/RefundSyncResult.java index fdf25067..f3456ca0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/RefundSyncResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/RefundSyncResult.java @@ -1,14 +1,14 @@ -package cn.daxpay.single.result.sync; +package cn.daxpay.single.core.result.sync; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import static cn.daxpay.single.code.PaySyncStatusEnum.FAIL; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.FAIL; /** * 退款同步结果 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/TransferSyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/TransferSyncResult.java similarity index 77% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/TransferSyncResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/TransferSyncResult.java index 11972ada..2aa15323 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/TransferSyncResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/TransferSyncResult.java @@ -1,7 +1,7 @@ -package cn.daxpay.single.result.sync; +package cn.daxpay.single.core.result.sync; -import cn.daxpay.single.code.TransferStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java similarity index 77% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java index a6fe6771..4b8c9d12 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/transfer/TransferResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java @@ -1,6 +1,7 @@ -package cn.daxpay.single.result.transfer; +package cn.daxpay.single.core.result.transfer; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -27,7 +28,7 @@ public class TransferResult extends PaymentCommonResult { /** * 状态 - * @see cn.daxpay.single.code.TransferStatusEnum + * @see TransferStatusEnum */ @Schema(description = "状态") private String status; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/LocalDateTimeToTimestampSerializer.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/LocalDateTimeToTimestampSerializer.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/LocalDateTimeToTimestampSerializer.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/LocalDateTimeToTimestampSerializer.java index 895a0c31..8504df3a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/LocalDateTimeToTimestampSerializer.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/LocalDateTimeToTimestampSerializer.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.serializer; +package cn.daxpay.single.core.serializer; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/TimestampToLocalDateTimeDeserializer.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/TimestampToLocalDateTimeDeserializer.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/TimestampToLocalDateTimeDeserializer.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/TimestampToLocalDateTimeDeserializer.java index 66d6e9e6..8bddf24d 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/TimestampToLocalDateTimeDeserializer.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/TimestampToLocalDateTimeDeserializer.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.serializer; +package cn.daxpay.single.core.serializer; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/DaxRes.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/DaxRes.java similarity index 85% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/DaxRes.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/DaxRes.java index bd5c0c8a..20c60cba 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/DaxRes.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/DaxRes.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; -import cn.daxpay.single.result.DaxResult; +import cn.daxpay.single.core.result.DaxResult; import lombok.experimental.UtilityClass; import static cn.bootx.platform.common.core.code.CommonCode.SUCCESS_CODE; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/OrderNoGenerateUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/OrderNoGenerateUtil.java similarity index 98% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/OrderNoGenerateUtil.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/OrderNoGenerateUtil.java index 2bbda258..25f00364 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/OrderNoGenerateUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/OrderNoGenerateUtil.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; import lombok.Setter; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PaySignUtil.java similarity index 99% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PaySignUtil.java index aa14014b..3eba6732 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PaySignUtil.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.hutool.core.util.ClassUtil; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PayUtil.java similarity index 98% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PayUtil.java index 28d359f4..c7fb45fc 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PayUtil.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.hutool.core.date.DatePattern; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java deleted file mode 100644 index fe865495..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/AmountAbnormalException.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 异常金额 - * - * @author xxm - * @since 2020/12/8 - */ -public class AmountAbnormalException extends FatalException { - - public AmountAbnormalException(String msg) { - super(DaxPayCommonErrorCode.PAYMENT_AMOUNT_ABNORMAL, msg); - } - - public AmountAbnormalException() { - super(DaxPayCommonErrorCode.PAYMENT_AMOUNT_ABNORMAL, "异常金额"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java deleted file mode 100644 index 4da479c5..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 付款已存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class PayHasExistedException extends BizException { - - public PayHasExistedException() { - super(DaxPayCommonErrorCode.PAYMENT_HAS_EXISTED, "付款已存在"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java deleted file mode 100644 index b4343988..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 付款正在处理中 - * - * @author xxm - * @since 2020/12/8 - */ -public class PayIsProcessingException extends BizException { - - public PayIsProcessingException() { - super(DaxPayCommonErrorCode.PAYMENT_IS_PROCESSING, "付款正在处理中"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java deleted file mode 100644 index 5b64f78c..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 付款记录不存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class PayNotExistedException extends BizException { - - public PayNotExistedException() { - super(DaxPayCommonErrorCode.PAYMENT_RECORD_NOT_EXISTED, "付款记录不存在"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java deleted file mode 100644 index 4e5e4ad6..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 付款方式不支持异常 - * - * @author xxm - * @since 2020/12/9 - */ -public class PayUnsupportedMethodException extends FatalException { - - public PayUnsupportedMethodException() { - super(DaxPayCommonErrorCode.PAYMENT_METHOD_UNSUPPORT, "不支持的支付方式"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java deleted file mode 100644 index efd4fc68..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 钱包被禁用 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletBannedException extends BizException { - - public WalletBannedException() { - super(DaxPayCommonErrorCode.WALLET_BANNED, "钱包被禁用"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java deleted file mode 100644 index 19ca6c8e..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 钱包信息不存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletInfoNotExistException extends FatalException { - - public WalletInfoNotExistException() { - super(DaxPayCommonErrorCode.WALLET_INFO_NOT_EXISTS, "钱包信息不存在"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java deleted file mode 100644 index 0e478288..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 余额不足异常 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletLackOfBalanceException extends BizException { - - public WalletLackOfBalanceException() { - super(DaxPayCommonErrorCode.WALLET_BALANCE_NOT_ENOUGH, "余额不足异常"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java deleted file mode 100644 index 261628a1..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 钱包日志错误 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletLogError extends FatalException { - - public WalletLogError() { - super(DaxPayCommonErrorCode.WALLET_LOG_ERROR, "钱包日志错误"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java deleted file mode 100644 index ed166abe..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayCommonErrorCode; - -/** - * 钱包不存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletNotExistsException extends BizException { - - public WalletNotExistsException() { - super(DaxPayCommonErrorCode.WALLET_NOT_EXISTS, "钱包不存在"); - } - -} diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java index 455d47f4..98e54785 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java @@ -7,7 +7,7 @@ import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCallbackSer import cn.daxpay.single.service.core.extra.AliPayAuthService; import cn.daxpay.single.service.core.extra.WeChatAuthService; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import com.egzosn.pay.union.api.UnionPayConfigStorage; import com.ijpay.core.kit.HttpKit; import com.ijpay.core.kit.WxPayKit; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java index 6d7480c1..4b47285d 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java @@ -2,7 +2,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.service.core.channel.alipay.service.AliPayNoticeReceiverService; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java index 8b0c7ad6..dd245401 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java @@ -1,20 +1,20 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocFinishParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverRemoveParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.allocation.AllocReceiverAddResult; -import cn.daxpay.single.result.allocation.AllocReceiverRemoveResult; -import cn.daxpay.single.result.allocation.AllocationResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverAddResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverRemoveResult; +import cn.daxpay.single.core.result.allocation.AllocationResult; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java index b0997f5f..be71bcca 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java @@ -3,16 +3,16 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.assist.WxAccessTokenParam; -import cn.daxpay.single.param.assist.WxAuthUrlParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.assist.WxAccessTokenResult; -import cn.daxpay.single.result.assist.WxAuthUrlResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.assist.WxAccessTokenParam; +import cn.daxpay.single.core.param.assist.WxAuthUrlParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.assist.WxAccessTokenResult; +import cn.daxpay.single.core.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.extra.WeChatAuthService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java index 6c5d2c73..dc0a7ee2 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java @@ -1,18 +1,18 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.pay.PayCancelParam; -import cn.daxpay.single.param.payment.pay.PayCloseParam; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.param.payment.transfer.TransferParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.pay.PayCancelResult; -import cn.daxpay.single.result.pay.PayCloseResult; -import cn.daxpay.single.result.pay.PayResult; -import cn.daxpay.single.result.pay.RefundResult; -import cn.daxpay.single.result.transfer.TransferResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.pay.PayCancelParam; +import cn.daxpay.single.core.param.payment.pay.PayCloseParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.param.payment.refund.RefundParam; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.pay.PayCancelResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayResult; +import cn.daxpay.single.core.result.pay.RefundResult; +import cn.daxpay.single.core.result.transfer.TransferResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.cancel.service.PayCancelService; @@ -20,7 +20,7 @@ import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.pay.service.PayService; import cn.daxpay.single.service.core.payment.refund.service.RefundService; import cn.daxpay.single.service.core.payment.transfer.service.TransferService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java index fd6dae1c..6e7de278 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java @@ -1,23 +1,23 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocSyncParam; -import cn.daxpay.single.param.payment.pay.PaySyncParam; -import cn.daxpay.single.param.payment.refund.RefundSyncParam; -import cn.daxpay.single.param.payment.transfer.TransferSyncParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.sync.AllocSyncResult; -import cn.daxpay.single.result.sync.PaySyncResult; -import cn.daxpay.single.result.sync.RefundSyncResult; -import cn.daxpay.single.result.sync.TransferSyncResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocSyncParam; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.param.payment.refund.RefundSyncParam; +import cn.daxpay.single.core.param.payment.transfer.TransferSyncParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.sync.AllocSyncResult; +import cn.daxpay.single.core.result.sync.PaySyncResult; +import cn.daxpay.single.core.result.sync.RefundSyncResult; +import cn.daxpay.single.core.result.sync.TransferSyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; import cn.daxpay.single.service.core.payment.sync.service.RefundSyncService; import cn.daxpay.single.service.core.payment.sync.service.TransferSyncService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java index e5a788c4..2f5da50a 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java @@ -1,25 +1,24 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.QueryAllocOrderParam; -import cn.daxpay.single.param.payment.allocation.QueryAllocReceiverParam; -import cn.daxpay.single.param.payment.pay.QueryPayParam; -import cn.daxpay.single.param.payment.refund.QueryRefundParam; -import cn.daxpay.single.param.payment.transfer.QueryTransferParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.order.AllocOrderResult; -import cn.daxpay.single.result.allocation.AllocReceiversResult; -import cn.daxpay.single.result.order.PayOrderResult; -import cn.daxpay.single.result.order.RefundOrderResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; +import cn.daxpay.single.core.param.payment.pay.QueryPayParam; +import cn.daxpay.single.core.param.payment.refund.QueryRefundParam; +import cn.daxpay.single.core.param.payment.transfer.QueryTransferParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.order.AllocOrderResult; +import cn.daxpay.single.core.result.allocation.AllocReceiversResult; +import cn.daxpay.single.core.result.order.PayOrderResult; +import cn.daxpay.single.core.result.order.RefundOrderResult; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import cn.hutool.core.util.StrUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java index 54faea90..4b7bf606 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java @@ -1,11 +1,11 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.result.DaxResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.result.DaxResult; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java index e376297b..0b0b3eb0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.annotation; -import cn.daxpay.single.code.PaymentApiCode; +import cn.daxpay.single.core.code.PaymentApiCode; import java.lang.annotation.*; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java index efeac51d..0325e2ec 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.PayFailureException; import lombok.experimental.UtilityClass; import java.util.Arrays; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java index 769c99d8..017a04dc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Arrays; @@ -27,7 +27,7 @@ public class UnionPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(MethodNotExistException::new); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java index acaba39d..e7d07efa 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Collections; @@ -26,7 +26,7 @@ public class WalletPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(MethodNotExistException::new); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java index 0f1faa26..20327722 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Arrays; @@ -27,7 +27,7 @@ public class WeChatPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(MethodNotExistException::new); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java index a46c1660..47f921f1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java index cbdeb99f..cd52cd18 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java index e4ec6ac3..c04c2730 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java index 5361ec15..a640bd49 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java index b53723b7..9f0e34a1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.configuration; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java index e86e0a47..dc1cd840 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; @@ -25,7 +25,7 @@ import java.util.Collections; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.AllocReceiverTypeEnum.*; +import static cn.daxpay.single.core.code.AllocReceiverTypeEnum.*; /** * 支付宝分账 @@ -107,7 +107,7 @@ public class AliPayAllocationReceiverService { errorMsg = alipayResponse.getMsg(); } log.error("分账接收方处理失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeStatusErrorException(errorMsg); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java index 26711aba..b4c4bd2a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java @@ -2,15 +2,15 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.exception.TradeFailedException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; @@ -155,7 +155,7 @@ public class AliPayAllocationService { errorMsg = alipayResponse.getMsg(); } log.error("分账处理失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeFailedException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java index 941753a8..d14b948c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java @@ -2,8 +2,8 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.CertUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java index 965352ae..3aa7998f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index 8fbdbe30..e6d7ad26 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; import cn.daxpay.single.service.core.channel.alipay.dao.AliPayConfigManager; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java index e2c1facd..11116336 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.ReconcileTradeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.ReconcileTradeEnum; +import cn.daxpay.single.core.exception.ReconciliationFailedException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -15,7 +15,7 @@ import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.io.IoUtil; import cn.hutool.core.text.csv.CsvReader; @@ -90,7 +90,7 @@ public class AliPayReconcileService { // 判断返回结果 if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("获取支付宝对账单失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw new ReconciliationFailedException(response.getSubMsg()); } // 获取对账单下载地址并下载 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java index 4dc16feb..74f23934 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java @@ -1,14 +1,14 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.util.PayUtil; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayTradeRefundModel; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index 9378f5f4..3e95026b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -1,17 +1,18 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.payment.pay.PayParam; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.TradeFailedException; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.util.PayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.Method; @@ -142,7 +143,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝手机支付失败", e); - throw new PayFailureException("支付宝手机支付失败"); + throw new TradeFailedException("支付宝手机支付失败"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java index 316f7912..0283dc37 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.code.TransferStatusEnum; -import cn.daxpay.single.result.sync.TransferSyncResult; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.result.sync.TransferSyncResult; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index a7f0b78d..4f881817 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -1,14 +1,14 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.TransferStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.exception.TradeFailedException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.context.TransferLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.date.DatePattern; import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayFundAccountQueryModel; @@ -87,7 +87,7 @@ public class AliPayTransferService { AlipayFundTransUniTransferResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("网关返回退款失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw new TradeFailedException(response.getSubMsg()); } TransferLocal transferInfo = PaymentContextLocal.get().getTransferInfo(); // 通道转账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java index f3626406..b07da058 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java index c48fc49f..d4f26ef1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.channel.union.service; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.UnsupportedAbilityException; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import lombok.RequiredArgsConstructor; @@ -21,7 +21,7 @@ public class UnionPayCloseService { * 关闭订单 */ public void close(PayOrder payOrder, UnionPayKit unionPayKit) { - throw new PayFailureException("云闪付没有关闭订单功能!"); + throw new UnsupportedAbilityException("云闪付没有关闭订单功能!"); // this.verifyErrorMsg(result); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java index 0c3d861c..39eba392 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.ChannelNotEnabledException; import cn.daxpay.single.service.code.UnionPayWay; import cn.daxpay.single.service.core.channel.union.dao.UnionPayConfigManager; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; @@ -72,7 +72,7 @@ public class UnionPayConfigService { public UnionPayConfig getAndCheckConfig() { UnionPayConfig unionPayConfig = this.getConfig(); if (!unionPayConfig.getEnable()){ - throw new PayFailureException("云闪付支付未启用"); + throw new ChannelNotEnabledException("云闪付支付未启用"); } return unionPayConfig; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java index 44722bc4..1e8b075a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java @@ -1,9 +1,8 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.ReconcileTradeEnum; +import cn.daxpay.single.core.exception.ReconcileGetFailedException; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.code.UnionReconcileFieldEnum; @@ -11,9 +10,9 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.union.dao.UnionReconcileBillDetailManager; import cn.daxpay.single.service.core.channel.union.entity.UnionReconcileBillDetail; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; -import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; +import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.codec.Base64; @@ -64,7 +63,7 @@ public class UnionPayReconcileService { // 判断是否成功 if (!SDKConstants.OK_RESP_CODE.equals(map.get(SDKConstants.param_respCode))) { log.warn("云闪付获取对账文件失败"); - throw new PayFailureException("云闪付获取对账文件失败"); + throw new ReconcileGetFailedException("云闪付获取对账文件失败"); } try { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java index 31a56541..adae9cd4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java @@ -1,13 +1,13 @@ package cn.daxpay.single.service.core.channel.union.service; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.daxpay.single.service.sdk.union.bean.UnionRefundOrder; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import com.egzosn.pay.union.bean.UnionRefundResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java index aed72d3f..7101903c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java @@ -1,9 +1,10 @@ package cn.daxpay.single.service.core.channel.union.service; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.UnionPayParam; -import cn.daxpay.single.param.payment.pay.PayParam; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.param.channel.UnionPayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.code.UnionPayWay; import cn.daxpay.single.service.common.context.PayLocal; @@ -12,7 +13,6 @@ import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.daxpay.single.service.sdk.union.bean.UnionPayOrder; -import cn.daxpay.single.util.PayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; @@ -45,21 +45,21 @@ public class UnionPayService { public void validation(PayParam payParam, UnionPayConfig unionPayConfig) { if (CollUtil.isEmpty(unionPayConfig.getPayWays())){ - throw new PayFailureException("云闪付未配置可用的支付方式"); + throw new MethodNotEnabledException("云闪付未配置可用的支付方式"); } // 发起的支付类型是否在支持的范围内 PayMethodEnum payMethodEnum = Optional.ofNullable(UnionPayWay.findByCode(payParam.getMethod())) - .orElseThrow(() -> new PayFailureException("非法的云闪付支付类型")); + .orElseThrow(() -> new MethodNotExistException("非法的云闪付支付类型")); if (!unionPayConfig.getPayWays().contains(payMethodEnum.getCode())) { - throw new PayFailureException("该云闪付支付方式不可用"); + throw new MethodNotEnabledException("该云闪付支付方式不可用"); } // 支付金额是否超限 if (payParam.getAmount() > unionPayConfig.getLimitAmount()) { - throw new PayFailureException("云闪付支付金额超限"); + throw new AmountExceedLimitException("云闪付支付金额超限"); } // 分账 if (Objects.equals(payParam.getAllocation(),true)) { - throw new PayFailureException("云闪付不支持分账"); + throw new UnsupportedAbilityException("云闪付不支持分账"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java index 961dae86..52ea6270 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java index 5d4913b5..85d62317 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java @@ -4,8 +4,8 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.exception.waller.WalletNotExistsException; -import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.param.channel.WalletPayParam; import cn.daxpay.single.service.core.channel.wallet.dao.WalletManager; import cn.daxpay.single.service.core.channel.wallet.entity.Wallet; import cn.daxpay.single.service.dto.channel.wallet.WalletDto; @@ -65,10 +65,10 @@ public class WalletQueryService { Wallet wallet = null; if (Objects.nonNull(param.getWalletId())){ - wallet = walletManager.findById(param.getWalletId()).orElseThrow(WalletNotExistsException::new); + wallet = walletManager.findById(param.getWalletId()).orElseThrow(PayFailureException::new); } if (Objects.isNull(wallet)){ - wallet = walletManager.findByUser(param.getUserId()).orElseThrow(WalletNotExistsException::new); + wallet = walletManager.findByUser(param.getUserId()).orElseThrow(PayFailureException::new); } return wallet; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java index 9f26cdc4..e038a389 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.exception.OperationFailedException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; @@ -20,8 +20,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -import static cn.daxpay.single.code.AllocReceiverTypeEnum.WX_MERCHANT; -import static cn.daxpay.single.code.AllocReceiverTypeEnum.WX_PERSONAL; +import static cn.daxpay.single.core.code.AllocReceiverTypeEnum.WX_MERCHANT; +import static cn.daxpay.single.core.code.AllocReceiverTypeEnum.WX_PERSONAL; /** * @@ -109,7 +109,7 @@ public class WeChatPayAllocationReceiverService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("分账绑定或解绑失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new OperationFailedException("分账绑定或解绑失败"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java index 422f8665..8d6b1a83 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java @@ -2,9 +2,8 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java index c75d17c1..35ed433b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java index 7be1efbe..2bededad 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java @@ -1,6 +1,5 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java index 29a1a1d0..08925e02 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java @@ -2,7 +2,6 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.core.channel.wechat.dao.WeChatPayConfigManager; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java index 359f948d..10952aed 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java @@ -1,8 +1,7 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.ReconcileTradeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -16,7 +15,7 @@ import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.codec.Base64; import cn.hutool.core.date.DatePattern; import cn.hutool.core.io.IoUtil; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java index 44bbd4be..31910f89 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java index ded4bc94..84cac048 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java @@ -4,10 +4,9 @@ import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.common.jackson.util.JacksonUtil; import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.result.sync.PaySyncResult; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.result.sync.PaySyncResult; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.common.context.PayLocal; @@ -17,7 +16,7 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; import cn.daxpay.single.service.param.channel.wechat.WeChatPayParam; import cn.daxpay.single.service.sdk.wechat.BarPayModel; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.net.NetUtil; import cn.hutool.core.util.StrUtil; @@ -39,7 +38,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; -import static cn.daxpay.single.code.PaySyncStatusEnum.PROGRESS; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.PROGRESS; import static com.ijpay.wxpay.model.UnifiedOrderModel.UnifiedOrderModelBuilder; import static com.ijpay.wxpay.model.UnifiedOrderModel.builder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java index 0b034a22..30cb1a28 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java index 455fc838..ba0aad5c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java @@ -1,6 +1,5 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java index 4a05c210..c1cb9679 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.core.extra; import cn.bootx.platform.common.redis.RedisClient; -import cn.daxpay.single.param.assist.WxAccessTokenParam; -import cn.daxpay.single.param.assist.WxAuthUrlParam; -import cn.daxpay.single.result.assist.WxAccessTokenResult; -import cn.daxpay.single.result.assist.WxAuthUrlResult; +import cn.daxpay.single.core.param.assist.WxAccessTokenParam; +import cn.daxpay.single.core.param.assist.WxAuthUrlParam; +import cn.daxpay.single.core.result.assist.WxAccessTokenResult; +import cn.daxpay.single.core.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.system.config.entity.PlatformConfig; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java index c8a06d98..681a548d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java @@ -7,9 +7,9 @@ import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.result.order.AllocOrderResult; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.result.order.AllocOrderResult; import cn.daxpay.single.service.code.ClientNoticeTypeEnum; import cn.daxpay.single.service.core.notice.convert.ClientNoticeConvert; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java index 6e5f623f..e0c2a234 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.order.allocation.convert; -import cn.daxpay.single.result.order.AllocOrderDetailResult; -import cn.daxpay.single.result.order.AllocOrderResult; +import cn.daxpay.single.core.result.order.AllocOrderDetailResult; +import cn.daxpay.single.core.result.order.AllocOrderResult; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.notice.result.AllocDetailNoticeResult; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java index 25c1ca73..1ed50d2d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java @@ -4,7 +4,7 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; -import cn.daxpay.single.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import cn.daxpay.single.service.param.order.AllocOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java index f1ad88bc..86fd62a4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java @@ -5,9 +5,9 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java index 1a2a67f0..971273f2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java @@ -5,8 +5,8 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java index ab2f6dc2..dbdbb911 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java @@ -6,7 +6,7 @@ import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.core.util.ResultConvertUtil; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java index b90c6117..4c030d4d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java @@ -1,12 +1,11 @@ package cn.daxpay.single.service.core.order.allocation.service; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.AllocReceiverParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; @@ -17,7 +16,7 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationReceiverManager; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; import cn.daxpay.single.service.dto.allocation.AllocationGroupReceiverResult; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.hutool.core.util.IdUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java index 80805c05..3e9ef06e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.order.pay.convert; -import cn.daxpay.single.result.order.PayOrderResult; +import cn.daxpay.single.core.result.order.PayOrderResult; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java index 58d734c0..84d0b36e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java @@ -4,8 +4,8 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.param.order.PayOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index f3326a6b..488cb231 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -6,9 +6,10 @@ import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.code.*; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; +import cn.daxpay.single.core.code.*; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java index a730debe..313926a4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java @@ -3,9 +3,10 @@ package cn.daxpay.single.service.core.order.pay.service; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.QueryPayParam; -import cn.daxpay.single.result.order.PayOrderResult; +import cn.daxpay.single.core.exception.ParamValidationFailedException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.param.payment.pay.QueryPayParam; +import cn.daxpay.single.core.result.order.PayOrderResult; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; @@ -79,11 +80,11 @@ public class PayOrderQueryService { public PayOrderResult queryPayOrder(QueryPayParam param) { // 校验参数 if (StrUtil.isBlank(param.getBizOrderNoeNo()) && Objects.isNull(param.getOrderNo())){ - throw new PayFailureException("业务号或支付单ID不能都为空"); + throw new ParamValidationFailedException("业务号或支付单ID不能都为空"); } // 查询支付单 PayOrder payOrder = this.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNoeNo()) - .orElseThrow(() -> new PayFailureException("支付订单不存在")); + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); return PayOrderConvert.CONVERT.convertResult(payOrder); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java index ea9e047d..2e959c5f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.order.pay.service; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.pay.service.PayExpiredTimeService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java index aa6a89f4..c89f8e03 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java @@ -2,8 +2,8 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.common.typehandler.ReconcileDiffTypeHandler; import cn.daxpay.single.service.core.order.reconcile.conver.ReconcileConvert; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java index e5aaf4ff..5caf0c2f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java @@ -5,7 +5,7 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileResultEnum; import cn.daxpay.single.service.core.order.reconcile.conver.ReconcileConvert; import cn.daxpay.single.service.dto.order.reconcile.ReconcileOrderDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java index 099dda0e..2591488d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.order.refund.convert; -import cn.daxpay.single.result.order.RefundOrderResult; +import cn.daxpay.single.core.result.order.RefundOrderResult; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.payment.notice.result.RefundNoticeResult; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java index 4452acad..24a93f47 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java @@ -4,8 +4,8 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.param.order.RefundOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java index de6b6924..7c5e11e6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java @@ -5,11 +5,11 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java index 0f57130d..a63a30c1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java @@ -4,9 +4,8 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.QueryRefundParam; -import cn.daxpay.single.result.order.RefundOrderResult; +import cn.daxpay.single.core.param.payment.refund.QueryRefundParam; +import cn.daxpay.single.core.result.order.RefundOrderResult; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java index 4dd8d6cf..9d9b71c4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java @@ -2,13 +2,13 @@ package cn.daxpay.single.service.core.order.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.spring.util.WebServletUtil; -import cn.daxpay.single.param.payment.refund.RefundParam; +import cn.daxpay.single.core.param.payment.refund.RefundParam; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; import cn.daxpay.single.service.core.payment.refund.service.RefundService; import cn.daxpay.single.service.param.order.PayOrderRefundParam; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.hutool.extra.servlet.ServletUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java index c84d7f5f..0dd94c8d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.order.transfer.convert; -import cn.daxpay.single.result.order.TransferOrderResult; +import cn.daxpay.single.core.result.order.TransferOrderResult; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import org.mapstruct.Mapper; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java index 3a3b6afc..8e1071fd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java @@ -4,7 +4,7 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.service.param.order.TransferOrderQuery; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index d7877653..3cd3c180 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -5,9 +5,10 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.TransferPayeeTypeEnum; -import cn.daxpay.single.code.TransferTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; import cn.daxpay.single.service.core.order.transfer.convert.TransferOrderConvert; import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; @@ -93,7 +94,7 @@ public class TransferOrder extends MpBaseEntity implements EntityBaseFunction<Tr /** * 状态 - * @see cn.daxpay.single.code.TransferStatusEnum + * @see TransferStatusEnum */ @DbColumn(comment = "状态", length = 20, isNull = false) private String status; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java index d9838bf2..47ba9497 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java @@ -4,9 +4,8 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.transfer.QueryTransferParam; -import cn.daxpay.single.result.order.TransferOrderResult; +import cn.daxpay.single.core.param.payment.transfer.QueryTransferParam; +import cn.daxpay.single.core.result.order.TransferOrderResult; import cn.daxpay.single.service.core.order.transfer.convert.TransferOrderConvert; import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java index 1193c175..a3034aeb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.allocation.convert; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.result.allocation.AllocReceiverResult; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.result.allocation.AllocReceiverResult; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; import org.mapstruct.Mapper; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java index 7e9dab39..9d204127 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java @@ -2,9 +2,9 @@ package cn.daxpay.single.service.core.payment.allocation.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; import cn.daxpay.single.service.core.payment.allocation.convert.AllocationReceiverConvert; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java index 24e371b1..0db3956a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.allocation.service; -import cn.daxpay.single.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java index 6000a18c..aa61e2ba 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java @@ -6,7 +6,6 @@ import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.core.payment.allocation.convert.AllocationGroupConvert; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupManager; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupReceiverManager; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java index 8b9473e3..4e6582af 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java @@ -6,16 +6,15 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverRemoveParam; -import cn.daxpay.single.param.payment.allocation.QueryAllocReceiverParam; -import cn.daxpay.single.result.allocation.AllocReceiverAddResult; -import cn.daxpay.single.result.allocation.AllocReceiverRemoveResult; -import cn.daxpay.single.result.allocation.AllocReceiverResult; -import cn.daxpay.single.result.allocation.AllocReceiversResult; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; +import cn.daxpay.single.core.result.allocation.AllocReceiverAddResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverRemoveResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverResult; +import cn.daxpay.single.core.result.allocation.AllocReceiversResult; import cn.daxpay.single.service.core.payment.allocation.convert.AllocationReceiverConvert; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupReceiverManager; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationReceiverManager; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index 2ef0ed75..d7632250 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -3,17 +3,16 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.bootx.platform.common.core.util.CollUtil; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.AllocFinishParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.param.payment.allocation.QueryAllocOrderParam; -import cn.daxpay.single.result.allocation.AllocationResult; -import cn.daxpay.single.result.order.AllocOrderDetailResult; -import cn.daxpay.single.result.order.AllocOrderResult; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; +import cn.daxpay.single.core.result.allocation.AllocationResult; +import cn.daxpay.single.core.result.order.AllocOrderDetailResult; +import cn.daxpay.single.core.result.order.AllocOrderResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; @@ -41,8 +40,8 @@ import java.util.List; import java.util.Objects; import java.util.stream.Collectors; -import static cn.daxpay.single.code.AllocOrderStatusEnum.ALLOCATION_END; -import static cn.daxpay.single.code.AllocOrderStatusEnum.FINISH_FAILED; +import static cn.daxpay.single.core.code.AllocOrderStatusEnum.ALLOCATION_END; +import static cn.daxpay.single.core.code.AllocOrderStatusEnum.FINISH_FAILED; /** * 分账服务 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java index 05ce590c..399eae55 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java @@ -2,11 +2,11 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.param.payment.allocation.AllocSyncParam; -import cn.daxpay.single.result.sync.AllocSyncResult; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.param.payment.allocation.AllocSyncParam; +import cn.daxpay.single.core.result.sync.AllocSyncResult; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java index 3ec7161f..29825b54 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.allocation; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java index 6ad445a6..5c2c01cd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.allocation; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java index b1de2df5..d1262502 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java index 39b80397..9aa15a19 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java index 3971100f..73351085 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.callback.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.common.context.CallbackLocal; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java index dde3462d..3b7f2b24 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.callback.service; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; import cn.daxpay.single.service.common.context.CallbackLocal; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java index 892f07cf..f3cdc01f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java @@ -1,10 +1,9 @@ package cn.daxpay.single.service.core.payment.cancel.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PayCancelParam; -import cn.daxpay.single.result.pay.PayCancelResult; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.param.payment.pay.PayCancelParam; +import cn.daxpay.single.core.result.pay.PayCancelResult; import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java index 1a866b60..de6277d6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.cancel.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCloseService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java index 2fc9d529..5d403e37 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.cancel.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayMethodEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayMethodEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCloseService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index 9a5fe6f3..cd6b76a3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -1,10 +1,9 @@ package cn.daxpay.single.service.core.payment.close.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PayCloseParam; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.param.payment.pay.PayCloseParam; +import cn.daxpay.single.core.result.pay.PayCloseResult; import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java index 9cc9c313..89821751 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.close.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCloseService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java index 599c335a..ff9378dd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.close.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayCloseService; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java index 02a25e0b..b9ef9c01 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.close.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCloseService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java index 7fdc9921..257f4d71 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.core.payment.common.aop; import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.daxpay.single.exception.pay.PayFailureException; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.system.config.dao.PayApiConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayApiConfig; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java index 69fa7732..07d21973 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java @@ -2,12 +2,11 @@ package cn.daxpay.single.service.core.payment.common.aop; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.result.PaymentCommonResult; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java index 13f266a2..692249e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java @@ -1,15 +1,16 @@ package cn.daxpay.single.service.core.payment.common.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PaySignTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.PaySignTypeEnum; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.VerifySignFailedException; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.util.PaySignUtil; import cn.daxpay.single.service.common.context.ClientLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; -import cn.daxpay.single.util.PaySignUtil; import cn.hutool.core.bean.BeanUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -56,15 +57,15 @@ public class PaymentAssistService { if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ boolean verified = PaySignUtil.verifyHmacSha256Sign(param, platform.getSignSecret(), param.getSign()); if (!verified){ - throw new PayFailureException("未通过签名验证"); + throw new VerifySignFailedException(); } } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ boolean verified = PaySignUtil.verifyMd5Sign(param, platform.getSignSecret(), param.getSign()); if (!verified){ - throw new PayFailureException("未通过签名验证"); + throw new VerifySignFailedException(); } } else { - throw new PayFailureException("签名方式错误"); + throw new VerifySignFailedException(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java index 21df141b..82425b07 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java index 1b29227f..17ec8177 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java index 0570a061..aa1c376d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java @@ -1,11 +1,11 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java index ffbb911d..daa716a9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 53c6383f..33d4f4fb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -2,13 +2,12 @@ package cn.daxpay.single.service.core.payment.pay.service; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.result.pay.PayResult; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.result.pay.PayResult; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -16,8 +15,8 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; -import cn.daxpay.single.util.OrderNoGenerateUtil; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import lombok.RequiredArgsConstructor; @@ -30,7 +29,7 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.PayStatusEnum.*; +import static cn.daxpay.single.core.code.PayStatusEnum.*; /** * 支付支持服务 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java index 405fbdd0..059d92ce 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.pay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.pay.dao.PayExpiredTimeRepository; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java index 7a4b966f..34004ae8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java @@ -1,8 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.service; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.result.pay.PayResult; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.result.pay.PayResult; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; @@ -16,13 +15,12 @@ import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Objects; -import static cn.daxpay.single.code.PayStatusEnum.SUCCESS; +import static cn.daxpay.single.core.code.PayStatusEnum.SUCCESS; /** @@ -183,16 +181,4 @@ public class PayService { return payAssistService.buildResult(payOrder); } - - /** - * 根据传入的通道获取策略 - * @return 支付策略 - */ - private AbsPayStrategy getStrategy(String channel) { - val beansOfType = SpringUtil.getBeansOfType(AbsPayStrategy.class); - return beansOfType.values().stream() - .filter(strategy -> strategy.getChannel().equals(channel)) - .findFirst() - .orElseThrow(PayUnsupportedMethodException::new); - } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java index 99742d64..83764859 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java @@ -1,8 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.AliPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.channel.AliPayParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java index 70744a49..cf1086b4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java @@ -1,8 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.UnionPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.channel.UnionPayParam; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPayService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java index 178e0160..5e6cae45 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java @@ -1,10 +1,8 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.exception.waller.WalletBannedException; -import cn.daxpay.single.exception.waller.WalletLackOfBalanceException; -import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.param.channel.WalletPayParam; import cn.daxpay.single.service.code.WalletCode; import cn.daxpay.single.service.core.channel.wallet.entity.Wallet; import cn.daxpay.single.service.core.channel.wallet.entity.WalletConfig; @@ -73,7 +71,7 @@ public class WalletPayStrategy extends AbsPayStrategy { } // 是否被禁用 if (Objects.equals(WalletCode.STATUS_FORBIDDEN, this.wallet.getStatus())) { - throw new WalletBannedException(); + throw new PayFailureException(); } // 判断是否超过限额 if (this.getPayParam().getAmount() > walletConfig.getLimitAmount()){ @@ -81,7 +79,7 @@ public class WalletPayStrategy extends AbsPayStrategy { } // 判断余额 if (this.wallet.getBalance() < this.getPayParam().getAmount()) { - throw new WalletLackOfBalanceException(); + throw new PayFailureException(); } // 分账 if (Objects.equals(this.getPayParam().getAllocation(),true)){ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java index 684e14f0..04fc623f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java index 79851a25..67554bd4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.payment.reconcile.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java index 0712453d..ae95bb03 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java @@ -3,8 +3,7 @@ package cn.daxpay.single.service.core.payment.reconcile.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.ReconcileResultEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -23,7 +22,7 @@ import cn.daxpay.single.service.dto.order.reconcile.ReconcileTradeDetailExcel; import cn.daxpay.single.service.func.AbsReconcileStrategy; import cn.daxpay.single.service.param.reconcile.ReconcileUploadParam; import cn.daxpay.single.service.util.PayStrategyFactory; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.util.CharsetUtil; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java index 85bf9d48..6c61e23a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.reconcile.strategy; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java index 5390d7dc..962f7754 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.reconcile.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java index a3746983..8a319104 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.reconcile.strategy; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 5c701497..75a76187 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -1,12 +1,11 @@ package cn.daxpay.single.service.core.payment.refund.service; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PaySignTypeEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.result.pay.RefundResult; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.payment.refund.RefundParam; +import cn.daxpay.single.core.result.pay.RefundResult; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.context.RefundLocal; @@ -14,8 +13,8 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.util.OrderNoGenerateUtil; -import cn.daxpay.single.util.PaySignUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.PaySignUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -28,7 +27,7 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.RefundStatusEnum.SUCCESS; +import static cn.daxpay.single.core.code.RefundStatusEnum.SUCCESS; /** * 支付退款支撑服务 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index 4762e372..5c976558 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -2,11 +2,10 @@ package cn.daxpay.single.service.core.payment.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.result.pay.RefundResult; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.payment.refund.RefundParam; +import cn.daxpay.single.core.result.pay.RefundResult; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java index 670285c8..3549f4bd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayRefundService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java index 320a39a2..ead907c3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPayRefundService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java index be3cdafd..9faa326a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.channel.WalletPayParam; import cn.daxpay.single.service.core.channel.wallet.entity.Wallet; import cn.daxpay.single.service.core.channel.wallet.service.WalletPayService; import cn.daxpay.single.service.core.channel.wallet.service.WalletQueryService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java index e9891ba5..956ee70f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayRefundService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java index 570662b7..185c6255 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.result; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java index 2ac681bf..5783c69d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.repair.result; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java index 704cab69..61952c6f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.repair.service; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.SystemUnknownErrorException; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -83,7 +83,7 @@ public class PayRepairService { break; default: log.error("走到了理论上讲不会走到的分支"); - throw new PayFailureException("走到了理论上讲不会走到的分支"); + throw new SystemUnknownErrorException("走到了理论上讲不会走到的分支"); } // 设置修复iD repairResult.setRepairNo(IdUtil.getSnowflakeNextIdStr()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java index d1cf3eef..308f9056 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.payment.repair.service; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; import cn.daxpay.single.service.common.context.RepairLocal; @@ -17,7 +17,7 @@ import cn.daxpay.single.service.core.payment.repair.result.RefundRepairResult; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.core.record.repair.entity.PayRepairRecord; import cn.daxpay.single.service.core.record.repair.service.PayRepairRecordService; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java index 269894b1..80d13496 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCloseService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java index 2d655eb9..5a560d19 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.func.AbsPayRepairStrategy; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java index 1ec19e5c..b3adeaa0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCloseService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java index f05792f0..530b538d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java @@ -1,12 +1,12 @@ package cn.daxpay.single.service.core.payment.sync.result; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; -import static cn.daxpay.single.code.PaySyncStatusEnum.FAIL; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.FAIL; /** * 支付网关同步结果 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java index eeaeef82..5fccc5f9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java @@ -1,12 +1,12 @@ package cn.daxpay.single.service.core.payment.sync.result; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; -import static cn.daxpay.single.code.RefundSyncStatusEnum.PROGRESS; +import static cn.daxpay.single.core.code.RefundSyncStatusEnum.PROGRESS; /** * 支付退款同步结果 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java index d769a0b9..6af7f5b9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java @@ -2,13 +2,12 @@ package cn.daxpay.single.service.core.payment.sync.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PaySyncParam; -import cn.daxpay.single.result.sync.PaySyncResult; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.result.sync.PaySyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; @@ -37,7 +36,7 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.PaySyncStatusEnum.*; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.*; /** * 支付同步服务 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java index 47a55418..20309ac4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java @@ -2,11 +2,10 @@ package cn.daxpay.single.service.core.payment.sync.service; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.RefundSyncParam; -import cn.daxpay.single.result.sync.RefundSyncResult; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.param.payment.refund.RefundSyncParam; +import cn.daxpay.single.core.result.sync.RefundSyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java index e85a6606..de6ac8b4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.service; -import cn.daxpay.single.param.payment.transfer.TransferSyncParam; -import cn.daxpay.single.result.sync.TransferSyncResult; +import cn.daxpay.single.core.param.payment.transfer.TransferSyncParam; +import cn.daxpay.single.core.result.sync.TransferSyncResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java index 2b1b219f..188aa66a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.channel.alipay.service.AliPaySyncService; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.daxpay.single.service.func.AbsRefundSyncStrategy; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java index 75217545..6583fd01 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPaySyncService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java index b2d2b25b..60730da6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPaySyncService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java index 0f61e4cd..762fc8de 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPaySyncService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java index c7d60c2d..8f127165 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPaySyncService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java index ba804e89..3bea7a2e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.sync.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPaySyncService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java index 5044c7e4..d487d5be 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -1,13 +1,13 @@ package cn.daxpay.single.service.core.payment.transfer.service; -import cn.daxpay.single.code.TransferStatusEnum; -import cn.daxpay.single.param.payment.transfer.TransferParam; -import cn.daxpay.single.result.transfer.TransferResult; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.transfer.TransferResult; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index 9df0f9d4..f94b1b78 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.payment.transfer.service; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.param.payment.transfer.TransferParam; -import cn.daxpay.single.result.transfer.TransferResult; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.transfer.TransferResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index cd18952c..860399f0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -1,8 +1,7 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayTransferService; @@ -14,7 +13,7 @@ import org.springframework.stereotype.Service; import java.util.Arrays; -import static cn.daxpay.single.code.TransferPayeeTypeEnum.*; +import static cn.daxpay.single.core.code.TransferPayeeTypeEnum.*; import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java index 3f72e4bf..4855e95e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java @@ -1,8 +1,7 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayTransferService; @@ -14,7 +13,7 @@ import org.springframework.stereotype.Service; import java.util.Objects; -import static cn.daxpay.single.code.TransferPayeeTypeEnum.WX_PERSONAL; +import static cn.daxpay.single.core.code.TransferPayeeTypeEnum.WX_PERSONAL; import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java index d2eaaceb..78ce0c22 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java @@ -7,7 +7,7 @@ import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.core.record.callback.convert.PayCallbackRecordConvert; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java index b37f7193..5d02c342 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.record.close.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.core.record.close.convert.PayCloseRecordConvert; import cn.daxpay.single.service.dto.record.close.PayCloseRecordDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java index 21bad69e..59a25de2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java @@ -5,7 +5,7 @@ import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum; import cn.daxpay.single.service.core.record.flow.convert.TradeFlowRecordConvert; import cn.daxpay.single.service.dto.record.flow.TradeFlowRecordDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java index 45329189..89390db7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java @@ -5,7 +5,7 @@ import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java index 15b06719..f4b452c2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java @@ -7,9 +7,9 @@ import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.core.record.sync.convert.PaySyncRecordConvert; import cn.daxpay.single.service.dto.record.sync.PaySyncRecordDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java index 79827e94..8f1d44be 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.report.service; import cn.bootx.platform.common.core.function.CollectorsFunction; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.report.dao.CockpitReportMapper; import cn.daxpay.single.service.core.report.entity.ChannelOrderLine; import cn.daxpay.single.service.dto.report.ChannelLineReport; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java index 6b055fde..0bc4602b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.system.config.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import cn.daxpay.single.service.core.system.config.convert.PlatformConfigConvert; import cn.daxpay.single.service.dto.system.config.PlatformConfigDto; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java index 66187540..42f8ce2a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.allocation; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java index e096a1cc..bf448d7e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.dto.allocation; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java index 7ccf05f8..4c40aeaa 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.dto.channel.wechat; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.hutool.core.annotation.Alias; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java index f50e43f1..39c9422b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.dto.order.allocation; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java index 03f2c3c3..b66fe150 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.dto.order.allocation; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java index 1507d261..fc6c8922 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.dto.order.pay; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java index bcb5e8b2..83618e54 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.dto.order.reconcile; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.core.payment.reconcile.domain.ReconcileDiffDetail; import cn.bootx.table.modify.annotation.DbColumn; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java index a53e3395..b7ff5763 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.order.reconcile; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.core.payment.reconcile.domain.ReconcileDiffDetail; import cn.bootx.table.modify.annotation.DbColumn; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java index 87c9f111..cb6c5183 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java @@ -1,11 +1,11 @@ package cn.daxpay.single.service.dto.order.refund; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java index c8996eec..1894d830 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java @@ -1,9 +1,10 @@ package cn.daxpay.single.service.dto.order.transfer; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.TransferPayeeTypeEnum; -import cn.daxpay.single.code.TransferTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -81,7 +82,7 @@ public class TransferOrderDto extends BaseDto { /** * 状态 - * @see cn.daxpay.single.code.TransferStatusEnum + * @see TransferStatusEnum */ @Schema(description = "状态") private String status; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java index 7fe3ac3b..09383b19 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.record.callback; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java index 33fa91c6..443cb8a3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.record.close; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.bootx.table.modify.annotation.DbColumn; import cn.daxpay.single.service.code.PayCloseTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java index cd44cc33..69ec0397 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.dto.record.flow; import cn.bootx.platform.common.core.rest.dto.BaseDto; import cn.bootx.table.modify.annotation.DbColumn; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java index 9f0b7eef..e53efc5b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.dto.record.notice; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.ClientNoticeTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java index 9e91de9e..0f444cc8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.record.repair; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java index 8b9cf14a..947d2e70 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.dto.record.sync; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java index a2fa34d4..183178e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.dto.system.config; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java index 2dc1d969..3d4e6db6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.param.payment.pay.PayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import lombok.Getter; import lombok.Setter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java index 83390a28..f3532978 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java index 0a7a4bc4..cfd666c7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java index 82e9d1a7..ad69b21f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import lombok.Getter; import lombok.Setter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java index 992fbc27..2a9d8df6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java index 9c5475f1..e469a928 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java @@ -1,5 +1,7 @@ package cn.daxpay.single.service.func; +import cn.daxpay.single.core.param.payment.pay.PayCancelParam; + /** * 支付相关策略标识接口 * @author xxm @@ -9,7 +11,7 @@ public interface PayStrategy { /** * 策略标识 - * @see cn.daxpay.single.param.payment.pay.PayCancelParam + * @see PayCancelParam */ String getChannel(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java index dbe8600b..333d7195 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.handler.excel; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.WriteCellData; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java index 2a604db9..f843b4ce 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.handler.excel; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.WriteCellData; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java index 63ea35ac..d9ffb68e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.handler.excel; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.WriteCellData; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java index 4a0d81e2..cb72b2e9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.param.allocation.receiver; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java index 8c8a39dd..86279a97 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java @@ -2,10 +2,10 @@ package cn.daxpay.single.service.param.order; import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayOrderRefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java index 536b99de..aad18a3e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java @@ -2,8 +2,8 @@ package cn.daxpay.single.service.param.order; import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java index 4e895cb8..ebdb2b59 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java @@ -2,9 +2,10 @@ package cn.daxpay.single.service.param.order; import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.TransferPayeeTypeEnum; -import cn.daxpay.single.code.TransferTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -83,7 +84,7 @@ public class TransferOrderQuery extends QueryOrder { /** * 状态 - * @see cn.daxpay.single.code.TransferStatusEnum + * @see TransferStatusEnum */ @Schema(description = "状态") private String status; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java index a2da7dfa..3d11507f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.param.reconcile; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java index b1429319..653122c8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.reconcile; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java index 1a1d6925..e8dda0f1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java index c74d22b0..0c90b2f5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java index c8453aca..c448fb58 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java index de378bbd..261a8c03 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java index d18eb284..b78cb5aa 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java index 73bd55d9..4c7334e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.param.system.config; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java index 4d7f183f..8166d5da 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.task; -import cn.daxpay.single.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.quartz.*; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java index cad5efd3..7815a826 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.task; -import cn.daxpay.single.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java index 42de4156..ddd9a823 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.task; -import cn.daxpay.single.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.payment.pay.dao.PayExpiredTimeRepository; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java index c2f1cf7c..7ae09bd3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.util; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; +import cn.daxpay.single.core.exception.UnsupportedAbilityException; import cn.daxpay.single.service.func.PayStrategy; import cn.hutool.extra.spring.SpringUtil; import lombok.experimental.UtilityClass; @@ -26,6 +26,6 @@ public class PayStrategyFactory { return beansOfType.values().stream() .filter(strategy -> strategy.getChannel().equals(channel)) .findFirst() - .orElseThrow(PayUnsupportedMethodException::new); + .orElseThrow(() -> new UnsupportedAbilityException("不支持的能力")); } } diff --git a/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java b/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java index f66694c5..10035879 100644 --- a/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java +++ b/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java @@ -1,8 +1,7 @@ package cn.daxpay.single.core.util; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.util.PaySignUtil; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; import cn.hutool.core.bean.BeanUtil; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; -- Gitee From 818648635595209944255b9bfe61ef83cf7d4d24 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Tue, 18 Jun 2024 22:21:41 +0800 Subject: [PATCH 22/34] =?UTF-8?q?ref=20=E5=BC=82=E5=B8=B8=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=8B=86=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/code/DaxPayCommonErrorCode.java | 56 ++++++++++--------- .../single/core/code/PayChannelEnum.java | 4 +- .../single/core/code/PayMethodEnum.java | 4 +- .../single/core/code/PaySyncStatusEnum.java | 4 +- ...on.java => ChannelNotEnableException.java} | 10 ++-- .../core/exception/ConfigErrorException.java | 19 +++++++ ...ion.java => ConfigNotEnableException.java} | 10 ++-- .../core/exception/DataErrorException.java | 19 +++++++ ...ion.java => MethodNotEnableException.java} | 10 ++-- ...ption.java => OperationFailException.java} | 10 ++-- ...java => OperationProcessingException.java} | 12 ++-- .../OperationUnsupportedException.java | 19 +++++++ ...java => ParamValidationFailException.java} | 10 ++-- .../exception/ReconcileNotExistException.java | 19 ------- .../ReconcileNotGeneratedException.java | 19 ------- ....java => ReconciliationFailException.java} | 10 ++-- ...xception.java => TradeFaileException.java} | 10 ++-- .../controller/UniQueryController.java | 3 +- .../daxpay/single/service/code/AliPayWay.java | 4 +- .../service/AliPayAllocationService.java | 4 +- .../alipay/service/AliPayCloseService.java | 15 ++--- .../alipay/service/AliPayConfigService.java | 4 +- .../service/AliPayReconcileService.java | 4 +- .../alipay/service/AliPayRefundService.java | 6 +- .../channel/alipay/service/AliPayService.java | 27 +++++---- .../alipay/service/AliPayTransferService.java | 4 +- .../union/service/UnionPayConfigService.java | 4 +- .../service/UnionPayReconcileService.java | 4 +- .../union/service/UnionPayService.java | 10 ++-- .../WeChatPayAllocationReceiverService.java | 4 +- .../service/WeChatPayAllocationService.java | 3 +- .../wechat/service/WeChatPayCloseService.java | 7 ++- .../service/WeChatPayConfigService.java | 5 +- .../service/WeChatPayReconcileService.java | 13 +++-- .../service/WeChatPayRefundService.java | 6 +- .../wechat/service/WeChatPayService.java | 21 +++---- .../service/WeChatPayTransferService.java | 3 +- .../allocation/service/AllocOrderService.java | 9 +-- .../core/order/pay/entity/PayOrder.java | 1 - .../pay/service/PayOrderQueryService.java | 4 +- .../service/RefundOrderQueryService.java | 7 ++- .../service/TransferOrderQueryService.java | 7 ++- .../service/AllocationReceiverService.java | 13 +++-- .../allocation/service/AllocationService.java | 19 ++++--- .../allocation/AliPayAllocationStrategy.java | 4 +- .../WeChatPayAllocationStrategy.java | 7 ++- .../AliPayAllocationReceiverStrategy.java | 8 ++- .../WeChatPayAllocationReceiverStrategy.java | 8 ++- .../cancel/service/PayCancelService.java | 9 ++- .../close/service/PayCloseService.java | 9 ++- .../common/aop/InitPlatformInfoAop.java | 7 ++- .../payment/common/aop/PaymentVerifyAop.java | 12 ++-- .../common/service/PaymentAssistService.java | 8 +-- .../payment/pay/service/PayAssistService.java | 18 +++--- .../payment/pay/strategy/AliPayStrategy.java | 3 +- .../pay/strategy/UnionPayStrategy.java | 3 +- .../pay/strategy/WalletPayStrategy.java | 14 ++--- .../reconcile/service/ReconcileService.java | 9 +-- .../refund/service/RefundAssistService.java | 16 +++--- .../payment/refund/service/RefundService.java | 6 +- .../payment/sync/service/PaySyncService.java | 11 ++-- .../sync/service/RefundSyncService.java | 7 ++- .../strategy/AliPayTransferStrategy.java | 3 +- .../strategy/WeChatTransferStrategy.java | 3 +- 64 files changed, 347 insertions(+), 274 deletions(-) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{ChannelNotEnabledException.java => ChannelNotEnableException.java} (36%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{ConfigNotEnabledException.java => ConfigNotEnableException.java} (36%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{MethodNotEnabledException.java => MethodNotEnableException.java} (37%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{OperationFailedException.java => OperationFailException.java} (37%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{ReconcileGetFailedException.java => OperationProcessingException.java} (30%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{ParamValidationFailedException.java => ParamValidationFailException.java} (35%) delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{ReconciliationFailedException.java => ReconciliationFailException.java} (35%) rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{TradeFailedException.java => TradeFaileException.java} (38%) diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java index 49b91987..10a19104 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java @@ -7,68 +7,70 @@ package cn.daxpay.single.core.code; */ public interface DaxPayCommonErrorCode { /** 未归类的错误 */ - int UNCLASSIFIED_ERROR = 10000; + int UNCLASSIFIED_ERROR = 20000; /** 不存在的支付通道 */ - int CHANNEL_NOT_EXIST = 10011; + int CHANNEL_NOT_EXIST = 20011; /** 不存在的支付方式 */ - int METHOD_NOT_EXIST = 10012; + int METHOD_NOT_EXIST = 20012; /** 不存在的状态 */ - int STATUS_NOT_EXIST = 10013; + int STATUS_NOT_EXIST = 20013; /** 支付通道未启用 */ - int CHANNEL_NOT_ENABLED = 10021; + int CHANNEL_NOT_ENABLE = 20021; /** 支付方式未启用 */ - int METHOD_NOT_ENABLED = 10022; + int METHOD_NOT_ENABLE = 20022; /** 配置未启用 */ - int CONFIG_NOT_ENABLED = 10023; + int CONFIG_NOT_ENABLE = 20023; + + /** 配置错误 */ + int CONFIG_ERROR = 20024; /** 不支持该能力 */ - int UNSUPPORTED_ABILITY = 10030; + int UNSUPPORTED_ABILITY = 20030; /** 交易不存在 */ - int TRADE_NOT_EXIST = 10041; + int TRADE_NOT_EXIST = 20041; /** 交易已关闭 */ - int TRADE_CLOSED = 10042; + int TRADE_CLOSED = 20042; /** 交易处理中, 请勿重复操作 */ - int TRADE_PROCESSING = 10043; + int TRADE_PROCESSING = 20043; /** 交易状态错误 */ - int TRADE_STATUS_ERROR = 10044; + int TRADE_STATUS_ERROR = 20044; /** 交易失败 */ - int TRADE_FAILED = 10045; + int TRADE_FAILE = 20045; /** 参数校验未通过 */ - int PARAM_VALIDATION_FAILED = 10051; + int PARAM_VALIDATION_FAIL = 20051; /** 验签失败 */ - int VERIFY_SIGN_FAILED = 10052; + int VERIFY_SIGN_FAILED = 20052; /** 金额超过限额 */ - int AMOUNT_EXCEED_LIMIT = 10060; - - /** 对账文件获取失败 */ - int RECONCILE_GET_FAILED = 10071; - - /** 对账交易账单不存在 */ - int RECONCILE_NOT_EXIST = 10072; - - /** 对账交易账单未生成 */ - int RECONCILE_NOT_GENERATED = 10073; + int AMOUNT_EXCEED_LIMIT = 20060; /** 对账失败 */ - int RECONCILIATION_FAILED = 10074; + int RECONCILE_FAIL = 20071; /** 操作失败 */ - int OPERATION_FAILED = 10080; + int OPERATION_FAIL = 20080; + + /** 操作处理中, 请勿重复操作 */ + int OPERATION_PROCESSING = 20081; + + /** 不支持的操作 */ + int OPERATION_UNSUPPORTED = 20082; + /** 数据错误 */ + int DATA_ERROR = 20091; /** 未知异常,系统无法处理 */ int SYSTEM_UNKNOWN_ERROR = 20000; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java index 7b6f5b01..e3af8856 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.code; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.ChannelNotExistException; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -36,7 +36,7 @@ public enum PayChannelEnum { return Arrays.stream(values()) .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付通道")); + .orElseThrow(() -> new ChannelNotExistException("不存在的支付通道")); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java index c71c4c68..b3b9d593 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.code; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -40,7 +40,7 @@ public enum PayMethodEnum { return Arrays.stream(PayMethodEnum.values()) .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(() -> new MethodNotExistException("不存在的支付方式")); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java index 3da05f07..a724911b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.code; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -40,6 +40,6 @@ public enum PaySyncStatusEnum { return Arrays.stream(values()) .filter(item -> Objects.equals(item.getCode(), code)) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付状态")); + .orElseThrow(() -> new TradeStatusErrorException("不存在的支付状态")); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnabledException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java similarity index 36% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnabledException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java index 7bfa6163..401fc68e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnabledException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; * @author xxm * @since 2024/6/17 */ -public class ChannelNotEnabledException extends PayFailureException{ +public class ChannelNotEnableException extends PayFailureException{ - public ChannelNotEnabledException(String message) { - super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLED,message); + public ChannelNotEnableException(String message) { + super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLE,message); } - public ChannelNotEnabledException() { - super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLED,"支付通道未启用"); + public ChannelNotEnableException() { + super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLE,"支付通道未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java new file mode 100644 index 00000000..4288af1e --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 配置错误 + * @author xxm + * @since 2024/6/18 + */ +public class ConfigErrorException extends PayFailureException{ + + public ConfigErrorException(String message) { + super(DaxPayCommonErrorCode.CONFIG_ERROR,message); + } + + public ConfigErrorException() { + super(DaxPayCommonErrorCode.CONFIG_ERROR,"配置错误"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnabledException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java similarity index 36% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnabledException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java index aa7d9850..72241de8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnabledException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; * @author xxm * @since 2024/6/17 */ -public class ConfigNotEnabledException extends PayFailureException{ +public class ConfigNotEnableException extends PayFailureException{ - public ConfigNotEnabledException(String message) { - super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLED,message); + public ConfigNotEnableException(String message) { + super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLE,message); } - public ConfigNotEnabledException() { - super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLED,"配置未启用"); + public ConfigNotEnableException() { + super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLE,"配置未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java new file mode 100644 index 00000000..3c07053d --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 数据错误 + * @author xxm + * @since 2024/6/17 + */ +public class DataErrorException extends PayFailureException{ + + public DataErrorException(String message) { + super(DaxPayCommonErrorCode.DATA_ERROR,message); + } + + public DataErrorException() { + super(DaxPayCommonErrorCode.DATA_ERROR,"数据错误"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnabledException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java similarity index 37% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnabledException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java index 58d81dcf..6c113cef 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnabledException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; * @author xxm * @since 2024/6/17 */ -public class MethodNotEnabledException extends PayFailureException{ +public class MethodNotEnableException extends PayFailureException{ - public MethodNotEnabledException(String message) { - super(DaxPayCommonErrorCode.METHOD_NOT_ENABLED,message); + public MethodNotEnableException(String message) { + super(DaxPayCommonErrorCode.METHOD_NOT_ENABLE,message); } - public MethodNotEnabledException() { - super(DaxPayCommonErrorCode.METHOD_NOT_ENABLED,"支付方式未启用"); + public MethodNotEnableException() { + super(DaxPayCommonErrorCode.METHOD_NOT_ENABLE,"支付方式未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java similarity index 37% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailedException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java index 1b5ec21d..f63cc8c7 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; * @author xxm * @since 2024/6/17 */ -public class OperationFailedException extends PayFailureException{ +public class OperationFailException extends PayFailureException{ - public OperationFailedException(String message) { - super(DaxPayCommonErrorCode.OPERATION_FAILED,message); + public OperationFailException(String message) { + super(DaxPayCommonErrorCode.OPERATION_FAIL,message); } - public OperationFailedException() { - super(DaxPayCommonErrorCode.OPERATION_FAILED,"操作失败"); + public OperationFailException() { + super(DaxPayCommonErrorCode.OPERATION_FAIL,"操作失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileGetFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java similarity index 30% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileGetFailedException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java index b0397b88..5507b6eb 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileGetFailedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java @@ -3,17 +3,17 @@ package cn.daxpay.single.core.exception; import cn.daxpay.single.core.code.DaxPayCommonErrorCode; /** - * 对账文件获取失败 + * 操作处理中, 请勿重复操作 * @author xxm * @since 2024/6/17 */ -public class ReconcileGetFailedException extends PayFailureException{ +public class OperationProcessingException extends PayFailureException{ - public ReconcileGetFailedException(String message) { - super(DaxPayCommonErrorCode.RECONCILE_GET_FAILED,message); + public OperationProcessingException(String message) { + super(DaxPayCommonErrorCode.OPERATION_PROCESSING,message); } - public ReconcileGetFailedException() { - super(DaxPayCommonErrorCode.RECONCILE_GET_FAILED,"对账文件获取失败"); + public OperationProcessingException() { + super(DaxPayCommonErrorCode.OPERATION_PROCESSING,"操作处理中, 请勿重复操作"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java new file mode 100644 index 00000000..f5a80045 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayCommonErrorCode; + +/** + * 不支持的操作 + * @author xxm + * @since 2024/6/17 + */ +public class OperationUnsupportedException extends PayFailureException{ + + public OperationUnsupportedException(String message) { + super(DaxPayCommonErrorCode.OPERATION_UNSUPPORTED,message); + } + + public OperationUnsupportedException() { + super(DaxPayCommonErrorCode.OPERATION_UNSUPPORTED,"不支持的操作"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java similarity index 35% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailedException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java index 159f38d9..242110dd 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; * @author xxm * @since 2024/6/17 */ -public class ParamValidationFailedException extends PayFailureException{ +public class ParamValidationFailException extends PayFailureException{ - public ParamValidationFailedException(String message) { - super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAILED,message); + public ParamValidationFailException(String message) { + super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAIL,message); } - public ParamValidationFailedException() { - super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAILED,"参数校验未通过"); + public ParamValidationFailException() { + super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAIL,"参数校验未通过"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java deleted file mode 100644 index 7a6004b6..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotExistException.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.daxpay.single.core.exception; - -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; - -/** - * 对账交易账单不存在 - * @author xxm - * @since 2024/6/17 - */ -public class ReconcileNotExistException extends PayFailureException{ - - public ReconcileNotExistException(String message) { - super(DaxPayCommonErrorCode.RECONCILE_NOT_EXIST,message); - } - - public ReconcileNotExistException() { - super(DaxPayCommonErrorCode.RECONCILE_NOT_EXIST,"对账交易账单不存在"); - } -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java deleted file mode 100644 index ab2fecf3..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconcileNotGeneratedException.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.daxpay.single.core.exception; - -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; - -/** - * 对账交易账单未生成 - * @author xxm - * @since 2024/6/17 - */ -public class ReconcileNotGeneratedException extends PayFailureException{ - - public ReconcileNotGeneratedException(String message) { - super(DaxPayCommonErrorCode.RECONCILE_NOT_GENERATED,message); - } - - public ReconcileNotGeneratedException() { - super(DaxPayCommonErrorCode.RECONCILE_NOT_GENERATED,"对账交易账单未生成"); - } -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java similarity index 35% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailedException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java index 75ce6eec..e17b7ef8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; * @author xxm * @since 2024/6/17 */ -public class ReconciliationFailedException extends PayFailureException{ +public class ReconciliationFailException extends PayFailureException{ - public ReconciliationFailedException(String message) { - super(DaxPayCommonErrorCode.RECONCILIATION_FAILED,message); + public ReconciliationFailException(String message) { + super(DaxPayCommonErrorCode.RECONCILE_FAIL,message); } - public ReconciliationFailedException() { - super(DaxPayCommonErrorCode.RECONCILIATION_FAILED,"对账失败"); + public ReconciliationFailException() { + super(DaxPayCommonErrorCode.RECONCILE_FAIL,"对账失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java similarity index 38% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailedException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java index 52e5eb90..ee0ea4f9 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; * @author xxm * @since 2024/6/17 */ -public class TradeFailedException extends PayFailureException{ +public class TradeFaileException extends PayFailureException{ - public TradeFailedException(String message) { - super(DaxPayCommonErrorCode.TRADE_FAILED,message); + public TradeFaileException(String message) { + super(DaxPayCommonErrorCode.TRADE_FAILE,message); } - public TradeFailedException() { - super(DaxPayCommonErrorCode.TRADE_FAILED,"交易失败"); + public TradeFaileException() { + super(DaxPayCommonErrorCode.TRADE_FAILE,"交易失败"); } } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java index 2f5da50a..499d792c 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java @@ -2,6 +2,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; import cn.daxpay.single.core.param.payment.pay.QueryPayParam; @@ -83,7 +84,7 @@ public class UniQueryController { @PostMapping("/allocationReceiver") public DaxResult<AllocReceiversResult> queryAllocReceive(@RequestBody QueryAllocReceiverParam param){ if (StrUtil.isAllBlank(param.getChannel(), param.getReceiverNo())){ - throw new PayFailureException("所属通道和接收方编号不可同时为空"); + throw new ParamValidationFailException("所属通道和接收方编号不可同时为空"); } return DaxRes.ok(allocationReceiverService.queryAllocReceive(param)); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java index 0325e2ec..b4f7ec29 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; import cn.daxpay.single.core.code.PayMethodEnum; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Arrays; @@ -28,7 +28,7 @@ public class AliPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(() -> new MethodNotExistException("不存在的支付方式")); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java index b4c4bd2a..9343c499 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; import cn.daxpay.single.core.code.AllocDetailResultEnum; -import cn.daxpay.single.core.exception.TradeFailedException; +import cn.daxpay.single.core.exception.TradeFaileException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; @@ -155,7 +155,7 @@ public class AliPayAllocationService { errorMsg = alipayResponse.getMsg(); } log.error("分账处理失败 {}", errorMsg); - throw new TradeFailedException(errorMsg); + throw new TradeFaileException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java index 3aa7998f..a55ad665 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java @@ -1,7 +1,8 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.daxpay.single.core.code.PaySyncStatusEnum; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; @@ -62,11 +63,11 @@ public class AliPayCloseService { return; } log.error("网关返回关闭失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw new OperationFailException(response.getSubMsg()); } } catch (AlipayApiException e) { log.error("关闭订单失败:", e); - throw new PayFailureException("关闭订单失败"); + throw new OperationFailException("关闭订单失败"); } } @@ -96,12 +97,12 @@ public class AliPayCloseService { return; } log.error("网关返回关闭失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw new OperationFailException(response.getSubMsg()); } } } catch (AlipayApiException e) { log.error("关闭订单失败:", e); - throw new PayFailureException("关闭订单失败"); + throw new OperationFailException("关闭订单失败"); } } @@ -117,11 +118,11 @@ public class AliPayCloseService { } // 同步错误 else if (Objects.equals(gatewaySyncResult.getSyncStatus(), PaySyncStatusEnum.FAIL)){ - throw new PayFailureException("关闭失败, 原因: "+gatewaySyncResult.getErrorMsg()); + throw new OperationFailException("关闭失败, 原因: "+gatewaySyncResult.getErrorMsg()); } // 其他状态 else { - throw new PayFailureException("当前交易状态不支持关闭操作, 请对订单同步状态后再进行操作"); + throw new TradeStatusErrorException("当前交易状态不支持关闭操作, 请对订单同步状态后再进行操作"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index e6d7ad26..ef77d9b6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.ChannelNotEnableException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; import cn.daxpay.single.service.core.channel.alipay.dao.AliPayConfigManager; @@ -72,7 +72,7 @@ public class AliPayConfigService { public AliPayConfig getAndCheckConfig() { AliPayConfig alipayConfig = this.getConfig(); if (!alipayConfig.getEnable()){ - throw new PayFailureException("支付宝支付未启用"); + throw new ChannelNotEnableException("支付宝支付未启用"); } return alipayConfig; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java index 11116336..2e5dc1e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.ReconcileTradeEnum; -import cn.daxpay.single.core.exception.ReconciliationFailedException; +import cn.daxpay.single.core.exception.ReconciliationFailException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -90,7 +90,7 @@ public class AliPayReconcileService { // 判断返回结果 if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("获取支付宝对账单失败: {}", response.getSubMsg()); - throw new ReconciliationFailedException(response.getSubMsg()); + throw new ReconciliationFailException(response.getSubMsg()); } // 获取对账单下载地址并下载 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java index 74f23934..06c15b46 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.daxpay.single.core.code.RefundStatusEnum; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.context.ErrorInfoLocal; @@ -56,7 +56,7 @@ public class AliPayRefundService { errorInfo.setErrorMsg(response.getSubMsg()); errorInfo.setErrorCode(response.getCode()); log.error("网关返回退款失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw new OperationFailException(response.getSubMsg()); } // 默认为退款中状态 refundInfo.setStatus(RefundStatusEnum.PROGRESS) @@ -72,7 +72,7 @@ public class AliPayRefundService { log.error("订单退款失败:", e); errorInfo.setErrorMsg(e.getErrMsg()); errorInfo.setErrorCode(e.getErrCode()); - throw new PayFailureException("订单退款失败"); + throw new OperationFailException("订单退款失败"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index 3e95026b..75b14ebe 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -2,8 +2,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.PayMethodEnum; -import cn.daxpay.single.core.exception.PayFailureException; -import cn.daxpay.single.core.exception.TradeFailedException; +import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.channel.AliPayParam; import cn.daxpay.single.core.param.payment.pay.PayParam; import cn.daxpay.single.core.util.PayUtil; @@ -53,21 +52,21 @@ public class AliPayService { public void validation(PayParam payParam, AliPayConfig alipayConfig) { if (CollUtil.isEmpty(alipayConfig.getPayWays())){ - throw new PayFailureException("支付宝未配置可用的支付方式"); + throw new ConfigErrorException("支付宝未配置可用的支付方式"); } // 发起的支付类型是否在支持的范围内 PayMethodEnum payMethodEnum = Optional.ofNullable(AliPayWay.findByCode(payParam.getMethod())) - .orElseThrow(() -> new PayFailureException("非法的支付宝支付类型")); + .orElseThrow(() -> new MethodNotExistException("非法的支付宝支付类型")); if (!alipayConfig.getPayWays().contains(payMethodEnum.getCode())) { - throw new PayFailureException("该支付宝支付方式不可用"); + throw new MethodNotEnableException("该支付宝支付方式不可用"); } // 验证订单金额是否超限 if(payParam.getAmount() > alipayConfig.getLimitAmount()){ - throw new PayFailureException("支付宝支付金额超过限额"); + throw new AmountExceedLimitException("支付宝支付金额超过限额"); } // 支付参数开启分账, 配置未开启分账 if(Objects.equals(payParam.getAllocation(),true) && !Objects.equals(alipayConfig.getAllocation(),true)){ - throw new PayFailureException("未开启分账配置"); + throw new ConfigErrorException("未开启分账配置"); } } @@ -143,7 +142,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝手机支付失败", e); - throw new TradeFailedException("支付宝手机支付失败"); + throw new TradeFaileException("支付宝手机支付失败"); } } @@ -178,7 +177,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝APP支付失败", e); - throw new PayFailureException("支付宝APP支付失败"); + throw new TradeFaileException("支付宝APP支付失败"); } } @@ -219,7 +218,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝PC支付失败", e); - throw new PayFailureException("支付宝PC支付失败"); + throw new TradeFaileException("支付宝PC支付失败"); } } @@ -255,7 +254,7 @@ public class AliPayService { return response.getTradeNo(); } catch (AlipayApiException e) { log.error("支付宝JsApi支付失败", e); - throw new PayFailureException("支付宝JsApi支付失败"); + throw new TradeFaileException("支付宝JsApi支付失败"); } } @@ -289,7 +288,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝手机支付失败", e); - throw new PayFailureException("支付宝手机支付失败"); + throw new TradeFaileException("支付宝手机支付失败"); } } @@ -335,7 +334,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("主动扫码支付失败", e); - throw new PayFailureException("主动扫码支付失败"); + throw new TradeFaileException("主动扫码支付失败"); } } @@ -349,7 +348,7 @@ public class AliPayService { errorMsg = alipayResponse.getMsg(); } log.error("支付失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeFaileException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index 4f881817..c2970700 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.TransferStatusEnum; -import cn.daxpay.single.core.exception.TradeFailedException; +import cn.daxpay.single.core.exception.TradeFaileException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.context.TransferLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -87,7 +87,7 @@ public class AliPayTransferService { AlipayFundTransUniTransferResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("网关返回退款失败: {}", response.getSubMsg()); - throw new TradeFailedException(response.getSubMsg()); + throw new TradeFaileException(response.getSubMsg()); } TransferLocal transferInfo = PaymentContextLocal.get().getTransferInfo(); // 通道转账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java index 39eba392..dff26d22 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.core.exception.ChannelNotEnabledException; +import cn.daxpay.single.core.exception.ChannelNotEnableException; import cn.daxpay.single.service.code.UnionPayWay; import cn.daxpay.single.service.core.channel.union.dao.UnionPayConfigManager; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; @@ -72,7 +72,7 @@ public class UnionPayConfigService { public UnionPayConfig getAndCheckConfig() { UnionPayConfig unionPayConfig = this.getConfig(); if (!unionPayConfig.getEnable()){ - throw new ChannelNotEnabledException("云闪付支付未启用"); + throw new ChannelNotEnableException("云闪付支付未启用"); } return unionPayConfig; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java index 1e8b075a..8fc40194 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.ReconcileTradeEnum; -import cn.daxpay.single.core.exception.ReconcileGetFailedException; +import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.code.UnionReconcileFieldEnum; @@ -63,7 +63,7 @@ public class UnionPayReconcileService { // 判断是否成功 if (!SDKConstants.OK_RESP_CODE.equals(map.get(SDKConstants.param_respCode))) { log.warn("云闪付获取对账文件失败"); - throw new ReconcileGetFailedException("云闪付获取对账文件失败"); + throw new OperationFailException("云闪付获取对账文件失败"); } try { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java index 7101903c..a2ecb535 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java @@ -45,13 +45,13 @@ public class UnionPayService { public void validation(PayParam payParam, UnionPayConfig unionPayConfig) { if (CollUtil.isEmpty(unionPayConfig.getPayWays())){ - throw new MethodNotEnabledException("云闪付未配置可用的支付方式"); + throw new MethodNotEnableException("云闪付未配置可用的支付方式"); } // 发起的支付类型是否在支持的范围内 PayMethodEnum payMethodEnum = Optional.ofNullable(UnionPayWay.findByCode(payParam.getMethod())) .orElseThrow(() -> new MethodNotExistException("非法的云闪付支付类型")); if (!unionPayConfig.getPayWays().contains(payMethodEnum.getCode())) { - throw new MethodNotEnabledException("该云闪付支付方式不可用"); + throw new MethodNotEnableException("该云闪付支付方式不可用"); } // 支付金额是否超限 if (payParam.getAmount() > unionPayConfig.getLimitAmount()) { @@ -151,7 +151,7 @@ public class UnionPayService { if (!(Objects.equals(resultCode, UnionPayCode.RESP_SUCCESS))) { log.warn("云闪付支付失败:{}", result); String errMsg = MapUtil.getStr(result, UnionPayCode.RESP_MSG); - throw new PayFailureException(errMsg); + throw new TradeFaileException(errMsg); } return MapUtil.getStr(result, UnionPayCode.PAY_APP_TN); @@ -187,7 +187,7 @@ public class UnionPayService { if (!unionPayKit.verify(new NoticeParams(result))) { log.warn("云闪付支付验签失败:{}", result); - throw new PayFailureException("云闪付支付验签失败"); + throw new ParamValidationFailException("云闪付支付验签失败"); } String resultCode = MapUtil.getStr(result, UnionPayCode.RESP_CODE); @@ -196,7 +196,7 @@ public class UnionPayService { if (!(Objects.equals(resultCode, UnionPayCode.RESP_SUCCESS))) { log.warn("云闪付支付失败:{}", result); String errMsg = MapUtil.getStr(result, UnionPayCode.RESP_MSG); - throw new PayFailureException(errMsg); + throw new TradeFaileException(errMsg); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java index e038a389..3aae9a26 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.daxpay.single.core.code.AllocReceiverTypeEnum; -import cn.daxpay.single.core.exception.OperationFailedException; +import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; @@ -109,7 +109,7 @@ public class WeChatPayAllocationReceiverService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("分账绑定或解绑失败 {}", errorMsg); - throw new OperationFailedException("分账绑定或解绑失败"); + throw new OperationFailException("分账绑定或解绑失败"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java index 8d6b1a83..ae1cd7e0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java @@ -4,6 +4,7 @@ import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; import cn.daxpay.single.core.code.AllocDetailResultEnum; import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; @@ -156,7 +157,7 @@ public class WeChatPayAllocationService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("分账操作失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new OperationFailException("分账操作失败"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java index 2bededad..26b9a5fe 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java @@ -1,5 +1,8 @@ package cn.daxpay.single.service.core.channel.wechat.service; +import cn.daxpay.single.core.exception.ConfigErrorException; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; @@ -61,7 +64,7 @@ public class WeChatPayCloseService { // 获取证书文件 if (StrUtil.isBlank(weChatPayConfig.getP12())){ String errorMsg = "微信p.12证书未配置,无法进行退款"; - throw new PayFailureException(errorMsg); + throw new ConfigErrorException(errorMsg); } byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); ByteArrayInputStream inputStream = new ByteArrayInputStream(fileBytes); @@ -83,7 +86,7 @@ public class WeChatPayCloseService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("订单关闭失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new OperationFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java index 08925e02..83a9d2b8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; +import cn.daxpay.single.core.exception.ConfigNotEnableException; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.core.channel.wechat.dao.WeChatPayConfigManager; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; @@ -38,7 +39,7 @@ public class WeChatPayConfigService { */ @Transactional(rollbackFor = Exception.class) public void update(WeChatPayConfigParam param) { - WeChatPayConfig weChatPayConfig = weChatPayConfigManager.findById(ID).orElseThrow(() -> new PayFailureException("微信支付配置不存在")); + WeChatPayConfig weChatPayConfig = weChatPayConfigManager.findById(ID).orElseThrow(() -> new ConfigNotEnableException("微信支付配置不存在")); BeanUtil.copyProperties(param, weChatPayConfig, CopyOptions.create().ignoreNullValue()); weChatPayConfigManager.updateById(weChatPayConfig); } @@ -57,7 +58,7 @@ public class WeChatPayConfigService { public WeChatPayConfig getAndCheckConfig(){ WeChatPayConfig weChatPayConfig = getConfig(); if (!weChatPayConfig.getEnable()){ - throw new PayFailureException("微信支付未启用"); + throw new ConfigNotEnableException("微信支付未启用"); } return weChatPayConfig; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java index 10952aed..eb70c66f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java @@ -2,6 +2,8 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.ReconcileTradeEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -12,10 +14,9 @@ import cn.daxpay.single.service.core.channel.wechat.entity.WxReconcileBillDetail import cn.daxpay.single.service.core.channel.wechat.entity.WxReconcileBillTotal; import cn.daxpay.single.service.core.channel.wechat.entity.WxReconcileFundFlowDetail; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; -import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; -import cn.daxpay.single.core.util.PayUtil; +import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.hutool.core.codec.Base64; import cn.hutool.core.date.DatePattern; import cn.hutool.core.io.IoUtil; @@ -280,16 +281,16 @@ public class WeChatPayReconcileService { if (Objects.equals(errCode, "20002")){ if (Objects.equals("No Bill Exist",resultMsg)){ log.warn("交易账单不存在, 请检查当前商户号在指定日期内是否有成功的交易"); - throw new PayFailureException("交易账单不存在"); + throw new OperationFailException("交易账单不存在, 请检查当前商户号在指定日期内是否有成功的交易"); } if (Objects.equals("Bill Creating",resultMsg)){ log.warn("交易账单未生成, 请在上午10点以后再试"); - throw new PayFailureException("交易账单未生成, 请在上午10点以后再试"); + throw new OperationFailException("交易账单未生成, 请在上午10点以后再试"); } } else { log.error("微信交易对账失败, 原因: {}, 错误码: {}, 错误信息: {}", resultMsg, errCode, res); - throw new PayFailureException("微信支付交易对账失败"); + throw new OperationFailException("微信支付交易对账失败"); } } @@ -309,7 +310,7 @@ public class WeChatPayReconcileService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("微信资金对账失败, 原因: {}, 错误码: {}, 错误信息: {}", errorMsg, returnCode, res); - throw new PayFailureException("微信资金对账失败: " + errorMsg); + throw new OperationFailException("微信资金对账失败: " + errorMsg); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java index 31910f89..afa2d472 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java @@ -1,6 +1,8 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.exception.ConfigErrorException; +import cn.daxpay.single.core.exception.TradeFaileException; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -58,7 +60,7 @@ public class WeChatPayRefundService { String errorMsg = "微信p.12证书未配置,无法进行退款"; errorInfo.setErrorMsg(errorMsg); errorInfo.setErrorCode(RefundStatusEnum.FAIL.getCode()); - throw new PayFailureException(errorMsg); + throw new ConfigErrorException(errorMsg); } byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); ByteArrayInputStream inputStream = new ByteArrayInputStream(fileBytes); @@ -86,7 +88,7 @@ public class WeChatPayRefundService { ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); errorInfo.setErrorMsg(errorMsg); errorInfo.setErrorCode(Optional.ofNullable(resultCode).orElse(returnCode)); - throw new PayFailureException(errorMsg); + throw new TradeFaileException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java index 84cac048..f43766d1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java @@ -5,8 +5,10 @@ import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.common.jackson.util.JacksonUtil; import cn.bootx.platform.common.spring.exception.RetryableException; import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.payment.pay.PayParam; import cn.daxpay.single.core.result.sync.PaySyncResult; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.common.context.PayLocal; @@ -16,7 +18,6 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; import cn.daxpay.single.service.param.channel.wechat.WeChatPayParam; import cn.daxpay.single.service.sdk.wechat.BarPayModel; -import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.net.NetUtil; import cn.hutool.core.util.StrUtil; @@ -61,21 +62,21 @@ public class WeChatPayService { public void validation(PayParam payParam, WeChatPayConfig weChatPayConfig) { List<String> payWays = weChatPayConfig.getPayWays(); if (CollUtil.isEmpty(payWays)){ - throw new PayFailureException("未配置微信支付方式"); + throw new ConfigNotEnableException("未配置微信支付方式"); } PayMethodEnum payMethodEnum = Optional.ofNullable(WeChatPayWay.findByCode(payParam.getMethod())) - .orElseThrow(() -> new PayFailureException("非法的微信支付类型")); + .orElseThrow(() -> new MethodNotExistException("非法的微信支付类型")); if (!payWays.contains(payMethodEnum.getCode())) { - throw new PayFailureException("该微信支付方式不可用"); + throw new MethodNotEnableException("该微信支付方式不可用"); } // 支付金额是否超限 if (payParam.getAmount() > weChatPayConfig.getLimitAmount()) { - throw new PayFailureException("微信支付金额超限"); + throw new AmountExceedLimitException("微信支付金额超限"); } // 是否支持分账 if (Objects.equals(payParam.getAllocation(),true) && !Objects.equals(weChatPayConfig.getAllocation(),true)) { - throw new PayFailureException("未开启分账配置"); + throw new ConfigNotEnableException("未开启分账配置"); } } @@ -202,7 +203,7 @@ public class WeChatPayService { // 支付失败 if (!WxPayKit.codeIsOk(returnCode)) { String errorMsg = result.get(WeChatPayCode.ERR_CODE_DES); - throw new PayFailureException(errorMsg); + throw new TradeFaileException(errorMsg); } String resultCode = result.get(WeChatPayCode.RESULT_CODE); @@ -225,13 +226,13 @@ public class WeChatPayService { } // 支付撤销 if (Objects.equals(resultCode, WeChatPayCode.PAY_REVOKED)) { - throw new PayFailureException("用户已撤销支付"); + throw new TradeStatusErrorException("用户已撤销支付"); } // 支付失败 if (Objects.equals(resultCode, WeChatPayCode.TRADE_PAYERROR) || Objects.equals(resultCode, WeChatPayCode.PAY_FAIL)) { String errorMsg = result.get(WeChatPayCode.ERR_CODE_DES); - throw new PayFailureException(errorMsg); + throw new TradeFaileException(errorMsg); } } @@ -268,7 +269,7 @@ public class WeChatPayService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("支付失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeFaileException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java index ba0aad5c..b3a4a1f1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.channel.wechat.service; +import cn.daxpay.single.core.exception.UnsupportedAbilityException; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import lombok.RequiredArgsConstructor; @@ -22,6 +23,6 @@ public class WeChatPayTransferService { */ @SneakyThrows public void transfer(TransferOrder order, WeChatPayConfig config) { - throw new PayFailureException("微信转账暂未实现"); + throw new UnsupportedAbilityException("微信转账暂未实现"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java index 4c030d4d..4697f565 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java @@ -4,8 +4,10 @@ import cn.daxpay.single.core.code.AllocDetailResultEnum; import cn.daxpay.single.core.code.AllocOrderResultEnum; import cn.daxpay.single.core.code.AllocOrderStatusEnum; import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.param.payment.allocation.AllocReceiverParam; import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; @@ -16,7 +18,6 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationReceiverManager; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; import cn.daxpay.single.service.dto.allocation.AllocationGroupReceiverResult; -import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.hutool.core.util.IdUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -96,7 +97,7 @@ public class AllocOrderService { .distinct() .collect(Collectors.toList()); if (receiverNos.size() != param.getReceivers().size()){ - throw new PayFailureException("分账接收方编号重复"); + throw new ParamValidationFailException("分账接收方编号重复"); } Map<String, Integer> receiverNoMap = param.getReceivers() .stream() @@ -104,13 +105,13 @@ public class AllocOrderService { // 查询分账接收方信息 List<AllocationReceiver> receivers = receiverManager.findAllByReceiverNos(receiverNos); if (receivers.size() != receiverNos.size()){ - throw new PayFailureException("分账接收方列表存在重复或无效的数据"); + throw new ParamValidationFailException("分账接收方列表存在重复或无效的数据"); } // 判断分账接收方类型是否都与分账订单类型匹配 boolean anyMatch = receivers.stream() .anyMatch(o -> !Objects.equals(o.getChannel(), payOrder.getChannel())); if (anyMatch){ - throw new PayFailureException("分账接收方列表存在非本通道的数据"); + throw new ParamValidationFailException("分账接收方列表存在非本通道的数据"); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index 488cb231..0516c50c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -5,7 +5,6 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.daxpay.single.code.*; import cn.daxpay.single.core.code.*; import cn.daxpay.single.core.param.channel.AliPayParam; import cn.daxpay.single.core.param.channel.WalletPayParam; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java index 313926a4..968d57ee 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.order.pay.service; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.core.exception.ParamValidationFailedException; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.pay.QueryPayParam; import cn.daxpay.single.core.result.order.PayOrderResult; @@ -80,7 +80,7 @@ public class PayOrderQueryService { public PayOrderResult queryPayOrder(QueryPayParam param) { // 校验参数 if (StrUtil.isBlank(param.getBizOrderNoeNo()) && Objects.isNull(param.getOrderNo())){ - throw new ParamValidationFailedException("业务号或支付单ID不能都为空"); + throw new ParamValidationFailException("业务号或支付单ID不能都为空"); } // 查询支付单 PayOrder payOrder = this.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNoeNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java index a63a30c1..3043f1e5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java @@ -4,6 +4,9 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.refund.QueryRefundParam; import cn.daxpay.single.core.result.order.RefundOrderResult; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; @@ -75,11 +78,11 @@ public class RefundOrderQueryService { public RefundOrderResult queryRefundOrder(QueryRefundParam param) { // 校验参数 if (StrUtil.isBlank(param.getRefundNo()) && Objects.isNull(param.getBizRefundNo())){ - throw new PayFailureException("退款号或商户退款号不能都为空"); + throw new ParamValidationFailException("退款号或商户退款号不能都为空"); } // 查询退款单 RefundOrder refundOrder = this.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo()) - .orElseThrow(() -> new PayFailureException("退款订单不存在")); + .orElseThrow(() -> new TradeNotExistException("退款订单不存在")); return RefundOrderConvert.CONVERT.convertResult(refundOrder); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java index 47ba9497..91058082 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java @@ -4,6 +4,9 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.transfer.QueryTransferParam; import cn.daxpay.single.core.result.order.TransferOrderResult; import cn.daxpay.single.service.core.order.transfer.convert.TransferOrderConvert; @@ -75,11 +78,11 @@ public class TransferOrderQueryService { public TransferOrderResult queryTransferOrder(QueryTransferParam param) { // 校验参数 if (StrUtil.isBlank(param.getTransferNo()) && Objects.isNull(param.getBizTransferNo())){ - throw new PayFailureException("转账号或商户转账号不能都为空"); + throw new ParamValidationFailException("转账号或商户转账号不能都为空"); } // 查询转账单 TransferOrder transferOrder = this.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo()) - .orElseThrow(() -> new PayFailureException("转账订单不存在")); + .orElseThrow(() -> new TradeNotExistException("转账订单不存在")); return TransferOrderConvert.CONVERT.convertResult(transferOrder); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java index 4e6582af..4578e0ab 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java @@ -8,6 +8,7 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; @@ -110,12 +111,12 @@ public class AllocationReceiverService { // 判断是否已经添加 LockInfo lock = lockTemplate.lock("payment:receiver:" + param.getReceiverNo(),10000,200); if (Objects.isNull(lock)){ - throw new PayFailureException("分账方处理中,请勿重复操作"); + throw new OperationProcessingException("分账方处理中,请勿重复操作"); } try { Optional<AllocationReceiver> receiverOptional = allocationReceiverManager.findByReceiverNo(param.getReceiverNo()); if (receiverOptional.isPresent()){ - throw new PayFailureException("该接收方已存在"); + throw new OperationFailException("该接收方已存在"); } AllocationReceiver receiver = AllocationReceiverConvert.CONVERT.convert(param); // 获取策略 @@ -123,7 +124,7 @@ public class AllocationReceiverService { // 校验 receiverStrategy.setAllocationReceiver(receiver); if (!receiverStrategy.validation()){ - throw new PayFailureException("接收方信息校验失败"); + throw new ParamValidationFailException("接收方信息校验失败"); } // 先添加到三方支付系统中, 然后保存到本地 receiverStrategy.doBeforeHandler(); @@ -141,15 +142,15 @@ public class AllocationReceiverService { public AllocReceiverRemoveResult remove(AllocReceiverRemoveParam param){ // 判断是否存在 AllocationReceiver receiver = allocationReceiverManager.findByReceiverNo(param.getReceiverNo()) - .orElseThrow(() -> new PayFailureException("该接收方不存在")); + .orElseThrow(() -> new DataErrorException("该接收方不存在")); if (groupReceiverManager.isUsed(receiver.getId())){ - throw new PayFailureException("该接收方已被使用,无法被删除"); + throw new OperationFailException("该接收方已被使用,无法被删除"); } // 获取策略 AbsAllocationReceiverStrategy receiverStrategy = PayStrategyFactory.create(receiver.getChannel(), AbsAllocationReceiverStrategy.class); LockInfo lock = lockTemplate.lock("payment:receiver:" + param.getReceiverNo(),10000,200); if (Objects.isNull(lock)){ - throw new PayFailureException("分账方处理中,请勿重复操作"); + throw new OperationProcessingException("分账方处理中,请勿重复操作"); } try { // 校验 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index d7632250..1c03f316 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -7,6 +7,7 @@ import cn.daxpay.single.core.code.AllocDetailResultEnum; import cn.daxpay.single.core.code.AllocOrderResultEnum; import cn.daxpay.single.core.code.AllocOrderStatusEnum; import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; @@ -157,7 +158,7 @@ public class AllocationService { AllocOrderStatusEnum.ALLOCATION_FAILED.getCode(), AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()); if (!list.contains(order.getStatus())){ - throw new PayFailureException("分账单状态错误,无法重试"); + throw new TradeStatusErrorException("分账单状态错误,无法重试"); } List<AllocOrderDetail> details = this.getDetails(order.getId()); // 创建分账策略并初始化 @@ -210,7 +211,7 @@ public class AllocationService { public AllocationResult finish(AllocOrder allocOrder) { // 只有分账结束后才可以完结 if (!Arrays.asList(ALLOCATION_END.getCode(),FINISH_FAILED.getCode()).contains(allocOrder.getStatus())) { - throw new PayFailureException("分账单状态错误"); + throw new TradeStatusErrorException("分账单状态错误"); } List<AllocOrderDetail> details = this.getDetails(allocOrder.getId()); @@ -246,14 +247,14 @@ public class AllocationService { private PayOrder getAndCheckPayOrder(AllocationParam param) { // 查询支付单 PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) - .orElseThrow(() -> new PayFailureException("支付单不存在")); + .orElseThrow(() -> new TradeNotExistException("支付单不存在")); // 判断订单是否可以分账 if (!payOrder.getAllocation()){ - throw new PayFailureException("该订单不允许分账"); + throw new OperationUnsupportedException("该订单不允许分账"); } // 判断分账状态 if (Objects.equals(PayOrderAllocStatusEnum.ALLOCATION.getCode(), payOrder.getAllocStatus())){ - throw new PayFailureException("该订单已分账完成"); + throw new TradeStatusErrorException("该订单已分账完成"); } return payOrder; } @@ -264,7 +265,7 @@ public class AllocationService { public AllocOrderResult queryAllocationOrder(QueryAllocOrderParam param) { // 查询分账单 AllocOrder allocOrder = allocationOrderManager.findByAllocNo(param.getAllocNo()) - .orElseThrow(() -> new PayFailureException("分账单不存在")); + .orElseThrow(() -> new DataErrorException("分账单不存在")); AllocOrderResult result = AllocOrderConvert.CONVERT.toResult(allocOrder); // 查询分账单明细 List<AllocOrderDetailResult> details = allocOrderDetailManager.findAllByOrderId(allocOrder.getId()).stream() @@ -287,14 +288,14 @@ public class AllocationService { AllocationGroup allocationGroup; if (Objects.nonNull(param.getGroupNo())){ // 指定分账组 - allocationGroup = groupManager.findByGroupNo(param.getGroupNo()).orElseThrow(() -> new DataNotExistException("未查询到分账组")); + allocationGroup = groupManager.findByGroupNo(param.getGroupNo()).orElseThrow(() -> new DataErrorException("未查询到分账组")); } else { // 默认分账组 - allocationGroup = groupManager.findDefaultGroup(payOrder.getChannel()).orElseThrow(() -> new PayFailureException("未查询到默认分账组")); + allocationGroup = groupManager.findDefaultGroup(payOrder.getChannel()).orElseThrow(() -> new DataErrorException("未查询到默认分账组")); } // 判断通道类型是否一致 if (!Objects.equals(allocationGroup.getChannel(), payOrder.getChannel())){ - throw new PayFailureException("分账接收方列表存在非本通道的数据"); + throw new ParamValidationFailException("分账接收方列表存在非本通道的数据"); } List<AllocationGroupReceiverResult> receiversByGroups = allocationGroupService.findReceiversByGroups(allocationGroup.getId()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java index 29825b54..68a8027d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java @@ -1,6 +1,8 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.allocation; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -49,7 +51,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { this.aliPayConfig = aliPayConfigService.getConfig(); // 判断是否支持分账 if (Objects.equals(aliPayConfig.getAllocation(),false)){ - throw new PayFailureException("支付宝支付配置不支持分账"); + throw new ConfigNotEnableException("支付宝支付配置未开启分账"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java index 5c2c01cd..63fdfa3e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java @@ -1,6 +1,9 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.allocation; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -48,11 +51,11 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { weChatPayConfig = weChatPayConfigService.getAndCheckConfig(); // 判断是否支持分账 if (Objects.equals(weChatPayConfig.getAllocation(),false)){ - throw new PayFailureException("微信支付配置不支持分账"); + throw new ConfigNotEnableException("微信支付未开启分账"); } // 如果分账金额为0, 不发起分账 if (getAllocOrder().getAmount() == 0){ - throw new PayFailureException("微信订单的分账比例不正确或订单金额太小, 无法进行分账"); + throw new OperationFailException("微信订单的分账比例不正确或订单金额太小, 无法进行分账"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java index d1262502..b30cdb27 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java @@ -1,6 +1,8 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -55,7 +57,7 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat this.aliPayConfig = payConfigService.getAndCheckConfig(); // 判断是否支持分账 if (Objects.equals(aliPayConfig.getAllocation(),false)){ - throw new PayFailureException("微信支付配置不支持分账"); + throw new ConfigNotEnableException("微信支付配置未开启分账"); } } @@ -65,7 +67,7 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat @Override public void bind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账接收者参数未通过校验"); + throw new ParamValidationFailException("分账接收者参数未通过校验"); } receiverService.bind(this.getAllocationReceiver(), this.aliPayConfig); } @@ -76,7 +78,7 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat @Override public void unbind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账参数未通过校验"); + throw new ParamValidationFailException("分账参数未通过校验"); } receiverService.unbind(this.getAllocationReceiver(), this.aliPayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java index 9aa15a19..fdff32dd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java @@ -1,6 +1,8 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -55,7 +57,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt this.weChatPayConfig = payConfigService.getAndCheckConfig(); // 判断是否支持分账 if (Objects.equals(weChatPayConfig.getAllocation(),false)){ - throw new PayFailureException("微信支付配置不支持分账"); + throw new ConfigNotEnableException("微信支付配置未开启分账"); } } @@ -65,7 +67,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt @Override public void bind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账接收者参数未通过校验"); + throw new ParamValidationFailException("分账接收者参数未通过校验"); } receiverService.bind(this.getAllocationReceiver(),this.weChatPayConfig); } @@ -76,7 +78,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt @Override public void unbind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账参数未通过校验"); + throw new ParamValidationFailException("分账参数未通过校验"); } receiverService.unbind(this.getAllocationReceiver(),this.weChatPayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java index f3cdc01f..673728df 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java @@ -2,6 +2,9 @@ package cn.daxpay.single.service.core.payment.cancel.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.pay.PayCancelParam; import cn.daxpay.single.core.result.pay.PayCancelResult; import cn.daxpay.single.service.code.PayCloseTypeEnum; @@ -44,7 +47,7 @@ public class PayCancelService { */ public PayCancelResult cancel(PayCancelParam param){ PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) - .orElseThrow(() -> new PayFailureException("支付订单不存在")); + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); LockInfo lock = lockTemplate.lock("payment:cancel:" + payOrder.getId(),10000, 50); if (Objects.isNull(lock)){ throw new RepetitiveOperationException("支付订单已在撤销中,请勿重复发起"); @@ -53,7 +56,7 @@ public class PayCancelService { PayCancelResult result = new PayCancelResult(); // 状态检查, 只有支付中可以进行撤销支付 if (!Objects.equals(payOrder.getStatus(), PayStatusEnum.PROGRESS.getCode())) { - throw new PayFailureException("订单不是支付中, 无法进行撤销订单"); + throw new TradeStatusErrorException("订单不是支付中, 无法进行撤销订单"); } try { AbsPayCancelStrategy strategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPayCancelStrategy.class); @@ -72,7 +75,7 @@ public class PayCancelService { log.error("撤销订单失败:", e); // 记录撤销失败的记录 this.saveRecord(payOrder, false, e.getMessage()); - throw new PayFailureException("撤销订单失败"); + throw new OperationFailException("撤销订单失败"); } } finally { lockTemplate.releaseLock(lock); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index cd6b76a3..04ded5b0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -2,6 +2,9 @@ package cn.daxpay.single.service.core.payment.close.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.pay.PayCloseParam; import cn.daxpay.single.core.result.pay.PayCloseResult; import cn.daxpay.single.service.code.PayCloseTypeEnum; @@ -44,7 +47,7 @@ public class PayCloseService { */ public PayCloseResult close(PayCloseParam param){ PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) - .orElseThrow(() -> new PayFailureException("支付订单不存在")); + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); LockInfo lock = lockTemplate.lock("payment:close:" + payOrder.getId(),10000, 50); if (Objects.isNull(lock)){ throw new RepetitiveOperationException("支付订单已在关闭中,请勿重复发起"); @@ -63,7 +66,7 @@ public class PayCloseService { PayCloseResult result = new PayCloseResult(); // 状态检查, 只有支付中可以进行取消支付 if (!Objects.equals(payOrder.getStatus(), PayStatusEnum.PROGRESS.getCode())) { - throw new PayFailureException("订单不是支付中, 无法进行关闭订单"); + throw new TradeStatusErrorException("订单不是支付中, 无法进行关闭订单"); } try { AbsPayCloseStrategy strategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPayCloseStrategy.class); @@ -82,7 +85,7 @@ public class PayCloseService { log.error("关闭订单失败:", e); // 记录关闭失败的记录 this.saveRecord(payOrder, false, e.getMessage()); - throw new PayFailureException("关闭订单失败"); + throw new OperationFailException("关闭订单失败"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java index 257f4d71..5a943beb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.payment.common.aop; -import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.daxpay.single.core.exception.ConfigErrorException; +import cn.daxpay.single.core.exception.ConfigNotEnableException; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.system.config.dao.PayApiConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayApiConfig; @@ -36,9 +37,9 @@ public class InitPlatformInfoAop { String code = platformContext.value(); // 接口信息 PayApiConfig api = payApiConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("未找到接口信息")); + .orElseThrow(() -> new ConfigErrorException("未找到接口信息")); if (!api.isEnable()){ - throw new PayFailureException("该接口权限未开放"); + throw new ConfigNotEnableException("该接口权限未开放"); } // 初始化平台信息 platformConfigService.initPlatform(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java index 07d21973..01424c0e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java @@ -2,11 +2,13 @@ package cn.daxpay.single.service.core.payment.common.aop; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.util.ValidationUtil; +import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.core.param.PaymentCommonParam; import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.util.DaxRes; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; -import cn.daxpay.single.core.util.DaxRes; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; @@ -33,7 +35,7 @@ public class PaymentVerifyAop { public Object beforeMethod(ProceedingJoinPoint pjp, @SuppressWarnings("unused") PaymentVerify paymentVerify) throws Throwable { Object[] args = pjp.getArgs(); if (args.length == 0){ - throw new PayFailureException("支付方法至少有一个参数,并且需要签名支付参数需要放在第一位"); + throw new ParamValidationFailException("支付方法至少有一个参数,并且需要签名支付参数需要放在第一位"); } Object param = args[0]; if (param instanceof PaymentCommonParam){ @@ -47,7 +49,7 @@ public class PaymentVerifyAop { paymentAssistService.reqTimeoutVerify((PaymentCommonParam) param); } else { - throw new PayFailureException("支付参数需要继承PayCommonParam"); + throw new ParamValidationFailException("支付参数需要继承PayCommonParam"); } Object proceed; try { @@ -67,10 +69,10 @@ public class PaymentVerifyAop { if (data instanceof PaymentCommonResult){ paymentAssistService.sign((PaymentCommonResult) data); } else { - throw new PayFailureException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); + throw new ParamValidationFailException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); } } else { - throw new PayFailureException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); + throw new ParamValidationFailException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); } return proceed; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java index 692249e3..18fb1992 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.common.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.PaySignTypeEnum; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.exception.VerifySignFailedException; import cn.daxpay.single.core.param.PaymentCommonParam; import cn.daxpay.single.core.result.PaymentCommonResult; @@ -86,12 +86,12 @@ public class PaymentAssistService { if (LocalDateTimeUtil.lt(now, param.getReqTime())){ // 请求时间比服务器时间晚, 超过一分钟直接打回 if (durationSeconds > 60){ - throw new PayFailureException("请求时间晚于服务器接收到的时间,请检查"); + throw new ParamValidationFailException("请求时间晚于服务器接收到的时间,请检查"); } } else { // 请求时间比服务器时间早, 超过配置时间直接打回 if (durationSeconds > platformInfo.getReqTimeout()){ - throw new PayFailureException("请求已过期,请重新发送!"); + throw new ParamValidationFailException("请求已过期,请重新发送!"); } } @@ -113,7 +113,7 @@ public class PaymentAssistService { } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ result.setSign(PaySignUtil.md5Sign(result, platformInfo.getSignSecret())); } else { - throw new PayFailureException("未获取到签名方式,请检查"); + throw new ParamValidationFailException("未获取到签名方式,请检查"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 33d4f4fb..62044c65 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -6,8 +6,12 @@ import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.AmountExceedLimitException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.pay.PayParam; import cn.daxpay.single.core.result.pay.PayResult; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -15,8 +19,6 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; -import cn.daxpay.single.core.util.OrderNoGenerateUtil; -import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import lombok.RequiredArgsConstructor; @@ -122,26 +124,26 @@ public class PayAssistService { // 如果支付超时, 触发订单同步操作, 同时抛出异常 if (Objects.nonNull(payOrder.getExpiredTime()) && LocalDateTimeUtil.ge(LocalDateTime.now(), payOrder.getExpiredTime())) { paySyncService.syncPayOrder(payOrder); - throw new PayFailureException("支付已超时,请重新确认支付状态"); + throw new TradeStatusErrorException("支付已超时,请重新确认支付状态"); } return payOrder; } // 已经支付状态 if (SUCCESS.getCode() .equals(payOrder.getStatus())) { - throw new PayFailureException("已经支付成功,请勿重新支付"); + throw new TradeStatusErrorException("已经支付成功,请勿重新支付"); } // 支付失败类型状态 List<String> tradesStatus = Arrays.asList(FAIL.getCode(), CLOSE.getCode(), CANCEL.getCode()); if (tradesStatus.contains(payOrder.getStatus())) { - throw new PayFailureException("支付失败或已经被关闭"); + throw new TradeStatusErrorException("支付失败或已经被关闭"); } // 退款类型状态 if (Objects.equals(payOrder.getRefundStatus(), PayOrderRefundStatusEnum.REFUNDING.getCode())) { - throw new PayFailureException("该订单处于退款状态"); + throw new TradeStatusErrorException("该订单处于退款状态"); } // 其他状态直接抛出兜底异常 - throw new PayFailureException("订单不是待支付状态,请重新确认订单状态"); + throw new TradeStatusErrorException("订单不是待支付状态,请重新确认订单状态"); } return null; } @@ -153,7 +155,7 @@ public class PayAssistService { // 总额校验 PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); if (payParam.getAmount() > platformInfo.getLimitAmount()) { - throw new PayFailureException("支付金额超过限额"); + throw new AmountExceedLimitException("支付金额超过限额"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java index 83764859..b9f37804 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.strategy; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.param.channel.AliPayParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -57,7 +58,7 @@ public class AliPayStrategy extends AbsPayStrategy { } } catch (JSONException e) { - throw new PayFailureException("支付参数错误"); + throw new ParamValidationFailException("支付参数错误"); } // 检查并获取支付宝支付配置 this.alipayConfig = alipayConfigService.getAndCheckConfig(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java index cf1086b4..c92d519c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.strategy; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.param.channel.UnionPayParam; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; @@ -59,7 +60,7 @@ public class UnionPayStrategy extends AbsPayStrategy { } } catch (JSONException e) { - throw new PayFailureException("支付参数错误"); + throw new ParamValidationFailException("支付参数错误"); } // 检查并获取云闪付支付配置 this.unionPayConfig = unionPayConfigService.getAndCheckConfig(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java index 5e6cae45..f0de3c92 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.strategy; import cn.daxpay.single.core.code.PayChannelEnum; -import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.channel.WalletPayParam; import cn.daxpay.single.service.code.WalletCode; import cn.daxpay.single.service.core.channel.wallet.entity.Wallet; @@ -59,7 +59,7 @@ public class WalletPayStrategy extends AbsPayStrategy { walletPayParam = BeanUtil.toBean(channelParam, WalletPayParam.class); } } catch (JSONException e) { - throw new PayFailureException("支付参数错误"); + throw new ParamValidationFailException("支付参数错误"); } WalletConfig walletConfig = walletConfigService.getAndCheckConfig(); @@ -67,23 +67,23 @@ public class WalletPayStrategy extends AbsPayStrategy { // 获取钱包 this.wallet = walletQueryService.getWallet(walletPayParam); if (Objects.isNull(this.wallet)){ - throw new PayFailureException("钱包不存在"); + throw new TradeFaileException("钱包不存在"); } // 是否被禁用 if (Objects.equals(WalletCode.STATUS_FORBIDDEN, this.wallet.getStatus())) { - throw new PayFailureException(); + throw new ConfigNotEnableException(); } // 判断是否超过限额 if (this.getPayParam().getAmount() > walletConfig.getLimitAmount()){ - throw new PayFailureException("钱包支付金额超过限额"); + throw new AmountExceedLimitException("钱包支付金额超过限额"); } // 判断余额 if (this.wallet.getBalance() < this.getPayParam().getAmount()) { - throw new PayFailureException(); + throw new ConfigErrorException(); } // 分账 if (Objects.equals(this.getPayParam().getAllocation(),true)){ - throw new PayFailureException("钱包支付不支持分账"); + throw new UnsupportedAbilityException("钱包支付不支持分账"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java index ae95bb03..a79cd0b7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java @@ -4,6 +4,8 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.ReconcileResultEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -22,7 +24,6 @@ import cn.daxpay.single.service.dto.order.reconcile.ReconcileTradeDetailExcel; import cn.daxpay.single.service.func.AbsReconcileStrategy; import cn.daxpay.single.service.param.reconcile.ReconcileUploadParam; import cn.daxpay.single.service.util.PayStrategyFactory; -import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.util.CharsetUtil; @@ -100,7 +101,7 @@ public class ReconcileService { public void downAndSave(ReconcileOrder reconcileOrder) { // 如果对账单已经存在 if (reconcileOrder.isDownOrUpload()){ - throw new PayFailureException("对账单文件已经下载或上传"); + throw new OperationFailException("对账单文件已经下载或上传"); } // 将对账订单写入到上下文中 PaymentContextLocal.get().getReconcileInfo().setReconcileOrder(reconcileOrder); @@ -173,11 +174,11 @@ public class ReconcileService { public void compare(ReconcileOrder reconcileOrder){ // 判断是否已经下载了对账单明细 if (!reconcileOrder.isDownOrUpload()){ - throw new PayFailureException("请先下载对账单"); + throw new OperationFailException("请先下载对账单"); } // 是否对比完成 if (reconcileOrder.isCompare()){ - throw new PayFailureException("对账单比对已经完成"); + throw new OperationFailException("对账单比对已经完成"); } // 查询对账单 List<ReconcileOutTrade> reconcileTradeDetails = reconcileOutTradeManager.findAllByReconcileId(reconcileOrder.getId()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 75a76187..27f9ac97 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -4,8 +4,12 @@ import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; import cn.daxpay.single.core.code.PaySignTypeEnum; import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.refund.RefundParam; import cn.daxpay.single.core.result.pay.RefundResult; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.PaySignUtil; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.context.RefundLocal; @@ -13,8 +17,6 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.core.util.OrderNoGenerateUtil; -import cn.daxpay.single.core.util.PaySignUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -47,7 +49,7 @@ public class RefundAssistService { // 非支付完成的不能进行退款 if (!Objects.equals(SUCCESS.getCode(), payOrder.getStatus())) { PayStatusEnum statusEnum = PayStatusEnum.findByCode(payOrder.getStatus()); - throw new PayFailureException("当前支付单订状态["+statusEnum.getName()+"]不允许发起退款操作"); + throw new TradeStatusErrorException("当前支付单订状态["+statusEnum.getName()+"]不允许发起退款操作"); } // 退款中和退款完成不能退款 List<String> tradesStatus = Arrays.asList( @@ -55,16 +57,16 @@ public class RefundAssistService { PayOrderRefundStatusEnum.REFUNDING.getCode()); if (tradesStatus.contains(payOrder.getRefundStatus())){ val statusEnum = PayOrderRefundStatusEnum.findByCode(payOrder.getRefundStatus()); - throw new PayFailureException("当前支付单退款状态["+statusEnum.getName()+"]不允许发起退款操作"); + throw new TradeStatusErrorException("当前支付单退款状态["+statusEnum.getName()+"]不允许发起退款操作"); } // 退款号唯一校验 if (StrUtil.isNotBlank(param.getBizRefundNo()) && refundOrderManager.existsByRefundNo(param.getBizRefundNo())){ - throw new PayFailureException("退款单号已存在"); + throw new ParamValidationFailException("退款单号已存在"); } // 金额判断 if (param.getAmount() > payOrder.getRefundableBalance()){ - throw new PayFailureException("退款金额不能大于支付金额"); + throw new ParamValidationFailException("退款金额不能大于支付金额"); } } @@ -143,7 +145,7 @@ public class RefundAssistService { } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ refundResult.setSign(PaySignUtil.md5Sign(refundOrder, platformInfo.getSignSecret())); } else { - throw new PayFailureException("未获取到签名方式,请检查"); + throw new ParamValidationFailException("未获取到签名方式,请检查"); } return refundResult; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index 5c976558..902972d6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -4,6 +4,8 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.refund.RefundParam; import cn.daxpay.single.core.result.pay.RefundResult; import cn.daxpay.single.service.common.context.RefundLocal; @@ -142,11 +144,11 @@ public class RefundService { public RefundResult repeatRefund(RefundOrder refundOrder, RefundParam param){ // 退款失败才可以重新发起退款, 重新发起退款 if (!Objects.equals(refundOrder.getStatus(), RefundStatusEnum.FAIL.getCode())){ - throw new PayFailureException("只有失败状态的才可以重新发起退款"); + throw new TradeStatusErrorException("只有失败状态的才可以重新发起退款"); } // 获取支付订单 PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(refundOrder.getOrderNo(), refundOrder.getBizOrderNo()) - .orElseThrow(() -> new DataNotExistException("支付订单不存在")); + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); AbsRefundStrategy refundStrategy = PayStrategyFactory.create(refundOrder.getChannel(), AbsRefundStrategy.class); // 设置退款订单对象 refundStrategy.setRefundOrder(refundOrder); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java index 6af7f5b9..6aaf990a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java @@ -6,6 +6,7 @@ import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.payment.pay.PaySyncParam; import cn.daxpay.single.core.result.sync.PaySyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; @@ -63,11 +64,11 @@ public class PaySyncService { @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public PaySyncResult sync(PaySyncParam param) { PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) - .orElseThrow(() -> new PayFailureException("支付订单不存在")); + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); // 钱包支付钱包不需要同步 if (PayChannelEnum.WALLET.getCode().equals(payOrder.getChannel())){ - throw new PayFailureException("支付订单不需要同步"); + throw new TradeStatusErrorException("支付订单不需要同步"); } // 执行订单同步逻辑 return this.syncPayOrder(payOrder); @@ -95,7 +96,7 @@ public class PaySyncService { if (Objects.equals(payRemoteSyncResult.getSyncStatus(), PaySyncStatusEnum.FAIL)){ // 同步失败, 返回失败响应, 同时记录失败的日志 this.saveRecord(payOrder, payRemoteSyncResult, false, null, payRemoteSyncResult.getErrorMsg()); - throw new PayFailureException(payRemoteSyncResult.getErrorMsg()); + throw new OperationFailException(payRemoteSyncResult.getErrorMsg()); } // 支付订单的网关订单号是否一致, 不一致进行更新 if (!Objects.equals(payRemoteSyncResult.getOutOrderNo(), payOrder.getOutOrderNo())){ @@ -195,7 +196,7 @@ public class PaySyncService { break; } case REFUND: - throw new PayFailureException("支付订单为退款状态,请通过执行对应的退款订单进行同步,来更新具体为什么类型退款状态"); + throw new TradeStatusErrorException("支付订单为退款状态,请通过执行对应的退款订单进行同步,来更新具体为什么类型退款状态"); // 交易关闭和未找到, 都对本地支付订单进行关闭, 不需要再调用网关进行关闭 case CLOSED: case NOT_FOUND: { @@ -215,7 +216,7 @@ public class PaySyncService { break; } default: { - throw new PayFailureException("代码有问题"); + throw new SystemUnknownErrorException("代码有问题"); } } return repair; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java index 20309ac4..551debd9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java @@ -4,6 +4,9 @@ import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.refund.RefundSyncParam; import cn.daxpay.single.core.result.sync.RefundSyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; @@ -57,7 +60,7 @@ public class RefundSyncService { public RefundSyncResult sync(RefundSyncParam param){ // 先获取退款单 RefundOrder refundOrder = refundOrderQueryService.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo()) - .orElseThrow(() -> new PayFailureException("未查询到退款订单")); + .orElseThrow(() -> new TradeNotExistException("未查询到退款订单")); // 如果订单已经关闭, 直接返回退款关闭 if (Objects.equals(refundOrder.getStatus(), RefundStatusEnum.CLOSE.getCode())){ return new RefundSyncResult().setStatus(RefundStatusEnum.CLOSE.getCode()); @@ -88,7 +91,7 @@ public class RefundSyncService { if (Objects.equals(refundRemoteSyncResult.getSyncStatus(), RefundSyncStatusEnum.FAIL)) { // 同步失败, 返回失败响应, 同时记录失败的日志 this.saveRecord(refundOrder, refundRemoteSyncResult, false, null, refundRemoteSyncResult.getErrorMsg()); - throw new PayFailureException(refundRemoteSyncResult.getErrorMsg()); + throw new OperationFailException(refundRemoteSyncResult.getErrorMsg()); } // 订单的通道交易号是否一致, 不一致进行更新 if (Objects.nonNull(refundRemoteSyncResult.getOutRefundNo()) && !Objects.equals(refundRemoteSyncResult.getOutRefundNo(), refundOrder.getOutRefundNo())){ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index 860399f0..0170835e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -46,7 +47,7 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { // 转账接收方类型校验 String payeeType = transferParam.getPayeeType(); if (!Arrays.asList(ALI_USER_ID.getCode(), ALI_OPEN_ID.getCode(), ALI_LOGIN_NAME.getCode()).contains(payeeType)){ - throw new PayFailureException("支付宝不支持该类型收款人"); + throw new ParamValidationFailException("支付宝不支持该类型收款人"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java index 4855e95e..69002ddf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -47,7 +48,7 @@ public class WeChatTransferStrategy extends AbsTransferStrategy { // 转账接收方类型校验 String payeeType = transferParam.getPayeeType(); if (!Objects.equals(WX_PERSONAL.getCode(), payeeType)){ - throw new PayFailureException("支付宝不支持该类型收款人"); + throw new ParamValidationFailException("支付宝不支持该类型收款人"); } } -- Gitee From bd11adee3628da2bae62bdb9f6eb02b81697f1a7 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Wed, 19 Jun 2024 20:29:42 +0800 Subject: [PATCH 23/34] =?UTF-8?q?fix=20=E6=89=8B=E5=8A=A8=E5=8F=91?= =?UTF-8?q?=E8=B5=B7=E5=88=86=E8=B4=A6=E9=87=8D=E8=AF=95=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 4 ++-- .../order/AllocationOrderController.java | 5 +---- .../service/AllocationAssistService.java | 1 - .../allocation/service/AllocationService.java | 21 ++++++++++++++++++- 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index a3bff487..1bda7adb 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -5,8 +5,8 @@ - [ ] 转账订单功能 - [ ] DEMO增加转账演示功能 - [ ] 转账同步接口 -- [ ] 手动发起分账是参数修正 -- [ ] 细分各种支付异常类和编码(部分) +- [x] 手动发起分账重试参数修正 +- [x] 细分各种支付异常类和编码(部分+初版) - [x] 支付宝支持JSAPI方式支付 - [x] 支付宝SDK修改为官方SDK - [x] 增加扫码获取微信OpenID和支付宝OpenId功能 diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java index 35336ff1..c1b30ccd 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java @@ -8,7 +8,6 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.daxpay.single.core.code.PaymentApiCode; import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; import cn.daxpay.single.core.param.payment.allocation.AllocSyncParam; -import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.allocation.service.AllocOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; @@ -103,9 +102,7 @@ public class AllocationOrderController { @Operation(summary = "重新发起分账") @PostMapping("/retry") public ResResult<Void> retryAllocation(String bizAllocNo){ - AllocationParam param = new AllocationParam(); - param.setBizAllocNo(bizAllocNo); - allocationService.allocation(param); + allocationService.retry(bizAllocNo); return Res.ok(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java index 0db3956a..f92583a1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java @@ -30,7 +30,6 @@ public class AllocationAssistService { orderExtra.setClientIp(allocationParam.getClientIp()) .setNotifyUrl(allocationParam.getNotifyUrl()) .setAttach(allocationParam.getAttach()) - .setClientIp(allocationParam.getClientIp()) .setReqTime(allocationParam.getReqTime()); allocationOrderManager.updateById(orderExtra); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index 1c03f316..2a4035b2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.bootx.platform.common.core.util.CollUtil; +import cn.bootx.platform.common.spring.util.WebServletUtil; import cn.daxpay.single.core.code.AllocDetailResultEnum; import cn.daxpay.single.core.code.AllocOrderResultEnum; import cn.daxpay.single.core.code.AllocOrderStatusEnum; @@ -29,6 +30,7 @@ import cn.daxpay.single.service.core.payment.allocation.entity.AllocationGroup; import cn.daxpay.single.service.dto.allocation.AllocationGroupReceiverResult; import cn.daxpay.single.service.func.AbsAllocationStrategy; import cn.daxpay.single.service.util.PayStrategyFactory; +import cn.hutool.extra.servlet.ServletUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -39,6 +41,7 @@ import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; import static cn.daxpay.single.core.code.AllocOrderStatusEnum.ALLOCATION_END; @@ -176,7 +179,6 @@ public class AllocationService { } catch (Exception e) { log.error("重新分账出现错误:", e); - // TODO 失败 order.setStatus(AllocOrderStatusEnum.ALLOCATION_FAILED.getCode()) .setErrorMsg(e.getMessage()); } @@ -314,4 +316,21 @@ public class AllocationService { .filter(detail -> !Objects.equals(detail.getResult(), AllocDetailResultEnum.IGNORE.getCode())) .collect(Collectors.toList()); } + + /** + * 手动重试 + */ + public void retry(String bizAllocNo) { + AllocOrder allocOrder = allocationOrderManager.findByBizAllocNo(bizAllocNo) + .orElseThrow(() -> new DataErrorException("未查询到分账单")); + String ip = Optional.ofNullable(WebServletUtil.getRequest()) + .map(ServletUtil::getClientIP) + .orElse("未知"); + AllocationParam param = new AllocationParam(); + param.setBizAllocNo(allocOrder.getBizAllocNo()); + param.setAttach(allocOrder.getAttach()); + param.setNotifyUrl(allocOrder.getNotifyUrl()); + param.setClientIp(ip); + this.retryAllocation(param, allocOrder); + } } -- Gitee From 777d691d719f39dcf0de41ccbca38bedc2008af9 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Wed, 19 Jun 2024 21:37:56 +0800 Subject: [PATCH 24/34] =?UTF-8?q?feat=20=E5=BC=82=E5=B8=B8=E4=BD=93?= =?UTF-8?q?=E7=B3=BB=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 2 +- .../sdk}/code/DaxPayCommonErrorCode.java | 4 +- .../single/sdk/payment/PayOrderSyncTest.java | 2 +- .../single/sdk/payment/PayOrderTest.java | 2 +- .../sdk/payment/RefundOrderSyncTest.java | 2 +- .../single/sdk/payment/RefundOrderTest.java | 2 +- .../single/sdk/query/QueryPayOrderTest.java | 2 +- .../sdk/query/QueryRefundOrderTest.java | 2 +- .../order/TransferOrderController.java | 3 + .../single/core/code/DaxPayErrorCode.java | 77 +++++++++++++++++++ .../exception/AmountExceedLimitException.java | 6 +- .../exception/ChannelNotEnableException.java | 6 +- .../exception/ChannelNotExistException.java | 6 +- .../core/exception/ConfigErrorException.java | 6 +- .../exception/ConfigNotEnableException.java | 6 +- .../core/exception/DataErrorException.java | 6 +- .../exception/MethodNotEnableException.java | 6 +- .../exception/MethodNotExistException.java | 6 +- .../exception/OperationFailException.java | 6 +- .../OperationProcessingException.java | 6 +- .../OperationUnsupportedException.java | 6 +- .../ParamValidationFailException.java | 6 +- .../core/exception/PayFailureException.java | 6 +- .../ReconciliationFailException.java | 6 +- .../exception/StatusNotExistException.java | 6 +- .../SystemUnknownErrorException.java | 6 +- .../core/exception/TradeClosedException.java | 6 +- .../core/exception/TradeFaileException.java | 6 +- .../exception/TradeNotExistException.java | 6 +- .../exception/TradeProcessingException.java | 6 +- .../exception/TradeStatusErrorException.java | 6 +- .../UnsupportedAbilityException.java | 6 +- .../exception/VerifySignFailedException.java | 6 +- .../common/context/ErrorInfoLocal.java | 26 ++++++- .../alipay/service/AliPayRefundService.java | 11 +-- .../service/WeChatPayRefundService.java | 13 ++-- .../service/TransferOrderService.java | 3 +- .../refund/service/RefundAssistService.java | 2 +- .../service/TransferAssistService.java | 2 +- .../transfer/service/TransferService.java | 2 +- 40 files changed, 200 insertions(+), 95 deletions(-) rename {daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core => daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk}/code/DaxPayCommonErrorCode.java (95%) create mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java diff --git a/_doc/Task.md b/_doc/Task.md index 1bda7adb..ca455471 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -4,7 +4,6 @@ - [x] 增加转账接口功能 - [ ] 转账订单功能 - [ ] DEMO增加转账演示功能 -- [ ] 转账同步接口 - [x] 手动发起分账重试参数修正 - [x] 细分各种支付异常类和编码(部分+初版) - [x] 支付宝支持JSAPI方式支付 @@ -53,6 +52,7 @@ - [ ] 聚合支付UA在前端判断, 提高响应速度 - [ ] 增加分账回调处理(支付宝) - [ ] 请求权限改版, 使用专用配置类 +- [ ] 转账同步接口 **任务池** - [ ] 增加收单收银台功能 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java rename to daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java index 10a19104..7d26196a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayCommonErrorCode.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.core.code; +package cn.daxpay.single.sdk.code; /** * 公共错误码 @@ -73,5 +73,5 @@ public interface DaxPayCommonErrorCode { int DATA_ERROR = 20091; /** 未知异常,系统无法处理 */ - int SYSTEM_UNKNOWN_ERROR = 20000; + int SYSTEM_UNKNOWN_ERROR = 30000; } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java index 8136b0e1..6c7ee80c 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java @@ -34,7 +34,7 @@ public class PayOrderSyncTest { param.setBizOrderNo("SDK_1715341621498"); DaxPayResult<PaySyncModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java index 2f3f9c79..9ff9a2b5 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java @@ -51,6 +51,6 @@ public class PayOrderTest { DaxPayResult<PayModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java index cd4a16bb..b9a18270 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java @@ -36,7 +36,7 @@ public class RefundOrderSyncTest { param.setClientIp("127.0.0.1"); DaxPayResult<RefundSyncModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java index cf5b2797..18d611ae 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java @@ -47,7 +47,7 @@ public class RefundOrderTest { DaxPayResult<RefundModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + System.out.println(PaySignUtil.verifyHmacSha256Sign(execute.getData(), "123456", execute.getData().getSign())); } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java index bdf6bc67..23c3ec09 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java @@ -37,6 +37,6 @@ public class QueryPayOrderTest { DaxPayResult<PayOrderModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java index edccae95..1e960e50 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java @@ -37,6 +37,6 @@ public class QueryRefundOrderTest { DaxPayResult<RefundOrderModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java index a838ded0..d22874ba 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java @@ -9,6 +9,7 @@ import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderService; +import cn.daxpay.single.service.core.payment.transfer.service.TransferService; import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import cn.daxpay.single.service.param.order.TransferOrderQuery; import io.swagger.v3.oas.annotations.Operation; @@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.*; public class TransferOrderController { private final TransferOrderQueryService queryService; private final TransferOrderService transferOrderService; + private final TransferService transferService; @Operation(summary = "分页查询") @@ -53,6 +55,7 @@ public class TransferOrderController { @Operation(summary = "手动发起转账") @PostMapping("/transfer") public ResResult<Void> transfer(@RequestBody TransferParam param){ + transferService.transfer(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java new file mode 100644 index 00000000..d8fac561 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java @@ -0,0 +1,77 @@ +package cn.daxpay.single.core.code; + +/** + * 公共错误码 + * @author xxm + * @since 2024/6/17 + */ +public interface DaxPayErrorCode { + /** 未归类的错误 */ + int UNCLASSIFIED_ERROR = 20000; + + /** 不存在的支付通道 */ + int CHANNEL_NOT_EXIST = 20011; + + /** 不存在的支付方式 */ + int METHOD_NOT_EXIST = 20012; + + /** 不存在的状态 */ + int STATUS_NOT_EXIST = 20013; + + /** 支付通道未启用 */ + int CHANNEL_NOT_ENABLE = 20021; + + /** 支付方式未启用 */ + int METHOD_NOT_ENABLE = 20022; + + /** 配置未启用 */ + int CONFIG_NOT_ENABLE = 20023; + + /** 配置错误 */ + int CONFIG_ERROR = 20024; + + /** 不支持该能力 */ + int UNSUPPORTED_ABILITY = 20030; + + /** 交易不存在 */ + int TRADE_NOT_EXIST = 20041; + + /** 交易已关闭 */ + int TRADE_CLOSED = 20042; + + /** 交易处理中, 请勿重复操作 */ + int TRADE_PROCESSING = 20043; + + /** 交易状态错误 */ + int TRADE_STATUS_ERROR = 20044; + + /** 交易失败 */ + int TRADE_FAILE = 20045; + + /** 参数校验未通过 */ + int PARAM_VALIDATION_FAIL = 20051; + + /** 验签失败 */ + int VERIFY_SIGN_FAILED = 20052; + + /** 金额超过限额 */ + int AMOUNT_EXCEED_LIMIT = 20060; + + /** 对账失败 */ + int RECONCILE_FAIL = 20071; + + /** 操作失败 */ + int OPERATION_FAIL = 20080; + + /** 操作处理中, 请勿重复操作 */ + int OPERATION_PROCESSING = 20081; + + /** 不支持的操作 */ + int OPERATION_UNSUPPORTED = 20082; + + /** 数据错误 */ + int DATA_ERROR = 20091; + + /** 未知异常,系统无法处理 */ + int SYSTEM_UNKNOWN_ERROR = 30000; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java index 37f6361c..21d7da57 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 金额超过限额 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class AmountExceedLimitException extends PayFailureException{ public AmountExceedLimitException(String message) { - super(DaxPayCommonErrorCode.AMOUNT_EXCEED_LIMIT,message); + super(DaxPayErrorCode.AMOUNT_EXCEED_LIMIT,message); } public AmountExceedLimitException() { - super(DaxPayCommonErrorCode.AMOUNT_EXCEED_LIMIT,"金额超过限额"); + super(DaxPayErrorCode.AMOUNT_EXCEED_LIMIT,"金额超过限额"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java index 401fc68e..14a8ffa7 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 支付通道未启用 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ChannelNotEnableException extends PayFailureException{ public ChannelNotEnableException(String message) { - super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLE,message); + super(DaxPayErrorCode.CHANNEL_NOT_ENABLE,message); } public ChannelNotEnableException() { - super(DaxPayCommonErrorCode.CHANNEL_NOT_ENABLE,"支付通道未启用"); + super(DaxPayErrorCode.CHANNEL_NOT_ENABLE,"支付通道未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java index 9482d2e5..9ab1ad2b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不存在的支付通道 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ChannelNotExistException extends PayFailureException{ public ChannelNotExistException(String message) { - super(DaxPayCommonErrorCode.CHANNEL_NOT_EXIST,message); + super(DaxPayErrorCode.CHANNEL_NOT_EXIST,message); } public ChannelNotExistException() { - super(DaxPayCommonErrorCode.CHANNEL_NOT_EXIST,"不存在的支付通道"); + super(DaxPayErrorCode.CHANNEL_NOT_EXIST,"不存在的支付通道"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java index 4288af1e..dca8ed46 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 配置错误 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ConfigErrorException extends PayFailureException{ public ConfigErrorException(String message) { - super(DaxPayCommonErrorCode.CONFIG_ERROR,message); + super(DaxPayErrorCode.CONFIG_ERROR,message); } public ConfigErrorException() { - super(DaxPayCommonErrorCode.CONFIG_ERROR,"配置错误"); + super(DaxPayErrorCode.CONFIG_ERROR,"配置错误"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java index 72241de8..26f77e1e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 配置未启用 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ConfigNotEnableException extends PayFailureException{ public ConfigNotEnableException(String message) { - super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLE,message); + super(DaxPayErrorCode.CONFIG_NOT_ENABLE,message); } public ConfigNotEnableException() { - super(DaxPayCommonErrorCode.CONFIG_NOT_ENABLE,"配置未启用"); + super(DaxPayErrorCode.CONFIG_NOT_ENABLE,"配置未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java index 3c07053d..c18f2eb5 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 数据错误 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class DataErrorException extends PayFailureException{ public DataErrorException(String message) { - super(DaxPayCommonErrorCode.DATA_ERROR,message); + super(DaxPayErrorCode.DATA_ERROR,message); } public DataErrorException() { - super(DaxPayCommonErrorCode.DATA_ERROR,"数据错误"); + super(DaxPayErrorCode.DATA_ERROR,"数据错误"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java index 6c113cef..945c6c29 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 支付方式未启用 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class MethodNotEnableException extends PayFailureException{ public MethodNotEnableException(String message) { - super(DaxPayCommonErrorCode.METHOD_NOT_ENABLE,message); + super(DaxPayErrorCode.METHOD_NOT_ENABLE,message); } public MethodNotEnableException() { - super(DaxPayCommonErrorCode.METHOD_NOT_ENABLE,"支付方式未启用"); + super(DaxPayErrorCode.METHOD_NOT_ENABLE,"支付方式未启用"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java index dfe4fad7..70695372 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不存在的支付方式 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class MethodNotExistException extends PayFailureException{ public MethodNotExistException(String message) { - super(DaxPayCommonErrorCode.METHOD_NOT_EXIST,message); + super(DaxPayErrorCode.METHOD_NOT_EXIST,message); } public MethodNotExistException() { - super(DaxPayCommonErrorCode.METHOD_NOT_EXIST,"不存在的支付方式"); + super(DaxPayErrorCode.METHOD_NOT_EXIST,"不存在的支付方式"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java index f63cc8c7..1a0b9767 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 操作失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class OperationFailException extends PayFailureException{ public OperationFailException(String message) { - super(DaxPayCommonErrorCode.OPERATION_FAIL,message); + super(DaxPayErrorCode.OPERATION_FAIL,message); } public OperationFailException() { - super(DaxPayCommonErrorCode.OPERATION_FAIL,"操作失败"); + super(DaxPayErrorCode.OPERATION_FAIL,"操作失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java index 5507b6eb..1339d84f 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 操作处理中, 请勿重复操作 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class OperationProcessingException extends PayFailureException{ public OperationProcessingException(String message) { - super(DaxPayCommonErrorCode.OPERATION_PROCESSING,message); + super(DaxPayErrorCode.OPERATION_PROCESSING,message); } public OperationProcessingException() { - super(DaxPayCommonErrorCode.OPERATION_PROCESSING,"操作处理中, 请勿重复操作"); + super(DaxPayErrorCode.OPERATION_PROCESSING,"操作处理中, 请勿重复操作"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java index f5a80045..4b173513 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不支持的操作 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class OperationUnsupportedException extends PayFailureException{ public OperationUnsupportedException(String message) { - super(DaxPayCommonErrorCode.OPERATION_UNSUPPORTED,message); + super(DaxPayErrorCode.OPERATION_UNSUPPORTED,message); } public OperationUnsupportedException() { - super(DaxPayCommonErrorCode.OPERATION_UNSUPPORTED,"不支持的操作"); + super(DaxPayErrorCode.OPERATION_UNSUPPORTED,"不支持的操作"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java index 242110dd..3290aeb4 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 参数校验未通过 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ParamValidationFailException extends PayFailureException{ public ParamValidationFailException(String message) { - super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAIL,message); + super(DaxPayErrorCode.PARAM_VALIDATION_FAIL,message); } public ParamValidationFailException() { - super(DaxPayCommonErrorCode.PARAM_VALIDATION_FAIL,"参数校验未通过"); + super(DaxPayErrorCode.PARAM_VALIDATION_FAIL,"参数校验未通过"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java index 12c09934..8e1ccf24 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java @@ -1,7 +1,7 @@ package cn.daxpay.single.core.exception; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 支付错误 @@ -17,11 +17,11 @@ public class PayFailureException extends BizException { } public PayFailureException(String message) { - super(DaxPayCommonErrorCode.UNCLASSIFIED_ERROR, message); + super(DaxPayErrorCode.UNCLASSIFIED_ERROR, message); } public PayFailureException() { - super(DaxPayCommonErrorCode.UNCLASSIFIED_ERROR, "支付失败"); + super(DaxPayErrorCode.UNCLASSIFIED_ERROR, "支付失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java index e17b7ef8..9b8c8fb8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 对账失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class ReconciliationFailException extends PayFailureException{ public ReconciliationFailException(String message) { - super(DaxPayCommonErrorCode.RECONCILE_FAIL,message); + super(DaxPayErrorCode.RECONCILE_FAIL,message); } public ReconciliationFailException() { - super(DaxPayCommonErrorCode.RECONCILE_FAIL,"对账失败"); + super(DaxPayErrorCode.RECONCILE_FAIL,"对账失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java index 31cccedd..64bf9799 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不存在的状态 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class StatusNotExistException extends PayFailureException{ public StatusNotExistException(String message) { - super(DaxPayCommonErrorCode.STATUS_NOT_EXIST,message); + super(DaxPayErrorCode.STATUS_NOT_EXIST,message); } public StatusNotExistException() { - super(DaxPayCommonErrorCode.STATUS_NOT_EXIST,"不存在的状态"); + super(DaxPayErrorCode.STATUS_NOT_EXIST,"不存在的状态"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java index 50e70100..26a63692 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 未知异常,系统无法处理 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class SystemUnknownErrorException extends PayFailureException{ public SystemUnknownErrorException(String message) { - super(DaxPayCommonErrorCode.SYSTEM_UNKNOWN_ERROR,message); + super(DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR,message); } public SystemUnknownErrorException() { - super(DaxPayCommonErrorCode.SYSTEM_UNKNOWN_ERROR,"未知异常,系统无法处理"); + super(DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR,"未知异常,系统无法处理"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java index be9e78ca..3e8e994b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易已关闭 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeClosedException extends PayFailureException{ public TradeClosedException(String message) { - super(DaxPayCommonErrorCode.TRADE_CLOSED,message); + super(DaxPayErrorCode.TRADE_CLOSED,message); } public TradeClosedException() { - super(DaxPayCommonErrorCode.TRADE_CLOSED,"交易已关闭"); + super(DaxPayErrorCode.TRADE_CLOSED,"交易已关闭"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java index ee0ea4f9..b7b3f601 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeFaileException extends PayFailureException{ public TradeFaileException(String message) { - super(DaxPayCommonErrorCode.TRADE_FAILE,message); + super(DaxPayErrorCode.TRADE_FAILE,message); } public TradeFaileException() { - super(DaxPayCommonErrorCode.TRADE_FAILE,"交易失败"); + super(DaxPayErrorCode.TRADE_FAILE,"交易失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java index ad132af8..7ba2f2a0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易不存在 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeNotExistException extends PayFailureException{ public TradeNotExistException(String message) { - super(DaxPayCommonErrorCode.TRADE_NOT_EXIST,message); + super(DaxPayErrorCode.TRADE_NOT_EXIST,message); } public TradeNotExistException() { - super(DaxPayCommonErrorCode.TRADE_NOT_EXIST,"交易不存在"); + super(DaxPayErrorCode.TRADE_NOT_EXIST,"交易不存在"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java index 87ef11b5..90a0f0ec 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易处理中, 请勿重复操作 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeProcessingException extends PayFailureException{ public TradeProcessingException(String message) { - super(DaxPayCommonErrorCode.TRADE_PROCESSING,message); + super(DaxPayErrorCode.TRADE_PROCESSING,message); } public TradeProcessingException() { - super(DaxPayCommonErrorCode.TRADE_PROCESSING,"交易处理中,请勿重复操作"); + super(DaxPayErrorCode.TRADE_PROCESSING,"交易处理中,请勿重复操作"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java index 0c848309..b2c34f1e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 交易状态错误 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class TradeStatusErrorException extends PayFailureException{ public TradeStatusErrorException(String message) { - super(DaxPayCommonErrorCode.TRADE_STATUS_ERROR,message); + super(DaxPayErrorCode.TRADE_STATUS_ERROR,message); } public TradeStatusErrorException() { - super(DaxPayCommonErrorCode.TRADE_STATUS_ERROR,"交易状态错误"); + super(DaxPayErrorCode.TRADE_STATUS_ERROR,"交易状态错误"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java index c6efa35d..519a0814 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 不支持该能力 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class UnsupportedAbilityException extends PayFailureException{ public UnsupportedAbilityException(String message) { - super(DaxPayCommonErrorCode.UNSUPPORTED_ABILITY,message); + super(DaxPayErrorCode.UNSUPPORTED_ABILITY,message); } public UnsupportedAbilityException() { - super(DaxPayCommonErrorCode.UNSUPPORTED_ABILITY,"不支持该能力"); + super(DaxPayErrorCode.UNSUPPORTED_ABILITY,"不支持该能力"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java index 723b049e..3a145dde 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java @@ -1,6 +1,6 @@ package cn.daxpay.single.core.exception; -import cn.daxpay.single.core.code.DaxPayCommonErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 验签失败 @@ -10,10 +10,10 @@ import cn.daxpay.single.core.code.DaxPayCommonErrorCode; public class VerifySignFailedException extends PayFailureException{ public VerifySignFailedException(String message) { - super(DaxPayCommonErrorCode.VERIFY_SIGN_FAILED,message); + super(DaxPayErrorCode.VERIFY_SIGN_FAILED,message); } public VerifySignFailedException() { - super(DaxPayCommonErrorCode.VERIFY_SIGN_FAILED,"验签失败"); + super(DaxPayErrorCode.VERIFY_SIGN_FAILED,"验签失败"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java index 049d5e86..ccecde6f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java @@ -1,5 +1,7 @@ package cn.daxpay.single.service.common.context; +import cn.bootx.platform.common.core.exception.BizException; +import cn.daxpay.single.core.code.DaxPayErrorCode; import lombok.Data; import lombok.experimental.Accessors; @@ -13,8 +15,30 @@ import lombok.experimental.Accessors; public class ErrorInfoLocal { /** 错误码 */ - private String errorCode; + private int errorCode; /** 错误内容 */ private String errorMsg; + + /** + * 自动根据传入的异常对象对象进行处理 + */ + public void setException(Exception e) { + // 如果业务异常, 获取错误码和错误信息 + if (e instanceof BizException) { + BizException be = (BizException) e; + this.errorCode = be.getCode(); + this.errorMsg = be.getMessage(); + } + // 如果是空指针, 专门记录 + else if (e instanceof NullPointerException) { + this.errorCode = DaxPayErrorCode.UNCLASSIFIED_ERROR; + this.errorMsg = "空指针异常"; + } + // 如果是其他异常, 归类到为止异常中 + else { + this.errorCode = DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR; + this.errorMsg = "未归类异常,请联系管理人员进行排查"; + } + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java index 06c15b46..1e5844a7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.channel.alipay.service; +import cn.daxpay.single.core.code.DaxPayErrorCode; import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.core.util.PayUtil; @@ -53,10 +54,10 @@ public class AliPayRefundService { try { AlipayTradeRefundResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { - errorInfo.setErrorMsg(response.getSubMsg()); - errorInfo.setErrorCode(response.getCode()); + OperationFailException operationFailException = new OperationFailException(response.getSubMsg()); + errorInfo.setException(operationFailException); log.error("网关返回退款失败: {}", response.getSubMsg()); - throw new OperationFailException(response.getSubMsg()); + throw operationFailException; } // 默认为退款中状态 refundInfo.setStatus(RefundStatusEnum.PROGRESS) @@ -71,8 +72,8 @@ public class AliPayRefundService { catch (AlipayApiException e) { log.error("订单退款失败:", e); errorInfo.setErrorMsg(e.getErrMsg()); - errorInfo.setErrorCode(e.getErrCode()); - throw new OperationFailException("订单退款失败"); + errorInfo.setErrorCode(DaxPayErrorCode.OPERATION_FAIL); + throw new OperationFailException(e.getErrMsg()); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java index afa2d472..0a6f9c41 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java @@ -20,7 +20,6 @@ import org.springframework.stereotype.Service; import java.io.ByteArrayInputStream; import java.util.Map; -import java.util.Optional; import static cn.daxpay.single.service.code.WeChatPayCode.*; @@ -58,9 +57,9 @@ public class WeChatPayRefundService { // 获取证书文件 if (StrUtil.isBlank(weChatPayConfig.getP12())){ String errorMsg = "微信p.12证书未配置,无法进行退款"; - errorInfo.setErrorMsg(errorMsg); - errorInfo.setErrorCode(RefundStatusEnum.FAIL.getCode()); - throw new ConfigErrorException(errorMsg); + ConfigErrorException configErrorException = new ConfigErrorException(errorMsg); + errorInfo.setException(configErrorException); + throw configErrorException; } byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); ByteArrayInputStream inputStream = new ByteArrayInputStream(fileBytes); @@ -85,10 +84,10 @@ public class WeChatPayRefundService { errorMsg = result.get(RETURN_MSG); } log.error("订单退款失败 {}", errorMsg); + TradeFaileException tradeFaileException = new TradeFaileException(errorMsg); ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); - errorInfo.setErrorMsg(errorMsg); - errorInfo.setErrorCode(Optional.ofNullable(resultCode).orElse(returnCode)); - throw new TradeFaileException(errorMsg); + errorInfo.setException(tradeFaileException); + throw tradeFaileException; } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java index fb620dac..50675112 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.order.transfer.service; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -17,7 +18,7 @@ public class TransferOrderService { /** * 手动转账 */ - public void transfer(){ + public void transfer(TransferParam param){ } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 27f9ac97..1714ad01 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -120,7 +120,7 @@ public class RefundAssistService { public void updateOrderByError(RefundOrder refundOrder){ RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); - refundOrder.setErrorCode(errorInfo.getErrorCode()); + refundOrder.setErrorCode(String.valueOf(errorInfo.getErrorCode())); refundOrder.setErrorMsg(errorInfo.getErrorMsg()); refundOrder.setStatus(refundInfo.getStatus().getCode()); refundOrderManager.updateById(refundOrder); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java index d487d5be..a9c634d5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -56,7 +56,7 @@ public class TransferAssistService { ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); order.setStatus(TransferStatusEnum.FAIL.getCode()) .setErrorMsg(errorInfo.getErrorMsg()) - .setErrorCode(errorInfo.getErrorCode()); + .setErrorCode(String.valueOf(errorInfo.getErrorCode())); transferOrderManager.updateById(order); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index f94b1b78..85093be2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -33,7 +33,6 @@ public class TransferService { * 转账 */ public TransferResult transfer(TransferParam transferParam){ - // 获取策略 AbsTransferStrategy transferStrategy = PayStrategyFactory.create(transferParam.getChannel(),AbsTransferStrategy.class); // 检查转账参数 @@ -50,6 +49,7 @@ public class TransferService { log.error("转账出现错误", e); // 记录处理失败状态 PaymentContextLocal.get().getRefundInfo().setStatus(RefundStatusEnum.FAIL); + PaymentContextLocal.get().getErrorInfo().setException(e); // 更新退款失败的记录 transferAssistService.updateOrderByError(order); return transferAssistService.buildResult(order); -- Gitee From f56e088bfe713047db9f03c952ee98cab251cd3a Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Thu, 20 Jun 2024 11:28:38 +0800 Subject: [PATCH 25/34] =?UTF-8?q?feat=20=E8=BD=AC=E8=B4=A6SDK=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bootx-platform/bootx-common-core/pom.xml | 1 + bootx-platform/bootx-commons/pom.xml | 1 + bootx-platform/bootx-services/pom.xml | 1 + bootx-platform/pom.xml | 1 + daxpay-single-sdk/pom.xml | 3 +- .../sdk/code/TransferPayeeTypeEnum.java | 49 +++++++++ .../single/sdk/code/TransferStatusEnum.java | 23 ++++ .../single/sdk/code/TransferTypeEnum.java | 26 +++++ .../sdk/model/transfer/TransferModel.java | 30 ++++++ .../model/transfer/TransferOrderModel.java | 100 ++++++++++++++++++ .../param/transfer/QueryTransferParam.java | 43 ++++++++ .../sdk/param/transfer/TransferParam.java | 83 +++++++++++++++ .../core/result/transfer/TransferResult.java | 2 - 13 files changed, 360 insertions(+), 3 deletions(-) create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferStatusEnum.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferTypeEnum.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferModel.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/QueryTransferParam.java create mode 100644 daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java diff --git a/bootx-platform/bootx-common-core/pom.xml b/bootx-platform/bootx-common-core/pom.xml index f6a2d279..7734b821 100644 --- a/bootx-platform/bootx-common-core/pom.xml +++ b/bootx-platform/bootx-common-core/pom.xml @@ -89,6 +89,7 @@ <build> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java.version}</source> diff --git a/bootx-platform/bootx-commons/pom.xml b/bootx-platform/bootx-commons/pom.xml index 9ae7f1fc..c5aa9e15 100644 --- a/bootx-platform/bootx-commons/pom.xml +++ b/bootx-platform/bootx-commons/pom.xml @@ -63,6 +63,7 @@ <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> <plugin> diff --git a/bootx-platform/bootx-services/pom.xml b/bootx-platform/bootx-services/pom.xml index a20e23f7..2cfb4233 100644 --- a/bootx-platform/bootx-services/pom.xml +++ b/bootx-platform/bootx-services/pom.xml @@ -231,6 +231,7 @@ <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> </plugins> diff --git a/bootx-platform/pom.xml b/bootx-platform/pom.xml index cb4c6e1f..43fb53fb 100644 --- a/bootx-platform/pom.xml +++ b/bootx-platform/pom.xml @@ -360,6 +360,7 @@ <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> </plugins> diff --git a/daxpay-single-sdk/pom.xml b/daxpay-single-sdk/pom.xml index 1a315140..73ea41ff 100644 --- a/daxpay-single-sdk/pom.xml +++ b/daxpay-single-sdk/pom.xml @@ -93,10 +93,11 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.1</version> + <version>3.10.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> <!--打包源码的插件--> diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java new file mode 100644 index 00000000..a350e1e1 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java @@ -0,0 +1,49 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 转账接收方类型 + * @author xxm + * @since 2024/4/1 + */ +@Getter +@AllArgsConstructor +public enum TransferPayeeTypeEnum { + /** 微信 个人 */ + WX_PERSONAL("wx_personal","openid", "个人"), + /** 支付宝 userId 以2088开头的纯16位数字 */ + ALI_USER_ID("ali_user_id","ALIPAY_USERID", "用户ID"), + /** 支付宝 openId */ + ALI_OPEN_ID("ali_open_id","ALIPAY_OPENID", "openId"), + /** 支付宝 账号 支持邮箱和手机号格式 */ + ALI_LOGIN_NAME("ali_login_name","ALIPAY_LOGONID", "账号"); + + /** 编码 */ + private final String code; + /** 外部编码, 三方支付系统使用的编码 */ + private final String outCode; + /** 名称 */ + private final String name; + + /** + * 根据编码查找 + */ + public static TransferPayeeTypeEnum findByCode(String code) { + return Arrays.stream(TransferPayeeTypeEnum.values()) + .filter(e -> e.getCode().equals(code)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("未找到对应的分账接收方类型")); + } + + /** 微信支持类型 */ + public static final List<TransferPayeeTypeEnum> WECHAT_LIST = Collections.singletonList(WX_PERSONAL); + /** 支付宝支持类型 */ + public static final List<TransferPayeeTypeEnum> ALI_LIST = Collections.unmodifiableList(Arrays.asList(ALI_OPEN_ID, ALI_USER_ID, ALI_LOGIN_NAME)); + +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferStatusEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferStatusEnum.java new file mode 100644 index 00000000..ccc771c9 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferStatusEnum.java @@ -0,0 +1,23 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账状态 + * @author xxm + * @since 2024/6/11 + */ +@Getter +@AllArgsConstructor +public enum TransferStatusEnum { + + TRANSFERRING("transferring", "转账中"), + SUCCESS("success", "转账成功"), + FAIL("fail", "转账失败"), + ; + + private final String code; + private final String name; + +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferTypeEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferTypeEnum.java new file mode 100644 index 00000000..dca00ab3 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferTypeEnum.java @@ -0,0 +1,26 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账类型注解 + * @author xxm + * @since 2024/6/6 + */ +@Getter +@AllArgsConstructor +public enum TransferTypeEnum { + /** 转账给用户 */ + USER("user", "转账给用户"), + /** 转账给员工 */ + EMPLOYEE("employee", "转账给员工"), + /** 转账给合作伙 */ + PARTNER("partner", "转账给合作伙"), + /** 转账给其他对象 */ + OTHER("other", "转账给其他对象"),; + + private final String code; + private final String name; + +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferModel.java new file mode 100644 index 00000000..72753a9c --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferModel.java @@ -0,0 +1,30 @@ +package cn.daxpay.single.sdk.model.transfer; + +import cn.daxpay.single.sdk.code.TransferStatusEnum; +import cn.daxpay.single.sdk.net.DaxPayResponseModel; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * 转账结果 + * @author xxm + * @since 2024/6/19 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class TransferModel extends DaxPayResponseModel { + + /** 商户转账号 */ + private String bizTransferNo; + + /** 转账号 */ + private String transferNo; + + /** + * 状态 + * @see TransferStatusEnum + */ + private String status; +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java new file mode 100644 index 00000000..687beed2 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java @@ -0,0 +1,100 @@ +package cn.daxpay.single.sdk.model.transfer; + +import cn.daxpay.single.sdk.code.PayChannelEnum; +import cn.daxpay.single.sdk.code.TransferPayeeTypeEnum; +import cn.daxpay.single.sdk.code.TransferStatusEnum; +import cn.daxpay.single.sdk.code.TransferTypeEnum; +import cn.daxpay.single.sdk.net.DaxPayResponseModel; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.time.LocalDateTime; + +/** + * 转账订单 + * @author xxm + * @since 2024/6/20 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class TransferOrderModel extends DaxPayResponseModel { + + /** 商户转账号 */ + private String bizTransferNo; + + /** 转账号 */ + private String transferNo; + + /** 通道转账号 */ + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + private String channel; + + /** 转账金额 */ + private Integer amount; + + /** 标题 */ + private String title; + + /** 转账原因/备注 */ + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + private String transferType; + + /** 付款方 */ + private String payer; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + private String payeeType; + + /** 收款人账号 */ + private String payeeAccount; + + /** 收款人姓名 */ + private String payeeName; + + /** + * 状态 + * @see TransferStatusEnum + */ + private String status; + + /** 成功时间 */ + private LocalDateTime successTime; + + + /** 异步通知地址 */ + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + private String attach; + + /** 请求时间,时间戳转时间 */ + private LocalDateTime reqTime; + + /** 终端ip */ + private String clientIp; + + /** + * 错误码 + */ + private String errorCode; + + /** + * 错误原因 + */ + private String errorMsg; +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/QueryTransferParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/QueryTransferParam.java new file mode 100644 index 00000000..483554da --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/QueryTransferParam.java @@ -0,0 +1,43 @@ +package cn.daxpay.single.sdk.param.transfer; + +import cn.daxpay.single.sdk.model.transfer.TransferOrderModel; +import cn.daxpay.single.sdk.net.DaxPayRequest; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.json.JSONUtil; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * + * @author xxm + * @since 2024/6/20 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class QueryTransferParam extends DaxPayRequest<TransferOrderModel> { + + /** 商户转账号 */ + private String bizTransferNo; + + /** 转账号 */ + private String transferNo; + + /** + * 方法请求路径 + */ + @Override + public String path() { + return "/unipay/query/transfer"; + } + + /** + * 将请求返回结果反序列化为实体类 + */ + @Override + public DaxPayResult<TransferOrderModel> toModel(String json) { + return JSONUtil.toBean(json, new TypeReference<DaxPayResult<TransferOrderModel>>() {}, false); + } +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java new file mode 100644 index 00000000..55539eaa --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java @@ -0,0 +1,83 @@ +package cn.daxpay.single.sdk.param.transfer; + +import cn.daxpay.single.sdk.code.PayChannelEnum; +import cn.daxpay.single.sdk.code.TransferPayeeTypeEnum; +import cn.daxpay.single.sdk.code.TransferTypeEnum; +import cn.daxpay.single.sdk.model.transfer.TransferModel; +import cn.daxpay.single.sdk.net.DaxPayRequest; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.json.JSONUtil; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * 转账参数 + * @author xxm + * @since 2024/6/19 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class TransferParam extends DaxPayRequest<TransferModel> { + + /** 商户转账号 */ + private String bizTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + private String channel; + + /** 转账金额 */ + private Integer amount; + + /** 标题 */ + private String title; + + /** 转账原因/备注 */ + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + private String transferType; + + + /** + * 收款人账号类型 + * @see TransferPayeeTypeEnum + */ + private String payeeType; + + /** 收款人账号 */ + private String payeeAccount; + + /** 收款人姓名 */ + private String payeeName; + + /** 回调通知地址 */ + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回 */ + private String attach; + + /** + * 方法请求路径 + */ + @Override + public String path() { + return "/unipay/transfer"; + } + + /** + * 将请求返回结果反序列化为实体类 + */ + @Override + public DaxPayResult<TransferModel> toModel(String json) { + return JSONUtil.toBean(json, new TypeReference<DaxPayResult<TransferModel>>() {}, false); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java index 4b8c9d12..9d379106 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java @@ -32,6 +32,4 @@ public class TransferResult extends PaymentCommonResult { */ @Schema(description = "状态") private String status; - - } -- Gitee From 975ceb213d324e320832926037feefccd18775fc Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Fri, 21 Jun 2024 18:02:54 +0800 Subject: [PATCH 26/34] =?UTF-8?q?feat=20=E8=8E=B7=E5=8F=96OpenId=E6=BC=94?= =?UTF-8?q?=E7=A4=BA=E7=95=8C=E9=9D=A2,=20=E4=BC=98=E5=8C=96=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=E6=8E=88=E6=9D=83=E5=9C=B0=E5=9D=80=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../single/sdk/payment/TransferOrderTest.java | 50 +++++++++++++++++++ .../AllocationReceiverController.java | 4 +- .../extra/AliPayAuthController.java | 2 - .../channel/alipay/entity/AliPayConfig.java | 6 ++- .../wechat/entity/WeChatPayConfig.java | 10 ++-- .../service/core/extra/AliPayAuthService.java | 12 +++-- .../service/core/extra/WeChatAuthService.java | 11 +++- .../order/allocation/entity/AllocOrder.java | 2 +- .../allocation/entity/AllocOrderDetail.java | 2 +- .../core/order/pay/entity/PayOrder.java | 4 +- .../reconcile/entity/ReconcileOutTrade.java | 2 +- .../core/order/refund/entity/RefundOrder.java | 4 +- .../order/transfer/entity/TransferOrder.java | 2 +- .../record/flow/entity/TradeFlowRecord.java | 2 +- .../dto/channel/alipay/AliPayConfigDto.java | 7 ++- .../channel/wechat/WeChatPayConfigDto.java | 3 ++ .../service/dto/extra/AuthUrlResult.java | 4 +- .../channel/alipay/AliPayConfigParam.java | 7 ++- .../channel/wechat/WeChatPayConfigParam.java | 3 ++ 19 files changed, 109 insertions(+), 28 deletions(-) create mode 100644 daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java new file mode 100644 index 00000000..66ae66c3 --- /dev/null +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java @@ -0,0 +1,50 @@ +package cn.daxpay.single.sdk.payment; + +import cn.daxpay.single.sdk.code.PayChannelEnum; +import cn.daxpay.single.sdk.code.SignTypeEnum; +import cn.daxpay.single.sdk.code.TransferPayeeTypeEnum; +import cn.daxpay.single.sdk.model.transfer.TransferModel; +import cn.daxpay.single.sdk.net.DaxPayConfig; +import cn.daxpay.single.sdk.net.DaxPayKit; +import cn.daxpay.single.sdk.param.transfer.TransferParam; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.json.JSONUtil; +import org.junit.Before; + +/** + * 转账测试 + * @author xxm + * @since 2024/6/20 + */ +public class TransferOrderTest { + + @Before + public void init() { + // 初始化支付配置 + DaxPayConfig config = DaxPayConfig.builder() + .serviceUrl("http://127.0.0.1:9000") + .signSecret("123456") + .signType(SignTypeEnum.HMAC_SHA256) + .build(); + DaxPayKit.initConfig(config); + } + + + /** + * 发起转账操作 + */ + public void transfer() { + // 构建参数 + TransferParam param = new TransferParam(); + param.setTitle("测试转账"); + param.setReason("我要转个账"); + param.setAmount(500); + param.setChannel(PayChannelEnum.ALI.getCode()); + param.setPayeeType(TransferPayeeTypeEnum.ALI_OPEN_ID.getCode()); + // 使用OpenId + param.setPayeeAccount(""); + // 发起请求 + DaxPayResult<TransferModel> execute = DaxPayKit.execute(param); + System.out.println(JSONUtil.toJsonStr(execute)); + } +} diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java index c8717882..dad0fcb7 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java @@ -65,7 +65,7 @@ public class AllocationReceiverController { @InitPaymentContext(value = PaymentApiCode.ALLOCATION_RECEIVER_ADD) @Operation(summary = "添加") - @PostMapping("add") + @PostMapping("/add") public ResResult<Void> add(@RequestBody AllocReceiverAddParam param){ ValidationUtil.validateParam(param); receiverService.addAndSync(param); @@ -74,7 +74,7 @@ public class AllocationReceiverController { @InitPaymentContext(value = PaymentApiCode.ALLOCATION_RECEIVER_REMOVE) @Operation(summary = "删除") - @PostMapping("delete") + @PostMapping("/delete") public ResResult<Void> delete(@RequestBody AllocReceiverRemoveParam param){ ValidationUtil.validateParam(param); receiverService.remove(param); diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java index 12b5895a..a2623639 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java @@ -27,14 +27,12 @@ import org.springframework.web.bind.annotation.RestController; public class AliPayAuthController { private final AliPayAuthService aliPayAuthService; - @Operation(summary = "返回获取OpenId授权页面地址和标识码") @PostMapping("/generateAuthUrl") public ResResult<AuthUrlResult> generateAuthUrl(){ return Res.ok(aliPayAuthService.generateAuthUrl()); } - @Operation(summary = "根据标识码查询OpenId") @GetMapping("/queryOpenId") public ResResult<OpenIdResult> queryOpenId(String code){ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java index 418f1abf..6f59e5d7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java @@ -35,7 +35,7 @@ import java.util.Objects; public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<AliPayConfigDto> { /** 支付宝商户appId */ - @DbColumn(comment = "支付宝商户appId") + @DbColumn(comment = "支付宝商户appId", length = 50) private String appId; /** 是否启用, 只影响支付和退款操作 */ @@ -72,6 +72,10 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali @DbColumn(comment = "支付网关地址", length = 200) private String serverUrl; + /** 授权回调地址 */ + @DbColumn(comment = "授权回调地址", length = 200) + private String redirectUrl; + /** * 认证类型 证书/公钥 * @see AliPayCode#AUTH_TYPE_KEY diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java index 06849c8d..0f0385e5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java @@ -36,11 +36,11 @@ import java.util.Objects; public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction<WeChatPayConfigDto> { /** 微信商户Id */ - @DbColumn(comment = "微信商户号") + @DbColumn(comment = "微信商户号", length = 50) private String wxMchId; /** 微信应用appId */ - @DbColumn(comment = "微信应用appId") + @DbColumn(comment = "微信应用appId", length = 50) private String wxAppId; /** 是否启用 */ @@ -52,7 +52,7 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< private Boolean allocation; /** 支付限额 */ - @DbColumn(comment = "支付限额") + @DbColumn(comment = "支付限额", length = 8) private Integer limitAmount; /** @@ -73,6 +73,10 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< @DbColumn(comment = "同步通知路径") private String returnUrl; + /** 授权回调地址 */ + @DbColumn(comment = "授权回调地址", length = 200) + private String redirectUrl; + /** * 接口版本, 使用v2还是v3接口 * @see WeChatPayCode#API_V2 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java index 787e4a24..fe3f142a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java @@ -45,16 +45,22 @@ public class AliPayAuthService { PlatformConfig platformConfig = platformsConfigService.getConfig(); AliPayConfig aliPayConfig = aliPayConfigService.getConfig(); String code = RandomUtil.randomString(10); + // 默认读取通道配置 + String serverUrl = aliPayConfig.getRedirectUrl(); + // 如果未配置, 读取平台配置 + if (StrUtil.isBlank(serverUrl)) { + serverUrl = platformConfig.getWebsiteUrl(); + } // 构建出授权成功后重定向页面链接 - String redirectUrl = StrUtil.format("{}/callback/pay/alipay/auth/{}", platformConfig.getWebsiteUrl(), code); + String redirectUrl = StrUtil.format("{}/unipay/callback/alipay/auth/{}", platformConfig.getWebsiteUrl(), code); // 构造出授权页地址 - String url = StrUtil.format("{}/h5/alipayAuth.html?appId={}&redirectUrl={}", + String authUrl = StrUtil.format("{}/h5/alipayAuth.html?appId={}&redirectUrl={}", platformConfig.getWebsiteUrl(), aliPayConfig.getAppId(), redirectUrl); // 写入Redis, 五分钟有效期 redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, "", 5*60*1000L); return new AuthUrlResult() .setCode(code) - .setAuthUrl(url); + .setAuthUrl(authUrl); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java index c1cb9679..a1b494e5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java @@ -69,10 +69,17 @@ public class WeChatAuthService { * 生成一个用于微信授权页面的链接和code标识 */ public AuthUrlResult generateAuthUrl() { - PlatformConfig config = platformsConfigService.getConfig(); + PlatformConfig platformConfig = platformsConfigService.getConfig(); + WeChatPayConfig weChatPayConfig = weChatPayConfigService.getConfig(); String code = RandomUtil.randomString(10); + // 默认读取通道配置 + String serverUrl = weChatPayConfig.getRedirectUrl(); + // 如果未配置, 读取平台配置 + if (StrUtil.isBlank(serverUrl)) { + serverUrl = platformConfig.getWebsiteUrl(); + } // 构建出授权后重定向页面链接 - String redirectUrl = StrUtil.format("{}/callback/pay/wechat/auth/{}", config.getWebsiteUrl(), code); + String redirectUrl = StrUtil.format("{}/unipay/callback/wechat/auth/{}", serverUrl, code); WxAuthUrlResult result = this.getWxAuthUrl(new WxAuthUrlParam().setUrl(redirectUrl)); // 写入Redis, 五分钟有效期 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java index 86fd62a4..5df1c4ae 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java @@ -86,7 +86,7 @@ public class AllocOrder extends MpBaseEntity implements EntityBaseFunction<Alloc /** * 总分账金额 */ - @DbColumn(comment = "总分账金额", length = 15, isNull = false) + @DbColumn(comment = "总分账金额", length = 8, isNull = false) private Integer amount; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java index 971273f2..da974518 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java @@ -48,7 +48,7 @@ public class AllocOrderDetail extends MpBaseEntity implements EntityBaseFunction private Integer rate; /** 分账金额 */ - @DbColumn(comment = "分账金额", length = 15, isNull = false) + @DbColumn(comment = "分账金额", length = 8, isNull = false) private Integer amount; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index 0516c50c..d5747c48 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -79,11 +79,11 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde private String method; /** 金额 */ - @DbColumn(comment = "金额", length = 15, isNull = false) + @DbColumn(comment = "金额", length = 8, isNull = false) private Integer amount; /** 可退款余额 */ - @DbColumn(comment = "可退款余额", length = 15, isNull = false) + @DbColumn(comment = "可退款余额", length = 8, isNull = false) private Integer refundableBalance; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java index c151fc89..58e04884 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java @@ -37,7 +37,7 @@ public class ReconcileOutTrade extends MpCreateEntity implements EntityBaseFunct private String title; /** 交易金额 */ - @DbColumn(comment = "交易金额", length = 15, isNull = false) + @DbColumn(comment = "交易金额", length = 8, isNull = false) private Integer amount; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java index 7c5e11e6..c2b18d51 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java @@ -80,11 +80,11 @@ public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<Refu private String channel; /** 订单金额 */ - @DbColumn(comment = "订单金额", length = 15, isNull = false) + @DbColumn(comment = "订单金额", length = 8, isNull = false) private Integer orderAmount; /** 退款金额 */ - @DbColumn(comment = "退款金额", length = 15, isNull = false) + @DbColumn(comment = "退款金额", length = 8, isNull = false) private Integer amount; /** 退款原因 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index 3cd3c180..4e8a4d11 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -55,7 +55,7 @@ public class TransferOrder extends MpBaseEntity implements EntityBaseFunction<Tr private String channel; /** 转账金额 */ - @DbColumn(comment = "转账金额", length = 15, isNull = false) + @DbColumn(comment = "转账金额", length = 8, isNull = false) private Integer amount; /** 标题 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java index 59a25de2..95e2b6a3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java @@ -31,7 +31,7 @@ public class TradeFlowRecord extends MpCreateEntity implements EntityBaseFunctio private String title; /** 金额 */ - @DbColumn(comment = "金额", length = 15, isNull = false) + @DbColumn(comment = "金额", length = 8, isNull = false) private Integer amount; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java index ea709414..654b5696 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java @@ -35,12 +35,15 @@ public class AliPayConfigDto extends BaseDto implements Serializable { @Schema(description = "支付限额") private Integer limitAmount; - @Schema(description = "服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问") + @Schema(description = "服务器异步通知页面路径") private String notifyUrl; - @Schema(description = "页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址") + @Schema(description = "页面跳转同步通知页面路径") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + @Schema(description = "请求网关地址") private String serverUrl; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java index 5d0054f1..fe06f21c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java @@ -43,6 +43,9 @@ public class WeChatPayConfigDto extends BaseDto implements Serializable { @Schema(description = "同步跳转地址") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + /** 接口版本, 使用v2还是v3接口 */ @Schema(description = "接口版本") private String apiVersion; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java index aa967689..d9a6353a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java @@ -5,13 +5,13 @@ import lombok.Data; import lombok.experimental.Accessors; /** - * 微信获取OpenId授权链接和查询标识返回类 + * 获取OpenId授权链接和查询标识返回类 * @author xxm * @since 2024/6/15 */ @Data @Accessors(chain = true) -@Schema(title = "微信授权链接和查询标识返回类") +@Schema(title = "授权链接和查询标识返回类") public class AuthUrlResult { /** 授权访问链接 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java index cc4b60f4..827f1ecc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java @@ -27,12 +27,15 @@ public class AliPayConfigParam { @Schema(description = "支付限额") private Integer limitAmount; - @Schema(description = "服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问") + @Schema(description = "服务器异步通知页面路径") private String notifyUrl; - @Schema(description = "页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址") + @Schema(description = "页面跳转同步通知页面路径") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + @Schema(description = "请求网关地址") private String serverUrl; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java index d4638d18..7bf1ee2e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java @@ -41,6 +41,9 @@ public class WeChatPayConfigParam { @Schema(description = "同步通知地址") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + /** 接口版本, 使用v2还是v3接口 */ @Schema(description = "接口版本") private String apiVersion; -- Gitee From d42da8fd62b66da6466168651fc49e14985c8864 Mon Sep 17 00:00:00 2001 From: bootx <xxm1995@outlook.com> Date: Sun, 23 Jun 2024 23:11:02 +0800 Subject: [PATCH 27/34] =?UTF-8?q?feat=20=E8=BD=AC=E8=B4=A6=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 3 +- daxpay-single-sdk/pom.xml | 6 ++ .../sdk/code/TransferPayeeTypeEnum.java | 10 +-- .../sdk/model/notice/RefundNoticeModel.java | 6 ++ .../model/transfer/TransferOrderModel.java | 3 - .../sdk/param/transfer/TransferParam.java | 1 - .../single/sdk/payment/RefundOrderTest.java | 5 +- .../single/sdk/payment/TransferOrderTest.java | 6 +- .../order/TransferOrderController.java | 12 ++- .../core/code/AllocReceiverTypeEnum.java | 3 +- .../core/code/TransferPayeeTypeEnum.java | 11 +-- .../single/core/code/TransferStatusEnum.java | 3 +- .../single/core/code/TransferTypeEnum.java | 2 +- .../result/order/TransferOrderResult.java | 82 +++++++++++++++++++ .../controller/UniQueryController.java | 7 +- .../alipay/service/AliPayTransferService.java | 9 +- .../core/notice/entity/ClientNoticeTask.java | 2 +- .../order/transfer/entity/TransferOrder.java | 4 - .../service/TransferOrderQueryService.java | 12 ++- .../service/AllocationAssistService.java | 2 +- .../allocation/service/AllocationService.java | 2 +- .../payment/pay/service/PayAssistService.java | 2 +- .../payment/refund/service/RefundService.java | 2 +- .../transfer/service/TransferService.java | 7 +- .../strategy/WeChatTransferStrategy.java | 2 +- .../dto/order/transfer/TransferOrderDto.java | 4 - .../param/order/TransferOrderQuery.java | 3 - 27 files changed, 159 insertions(+), 52 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index ca455471..f573a7d9 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -2,7 +2,7 @@ 2.0.8: 转账/撤销接口和系统优化 - [x] 支持撤销接口 - [x] 增加转账接口功能 -- [ ] 转账订单功能 +- [x] 转账订单前端页面 - [ ] DEMO增加转账演示功能 - [x] 手动发起分账重试参数修正 - [x] 细分各种支付异常类和编码(部分+初版) @@ -42,6 +42,7 @@ - [x] 支付和退款达到终态不可以再回退回之前的状态 - [x] 修复支付关闭参数名称不正确问题 - [X] 去除消息通知模块 +- [x] 退款回调消息字段不一致导致验签不通过问题 2.0.9: 消息通知改版和系统优化 - [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 diff --git a/daxpay-single-sdk/pom.xml b/daxpay-single-sdk/pom.xml index 73ea41ff..179a61b5 100644 --- a/daxpay-single-sdk/pom.xml +++ b/daxpay-single-sdk/pom.xml @@ -85,6 +85,12 @@ <version>${junit.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>cn.daxpay.single</groupId> + <artifactId>daxpay-single-core</artifactId> + <version>2.0.7</version> + <scope>compile</scope> + </dependency> </dependencies> <build> diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java index a350e1e1..899ebcf6 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java @@ -16,18 +16,16 @@ import java.util.List; @AllArgsConstructor public enum TransferPayeeTypeEnum { /** 微信 个人 */ - WX_PERSONAL("wx_personal","openid", "个人"), + WX_PERSONAL("wx_personal", "OpenId"), /** 支付宝 userId 以2088开头的纯16位数字 */ - ALI_USER_ID("ali_user_id","ALIPAY_USERID", "用户ID"), + ALI_USER_ID("ali_user_id", "用户ID"), /** 支付宝 openId */ - ALI_OPEN_ID("ali_open_id","ALIPAY_OPENID", "openId"), + ALI_OPEN_ID("ali_open_id", "OpenId"), /** 支付宝 账号 支持邮箱和手机号格式 */ - ALI_LOGIN_NAME("ali_login_name","ALIPAY_LOGONID", "账号"); + ALI_LOGIN_NAME("ali_login_name", "账号"); /** 编码 */ private final String code; - /** 外部编码, 三方支付系统使用的编码 */ - private final String outCode; /** 名称 */ private final String name; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java index 963bf8e6..2b1f2319 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java @@ -1,5 +1,6 @@ package cn.daxpay.single.sdk.model.notice; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.sdk.code.PayChannelEnum; import cn.daxpay.single.sdk.net.DaxPayResponseModel; import lombok.Getter; @@ -57,6 +58,11 @@ public class RefundNoticeModel extends DaxPayResponseModel { /** 退款创建时间 */ private Long createTime; + /** + * 退款状态 + * @see RefundStatusEnum + */ + private String status; /** 商户扩展参数,回调时会原样返回 */ private String attach; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java index 687beed2..ca1c9089 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java @@ -51,9 +51,6 @@ public class TransferOrderModel extends DaxPayResponseModel { */ private String transferType; - /** 付款方 */ - private String payer; - /** * 收款人类型 * @see TransferPayeeTypeEnum diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java index 55539eaa..8aa8db3e 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java @@ -46,7 +46,6 @@ public class TransferParam extends DaxPayRequest<TransferModel> { */ private String transferType; - /** * 收款人账号类型 * @see TransferPayeeTypeEnum diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java index 18d611ae..c8ade40f 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java @@ -39,15 +39,14 @@ public class RefundOrderTest { public void refund(){ RefundParam param = new RefundParam(); param.setBizRefundNo("R" + RandomUtil.randomNumbers(5)); - param.setBizOrderNo("SDK_1715341621498"); + param.setBizOrderNo("P1719153314573"); param.setAmount(1); param.setAttach("{回调参数}"); - param.setNotifyUrl("https://abc.com/callback"); + param.setNotifyUrl("http://127.0.0.1:9000/demo/callback/refundObject"); param.setClientIp("127.0.0.1"); DaxPayResult<RefundModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - System.out.println(PaySignUtil.verifyHmacSha256Sign(execute.getData(), "123456", execute.getData().getSign())); } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java index 66ae66c3..8cd27a21 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java @@ -10,6 +10,7 @@ import cn.daxpay.single.sdk.param.transfer.TransferParam; import cn.daxpay.single.sdk.response.DaxPayResult; import cn.hutool.json.JSONUtil; import org.junit.Before; +import org.junit.Test; /** * 转账测试 @@ -33,16 +34,19 @@ public class TransferOrderTest { /** * 发起转账操作 */ + @Test public void transfer() { // 构建参数 TransferParam param = new TransferParam(); + param.setBizTransferNo("T"+System.currentTimeMillis()); param.setTitle("测试转账"); param.setReason("我要转个账"); param.setAmount(500); param.setChannel(PayChannelEnum.ALI.getCode()); param.setPayeeType(TransferPayeeTypeEnum.ALI_OPEN_ID.getCode()); + param.setClientIp("127.0.0.1"); // 使用OpenId - param.setPayeeAccount(""); + param.setPayeeAccount("065a9aEjER9Fa__hxYyvgYDlkhUiw_6RINhYHB2oegpWAo5"); // 发起请求 DaxPayResult<TransferModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java index d22874ba..da4f6729 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java @@ -8,7 +8,6 @@ import cn.daxpay.single.core.code.PaymentApiCode; import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; -import cn.daxpay.single.service.core.order.transfer.service.TransferOrderService; import cn.daxpay.single.service.core.payment.transfer.service.TransferService; import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import cn.daxpay.single.service.param.order.TransferOrderQuery; @@ -28,7 +27,6 @@ import org.springframework.web.bind.annotation.*; @RequiredArgsConstructor public class TransferOrderController { private final TransferOrderQueryService queryService; - private final TransferOrderService transferOrderService; private final TransferService transferService; @@ -38,12 +36,18 @@ public class TransferOrderController { return Res.ok(queryService.page(pageParam, query)); } - - @Operation(summary = "查询退款订单详情") + @Operation(summary = "根据转账号查询") @GetMapping("/findByTransferNo") public ResResult<TransferOrderDto> findByTransferNo(String refundNo){ return Res.ok(queryService.findByTransferNo(refundNo)); } + + @Operation(summary = "根据商户转账号查询") + @GetMapping("/findByBizTransferNo") + public ResResult<TransferOrderDto> findByBizTransferNo(String bizTransferNo){ + return Res.ok(queryService.findByBizTransferNo(bizTransferNo)); + } + @Operation(summary = "查询单条") @GetMapping("/findById") public ResResult<TransferOrderDto> findById(Long id){ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java index 2be31fc2..d7db9374 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java @@ -1,5 +1,6 @@ package cn.daxpay.single.core.code; +import cn.daxpay.single.core.exception.UnsupportedAbilityException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -41,7 +42,7 @@ public enum AllocReceiverTypeEnum { return Arrays.stream(AllocReceiverTypeEnum.values()) .filter(e -> e.getCode().equals(code)) .findFirst() - .orElseThrow(() -> new IllegalArgumentException("未找到对应的分账接收方类型")); + .orElseThrow(() -> new UnsupportedAbilityException("未找到对应的分账接收方类型")); } /** 微信支持类型 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java index f6d8b59b..af5633ce 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java @@ -1,5 +1,6 @@ package cn.daxpay.single.core.code; +import cn.daxpay.single.core.exception.UnsupportedAbilityException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -16,13 +17,13 @@ import java.util.List; @AllArgsConstructor public enum TransferPayeeTypeEnum { /** 微信 个人 */ - WX_PERSONAL("wx_personal","openid", "个人"), + WX_PERSONAL("wx_personal","openid", "OpenId"), /** 支付宝 userId 以2088开头的纯16位数字 */ - ALI_USER_ID("ali_user_id","ALIPAY_USERID", "用户ID"), + ALI_USER_ID("ali_user_id","ALIPAY_USER_ID", "用户ID"), /** 支付宝 openId */ - ALI_OPEN_ID("ali_open_id","ALIPAY_OPENID", "openId"), + ALI_OPEN_ID("ali_open_id","ALIPAY_OPEN_ID", "OpenId"), /** 支付宝 账号 支持邮箱和手机号格式 */ - ALI_LOGIN_NAME("ali_login_name","ALIPAY_LOGONID", "账号"); + ALI_LOGIN_NAME("ali_login_name","ALIPAY_LOGON_ID", "账号"); /** 编码 */ private final String code; @@ -38,7 +39,7 @@ public enum TransferPayeeTypeEnum { return Arrays.stream(TransferPayeeTypeEnum.values()) .filter(e -> e.getCode().equals(code)) .findFirst() - .orElseThrow(() -> new IllegalArgumentException("未找到对应的分账接收方类型")); + .orElseThrow(() -> new UnsupportedAbilityException("未找到对应的分账接收方类型")); } /** 微信支持类型 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java index 5e586d62..72a1ce81 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java @@ -14,8 +14,7 @@ public enum TransferStatusEnum { TRANSFERRING("transferring", "转账中"), SUCCESS("success", "转账成功"), - FAIL("fail", "转账失败"), - ; + FAIL("fail", "转账失败"),; private final String code; private final String name; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java index b9aaf82a..b7393ede 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java @@ -4,7 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * 转账类型注解 + * 转账类型 微信使用 * @author xxm * @since 2024/6/6 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java index 3c564c52..3ae2ba0e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java @@ -1,11 +1,17 @@ package cn.daxpay.single.core.result.order; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import java.time.LocalDateTime; + /** * 转账订单数据 * @author xxm @@ -16,4 +22,80 @@ import lombok.experimental.Accessors; @Accessors(chain = true) @Schema(title = "转账订单数据") public class TransferOrderResult extends PaymentCommonResult { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "转账号") + private String transferNo; + + /** 通道转账号 */ + @Schema(description = "通道转账号") + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Schema(description = "标题") + private String title; + + /** 转账原因/备注 */ + @Schema(description = "转账原因/备注") + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Schema(description = "转账类型, 微信使用") + private String transferType; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + @Schema(description = "收款人类型") + private String payeeType; + + /** 收款人账号 */ + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Schema(description = "收款人姓名") + private String payeeName; + + /** + * 状态 + * @see TransferStatusEnum + */ + @Schema(description = "状态") + private String status; + + /** 成功时间 */ + @Schema(description = "成功时间") + private LocalDateTime successTime; + + /** + * 错误码 + */ + @Schema(description = "错误码") + private String errorCode; + + /** + * 错误原因 + */ + @Schema(description = "错误原因") + private String errorMsg; } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java index 499d792c..dda60705 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java @@ -13,10 +13,12 @@ import cn.daxpay.single.core.result.order.AllocOrderResult; import cn.daxpay.single.core.result.allocation.AllocReceiversResult; import cn.daxpay.single.core.result.order.PayOrderResult; import cn.daxpay.single.core.result.order.RefundOrderResult; +import cn.daxpay.single.core.result.order.TransferOrderResult; import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; +import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.core.util.DaxRes; @@ -43,6 +45,7 @@ public class UniQueryController { private final PayOrderQueryService payOrderQueryService; private final RefundOrderQueryService refundOrderQueryService; + private final TransferOrderQueryService transferOrderQueryService; private final AllocationReceiverService allocationReceiverService; private final AllocationService allocationService; @@ -74,8 +77,8 @@ public class UniQueryController { @InitPaymentContext(PaymentApiCode.QUERY_TRANSFER_ORDER) @Operation(summary = "转账订单查询接口") @PostMapping("/transferOrder") - public DaxResult<Void> transferOrder(@RequestBody QueryTransferParam param){ - return DaxRes.ok(); + public DaxResult<TransferOrderResult> transferOrder(@RequestBody QueryTransferParam param){ + return DaxRes.ok(transferOrderQueryService.queryTransferOrder(param)); } @PaymentVerify diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index c2970700..9d1864b1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; import cn.daxpay.single.core.code.TransferStatusEnum; import cn.daxpay.single.core.exception.TradeFaileException; import cn.daxpay.single.service.code.AliPayCode; @@ -75,12 +76,16 @@ public class AliPayTransferService { model.setOutBizNo(order.getTransferNo()); // 设置订单总金额 model.setTransAmount(PayUtil.conversionAmount(order.getAmount()).toString()); - // 设置收款方信息 Participant payeeInfo = new Participant(); + // 收款人账号 payeeInfo.setIdentity(order.getPayeeAccount()); + // 收款人姓名 payeeInfo.setName(order.getPayeeName()); - payeeInfo.setIdentityType(order.getPayeeType()); + // 收款人类型 + String identityType = TransferPayeeTypeEnum.findByCode(order.getPayeeType()) + .getOutCode(); + payeeInfo.setIdentityType(identityType); model.setPayeeInfo(payeeInfo); model.setRemark(order.getReason()); request.setBizModel(model); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java index 681a548d..6bdbbcf6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java @@ -81,7 +81,7 @@ public class ClientNoticeTask extends MpBaseEntity implements EntityBaseFunction private String url; /** 最后发送时间 */ - @DbColumn(comment = "最后发送时间", isNull = false) + @DbColumn(comment = "最后发送时间") private LocalDateTime latestTime; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index 4e8a4d11..668af2b2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -73,10 +73,6 @@ public class TransferOrder extends MpBaseEntity implements EntityBaseFunction<Tr @DbColumn(comment = "转账类型, 微信使用", length = 20) private String transferType; - /** 付款方 */ - @DbColumn(comment = "付款方", length = 100) - private String payer; - /** * 收款人类型 * @see TransferPayeeTypeEnum diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java index 91058082..89adc745 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java @@ -5,7 +5,6 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.daxpay.single.core.exception.ParamValidationFailException; -import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.transfer.QueryTransferParam; import cn.daxpay.single.core.result.order.TransferOrderResult; @@ -55,7 +54,16 @@ public class TransferOrderQueryService { */ public TransferOrderDto findByTransferNo(String transferNo){ return transferOrderManager.findByTransferNo(transferNo).map(TransferOrder::toDto) - .orElseThrow(() -> new DataNotExistException("转账订单扩展信息不存在")); + .orElseThrow(() -> new DataNotExistException("转账订单信息不存在")); + + } + + /** + * 根据转账号查询 + */ + public TransferOrderDto findByBizTransferNo(String bizTransferNo){ + return transferOrderManager.findByBizTransferNo(bizTransferNo).map(TransferOrder::toDto) + .orElseThrow(() -> new DataNotExistException("转账订单信息不存在")); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java index f92583a1..47754926 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java @@ -22,7 +22,7 @@ public class AllocationAssistService { private final AllocationOrderManager allocationOrderManager; /** - * 根据新传入的分账订单更新订单和扩展信息 + * 根据新传入的分账订单更新订单信息 */ @Transactional(rollbackFor = Exception.class) public void updateOrder(AllocationParam allocationParam, AllocOrder orderExtra) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index 2a4035b2..e34d8006 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -169,7 +169,7 @@ public class AllocationService { allocationStrategy.initParam(order, details); // 分账预处理 allocationStrategy.doBeforeHandler(); - // 更新分账单扩展信息 + // 更新分账单信息 allocationAssistService.updateOrder(param, order); try { // 重复分账处理 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 62044c65..7a2dd921 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -85,7 +85,7 @@ public class PayAssistService { } /** - * 根据新传入的支付订单更新订单和扩展信息 + * 根据新传入的支付订单更新订单信息 */ @Transactional(rollbackFor = Exception.class) public void updatePayOrder(PayParam payParam,PayOrder order) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index 902972d6..52ba2959 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -175,7 +175,7 @@ public class RefundService { } /** - * 更新退款订单扩展信息 + * 更新退款订单信息 */ private void updateOrder(RefundParam param, RefundOrder order){ order.setAttach(param.getAttach()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index 85093be2..9a640212 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.payment.transfer.service; import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.core.result.transfer.TransferResult; +import cn.daxpay.single.service.common.context.TransferLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; @@ -63,7 +64,11 @@ public class TransferService { */ @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) public void successHandler(TransferOrder order){ - order.setStatus(RefundStatusEnum.SUCCESS.getCode()); + TransferLocal transferInfo = PaymentContextLocal.get() + .getTransferInfo(); + order.setStatus(transferInfo.getStatus().getCode()) + .setSuccessTime(transferInfo.getFinishTime()) + .setOutTransferNo(transferInfo.getOutTransferNo()); transferOrderManager.updateById(order); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java index 69002ddf..8d31de80 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java @@ -48,7 +48,7 @@ public class WeChatTransferStrategy extends AbsTransferStrategy { // 转账接收方类型校验 String payeeType = transferParam.getPayeeType(); if (!Objects.equals(WX_PERSONAL.getCode(), payeeType)){ - throw new ParamValidationFailException("支付宝不支持该类型收款人"); + throw new ParamValidationFailException("微信不支持该类型收款人"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java index 1894d830..2e3bbcad 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java @@ -61,10 +61,6 @@ public class TransferOrderDto extends BaseDto { @Schema(description = "转账类型, 微信使用") private String transferType; - /** 付款方 */ - @Schema(description = "付款方") - private String payer; - /** * 收款人类型 * @see TransferPayeeTypeEnum diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java index ebdb2b59..5156ac26 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java @@ -62,9 +62,6 @@ public class TransferOrderQuery extends QueryOrder { @Schema(description = "转账类型, 微信使用") private String transferType; - /** 付款方 */ - @Schema(description = "付款方") - private String payer; /** * 收款人类型 -- Gitee From 53808352fbcad9f624552ae73dd3071f1749904d Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Mon, 24 Jun 2024 16:23:12 +0800 Subject: [PATCH 28/34] =?UTF-8?q?feat=20=E8=BD=AC=E8=B4=A6=E6=BC=94?= =?UTF-8?q?=E7=A4=BA=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 2 ++ .../controller/order/TransferOrderController.java | 11 ++++++++--- .../core/param/payment/transfer/TransferParam.java | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index f573a7d9..febb18b1 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -4,6 +4,7 @@ - [x] 增加转账接口功能 - [x] 转账订单前端页面 - [ ] DEMO增加转账演示功能 +- [x] DEMO增加获取OpenID功能 - [x] 手动发起分账重试参数修正 - [x] 细分各种支付异常类和编码(部分+初版) - [x] 支付宝支持JSAPI方式支付 @@ -42,6 +43,7 @@ - [x] 支付和退款达到终态不可以再回退回之前的状态 - [x] 修复支付关闭参数名称不正确问题 - [X] 去除消息通知模块 +- [x] 优化认证授权地址配置, 拆分为支持单独配置 - [x] 退款回调消息字段不一致导致验签不通过问题 2.0.9: 消息通知改版和系统优化 diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java index da4f6729..f019f281 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java @@ -4,8 +4,10 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.core.code.PaymentApiCode; import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.transfer.TransferResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; import cn.daxpay.single.service.core.payment.transfer.service.TransferService; @@ -16,6 +18,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; + /** * 转账订单控制器 * @author xxm @@ -58,9 +62,10 @@ public class TransferOrderController { @InitPaymentContext(PaymentApiCode.TRANSFER) @Operation(summary = "手动发起转账") @PostMapping("/transfer") - public ResResult<Void> transfer(@RequestBody TransferParam param){ - transferService.transfer(param); - return Res.ok(); + public ResResult<TransferResult> transfer(@RequestBody TransferParam param){ + param.setReqTime(LocalDateTime.now()); + ValidationUtil.validateParam(param); + return Res.ok(transferService.transfer(param)); } @InitPaymentContext(PaymentApiCode.TRANSFER) diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java index c7aff50c..75902e96 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java @@ -41,7 +41,7 @@ public class TransferParam extends PaymentCommonParam { /** 转账金额 */ @NotNull(message = "转账金额必填") - @Min(value = 1, message = "转账金额至少为0.01") + @Min(value = 1, message = "转账金额至少为0.01元") @Schema(description = "转账金额") private Integer amount; -- Gitee From 6197549e657582bb6a1a26903b9b2f54d8465637 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Mon, 24 Jun 2024 19:48:52 +0800 Subject: [PATCH 29/34] =?UTF-8?q?ref=20=E5=8F=82=E6=95=B0=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E4=BC=98=E5=8C=96,=20=E5=BC=82=E5=B8=B8=E7=B1=BB?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- _config/mysql/2.0.5/2.0.5.dax-pay.backup.sql | 4202 ----------------- _config/mysql/2.0.5/2.0.5.update.data.sql | 331 -- _config/mysql/2.0.5/2.0.5.update.table.sql | 107 - _config/mysql/2.0.6/2.0.6.dax-pay.backup.sql | 3775 --------------- _config/mysql/2.0.6/2.0.6.update.data.sql | 287 -- _config/mysql/2.0.6/2.0.6.update.table.sql | 85 - _config/mysql/dax-pay.sql | 1 - _doc/ChangeLog.md | 2 + _doc/Task.md | 8 +- .../common/core/code/CommonErrorCode.java | 6 - daxpay-single-demo/pom.xml | 2 +- daxpay-single-sdk/pom.xml | 4 +- daxpay-single-start/pom.xml | 2 +- .../src/main/resources/application-dev.yml | 2 +- .../src/main/resources/application-prod.yml | 2 +- daxpay-single/daxpay-single-admin/pom.xml | 2 +- daxpay-single/daxpay-single-core/pom.xml | 2 +- .../single/core/code/DaxPayErrorCode.java | 5 +- .../ParamValidationFailException.java | 19 - ...Exception.java => TradeFailException.java} | 10 +- .../core/param/assist/WxAccessTokenParam.java | 3 + .../core/param/assist/WxAuthUrlParam.java | 4 + .../allocation/AllocReceiverParam.java | 3 +- .../payment/allocation/AllocSyncParam.java | 4 + .../param/payment/pay/PayCancelParam.java | 4 + .../core/param/payment/pay/PayCloseParam.java | 4 + .../core/param/payment/pay/PaySyncParam.java | 4 + .../core/param/payment/pay/QueryPayParam.java | 4 + .../payment/refund/QueryRefundParam.java | 4 + .../param/payment/refund/RefundSyncParam.java | 4 + daxpay-single/daxpay-single-gateway/pom.xml | 2 +- .../CallbackReceiverController.java | 2 +- .../controller/UniQueryController.java | 4 +- daxpay-single/daxpay-single-service/pom.xml | 2 +- .../service/AliPayAllocationService.java | 4 +- .../channel/alipay/service/AliPayService.java | 14 +- .../alipay/service/AliPayTransferService.java | 4 +- .../union/service/UnionPayService.java | 7 +- .../service/WeChatPayRefundService.java | 8 +- .../wechat/service/WeChatPayService.java | 6 +- .../allocation/service/AllocOrderService.java | 8 +- .../pay/service/PayOrderQueryService.java | 4 +- .../service/RefundOrderQueryService.java | 5 +- .../service/TransferOrderQueryService.java | 4 +- .../allocation/entity/AllocationGroup.java | 15 +- .../service/AllocationReceiverService.java | 7 +- .../allocation/service/AllocationService.java | 8 +- .../AliPayAllocationReceiverStrategy.java | 6 +- .../WeChatPayAllocationReceiverStrategy.java | 6 +- .../payment/common/aop/PaymentVerifyAop.java | 10 +- .../common/service/PaymentAssistService.java | 8 +- .../payment/pay/strategy/AliPayStrategy.java | 4 +- .../pay/strategy/UnionPayStrategy.java | 4 +- .../pay/strategy/WalletPayStrategy.java | 5 +- .../refund/service/RefundAssistService.java | 8 +- .../strategy/AliPayTransferStrategy.java | 4 +- .../strategy/WeChatTransferStrategy.java | 4 +- daxpay-single/pom.xml | 4 +- pom.xml | 2 +- 60 files changed, 146 insertions(+), 8917 deletions(-) delete mode 100644 _config/mysql/2.0.5/2.0.5.dax-pay.backup.sql delete mode 100644 _config/mysql/2.0.5/2.0.5.update.data.sql delete mode 100644 _config/mysql/2.0.5/2.0.5.update.table.sql delete mode 100644 _config/mysql/2.0.6/2.0.6.dax-pay.backup.sql delete mode 100644 _config/mysql/2.0.6/2.0.6.update.data.sql delete mode 100644 _config/mysql/2.0.6/2.0.6.update.table.sql delete mode 100644 daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java rename daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/{TradeFaileException.java => TradeFailException.java} (39%) diff --git a/README.md b/README.md index 2985c024..deb66b16 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ <p align="center"> <img src="https://img.shields.io/github/stars/dromara/dax-pay?style=flat&label=Github"> <img src='https://gitee.com/bootx/dax-pay/badge/star.svg?theme=dark' alt='star'/> - <img src="https://img.shields.io/badge/Dax%20Pay-2.0.7-success.svg" alt="Build Status"/> + <img src="https://img.shields.io/badge/Dax%20Pay-2.0.8-success.svg" alt="Build Status"/> <img src="https://img.shields.io/badge/Author-Daxpay-orange.svg" alt="Build Status"/> <img src="https://img.shields.io/badge/Spring%20Boot-2.7.18-blue.svg" alt="Downloads"/> <img src="https://img.shields.io/badge/license-Apache%20License%202.0-green.svg"/> diff --git a/_config/mysql/2.0.5/2.0.5.dax-pay.backup.sql b/_config/mysql/2.0.5/2.0.5.dax-pay.backup.sql deleted file mode 100644 index de463c61..00000000 --- a/_config/mysql/2.0.5/2.0.5.dax-pay.backup.sql +++ /dev/null @@ -1,4202 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server Type : MySQL - Source Server Version : 50743 - - Target Server Type : MySQL - Target Server Version : 50743 - File Encoding : 65001 - - Date: 18/04/2024 11:05:44 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for base_area --- ---------------------------- -DROP TABLE IF EXISTS `base_area`; -CREATE TABLE `base_area` ( - `code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '区域名称', - `city_code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '城市编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_city_code`(`city_code`) USING BTREE COMMENT '城市' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '县区表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_area --- ---------------------------- - --- ---------------------------- --- Table structure for base_china_word --- ---------------------------- -DROP TABLE IF EXISTS `base_china_word`; -CREATE TABLE `base_china_word` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `white` bit(1) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_china_word --- ---------------------------- - --- ---------------------------- --- Table structure for base_city --- ---------------------------- -DROP TABLE IF EXISTS `base_city`; -CREATE TABLE `base_city` ( - `code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '城市编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '城市名称', - `province_code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '省份编码', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '城市表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_city --- ---------------------------- - --- ---------------------------- --- Table structure for base_data_result_sql --- ---------------------------- -DROP TABLE IF EXISTS `base_data_result_sql`; -CREATE TABLE `base_data_result_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `is_list` bit(1) NULL DEFAULT NULL, - `sql` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '数据集SQL语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_data_result_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_dict --- ---------------------------- -DROP TABLE IF EXISTS `base_dict`; -CREATE TABLE `base_dict` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict --- ---------------------------- -INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); -INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); -INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); -INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); -INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); -INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); -INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); -INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); -INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); -INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); -INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); -INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); -INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); -INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据权限类型', b'1', '系统属性', '数据权限类型', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2023-11-28 23:14:24', 0, 4); -INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); -INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); -INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); -INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); -INSERT INTO `base_dict` VALUES (1744996611615039488, 'AsyncPayChannel', '异步支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:16:27', 1399985191002447872, '2024-01-10 16:16:27', 0, 0); -INSERT INTO `base_dict` VALUES (1744996845355212800, 'PayChannel', '支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:23', 1399985191002447872, '2024-01-10 16:17:23', 0, 0); -INSERT INTO `base_dict` VALUES (1744996913667842048, 'PayStatus', '支付状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:39', 1399985191002447872, '2024-01-10 16:17:39', 0, 0); -INSERT INTO `base_dict` VALUES (1745086859116224512, 'PayWay', '支付方式', b'1', '支付', '', 1399985191002447872, '2024-01-10 22:15:04', 1399985191002447872, '2024-01-10 22:15:04', 0, 0); -INSERT INTO `base_dict` VALUES (1745109350333173760, 'PayCallbackStatus', '支付回调处理状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 23:44:26', 1399985191002447872, '2024-01-10 23:44:26', 0, 0); -INSERT INTO `base_dict` VALUES (1745128986382667776, 'PayRepairSource', '支付修复来源', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:02:28', 1399985191002447872, '2024-01-11 01:02:28', 0, 0); -INSERT INTO `base_dict` VALUES (1745134438772346880, 'PayRepairWay', '支付修复方式', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:24:08', 1399985191002447872, '2024-01-11 01:24:08', 0, 0); -INSERT INTO `base_dict` VALUES (1745748188122554368, 'RefundStatus', '退款状态', b'1', '支付', '', 1399985191002447872, '2024-01-12 18:02:57', 1399985191002447872, '2024-02-09 21:22:52', 0, 1); -INSERT INTO `base_dict` VALUES (1746208645341917184, 'PaySyncStatus', '支付同步结果', b'1', '支付', '', 1399985191002447872, '2024-01-14 00:32:39', 1399985191002447872, '2024-01-14 00:32:39', 0, 0); -INSERT INTO `base_dict` VALUES (1749612665392541696, 'ReconcileTrade', '支付对账交易类型', b'1', '支付', '', 1399985191002447872, '2024-01-23 09:59:00', 1399985191002447872, '2024-03-01 23:31:32', 0, 1); -INSERT INTO `base_dict` VALUES (1751603996496453632, 'PaymentType', '支付系统行为类型', b'1', '支付', '支付系统中常见的操作类型, 如支付/退款/转账等', 1399985191002447872, '2024-01-28 21:51:51', 1399985191002447872, '2024-01-28 21:51:51', 0, 0); -INSERT INTO `base_dict` VALUES (1751613032260370432, 'PayCallbackType', '回调类型', b'1', '支付', '', 1399985191002447872, '2024-01-28 22:27:45', 1399985191002447872, '2024-01-28 22:27:45', 0, 0); -INSERT INTO `base_dict` VALUES (1752560153120428032, 'RefundSyncStatus', '退款同步状态', b'1', '支付', '', 1399985191002447872, '2024-01-31 13:11:16', 1399985191002447872, '2024-01-31 13:11:16', 0, 0); -INSERT INTO `base_dict` VALUES (1753047382185091072, 'RefundRepairWay', '退款修复方式', b'1', '支付', '', 1399985191002447872, '2024-02-01 21:27:21', 1399985191002447872, '2024-02-01 21:27:21', 0, 0); -INSERT INTO `base_dict` VALUES (1758881354618220544, 'WalletStatus', '钱包状态', b'1', '支付', '', 1399985191002447872, '2024-02-17 23:49:28', 1399985191002447872, '2024-02-17 23:49:28', 0, 0); -INSERT INTO `base_dict` VALUES (1759189874194481152, 'VoucherStatus', '储值卡状态', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:15:25', 1399985191002447872, '2024-02-18 20:15:25', 0, 0); -INSERT INTO `base_dict` VALUES (1759190066511708160, 'WalletRecordType', '钱包记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:16:11', 1399985191002447872, '2024-02-18 20:16:11', 0, 0); -INSERT INTO `base_dict` VALUES (1759190427897135104, 'VoucherRecordType', '储值卡记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:17:37', 1399985191002447872, '2024-02-18 20:17:37', 0, 0); -INSERT INTO `base_dict` VALUES (1759190780252225536, 'CashRecordType', '现金记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:19:01', 1399985191002447872, '2024-02-19 22:07:09', 0, 1); -INSERT INTO `base_dict` VALUES (1761434095349624832, 'ClientNoticeType', '客户消息通知类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:09', 1399985191002447872, '2024-02-25 00:53:09', 0, 0); -INSERT INTO `base_dict` VALUES (1761434264858226688, 'ClientNoticeSendType', '客户消息通知发送类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:49', 1399985191002447872, '2024-02-25 00:53:49', 0, 0); -INSERT INTO `base_dict` VALUES (1761581634023583744, 'AlipayRecordType', '支付宝流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 10:39:25', 1399985191002447872, '2024-02-25 10:39:25', 0, 0); -INSERT INTO `base_dict` VALUES (1761588314480300032, 'WechatPayRecordType', '微信支付流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 11:05:58', 1399985191002447872, '2024-02-25 11:05:58', 0, 0); -INSERT INTO `base_dict` VALUES (1763588034467713024, 'ReconcileDiffType', '对账差异类型', b'1', '支付', '', 1399985191002447872, '2024-03-01 23:32:08', 1399985191002447872, '2024-03-01 23:32:08', 0, 0); -INSERT INTO `base_dict` VALUES (1766713545981153280, 'UnionPaySignType', '云闪付签名类型', b'1', '支付', '', 1399985191002447872, '2024-03-10 14:31:48', 1399985191002447872, '2024-03-10 14:31:48', 0, 0); -INSERT INTO `base_dict` VALUES (1768206399071809536, 'UnionPayRecordType', '云闪付流水类型', b'1', '支付', '', 1399985191002447872, '2024-03-14 17:23:52', 1399985191002447872, '2024-03-14 17:23:52', 0, 0); -INSERT INTO `base_dict` VALUES (1775112798259302400, 'AllocationReceiverType', '分账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 18:47:26', 1399985191002447872, '2024-04-02 18:47:26', 0, 0); -INSERT INTO `base_dict` VALUES (1775122632706805760, 'AllocationRelationType', '分账关系类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 19:26:30', 1399985191002447872, '2024-04-02 19:26:30', 0, 0); -INSERT INTO `base_dict` VALUES (1777697358802530304, 'AllocationOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-04-16 19:09:18', 0, 1); -INSERT INTO `base_dict` VALUES (1780163691808391168, 'AllocationDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-04-16 17:23:37', 0, 2); -INSERT INTO `base_dict` VALUES (1780165499633106944, 'AllocationOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-04-16 17:25:04', 0, 0); -INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); - --- ---------------------------- --- Table structure for base_dict_item --- ---------------------------- -DROP TABLE IF EXISTS `base_dict_item`; -CREATE TABLE `base_dict_item` ( - `id` bigint(20) NOT NULL, - `dict_id` bigint(20) NOT NULL COMMENT '字典id', - `dict_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典code', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项code', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `sort_no` double(8, 2) NOT NULL COMMENT '排序', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_dictionary_id`(`dict_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典项' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict_item --- ---------------------------- -INSERT INTO `base_dict_item` VALUES (1422931375807242241, 1422929378374828033, 'Sex', '1', '男', b'1', 0.00, '男性', 0, '2021-08-04 22:44:11', 0, '2021-08-04 22:44:11', 0, 2); -INSERT INTO `base_dict_item` VALUES (1425729455402401794, 1422929378374828033, 'Sex', '2', '女', b'1', 0.00, '女性', 0, '2021-08-12 16:02:46', 0, '2021-08-12 16:02:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1425744258544136194, 1425744045414772737, 'MenuType', '0', '顶级菜单', b'1', 0.00, '顶级菜单', 0, '2021-08-12 17:01:35', 0, '2021-08-12 17:01:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744436592340993, 1425744045414772737, 'MenuType', '1', '子菜单', b'1', 0.00, '子菜单', 0, '2021-08-12 17:02:17', 0, '2021-08-12 17:02:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744470582980610, 1425744045414772737, 'MenuType', '2', '按钮权限', b'1', 0.00, '按钮权限', 0, '2021-08-12 17:02:26', 0, '2021-08-12 17:02:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1430094707250413568, 1422929378374828033, 'Sex', '0', '未知', b'1', 0.00, '不确定性别', 1399985191002447872, '2021-08-24 17:08:43', 1399985191002447872, '2021-08-24 17:08:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435830086406463488, 1435829999592759296, 'UserStatusCode', 'normal', '正常', b'1', 0.00, 'NORMAL', 1399985191002447872, '2021-09-09 12:59:04', 1399985191002447872, '2023-11-25 15:32:04', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435830141855162368, 1435829999592759296, 'UserStatusCode', 'lock', '锁定', b'1', 0.00, 'LOCK, 多次登录失败被锁定', 1399985191002447872, '2021-09-09 12:59:17', 1399985191002447872, '2023-11-25 15:32:14', 0, 2); -INSERT INTO `base_dict_item` VALUES (1435830260503633920, 1435829999592759296, 'UserStatusCode', 'ban', '封禁', b'1', 0.00, 'BAN', 1399985191002447872, '2021-09-09 12:59:45', 1399985191002447872, '2023-11-25 15:32:20', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435838374749626368, 1435838066191458304, 'LogBusinessType', 'other', '其它', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:00', 1399985191002447872, '2021-09-09 13:32:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838414436130816, 1435838066191458304, 'LogBusinessType', 'insert', '新增', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:09', 1399985191002447872, '2021-09-09 13:32:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838467624099840, 1435838066191458304, 'LogBusinessType', 'update', '修改', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:22', 1399985191002447872, '2021-09-09 13:32:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838502755590144, 1435838066191458304, 'LogBusinessType', 'delete', '删除', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:30', 1399985191002447872, '2021-09-09 13:32:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838546934194176, 1435838066191458304, 'LogBusinessType', 'grant', '授权', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:41', 1399985191002447872, '2021-09-09 13:32:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838605537009664, 1435838066191458304, 'LogBusinessType', 'export', '导出', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:55', 1399985191002447872, '2021-09-09 13:32:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838705457913856, 1435838066191458304, 'LogBusinessType', 'import', '导入', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:19', 1399985191002447872, '2021-09-09 13:33:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838745861644288, 1435838066191458304, 'LogBusinessType', 'force', '强退', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:28', 1399985191002447872, '2021-09-09 13:33:28', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838786273763328, 1435838066191458304, 'LogBusinessType', 'clean', '清空数据', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:38', 1399985191002447872, '2021-09-09 13:33:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438079113630003200, 1438078864509317120, 'MailSecurityCode', '1', '普通方式', b'1', 0.00, 'SECURITY_TYPE_PLAIN', 1399985191002447872, '2021-09-15 17:55:54', 1399985191002447872, '2021-09-15 17:55:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080323061755904, 1438078864509317120, 'MailSecurityCode', '2', 'TLS方式', b'1', 0.00, 'SECURITY_TYPE_TLS', 1399985191002447872, '2021-09-15 18:00:42', 1399985191002447872, '2021-09-15 18:00:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080372231581696, 1438078864509317120, 'MailSecurityCode', '3', 'SSL方式', b'1', 0.00, 'SECURITY_TYPE_SSL', 1399985191002447872, '2021-09-15 18:00:54', 1399985191002447872, '2021-09-15 18:00:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439961603914047488, 1439961232651034624, 'MessageTemplateCode', '5', '微信', b'1', -10.00, 'WECHAT', 1399985191002447872, '2021-09-20 22:36:14', 1399985191002447872, '2021-09-20 22:36:14', 0, 1); -INSERT INTO `base_dict_item` VALUES (1439961704321490944, 1439961232651034624, 'MessageTemplateCode', '4', 'Email', b'1', 0.00, 'EMAIL', 1399985191002447872, '2021-09-20 22:36:38', 1399985191002447872, '2021-09-20 22:36:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962132744478720, 1439961232651034624, 'MessageTemplateCode', '3', '短信', b'1', 0.00, 'SMS', 1399985191002447872, '2021-09-20 22:38:20', 1399985191002447872, '2021-09-20 22:38:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962205578567680, 1439961232651034624, 'MessageTemplateCode', '2', '钉钉机器人', b'1', 0.00, 'DING_TALK_ROBOT', 1399985191002447872, '2021-09-20 22:38:38', 1399985191002447872, '2021-09-20 22:38:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962267511660544, 1439961232651034624, 'MessageTemplateCode', '1', '钉钉', b'1', 0.00, 'DING_TALK', 1399985191002447872, '2021-09-20 22:38:52', 1399985191002447872, '2021-09-20 22:38:52', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452836696873984000, 1452836604783845376, 'SocialType', 'WeChat', '微信', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:17:16', 1399985191002447872, '2021-10-26 11:17:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837435482529792, 1452836604783845376, 'SocialType', 'QQ', 'QQ', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:12', 1399985191002447872, '2021-10-26 11:20:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837523030237184, 1452836604783845376, 'SocialType', 'DingTalk', '钉钉', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:33', 1399985191002447872, '2021-10-26 11:20:33', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844537911406592, 1452843488735621120, 'ParamType', '1', '系统参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:25', 1399985191002447872, '2021-10-26 11:48:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844565031776256, 1452843488735621120, 'ParamType', '2', '用户参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:32', 1399985191002447872, '2021-10-26 11:48:32', 0, 2); -INSERT INTO `base_dict_item` VALUES (1496026946344005632, 1496024933900169216, 'Political', '1', '中共党员', b'1', 1.00, '', 1399985191002447872, '2022-02-22 15:39:54', 1399985191002447872, '2022-02-22 15:39:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027004560945152, 1496024933900169216, 'Political', '2', '中共预备党员', b'1', 2.00, '', 1399985191002447872, '2022-02-22 15:40:07', 1399985191002447872, '2022-02-22 15:40:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027039264616448, 1496024933900169216, 'Political', '3', '共青团员', b'1', 3.00, '', 1399985191002447872, '2022-02-22 15:40:16', 1399985191002447872, '2022-02-22 15:40:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027077550223360, 1496024933900169216, 'Political', '4', '民革党员', b'1', 4.00, '', 1399985191002447872, '2022-02-22 15:40:25', 1399985191002447872, '2022-02-22 15:40:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027123461074944, 1496024933900169216, 'Political', '5', '民盟盟员', b'1', 5.00, '', 1399985191002447872, '2022-02-22 15:40:36', 1399985191002447872, '2022-02-22 15:40:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027197566038016, 1496024933900169216, 'Political', '6', '民建会员', b'1', 6.00, '', 1399985191002447872, '2022-02-22 15:40:53', 1399985191002447872, '2022-02-22 15:40:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027234803068928, 1496024933900169216, 'Political', '7', '民进会员', b'1', 7.00, '', 1399985191002447872, '2022-02-22 15:41:02', 1399985191002447872, '2022-02-22 15:41:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027272941875200, 1496024933900169216, 'Political', '8', '农工党党员', b'1', 8.00, '', 1399985191002447872, '2022-02-22 15:41:11', 1399985191002447872, '2022-02-22 15:41:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027306634719232, 1496024933900169216, 'Political', '9', '致公党党员', b'1', 9.00, '', 1399985191002447872, '2022-02-22 15:41:19', 1399985191002447872, '2022-02-22 15:41:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027369796743168, 1496024933900169216, 'Political', '10', '九三学社社员', b'1', 10.00, '', 1399985191002447872, '2022-02-22 15:41:34', 1399985191002447872, '2022-02-22 15:41:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027408141070336, 1496024933900169216, 'Political', '11', '台盟盟员', b'1', 11.00, '', 1399985191002447872, '2022-02-22 15:41:44', 1399985191002447872, '2022-02-22 15:41:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027456849522688, 1496024933900169216, 'Political', '12', '无党派人士', b'1', 12.00, '', 1399985191002447872, '2022-02-22 15:41:55', 1399985191002447872, '2022-02-22 15:41:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027516639326208, 1496024933900169216, 'Political', '13', '群众', b'1', 13.00, '', 1399985191002447872, '2022-02-22 15:42:09', 1399985191002447872, '2022-02-22 15:42:10', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003368762032128, 1561003021674987520, 'SiteMessageReceive', 'user', '指定用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:00', 1399985191002447872, '2022-08-20 22:53:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003399778910208, 1561003021674987520, 'SiteMessageReceive', 'all', '全部用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:07', 1399985191002447872, '2022-08-20 22:53:24', 0, 1); -INSERT INTO `base_dict_item` VALUES (1561003539772194816, 1561003189111603200, 'SiteMessageState', 'sent', '已发送', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:41', 1399985191002447872, '2022-08-20 22:53:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003575608328192, 1561003189111603200, 'SiteMessageState', 'cancel', '撤销', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:49', 1399985191002447872, '2022-08-20 22:53:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561245469535080448, 1561003189111603200, 'SiteMessageState', 'draft', '草稿', b'1', 0.00, '', 1399985191002447872, '2022-08-21 14:55:01', 1399985191002447872, '2022-08-21 14:55:01', 0, 0); -INSERT INTO `base_dict_item` VALUES (1573665422392098816, 1439961232651034624, 'MessageTemplateCode', '0', '站内信', b'1', -11.00, 'SITE', 1399985191002447872, '2022-09-24 21:27:29', 1399985191002447872, '2022-09-24 21:27:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528254477488128, 1589527951317389312, 'DataScopePerm', 'self_dept_sub', '所在及下级部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:43', 1399985191002447872, '2023-11-28 23:16:02', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528283539820544, 1589527951317389312, 'DataScopePerm', 'self_dept', '所在部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:49', 1399985191002447872, '2023-11-28 23:15:52', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528315672383488, 1589527951317389312, 'DataScopePerm', 'all', '全部数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:57', 1399985191002447872, '2023-11-25 22:51:28', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528340267782144, 1589527951317389312, 'DataScopePerm', 'dept_and_user', '自定义部门和用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:03', 1399985191002447872, '2023-11-29 15:25:01', 0, 3); -INSERT INTO `base_dict_item` VALUES (1589528367228768256, 1589527951317389312, 'DataScopePerm', 'dept', '自定义部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:09', 1399985191002447872, '2023-11-29 15:24:47', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528393292173312, 1589527951317389312, 'DataScopePerm', 'user', '指定用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:16', 1399985191002447872, '2023-11-29 15:25:16', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528423956729856, 1589527951317389312, 'DataScopePerm', 'self', '自身数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:23', 1399985191002447872, '2023-11-25 22:50:41', 0, 1); -INSERT INTO `base_dict_item` VALUES (1633403429028536320, 1633393287952257024, 'DatabaseType', 'mysql', 'MySQL', b'1', 1.00, '', 1414143554414059520, '2023-03-08 17:44:59', 1414143554414059520, '2023-03-08 17:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403459470794752, 1633393287952257024, 'DatabaseType', 'oracle', 'Oracle', b'1', 2.00, '', 1414143554414059520, '2023-03-08 17:45:07', 1414143554414059520, '2023-03-08 17:45:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403498695925760, 1633393287952257024, 'DatabaseType', 'mssql', 'SQLServer', b'1', 3.00, '', 1414143554414059520, '2023-03-08 17:45:16', 1414143554414059520, '2023-03-08 17:45:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742732891111424, 1688742690398617600, 'SmsChannel', 'alibaba', '阿里云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:38', 1414143554414059520, '2023-08-08 10:43:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742768479780864, 1688742690398617600, 'SmsChannel', 'huawei', '华为云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:46', 1414143554414059520, '2023-08-08 10:43:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742808027873280, 1688742690398617600, 'SmsChannel', 'yunpian', '云片', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:55', 1414143554414059520, '2023-08-08 10:43:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742840626003968, 1688742690398617600, 'SmsChannel', 'tencent', '腾讯云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:03', 1414143554414059520, '2023-08-08 10:44:03', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742872506908672, 1688742690398617600, 'SmsChannel', 'uni_sms', '合一短信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:11', 1414143554414059520, '2023-08-08 10:44:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742905553829888, 1688742690398617600, 'SmsChannel', 'jd_cloud', '京东云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:19', 1414143554414059520, '2023-08-08 10:44:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742954715267072, 1688742690398617600, 'SmsChannel', 'cloopen', '容联云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:30', 1414143554414059520, '2023-08-08 10:44:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742990446542848, 1688742690398617600, 'SmsChannel', 'emay', '亿美软通', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:39', 1414143554414059520, '2023-08-08 10:44:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743032297308160, 1688742690398617600, 'SmsChannel', 'ctyun', '天翼云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:49', 1414143554414059520, '2023-08-08 10:44:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743065205817344, 1688742690398617600, 'SmsChannel', 'netease', '网易云信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:57', 1414143554414059520, '2023-08-08 10:44:57', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338619024437248, 1690338321769918464, 'GeneralTemplateUseType', 'import', '导入', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:06', 1414143554414059520, '2023-08-12 20:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338653442895872, 1690338321769918464, 'GeneralTemplateUseType', 'export', '导出', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:15', 1414143554414059520, '2023-08-12 20:25:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338707129987072, 1690338545284378624, 'GeneralTemplateState', 'enable', '启用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:27', 1414143554414059520, '2023-08-12 20:25:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338748032839680, 1690338545284378624, 'GeneralTemplateState', 'disable', '停用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:37', 1414143554414059520, '2023-08-12 20:25:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1729519341702086656, 1589527951317389312, 'DataScopePerm', 'dept_sub', '指定部门及下级部门', b'1', 0.00, '', 1399985191002447872, '2023-11-28 23:15:19', 1399985191002447872, '2023-11-28 23:15:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997130102317056, 1744996845355212800, 'PayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:18:31', 1399985191002447872, '2024-01-10 16:18:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997169239367680, 1744996845355212800, 'PayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:18:40', 1399985191002447872, '2024-01-10 16:18:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997213623492608, 1744996845355212800, 'PayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:18:51', 1399985191002447872, '2024-01-10 16:18:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997258951335936, 1744996845355212800, 'PayChannel', 'cash_pay', '现金支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 16:19:02', 1399985191002447872, '2024-01-10 16:19:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997315557662720, 1744996845355212800, 'PayChannel', 'wallet_pay', '钱包支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:19:15', 1399985191002447872, '2024-01-10 16:19:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997364404527104, 1744996845355212800, 'PayChannel', 'voucher_pay', '储值卡支付', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:19:27', 1399985191002447872, '2024-01-10 16:19:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997501033979904, 1744996913667842048, 'PayStatus', 'progress', '支付中', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:19:59', 1399985191002447872, '2024-01-10 16:19:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997541811003392, 1744996913667842048, 'PayStatus', 'success', '成功', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:20:09', 1399985191002447872, '2024-01-10 16:20:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997578863484928, 1744996913667842048, 'PayStatus', 'close', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:20:18', 1399985191002447872, '2024-01-10 16:20:18', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997619665674240, 1744996913667842048, 'PayStatus', 'fail', '失败', b'1', 7.00, '', 1399985191002447872, '2024-01-10 16:20:28', 1399985191002447872, '2024-01-27 00:52:05', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-01-10 16:20:44', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-01-10 16:20:58', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085949967278080, 1744996611615039488, 'AsyncPayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:11:27', 1399985191002447872, '2024-01-10 22:11:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085991767711744, 1744996611615039488, 'AsyncPayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:11:37', 1399985191002447872, '2024-01-10 22:11:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745086048852189184, 1744996611615039488, 'AsyncPayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:11:51', 1399985191002447872, '2024-01-11 00:13:03', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086902929924096, 1745086859116224512, 'PayWay', 'normal', '常规支付', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:15:14', 1399985191002447872, '2024-01-10 22:15:26', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086940036931584, 1745086859116224512, 'PayWay', 'wap', 'wap支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:15:23', 1399985191002447872, '2024-01-10 22:15:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087004062982144, 1745086859116224512, 'PayWay', 'app', '应用支付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:15:39', 1399985191002447872, '2024-01-10 22:15:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087058194669568, 1745086859116224512, 'PayWay', 'web', 'web支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 22:15:51', 1399985191002447872, '2024-01-10 22:15:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087104050995200, 1745086859116224512, 'PayWay', 'qrcode', '扫码支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 22:16:02', 1399985191002447872, '2024-01-10 22:16:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087163324899328, 1745086859116224512, 'PayWay', 'barcode', '付款码', b'1', 6.00, '', 1399985191002447872, '2024-01-10 22:16:17', 1399985191002447872, '2024-01-10 22:16:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087221629919232, 1745086859116224512, 'PayWay', 'jsapi', '公众号/小程序支付', b'1', 7.00, '', 1399985191002447872, '2024-01-10 22:16:30', 1399985191002447872, '2024-01-10 22:16:37', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109413893656576, 1745109350333173760, 'PayCallbackStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-10 23:44:41', 1399985191002447872, '2024-01-10 23:44:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109449050312704, 1745109350333173760, 'PayCallbackStatus', 'fail', '失败', b'1', 2.00, '', 1399985191002447872, '2024-01-10 23:44:50', 1399985191002447872, '2024-01-10 23:44:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109487289782272, 1745109350333173760, 'PayCallbackStatus', 'ignore', '忽略', b'1', 3.00, '', 1399985191002447872, '2024-01-10 23:44:59', 1399985191002447872, '2024-01-10 23:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109526477164544, 1745109350333173760, 'PayCallbackStatus', 'exception', '异常', b'1', 4.00, '', 1399985191002447872, '2024-01-10 23:45:08', 1399985191002447872, '2024-02-01 22:14:52', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109571771453440, 1745109350333173760, 'PayCallbackStatus', 'not_found', '未找到', b'1', 5.00, '', 1399985191002447872, '2024-01-10 23:45:19', 1399985191002447872, '2024-01-10 23:45:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745129035573465088, 1745128986382667776, 'PayRepairSource', 'sync', '同步', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:02:40', 1399985191002447872, '2024-01-11 01:02:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133530906857472, 1745128986382667776, 'PayRepairSource', 'callback', '回调', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:20:31', 1399985191002447872, '2024-01-11 01:20:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133583939637248, 1745128986382667776, 'PayRepairSource', 'reconcile', '对账', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:20:44', 1399985191002447872, '2024-01-11 01:20:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745134495319953408, 1745134438772346880, 'PayRepairWay', 'pay_success', '支付成功', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:24:21', 1399985191002447872, '2024-02-01 21:29:32', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134589926674432, 1745134438772346880, 'PayRepairWay', 'pay_close_local', '关闭本地支付', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:24:44', 1399985191002447872, '2024-02-01 21:29:36', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134628447162368, 1745134438772346880, 'PayRepairWay', 'pay_progress', '更改为支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:24:53', 1399985191002447872, '2024-02-01 22:02:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1745134664807583744, 1745134438772346880, 'PayRepairWay', 'pay_close_gateway', '关闭网关支付', b'1', 4.00, '', 1399985191002447872, '2024-01-11 01:25:02', 1399985191002447872, '2024-02-01 21:29:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134703416152064, 1745134438772346880, 'PayRepairWay', 'refund', '退款', b'1', 5.00, '', 1399985191002447872, '2024-01-11 01:25:11', 1399985191002447872, '2024-01-28 21:55:55', 1, 1); -INSERT INTO `base_dict_item` VALUES (1745748239158845440, 1745748188122554368, 'RefundStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-12 18:03:09', 1399985191002447872, '2024-01-12 18:03:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745748274525216768, 1745748188122554368, 'RefundStatus', 'fail', '失败', b'1', 3.00, '', 1399985191002447872, '2024-01-12 18:03:18', 1399985191002447872, '2024-01-27 00:51:02', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208700446683136, 1746208645341917184, 'PaySyncStatus', 'pay_fail', '支付查询失败', b'1', 1.00, '', 1399985191002447872, '2024-01-14 00:32:52', 1399985191002447872, '2024-02-01 21:59:17', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208760488144896, 1746208645341917184, 'PaySyncStatus', 'pay_success', '支付成功', b'1', 2.00, '', 1399985191002447872, '2024-01-14 00:33:06', 1399985191002447872, '2024-02-01 21:59:23', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208802531848192, 1746208645341917184, 'PaySyncStatus', 'pay_progress', '支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-14 00:33:16', 1399985191002447872, '2024-02-01 21:59:33', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208853882712064, 1746208645341917184, 'PaySyncStatus', 'pay_closed', '支付已关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-14 00:33:28', 1399985191002447872, '2024-02-01 21:59:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208898396860416, 1746208645341917184, 'PaySyncStatus', 'pay_refund', '支付退款', b'1', 5.00, '', 1399985191002447872, '2024-01-14 00:33:39', 1399985191002447872, '2024-02-01 21:59:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746208959721779200, 1746208645341917184, 'PaySyncStatus', 'pay_not_found', '交易不存在', b'1', 6.00, '', 1399985191002447872, '2024-01-14 00:33:54', 1399985191002447872, '2024-02-01 22:00:05', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224281904455680, 1746208645341917184, 'PaySyncStatus', 'pay_not_found_unknown', '交易不存在(特殊)', b'1', 7.00, '未查询到订单(具体类型未知), 区别于上面的未查询到订单,有些支付方式如支付宝,发起支付后并不能查询到订单,需要用户进行操作后才能查询到订单,所以查询为了区分,增加一个未知的状态, 用于处理这种特殊情况, 然后根据业务需要,关闭订单或者进行其他操作', 1399985191002447872, '2024-01-14 01:34:47', 1399985191002447872, '2024-02-01 22:00:13', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224432131842048, 1746208645341917184, 'PaySyncStatus', 'pay_timeout', '支付超时', b'1', 8.00, '', 1399985191002447872, '2024-01-14 01:35:23', 1399985191002447872, '2024-02-01 22:00:30', 0, 2); -INSERT INTO `base_dict_item` VALUES (1749612708363186176, 1749612665392541696, 'ReconcileTrade', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-23 09:59:11', 1399985191002447872, '2024-01-23 09:59:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612758531256320, 1749612665392541696, 'ReconcileTrade', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-23 09:59:23', 1399985191002447872, '2024-01-23 09:59:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612797680889856, 1749612665392541696, 'ReconcileTrade', 'revoked', '撤销', b'1', 3.00, '', 1399985191002447872, '2024-01-23 09:59:32', 1399985191002447872, '2024-01-23 09:59:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924188674404352, 1745748188122554368, 'RefundStatus', 'progress', '退款中', b'1', 0.00, '接口调用成功不代表成功', 1399985191002447872, '2024-01-27 00:50:32', 1399985191002447872, '2024-01-27 00:50:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924286401687552, 1745748188122554368, 'RefundStatus', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-01-27 00:50:55', 1399985191002447872, '2024-01-27 00:50:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-01-27 00:52:10', 0, 1); -INSERT INTO `base_dict_item` VALUES (1751528739035111424, 1751603996496453632, 'PaymentType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-28 16:52:48', 1399985191002447872, '2024-01-28 16:52:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751528773260632064, 1751603996496453632, 'PaymentType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-28 16:52:56', 1399985191002447872, '2024-01-28 16:52:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613076980039680, 1751613032260370432, 'PayCallbackType', 'pay', '支付回调', b'1', 1.00, '', 1399985191002447872, '2024-01-28 22:27:56', 1399985191002447872, '2024-01-28 22:27:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613114254819328, 1751613032260370432, 'PayCallbackType', 'refund', '退款回调', b'1', 2.00, '', 1399985191002447872, '2024-01-28 22:28:04', 1399985191002447872, '2024-01-28 22:28:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752216855927226368, 1745748188122554368, 'RefundStatus', 'close', '关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-30 14:27:08', 1399985191002447872, '2024-01-30 14:27:08', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752560213673594880, 1752560153120428032, 'RefundSyncStatus', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-01-31 13:11:31', 1399985191002447872, '2024-02-01 21:56:59', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560254228320256, 1752560153120428032, 'RefundSyncStatus', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-01-31 13:11:40', 1399985191002447872, '2024-02-01 21:57:07', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560288546115584, 1752560153120428032, 'RefundSyncStatus', 'refund_progress', '退款中', b'1', 3.00, '', 1399985191002447872, '2024-01-31 13:11:48', 1399985191002447872, '2024-02-01 21:57:45', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753044707091554304, 1745128986382667776, 'PayRepairSource', 'task', '定时任务', b'1', 4.00, '', 1399985191002447872, '2024-02-01 21:16:43', 1399985191002447872, '2024-02-01 21:16:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1753047429014495232, 1753047382185091072, 'RefundRepairWay', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-02-01 21:27:32', 1399985191002447872, '2024-02-01 21:29:13', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753047491140526080, 1753047382185091072, 'RefundRepairWay', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-02-01 21:27:47', 1399985191002447872, '2024-02-01 21:29:19', 0, 1); -INSERT INTO `base_dict_item` VALUES (1755939895162052608, 1745134438772346880, 'PayRepairWay', 'refund_success', '退款成功', b'1', 5.00, '会更新为部分退款和全部退款', 1399985191002447872, '2024-02-09 21:01:09', 1399985191002447872, '2024-02-09 21:10:22', 0, 2); -INSERT INTO `base_dict_item` VALUES (1755942271772139520, 1745134438772346880, 'PayRepairWay', 'refund_fail', '退款失败', b'1', 6.00, '', 1399985191002447872, '2024-02-09 21:10:36', 1399985191002447872, '2024-02-09 21:10:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881424411439104, 1758881354618220544, 'WalletStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-17 23:49:45', 1399985191002447872, '2024-02-17 23:49:45', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881470334873600, 1758881354618220544, 'WalletStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-17 23:49:56', 1399985191002447872, '2024-02-17 23:49:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189919170002944, 1759189874194481152, 'VoucherStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:15:36', 1399985191002447872, '2024-02-18 20:15:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189962564272128, 1759189874194481152, 'VoucherStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:15:46', 1399985191002447872, '2024-02-18 20:15:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190150464897024, 1759190066511708160, 'WalletRecordType', 'create', '创建', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:16:31', 1399985191002447872, '2024-02-18 20:16:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190193783668736, 1759190066511708160, 'WalletRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:16:41', 1399985191002447872, '2024-02-18 20:16:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190227510067200, 1759190066511708160, 'WalletRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:16:49', 1399985191002447872, '2024-02-18 20:16:56', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190291980713984, 1759190066511708160, 'WalletRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:17:04', 1399985191002447872, '2024-02-18 20:17:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190340517199872, 1759190066511708160, 'WalletRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:17:16', 1399985191002447872, '2024-02-19 17:31:26', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190472654553088, 1759190427897135104, 'VoucherRecordType', 'import', '导入', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:17:48', 1399985191002447872, '2024-02-18 20:17:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190506087350272, 1759190427897135104, 'VoucherRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:17:55', 1399985191002447872, '2024-02-18 20:18:16', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190574865547264, 1759190427897135104, 'VoucherRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:18:12', 1399985191002447872, '2024-02-18 20:18:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190633921347584, 1759190427897135104, 'VoucherRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:18:26', 1399985191002447872, '2024-02-18 20:18:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190717757095936, 1759190427897135104, 'VoucherRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:18:46', 1399985191002447872, '2024-02-19 17:31:20', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190820500766720, 1759190780252225536, 'CashRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:19:10', 1399985191002447872, '2024-02-18 20:19:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190850754281472, 1759190780252225536, 'CashRecordType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:19:18', 1399985191002447872, '2024-02-18 20:19:42', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190884061249536, 1759190780252225536, 'CashRecordType', 'close_pay', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:19:26', 1399985191002447872, '2024-02-18 20:19:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190913261993984, 1759190780252225536, 'CashrRecordType', 'close_refund', '退款关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:19:33', 1399985191002447872, '2024-02-19 17:31:15', 1, 1); -INSERT INTO `base_dict_item` VALUES (1759514962507554816, 1759190066511708160, 'WalletRecordType', 'recharge', '充值', b'1', 11.00, '', 1399985191002447872, '2024-02-19 17:47:12', 1399985191002447872, '2024-02-19 17:47:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759515000520531968, 1759190066511708160, 'WalletRecordType', 'deduct', '扣减', b'1', 12.00, '', 1399985191002447872, '2024-02-19 17:47:21', 1399985191002447872, '2024-02-19 17:47:21', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434142275497984, 1761434095349624832, 'ClientNoticeType', 'pay', '支付通知', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:53:20', 1399985191002447872, '2024-02-25 00:53:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434179445420032, 1761434095349624832, 'ClientNoticeType', 'refund', '退款通知', b'1', 2.00, '', 1399985191002447872, '2024-02-25 00:53:29', 1399985191002447872, '2024-02-25 00:53:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434308537708544, 1761434264858226688, 'ClientNoticeSendType', 'auto', '自动发送', b'1', 0.00, '', 1399985191002447872, '2024-02-25 00:54:00', 1399985191002447872, '2024-02-25 00:54:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434346206752768, 1761434264858226688, 'ClientNoticeSendType', 'manual', '手动发送', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:54:09', 1399985191002447872, '2024-02-25 00:54:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581686381080576, 1761581634023583744, 'AlipayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 10:39:37', 1399985191002447872, '2024-02-25 10:39:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581731029446656, 1761581634023583744, 'AlipayRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-02-25 10:39:48', 1399985191002447872, '2024-02-25 10:39:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588368863645696, 1761588314480300032, 'WechatPayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:11', 1399985191002447872, '2024-02-25 11:06:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588397825314816, 1761588314480300032, 'WechatPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:17', 1399985191002447872, '2024-02-25 11:06:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588081838182400, 1763588034467713024, 'ReconcileDiffType', 'local_not_exists', '本地订单不存在', b'1', 0.00, '', 1399985191002447872, '2024-03-01 23:32:19', 1399985191002447872, '2024-03-01 23:32:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588123143688192, 1763588034467713024, 'ReconcileDiffType', 'remote_not_exists', '远程订单不存在', b'1', 1.00, '', 1399985191002447872, '2024-03-01 23:32:29', 1399985191002447872, '2024-03-01 23:32:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588174695878656, 1763588034467713024, 'ReconcileDiffType', 'not_match', '订单信息不一致', b'1', 2.00, '', 1399985191002447872, '2024-03-01 23:32:41', 1399985191002447872, '2024-03-01 23:32:48', 0, 1); -INSERT INTO `base_dict_item` VALUES (1766713657021157376, 1766713545981153280, 'UnionPaySignType', 'RSA2', 'RSA2', b'1', 0.00, '', 1399985191002447872, '2024-03-10 14:32:14', 1399985191002447872, '2024-03-10 14:32:14', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206502721449984, 1768206399071809536, 'UnionPayRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-03-14 17:24:17', 1399985191002447872, '2024-03-14 17:24:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206547285929984, 1768206399071809536, 'UnionPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-03-14 17:24:27', 1399985191002447872, '2024-03-14 17:24:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocationReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocationReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122227956469760, 1775112798259302400, 'AllocationReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocationReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122427802472448, 1775112798259302400, 'AllocationReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122672623996928, 1775122632706805760, 'AllocationRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122710884438016, 1775122632706805760, 'AllocationRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122750612885504, 1775122632706805760, 'AllocationRelationType', 'STAFF', '员工', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:26:59', 1399985191002447872, '2024-04-02 19:26:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122847035740160, 1775122632706805760, 'AllocationRelationType', 'STORE_OWNER', '店主', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:27:22', 1399985191002447872, '2024-04-02 19:27:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122892464246784, 1775122632706805760, 'AllocationRelationType', 'PARTNER', '合作伙伴', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:27:32', 1399985191002447872, '2024-04-02 19:27:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122934138851328, 1775122632706805760, 'AllocationRelationType', 'HEADQUARTER', '总部', b'1', 6.00, '', 1399985191002447872, '2024-04-02 19:27:42', 1399985191002447872, '2024-04-02 19:27:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123560512016384, 1775122632706805760, 'AllocationRelationType', 'DISTRIBUTOR', '分销商', b'1', 7.00, '', 1399985191002447872, '2024-04-02 19:30:12', 1399985191002447872, '2024-04-02 19:30:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123607781822464, 1775122632706805760, 'AllocationRelationType', 'USER', '用户', b'1', 8.00, '', 1399985191002447872, '2024-04-02 19:30:23', 1399985191002447872, '2024-04-02 19:30:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123654527340544, 1775122632706805760, 'AllocationRelationType', 'SUPPLIER', '供应商', b'1', 9.00, '', 1399985191002447872, '2024-04-02 19:30:34', 1399985191002447872, '2024-04-02 19:30:34', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123705886593024, 1775122632706805760, 'AllocationRelationType', 'CUSTOM', '自定义', b'1', 10.00, '', 1399985191002447872, '2024-04-02 19:30:46', 1399985191002447872, '2024-04-02 19:30:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700713809522688, 1777697358802530304, 'AllocationOrderStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-09 22:10:53', 1399985191002447872, '2024-04-09 22:10:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700750744563712, 1777697358802530304, 'AllocationOrderStatus', 'allocation_processing', '分账处理中', b'1', 2.00, '', 1399985191002447872, '2024-04-09 22:11:02', 1399985191002447872, '2024-04-16 17:14:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700787453112320, 1777697358802530304, 'AllocationOrderStatus', 'allocation_end', '分账完成', b'1', 3.00, '', 1399985191002447872, '2024-04-09 22:11:10', 1399985191002447872, '2024-04-16 17:36:25', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700835826020352, 1777697358802530304, 'AllocationOrderStatus', 'allocation_failed', '分账失败', b'1', 4.00, '', 1399985191002447872, '2024-04-09 22:11:22', 1399985191002447872, '2024-04-16 17:16:34', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700870613577728, 1777697358802530304, 'AllocationOrderStatus', 'finish', '分账完结', b'1', 5.00, '', 1399985191002447872, '2024-04-09 22:11:30', 1399985191002447872, '2024-04-16 17:17:06', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700915450687488, 1777697358802530304, 'AllocationStatus', 'partial_failed', '部分分账失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:41', 1399985191002447872, '2024-04-16 17:16:49', 1, 1); -INSERT INTO `base_dict_item` VALUES (1777700964087836672, 1777697358802530304, 'AllocationOrderStatus', 'finish_failed', '分账完结失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:53', 1399985191002447872, '2024-04-16 17:17:25', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777701030081015808, 1777697358802530304, 'AllocationStatus', 'closed', '分账关闭', b'1', 8.00, '', 1399985191002447872, '2024-04-09 22:12:08', 1399985191002447872, '2024-04-16 17:16:19', 1, 0); -INSERT INTO `base_dict_item` VALUES (1777701090676125696, 1777697358802530304, 'AllocationStatus', 'unknown', '分账状态未知', b'1', 9.00, '', 1399985191002447872, '2024-04-09 22:12:23', 1399985191002447872, '2024-04-16 17:16:16', 1, 0); -INSERT INTO `base_dict_item` VALUES (1780164864510623744, 1780163691808391168, 'AllocationDetailResult', 'pending', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:22:32', 1399985191002447872, '2024-04-16 17:22:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164903886749696, 1780163691808391168, 'AllocationDetailResult', 'success', '分账成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:22:42', 1399985191002447872, '2024-04-16 17:22:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164940712738816, 1780163691808391168, 'AllocationDetailResult', 'fail', '分账失败', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:22:50', 1399985191002447872, '2024-04-16 17:22:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165545665593344, 1780165499633106944, 'AllocationOrderResult', 'all_pending', '全部成功', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:25:15', 1399985191002447872, '2024-04-16 17:25:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165581623361536, 1780165499633106944, 'AllocationOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165617413357568, 1780165499633106944, 'AllocationOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165653350154240, 1780165499633106944, 'AllocationOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); - --- ---------------------------- --- Table structure for base_dynamic_data_source --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_data_source`; -CREATE TABLE `base_dynamic_data_source` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', - `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', - `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', - `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', - `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', - `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', - `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_data_source --- ---------------------------- - --- ---------------------------- --- Table structure for base_dynamic_form --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_form`; -CREATE TABLE `base_dynamic_form` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单键名', - `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态表单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_form --- ---------------------------- - --- ---------------------------- --- Table structure for base_general_template --- ---------------------------- -DROP TABLE IF EXISTS `base_general_template`; -CREATE TABLE `base_general_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板名称', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板代码', - `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '使用类型(导入/导出)', - `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板类型', - `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板后缀名', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '文件ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '通用模板管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_general_template --- ---------------------------- - --- ---------------------------- --- Table structure for base_key_value --- ---------------------------- -DROP TABLE IF EXISTS `base_key_value`; -CREATE TABLE `base_key_value` ( - `id` bigint(20) NOT NULL, - `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_key_value --- ---------------------------- - --- ---------------------------- --- Table structure for base_param --- ---------------------------- -DROP TABLE IF EXISTS `base_param`; -CREATE TABLE `base_param` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', - `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `internal` bit(1) NOT NULL COMMENT '内置参数', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_param --- ---------------------------- -INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2024-01-07 23:31:08', 1, 0); -INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9000', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2024-01-07 23:31:29', 0, 3); -INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'http://127.0.0.1:9000', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1399985191002447872, '2024-01-07 23:31:20', 0, 2); - --- ---------------------------- --- Table structure for base_province --- ---------------------------- -DROP TABLE IF EXISTS `base_province`; -CREATE TABLE `base_province` ( - `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', - `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_province --- ---------------------------- - --- ---------------------------- --- Table structure for base_query_sql --- ---------------------------- -DROP TABLE IF EXISTS `base_query_sql`; -CREATE TABLE `base_query_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL COMMENT '数据源ID', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `is_list` bit(1) NULL DEFAULT NULL COMMENT '是否集合', - `sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'sql语句', - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询参数', - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询结果字段', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'SQL查询语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_query_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_street --- ---------------------------- -DROP TABLE IF EXISTS `base_street`; -CREATE TABLE `base_street` ( - `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', - `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_street --- ---------------------------- - --- ---------------------------- --- Table structure for base_village --- ---------------------------- -DROP TABLE IF EXISTS `base_village`; -CREATE TABLE `base_village` ( - `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', - `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', - `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_village --- ---------------------------- - --- ---------------------------- --- Table structure for cash_record --- ---------------------------- -DROP TABLE IF EXISTS `cash_record`; -CREATE TABLE `cash_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '现金记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of cash_record --- ---------------------------- - --- ---------------------------- --- Table structure for common_sequence_range --- ---------------------------- -DROP TABLE IF EXISTS `common_sequence_range`; -CREATE TABLE `common_sequence_range` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', - `range_value` bigint(20) NOT NULL COMMENT '区间开始值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of common_sequence_range --- ---------------------------- - --- ---------------------------- --- Table structure for ddl_history --- ---------------------------- -DROP TABLE IF EXISTS `ddl_history`; -CREATE TABLE `ddl_history` ( - `script` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '脚本', - `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `version` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '版本', - PRIMARY KEY (`script`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'DDL 版本' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ddl_history --- ---------------------------- - --- ---------------------------- --- Table structure for iam_client --- ---------------------------- -DROP TABLE IF EXISTS `iam_client`; -CREATE TABLE `iam_client` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', - `login_type_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '关联登录方式\r\n', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '认证终端' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_client --- ---------------------------- -INSERT INTO `iam_client` VALUES (1580487061605175296, 'dax-pay', '支付网关', b'0', b'1', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', '支付网关管理端', 1399985191002447872, '2022-10-13 17:14:14', 1399985191002447872, '2023-10-19 19:58:21', 3, b'0'); - --- ---------------------------- --- Table structure for iam_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role`; -CREATE TABLE `iam_data_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_dept`; -CREATE TABLE `iam_data_role_dept` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_user --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_user`; -CREATE TABLE `iam_data_role_user` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_user --- ---------------------------- - --- ---------------------------- --- Table structure for iam_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_dept`; -CREATE TABLE `iam_dept` ( - `id` bigint(20) NOT NULL COMMENT 'ID', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', - `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', - `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', - `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', - `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', - `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', - `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', - `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_security_config`; -CREATE TABLE `iam_login_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `client_id` bigint(20) NULL DEFAULT NULL COMMENT '关联终端ID', - `require_login_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '修改密码是否需要重新登录', - `captcha_enable` bit(1) NULL DEFAULT NULL COMMENT '默认启用验证码', - `max_captcha_error_count` int(11) NULL DEFAULT NULL COMMENT '出现验证码的错误次数', - `allow_multi_login` bit(1) NULL DEFAULT NULL COMMENT '同端是否允许同时登录', - `allow_multi_terminal_login` bit(1) NULL DEFAULT NULL COMMENT '多终端是否允许同时登录', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '登录安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_security_config --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_type --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_type`; -CREATE TABLE `iam_login_type` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长(秒)', - `captcha_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证码类型', - `captcha` bit(1) NOT NULL COMMENT '启用验证码', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_type --- ---------------------------- -INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, '-1', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, b'0'); -INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, '0', b'0', b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, b'0'); -INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, b'0'); - --- ---------------------------- --- Table structure for iam_password_change_history --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_change_history`; -CREATE TABLE `iam_password_change_history` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码更改历史' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_change_history --- ---------------------------- -INSERT INTO `iam_password_change_history` VALUES (1757299138075283456, 1757299137932677120, 'f52020dca765fd3943ed40a615dc2c5c', 1399985191002447872, '2024-02-13 15:02:18'); -INSERT INTO `iam_password_change_history` VALUES (1757317256038281216, 1757317255899869184, '1e9e3c3deaa4a06d08326e82a49d1b63', 1399985191002447872, '2024-02-13 16:14:18'); - --- ---------------------------- --- Table structure for iam_password_login_fail_record --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_login_fail_record`; -CREATE TABLE `iam_password_login_fail_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `fail_count` int(11) NULL DEFAULT NULL COMMENT '登录失败次数', - `fail_time` datetime(0) NULL DEFAULT NULL COMMENT '登录失败时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码登录失败记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_login_fail_record --- ---------------------------- - --- ---------------------------- --- Table structure for iam_password_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_security_config`; -CREATE TABLE `iam_password_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `max_pwd_error_count` int(11) NULL DEFAULT NULL COMMENT '最大密码错误数', - `error_lock_time` int(11) NULL DEFAULT NULL COMMENT '密码错误锁定时间(分钟)', - `require_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '强制修改初始密码', - `update_frequency` int(11) NULL DEFAULT NULL COMMENT '更新频率', - `expire_remind` int(11) NULL DEFAULT NULL COMMENT '到期提醒(天数)', - `same_as_login_name` bit(1) NULL DEFAULT NULL COMMENT '与登录名相同', - `recent_password` int(11) NULL DEFAULT NULL COMMENT '不能与近期多少次密码相同', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_security_config --- ---------------------------- -INSERT INTO `iam_password_security_config` VALUES (1714844168393515008, 9999999, 10, b'1', 9999999, 14, b'0', 5, 1399985191002447872, '2023-10-19 11:21:25', 1399985191002447872, '2023-11-29 12:10:21', 2, b'0'); - --- ---------------------------- --- Table structure for iam_perm_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_menu`; -CREATE TABLE `iam_perm_menu` ( - `id` bigint(20) NOT NULL, - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', - `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', - `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', - `hidden` bit(1) NOT NULL COMMENT '是否隐藏', - `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', - `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', - `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', - `sort_no` double NOT NULL COMMENT '菜单排序', - `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', - `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', - `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', - `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', - `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', - `admin` bit(1) NOT NULL COMMENT '系统菜单', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_menu --- ---------------------------- -INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'dax-pay', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'dax-pay', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'dax-pay', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'dax-pay', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'dax-pay', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'dax-pay', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'dax-pay', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'dax-pay', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'dax-pay', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'dax-pay', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'dax-pay', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'dax-pay', 1582249924602580992, '请求权限', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1399985191002447872, '2023-11-29 13:57:56', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'dax-pay', 1582249924602580992, '数据角色', 'DataRoleList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataRoleList.vue', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1399985191002447872, '2023-11-28 21:02:57', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'dax-pay', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'dax-pay', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'dax-pay', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'dax-pay', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'dax-pay', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'dax-pay', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'dax-pay', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'dax-pay', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'dax-pay', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'dax-pay', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'dax-pay', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'dax-pay', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'dax-pay', NULL, '关于', '', NULL, b'0', 'ant-design:info-circle-outlined', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1399985191002447872, '2024-01-14 23:09:56', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'dax-pay', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'dax-pay', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1414143554414059520, '2023-02-24 16:44:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'dax-pay', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'dax-pay', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1414143554414059520, '2023-09-18 14:26:51', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1703665090038800384, 'dax-pay', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1414143554414059520, '2023-09-18 14:59:45', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'dax-pay', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1733829906427682816, 'dax-pay', 1582275875424129024, '在线用户', 'OnlineUserList', NULL, b'0', '', b'0', b'0', '/modules/monitor/user/online/OnlineUserList', NULL, '/monitor/user/online', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-12-10 20:43:57', 1399985191002447872, '2023-12-10 20:43:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1744271715476684800, 'dax-pay', NULL, '支付配置', 'PayConfig', NULL, b'0', 'ant-design:setting-filled', b'0', b'0', 'Layout', NULL, '/pay/config', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:15:59', 1399985191002447872, '2024-01-09 15:38:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1744271715476684800, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-01-18 14:49:15', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1744271715476684800, '支付方式', 'PayWayInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/way/PayWayInfoList', NULL, '/pay/config/way', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-01-18 14:50:55', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1744271715476684800, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-01-10 11:52:20', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1744642856348520448, 'dax-pay', NULL, '订单管理', 'PayOrder', NULL, b'0', 'ant-design:wallet-outlined', b'0', b'0', 'Layout', NULL, '/pay/order', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:50:46', 1399985191002447872, '2024-01-09 16:53:35', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744643265142165504, 'dax-pay', NULL, '数据记录', 'PayRecord', NULL, b'0', 'ant-design:profile-outlined', b'0', b'0', 'Layout', NULL, '/pay/record', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:52:23', 1399985191002447872, '2024-01-09 16:53:50', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744930046228017152, 'dax-pay', 1744643265142165504, '回调记录', 'PayCallbackRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/callback/PayCallbackRecordList', NULL, '/pay/record/callback', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-10 11:51:57', 1399985191002447872, '2024-01-10 11:59:07', 10, 0); -INSERT INTO `iam_perm_menu` VALUES (1745126072389963776, 'dax-pay', 1744643265142165504, '关闭记录', 'PayCloseRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/close/PayCloseRecordList', NULL, '/pay/record/close', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 00:50:53', 1399985191002447872, '2024-01-11 00:50:53', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745136155962347520, 'dax-pay', 1744643265142165504, '修复记录', 'PayRepairRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/repair/PayRepairRecordList', NULL, '/pay/record/repair', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 01:30:57', 1399985191002447872, '2024-01-11 01:30:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745143528663781376, 'dax-pay', 1744643265142165504, '同步记录', 'PaySyncRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/sync/PaySyncRecordList', NULL, '/pay/record/sync', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 02:00:15', 1399985191002447872, '2024-01-11 02:00:33', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457623493496832, 'dax-pay', 1744642856348520448, '支付订单', 'PayOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/pay/PayOrderList', NULL, '/pay/order/pay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:21', 1399985191002447872, '2024-01-11 22:48:21', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457746529210368, 'dax-pay', 1744642856348520448, '退款订单', 'RefundOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/refund/RefundOrderList.vue', NULL, '/pay/order/refund', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:50', 1399985191002447872, '2024-01-21 22:50:29', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1745822093382230016, 'dax-pay', 1744271715476684800, '通道配置', 'ChannelPayConfigList', NULL, b'0', '', b'0', b'0', 'payment/channel/config/ChannelPayConfigList', NULL, '/pay/config/channelpay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-12 22:56:38', 1399985191002447872, '2024-02-06 14:32:08', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-01-13 23:38:00', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1749262518385082368, 'dax-pay', 1744642856348520448, '对账订单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/order/reconcile/list', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-22 10:47:39', 1399985191002447872, '2024-04-16 19:11:56', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1758860876272861184, 'dax-pay', NULL, '支付通道', 'PayChannel', NULL, b'0', 'ant-design:align-left-outlined', b'0', b'0', 'Layout', NULL, '/pay/channel', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-17 22:28:06', 1399985191002447872, '2024-02-17 22:28:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1758861129311027200, 'dax-pay', 1758860876272861184, '钱包管理', 'WalletList', NULL, b'0', '', b'0', b'0', 'payment/channel/wallet/manager/WalletList', NULL, '/pay/channel/wallet', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-17 22:29:06', 1399985191002447872, '2024-03-05 22:09:12', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1759192238594949120, 'dax-pay', 1758860876272861184, '储值卡管理', 'VoucherList', NULL, b'0', '', b'0', b'0', 'payment/channel/voucher/manager/VoucherList', NULL, '/pay/channel/voucher', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-18 20:24:49', 1399985191002447872, '2024-03-05 22:09:30', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1759192520611561472, 'dax-pay', 1758860876272861184, '现金流水', 'CashRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/cash/record/CashRecordList', NULL, '/pay/channel/cash', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-18 20:25:56', 1399985191002447872, '2024-02-18 23:35:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1759768820429352960, 'dax-pay', NULL, '演示模块', '', NULL, b'0', 'ant-design:crown-outlined', b'0', b'0', 'Layout', NULL, '/pay/demo', '', 9, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:35:56', 1399985191002447872, '2024-02-20 10:35:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759769092698402816, 'dax-pay', 1759768820429352960, '收银台演示', '', NULL, b'0', '', b'0', b'0', '', NULL, 'outside:///cashier', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:37:01', 1399985191002447872, '2024-02-20 10:37:01', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759861648606097408, 'dax-pay', 1758860876272861184, '支付宝流水', 'AlipayRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/alipay/record/AlipayRecordList', NULL, '/pay/channel/alipay', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 16:44:48', 1399985191002447872, '2024-02-20 16:44:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759865163772485632, 'dax-pay', 1758860876272861184, '微信流水', 'WechatPayRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/wechat/record/WechatPayRecordList', NULL, '/pay/channel/wecha', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 16:58:46', 1399985191002447872, '2024-02-20 17:00:08', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429304959528960, 'dax-pay', NULL, '任务记录', 'PayTask', NULL, b'0', 'ant-design:clock-circle-outlined', b'0', b'0', 'Layout', NULL, '/pay/task', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:34:07', 1399985191002447872, '2024-02-25 00:34:30', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429682618855424, 'dax-pay', 1761429304959528960, '消息通知', 'ClientNoticeTaskList', NULL, b'0', '', b'0', b'0', 'payment/task/notice/ClientNoticeTaskList', NULL, '/pay/task/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:35:37', 1399985191002447872, '2024-02-25 00:35:37', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1764638353289027584, 'dax-pay', 1749262518385082368, '对账单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/order/reconcile/list', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-03-04 21:05:43', 1399985191002447872, '2024-04-16 19:12:02', 1, 1); -INSERT INTO `iam_perm_menu` VALUES (1764638678821543936, 'dax-pay', 1749262518385082368, '差异单', 'ReconcileDiffList', NULL, b'0', '', b'1', b'0', 'payment/order/reconcile/diff/ReconcileDiffList.vue', NULL, '/pay/order/reconcile/diff', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-03-04 21:07:01', 1399985191002447872, '2024-04-16 19:12:06', 2, 1); -INSERT INTO `iam_perm_menu` VALUES (1768203432981655552, 'dax-pay', 1758860876272861184, '云闪付流水', 'UnionPayRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/union/record/UnionPayRecordList', NULL, '/pay/channel/union', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-03-14 17:12:05', 1399985191002447872, '2024-03-14 17:12:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089099078553600, 'dax-pay', NULL, '分账管理', 'Allocation', NULL, b'0', 'ant-design:sliders-twotone', b'0', b'0', 'Layout', NULL, '/pay/allocation', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:13:15', 1399985191002447872, '2024-04-02 17:13:15', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089820368818176, 'dax-pay', 1775089099078553600, '分账接收者', 'AllocationReceiverList', NULL, b'0', '', b'0', b'0', 'payment/allocation/receiver/AllocationReceiverList', NULL, '/pay/allocation/receiver', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:16:07', 1399985191002447872, '2024-04-02 17:23:13', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1775091561835450368, 'dax-pay', 1775089099078553600, '分账组', 'AllocationGroupList', NULL, b'0', '', b'0', b'0', 'payment/allocation/group/AllocationGroupList', NULL, '/pay/allocation/group', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:23:03', 1399985191002447872, '2024-04-02 17:23:27', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1777688382748700672, 'dax-pay', 1744642856348520448, '分账订单', 'AllocationOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/allocation/AllocationOrderList', NULL, '/pay/order/allocation', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-09 21:21:53', 1399985191002447872, '2024-04-09 21:21:53', 0, 0); - --- ---------------------------- --- Table structure for iam_perm_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_path`; -CREATE TABLE `iam_perm_path` ( - `id` bigint(20) NOT NULL, - `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', - `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', - `enable` bit(1) NOT NULL COMMENT '启用状态', - `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL, - `create_time` datetime(6) NULL DEFAULT NULL, - `last_modifier` bigint(20) NULL DEFAULT NULL, - `last_modified_time` datetime(6) NULL DEFAULT NULL, - `deleted` bit(1) NOT NULL, - `version` int(11) NOT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_path --- ---------------------------- -INSERT INTO `iam_perm_path` VALUES (1757297527147974656, 'DynamicDataSourceController#existsByCode', '编码是否被使用', 'GET', '/dynamic/source/existsByCode', '动态数据源管理', b'1', b'1', '动态数据源管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974658, 'QuartzJobController#stop', '停止', 'POST', '/quartz/stop', '定时任务', b'1', b'1', '定时任务 停止', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974659, 'RoleController#page', '分页查询角色', 'GET', '/role/page', '角色管理', b'1', b'1', '角色管理 分页查询角色', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974660, 'DictionaryItemController#delete', '删除字典项', 'DELETE', '/dict/item/delete', '字典项', b'1', b'1', '字典项 删除字典项', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974661, 'UserAssistController#validatePhoneChangeCaptcha', '验证改/绑定手机验证码', 'GET', '/user/validatePhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证改/绑定手机验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974662, 'PayRefundOrderController#refund', '手动发起退款', 'POST', '/order/refund/refund', '支付退款控制器', b'1', b'1', '支付退款控制器 手动发起退款', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974663, 'UserDataRoleController#findDataRoleByUser', '根据用户ID获取到数据角色列表', 'GET', '/user/data/role/findDataRoleByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974664, 'FIleUpLoadController#preview', '预览文件(流量会经过后端)', 'GET', '/file/preview/{id}', '文件上传', b'1', b'1', '文件上传 预览文件(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974665, 'UserAssistController#sendPhoneForgetCaptcha', '发送找回密码手机验证码', 'POST', '/user/sendPhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码手机验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974666, 'DynamicDataSourceController#findById', '通过ID查询', 'GET', '/dynamic/source/findById', '动态数据源管理', b'1', b'1', '动态数据源管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974667, 'GeneralTemplateController#findByCode', '通过Code查询', 'GET', '/general/template/findByCode', '通用模板管理', b'1', b'1', '通用模板管理 通过Code查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974668, 'AlipayConfigController#update', '更新', 'POST', '/alipay/config/update', '支付宝配置', b'1', b'1', '支付宝配置 更新', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974669, 'UniPayController#refund', '统一退款', 'POST', '/unipay/refund', '统一支付接口', b'1', b'1', '统一支付接口 统一退款', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974670, 'DynamicFormController#existsByCode', '编码是否被使用', 'GET', '/dynamic/form/existsByCode', '动态表单', b'1', b'1', '动态表单 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974671, 'TestController#wxcs', '微信回调测试', 'GET', '/test/wxcs/', '测试', b'1', b'1', '测试 微信回调测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-04-16 20:47:44.531000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974672, 'TestController#wxcs', '微信回调测试', 'GET', '/test/wxcs', '测试', b'1', b'1', '测试 微信回调测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-04-16 20:47:44.526000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974673, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974674, 'GeneralTemplateController#findAll', '查询所有', 'GET', '/general/template/findAll', '通用模板管理', b'1', b'1', '通用模板管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974675, 'QuartzJobLogController#findById', '单条', 'GET', '/quartz/log/findById', '定时任务执行日志', b'1', b'1', '定时任务执行日志 单条', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974676, 'UserAdminController#ban', '封禁用户', 'POST', '/user/admin/ban', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 封禁用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974677, 'ChinaWordController#findAll', '查询所有', 'GET', '/chinaword/findAll', '敏感词管理', b'1', b'1', '敏感词管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974678, 'DeptController#deleteAndChildren', '强制级联删除', 'DELETE', '/dept/deleteAndChildren', '部门管理', b'1', b'1', '部门管理 强制级联删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974679, 'ChinaWordController#local', '批量导入', 'POST', '/chinaword/importBatch', '敏感词管理', b'1', b'1', '敏感词管理 批量导入', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974680, 'TokenEndpoint#logout', '退出', 'POST', '/token/logout', '认证相关', b'1', b'1', '认证相关 退出', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974681, 'UserThirdController#findById', '获取详情', 'POST', '/user/third/findById', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974682, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974683, 'GeneralTemplateController#add', '添加', 'POST', '/general/template/add', '通用模板管理', b'1', b'1', '通用模板管理 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974684, 'SystemParamController#delete', '删除', 'DELETE', '/system/param/delete', '系统参数', b'1', b'1', '系统参数 删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974685, 'QuartzJobController#add', '添加', 'POST', '/quartz/add', '定时任务', b'1', b'1', '定时任务 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974686, 'PermPathController#deleteBatch', '批量删除', 'DELETE', '/perm/path/deleteBatch', '请求权限管理', b'1', b'1', '请求权限管理 批量删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974687, 'DictionaryItemController#findAllByEnable', '获取启用的字典项列表', 'GET', '/dict/item/findAllByEnable', '字典项', b'1', b'1', '字典项 获取启用的字典项列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974688, 'UserInfoController#updatePhone', '修改手机号', 'POST', '/user/updatePhone', '用户管理', b'1', b'1', '用户管理 修改手机号', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974689, 'DynamicFormController#delete', '删除', 'DELETE', '/dynamic/form/delete', '动态表单', b'1', b'1', '动态表单 删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974690, 'TestController#lock2', '锁测试2', 'GET', '/test/lock2', '测试', b'1', b'1', '测试 锁测试2', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974691, 'PayCloseRecordController#findById', '查询单条', 'GET', '/record/close/findById', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 查询单条', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974692, 'WeChatPayConfigController#update', '更新', 'POST', '/wechat/pay/config/update', '微信支付配置', b'1', b'1', '微信支付配置 更新', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974693, 'UserRoleController#findRolesByUser', '根据用户ID获取到角色集合', 'GET', '/user/role/findRolesByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色集合', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974694, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974695, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974696, 'PermMenuController#menuTree', '获取菜单树', 'GET', '/perm/menu/menuTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单树', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974697, 'DataResultController#add', '新建', 'POST', '/data/result/add', 'SQL查询', b'1', b'1', 'SQL查询 新建', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974698, 'UserAdminController#unlock', '解锁用户', 'POST', '/user/admin/unlock', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 解锁用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974699, 'DynamicFormController#page', '分页查询', 'GET', '/dynamic/form/page', '动态表单', b'1', b'1', '动态表单 分页查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974700, 'UniPayController#simpleRefund', '简单退款', 'POST', '/unipay/simpleRefund', '统一支付接口', b'1', b'1', '统一支付接口 简单退款', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974701, 'DynamicDataSourceController#testConnection', '测试连接(根据参数)', 'POST', '/dynamic/source/testConnection', '动态数据源管理', b'1', b'1', '动态数据源管理 测试连接(根据参数)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974702, 'SystemParamController#update', '更新', 'POST', '/system/param/update', '系统参数', b'1', b'1', '系统参数 更新', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974703, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974704, 'OpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974705, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974706, 'DataVersionLogController#findById', '获取', 'GET', '/log/dataVersion/findById', '数据版本日志', b'1', b'1', '数据版本日志 获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974707, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974708, 'UserInfoController#updateBaseInfo', '修改用户基础信息', 'POST', '/user/updateBaseInfo', '用户管理', b'1', b'1', '用户管理 修改用户基础信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974709, 'UserInfoController#bindPhone', '绑定手机', 'POST', '/user/bindPhone', '用户管理', b'1', b'1', '用户管理 绑定手机', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974710, 'NcDemoController#sendImageNotice', '企微图片消息测试', 'POST', '/nc/test/sendImageNotice', 'nc测试', b'1', b'1', 'nc测试 企微图片消息测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974711, 'PermPathController#batchUpdateEnable', '批量更新状态', 'POST', '/perm/path/batchUpdateEnable', '请求权限管理', b'1', b'1', '请求权限管理 批量更新状态', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974713, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974714, 'UniPayController#simplePay', '简单下单', 'POST', '/unipay/simplePay', '统一支付接口', b'1', b'1', '统一支付接口 简单下单', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974715, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974716, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974717, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974718, 'UserInfoController#updatePassword', '修改密码', 'POST', '/user/updatePassword', '用户管理', b'1', b'1', '用户管理 修改密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974719, 'DictionaryItemController#existsByCode', '编码是否被使用', 'GET', '/dict/item/existsByCode', '字典项', b'1', b'1', '字典项 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974720, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974721, 'DataRoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/data/role/existsByNameNotId', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974722, 'DeptController#add', '添加', 'POST', '/dept/add', '部门管理', b'1', b'1', '部门管理 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974723, 'FIleUpLoadController#local', '上传', 'POST', '/file/upload', '文件上传', b'1', b'1', '文件上传 上传', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974724, 'PermPathController#findById', '获取详情', 'GET', '/perm/path/findById', '请求权限管理', b'1', b'1', '请求权限管理 获取详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974725, 'DeptController#delete', '普通删除', 'DELETE', '/dept/delete', '部门管理', b'1', b'1', '部门管理 普通删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974726, 'CashierController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/cashier/wxAuthCallback', '结算台演示', b'1', b'1', '结算台演示 微信授权回调页面', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974727, 'DataResultController#update', '修改', 'POST', '/data/result/update', 'SQL查询', b'1', b'1', 'SQL查询 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974728, 'UserAdminController#getByEmail', '根据邮箱查询用户', 'GET', '/user/admin/getByEmail', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据邮箱查询用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974729, 'LoginTypeController#findAll', '查询所有的登录方式', 'GET', '/loginType/findAll', '登录方式管理', b'1', b'1', '登录方式管理 查询所有的登录方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974730, 'PayRepairRecordController#findById', '查询单条', 'GET', '/record/repair/findById', '支付修复记录', b'1', b'1', '支付修复记录 查询单条', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974731, 'UserAdminController#restartPasswordBatch', '批量重置密码', 'POST', '/user/admin/restartPasswordBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量重置密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974732, 'UserInfoController#findUsernameByPhoneCaptcha', '根据手机验证码查询账号', 'GET', '/user/findUsernameByPhoneCaptcha', '用户管理', b'1', b'1', '用户管理 根据手机验证码查询账号', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974733, 'DynamicFormController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dynamic/form/existsByCodeNotId', '动态表单', b'1', b'1', '动态表单 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974734, 'ChinaWordController#add', '添加', 'POST', '/chinaword/add', '敏感词管理', b'1', b'1', '敏感词管理 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974735, 'LoginTypeController#delete', '删除登录方式', 'DELETE', '/loginType/delete', '登录方式管理', b'1', b'1', '登录方式管理 删除登录方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974736, 'DataVersionLogController#page', '分页', 'GET', '/log/dataVersion/page', '数据版本日志', b'1', b'1', '数据版本日志 分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974737, 'AggregateController#createUrl', '创建聚合支付码', 'POST', '/demo/aggregate/createUrl', '聚合支付', b'1', b'1', '聚合支付 创建聚合支付码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974738, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974739, 'UserAssistController#validateCurrentChangeEmailCaptcha', '验证当前用户发送更改邮箱验证码', 'GET', '/user/validateCurrentChangeEmailCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974740, 'ClientController#existsByCode', '编码是否被使用', 'GET', '/client/existsByCode', '认证终端', b'1', b'1', '认证终端 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974741, 'UserAdminController#findById', '根据用户id查询用户', 'GET', '/user/admin/findById', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据用户id查询用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974742, 'PayRefundOrderController#page', '分页查询', 'GET', '/order/refund/page', '支付退款控制器', b'1', b'1', '支付退款控制器 分页查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974743, 'RoleMenuController#findTreeByRole', '获取当前角色下可见的菜单和权限码树(分配时用)', 'GET', '/role/menu/findTreeByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下可见的菜单和权限码树(分配时用)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974744, 'WeChatPayConfigController#findPayWays', '微信支持支付方式', 'GET', '/wechat/pay/config/findPayWays', '微信支付配置', b'1', b'1', '微信支付配置 微信支持支付方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974745, 'AuthAssistController#sendSmsCaptcha', '发送短信验证码', 'POST', '/auth/sendSmsCaptcha', '认证支撑接口', b'1', b'1', '认证支撑接口 发送短信验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974746, 'WeChatPayConfigController#toBase64', '将文件转换成base64', 'POST', '/wechat/pay/config/toBase64', '微信支付配置', b'1', b'1', '微信支付配置 将文件转换成base64', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974747, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974748, 'UserDeptController#findIdsByUser', '根据用户ID获取到部门id集合', 'GET', '/user/dept/findIdsByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门id集合', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974749, 'OperateLogController#findById', '获取', 'GET', '/log/operate/findById', '操作日志', b'1', b'1', '操作日志 获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974750, 'UserAdminController#getByPhone', '根据手机号查询用户', 'GET', '/user/admin/getByPhone', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据手机号查询用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974751, 'UserThirdController#getThirdBindInfo', '获取绑定详情', 'GET', '/user/third/getThirdBindInfo', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取绑定详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974752, 'DynamicDataSourceController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dynamic/source/existsByCodeNotId', '动态数据源管理', b'1', b'1', '动态数据源管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974753, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974754, 'RoleController#add', '添加角色(返回角色对象)', 'POST', '/role/add', '角色管理', b'1', b'1', '角色管理 添加角色(返回角色对象)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974755, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974756, 'LoginLogController#findById', '获取', 'GET', '/log/login/findById', '登录日志', b'1', b'1', '登录日志 获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974757, 'UserRoleController#saveAssign', '给用户分配角色', 'POST', '/user/role/saveAssign', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974758, 'DictionaryController#findById', '根据id获取', 'GET', '/dict/findById', '字典', b'1', b'1', '字典 根据id获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974759, 'PermPathController#findAll', '权限列表', 'GET', '/perm/path/findAll', '请求权限管理', b'1', b'1', '请求权限管理 权限列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974760, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974761, 'GeneralTemplateController#deleteBatch', '批量删除', 'DELETE', '/general/template/deleteBatch', '通用模板管理', b'1', b'1', '通用模板管理 批量删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974762, 'UserInfoController#forgetPasswordByEmail', '通过邮箱重置密码', 'POST', '/user/forgetPasswordByEmail', '用户管理', b'1', b'1', '用户管理 通过邮箱重置密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974763, 'GeneralTemplateController#update', '修改', 'POST', '/general/template/update', '通用模板管理', b'1', b'1', '通用模板管理 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974764, 'DictionaryItemController#update', '修改字典项(返回字典项对象)', 'POST', '/dict/item/update', '字典项', b'1', b'1', '字典项 修改字典项(返回字典项对象)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974765, 'SystemParamController#add', '添加', 'POST', '/system/param/add', '系统参数', b'1', b'1', '系统参数 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974766, 'BaseApiController#authEcho', '回声测试(必须要进行登录)', 'GET', '/auth/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试(必须要进行登录)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974767, 'DatabaseTableController#findColumnByTableName', '获取数据表行信息', 'GET', '/gen/table/findColumnByTableName', '数据库表信息', b'1', b'1', '数据库表信息 获取数据表行信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974768, 'DictionaryItemController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/item/existsByCodeNotId', '字典项', b'1', b'1', '字典项 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974769, 'PayApiConfigController#findAll', '获取全部', 'GET', '/pay/api/config/findAll', '支付接口配置', b'1', b'1', '支付接口配置 获取全部', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974770, 'ChinaWordController#verify', '测试敏感词效果', 'POST', '/chinaword/verify', '敏感词管理', b'1', b'1', '敏感词管理 测试敏感词效果', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974771, 'DataRoleController#page', '分页', 'GET', '/data/role/page', '数据角色配置', b'1', b'1', '数据角色配置 分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974772, 'UserInfoController#getUserSecurityInfo', '查询用户安全信息', 'GET', '/user/getUserSecurityInfo', '用户管理', b'1', b'1', '用户管理 查询用户安全信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974773, 'ChinaRegionController#findAllProvinceAndCityAndArea', ' 获取省市区县三级联动列表', 'GET', '/china/region/findAllProvinceAndCityAndArea', '中国行政区划', b'1', b'1', '中国行政区划 获取省市区县三级联动列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974774, 'DictionaryItemController#pageByDictionaryId', '分页查询指定字典下的字典项', 'GET', '/dict/item/pageByDictionaryId', '字典项', b'1', b'1', '字典项 分页查询指定字典下的字典项', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974775, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974776, 'PermMenuController#resourceList', '资源(权限码)列表', 'GET', '/perm/menu/resourceList', '菜单和权限码', b'1', b'1', '菜单和权限码 资源(权限码)列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974777, 'WeChatPayConfigController#getConfig', '获取配置', 'GET', '/wechat/pay/config/getConfig', '微信支付配置', b'1', b'1', '微信支付配置 获取配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974778, 'AlipayConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/alipay/config/findPayWays', '支付宝配置', b'1', b'1', '支付宝配置 支付宝支持支付方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974779, 'PayRefundOrderController#findChannelById', '查询通道退款订单详情', 'GET', '/order/refund/findChannelById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询通道退款订单详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974780, 'UserInfoController#forgetPasswordByPhone', '通过手机号重置密码', 'POST', '/user/forgetPasswordByPhone', '用户管理', b'1', b'1', '用户管理 通过手机号重置密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974781, 'DataRoleController#saveDeptAssign', '保存关联部门', 'POST', '/data/role/saveDeptAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存关联部门', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974782, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974783, 'UserInfoController#existsPhone', '手机号是否被使用(不包含自己)', 'GET', '/user/existsPhoneNotId', '用户管理', b'1', b'1', '用户管理 手机号是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974784, 'LoginTypeController#add', '添加登录方式', 'POST', '/loginType/add', '登录方式管理', b'1', b'1', '登录方式管理 添加登录方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974785, 'PermMenuController#delete', '删除', 'DELETE', '/perm/menu/delete', '菜单和权限码', b'1', b'1', '菜单和权限码 删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974786, 'RoleController#findAll', '查询所有的角色', 'GET', '/role/findAll', '角色管理', b'1', b'1', '角色管理 查询所有的角色', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974787, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974788, 'DataResultController#page', '分页查询', 'GET', '/data/result/page', 'SQL查询', b'1', b'1', 'SQL查询 分页查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974789, 'NcDemoController#sendWeComMsg', '企微消息测试', 'POST', '/nc/test/sendWeComMsg', 'nc测试', b'1', b'1', 'nc测试 企微消息测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974790, 'DictionaryController#existsByCode', '编码是否被使用', 'GET', '/dict/existsByCode', '字典', b'1', b'1', '字典 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974791, 'UserInfoController#getLoginAfterUserInfo', '登录后获取用户信息', 'GET', '/user/getLoginAfterUserInfo', '用户管理', b'1', b'1', '用户管理 登录后获取用户信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974792, 'UserInfoController#bindEmail', '绑定邮箱', 'POST', '/user/bindEmail', '用户管理', b'1', b'1', '用户管理 绑定邮箱', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974793, 'OnlineUserController#pageByLogin', '登录用户分页', 'GET', '/online/user/pageByLogin', '在线用户', b'1', b'1', '在线用户 登录用户分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974794, 'PasswordSecurityConfigController#addOrUpdate', '新增或添加密码安全配置', 'POST', '/security/password/addOrUpdate', '密码安全策略', b'1', b'1', '密码安全策略 新增或添加密码安全配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974795, 'UserInfoController#getUserBaseInfo', '查询用户基础信息', 'GET', '/user/getUserBaseInfo', '用户管理', b'1', b'1', '用户管理 查询用户基础信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974796, 'DataRoleController#findUsersByDataRoleId', '获取关联的用户列表', 'GET', '/data/role/findUsersByDataRoleId', '数据角色配置', b'1', b'1', '数据角色配置 获取关联的用户列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974797, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168960, 'RolePathController#findPathsByRole', '获取当前用户角色下可见的请求权限列表(分配时用)', 'GET', '/role/path/findPathsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 获取当前用户角色下可见的请求权限列表(分配时用)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168961, 'UserAssistController#sendPhoneChangeCaptcha', '发送更改/绑定手机号验证码', 'POST', '/user/sendPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定手机号验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168962, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168963, 'DictionaryItemController#findByDictionaryId', '查询指定字典ID下的所有字典项', 'GET', '/dict/item/findByDictionaryId', '字典项', b'1', b'1', '字典项 查询指定字典ID下的所有字典项', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168964, 'SystemParamController#existsByKeyNotId', '判断编码是否存在(不包含自己)', 'GET', '/system/param/existsByKeyNotId', '系统参数', b'1', b'1', '系统参数 判断编码是否存在(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168965, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168966, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168967, 'ChinaWordController#getTemplate', '获取模板', 'GET', '/chinaword/getTemplate', '敏感词管理', b'1', b'1', '敏感词管理 获取模板', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168968, 'DynamicFormController#findById', '通过ID查询', 'GET', '/dynamic/form/findById', '动态表单', b'1', b'1', '动态表单 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168969, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168970, 'UserInfoController#existsPhone', '手机号是否被使用', 'GET', '/user/existsPhone', '用户管理', b'1', b'1', '用户管理 手机号是否被使用', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168971, 'DataRoleController#getDeptIds', '获取关联部门id', 'GET', '/data/role/getDeptIds', '数据角色配置', b'1', b'1', '数据角色配置 获取关联部门id', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168972, 'PasswordSecurityConfigController#getDefault', '获取配置', 'GET', '/security/password/getDefault', '密码安全策略', b'1', b'1', '密码安全策略 获取配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168973, 'ClientController#update', '修改', 'POST', '/client/update', '认证终端', b'1', b'1', '认证终端 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168974, 'AggregateController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/aggregate/wxAuthCallback', '聚合支付', b'1', b'1', '聚合支付 微信授权回调页面', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168975, 'LoginTypeController#findById', '通过ID查询登录方式', 'GET', '/loginType/findById', '登录方式管理', b'1', b'1', '登录方式管理 通过ID查询登录方式', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168976, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168977, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168978, 'ThirdLoginController#toLoginUrl', '跳转到登陆页', 'GET', '/auth/third/toLoginUrl/{loginType}', '三方登录', b'1', b'1', '三方登录 跳转到登陆页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168979, 'RoleMenuController#save', '保存请求权限关系', 'POST', '/role/menu/save', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 保存请求权限关系', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168980, 'PayWayInfoController#findById', '根据ID获取', 'GET', '/pay/way/info/findById', '支付方式管理', b'1', b'1', '支付方式管理 根据ID获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168981, 'UserInfoController#register', '注册账号', 'POST', '/user/register', '用户管理', b'1', b'1', '用户管理 注册账号', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168982, 'LoginTypeController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/loginType/existsByCodeNotId', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168983, 'ChinaWordController#page', '分页查询', 'GET', '/chinaword/page', '敏感词管理', b'1', b'1', '敏感词管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168984, 'DatabaseTableController#findAll', '表列表', 'GET', '/gen/table/findAll', '数据库表信息', b'1', b'1', '数据库表信息 表列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168985, 'UniPayAssistController#getWxAccessToken', '获取微信AccessToken数据', 'POST', '/unipay/assist/getWxAccessToken', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信AccessToken数据', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168986, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168987, 'DynamicDataSourceController#addDynamicDataSourceById', '根据id进行添加到连接池中', 'POST', '/dynamic/source/addDynamicDataSourceById', '动态数据源管理', b'1', b'1', '动态数据源管理 根据id进行添加到连接池中', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168988, 'LoginLogController#deleteByDay', '清除指定天数之前的日志', 'DELETE', '/log/login/deleteByDay', '登录日志', b'1', b'1', '登录日志 清除指定天数之前的日志', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168989, 'ClientController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/client/existsByCodeNotId', '认证终端', b'1', b'1', '认证终端 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168990, 'UniQueryController#queryRefundOrder', '查询退款订单', 'POST', '/uni/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 查询退款订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168991, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168992, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168993, 'PasswordSecurityConfigController#check', '登录后检查密码相关的情况', 'GET', '/security/password/check', '密码安全策略', b'1', b'1', '密码安全策略 登录后检查密码相关的情况', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168994, 'PayOrderController#syncById', '同步支付状态', 'POST', '/order/pay/syncById', '支付订单控制器', b'1', b'1', '支付订单控制器 同步支付状态', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168995, 'GeneralTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/general/template/existsByCodeNotId', '通用模板管理', b'1', b'1', '通用模板管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168996, 'LoginTypeController#page', '分页查询登录方式', 'GET', '/loginType/page', '登录方式管理', b'1', b'1', '登录方式管理 分页查询登录方式', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168997, 'AggregateController#aliH5Pay', '支付宝通过聚合支付码发起支付', 'POST', '/demo/aggregate/aliH5Pay', '聚合支付', b'1', b'1', '聚合支付 支付宝通过聚合支付码发起支付', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168998, 'QuartzJobLogController#page', '分页', 'GET', '/quartz/log/page', '定时任务执行日志', b'1', b'1', '定时任务执行日志 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168999, 'PayOrderController#close', '关闭支付记录', 'POST', '/order/pay/close', '支付订单控制器', b'1', b'1', '支付订单控制器 关闭支付记录', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169000, 'DataRoleController#saveUserAssign', '保存数据角色关联用户权限', 'POST', '/data/role/saveUserAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存数据角色关联用户权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169001, 'DictionaryItemController#add', '添加字典项(返回字典项对象)', 'POST', '/dict/item/add', '字典项', b'1', b'1', '字典项 添加字典项(返回字典项对象)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169002, 'QuartzJobController#update', '更新', 'POST', '/quartz/update', '定时任务', b'1', b'1', '定时任务 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169003, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169004, 'UserAdminController#banBatch', '批量封禁用户', 'POST', '/user/admin/banBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量封禁用户', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169005, 'FIleUpLoadController#getFilePreviewUrl', '获取文件预览地址(流量会经过后端)', 'GET', '/file/getFilePreviewUrl', '文件上传', b'1', b'1', '文件上传 获取文件预览地址(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169006, 'DictionaryController#delete', '根据id删除', 'DELETE', '/dict/delete', '字典', b'1', b'1', '字典 根据id删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169007, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169008, 'PermPathController#add', '添加权限', 'POST', '/perm/path/add', '请求权限管理', b'1', b'1', '请求权限管理 添加权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169009, 'ChinaWordController#refresh', '刷新缓存', 'POST', '/chinaword/refresh', '敏感词管理', b'1', b'1', '敏感词管理 刷新缓存', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169010, 'AlipayConfigController#getConfig', '获取配置', 'GET', '/alipay/config/getConfig', '支付宝配置', b'1', b'1', '支付宝配置 获取配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169011, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169012, 'DataResultController#test', '测试SQL解析和执行', 'POST', '/data/result/test', 'SQL查询', b'1', b'1', 'SQL查询 测试SQL解析和执行', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169013, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169014, 'LoginTypeController#findByCode', '通过code查询登录方式', 'GET', '/loginType/findByCode', '登录方式管理', b'1', b'1', '登录方式管理 通过code查询登录方式', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169015, 'GeneralTemplateController#delete', '删除', 'DELETE', '/general/template/delete', '通用模板管理', b'1', b'1', '通用模板管理 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169016, 'PayReconcileOrderController#findById', '订单详情', 'GET', '/order/reconcile/findById', '对账控制器', b'1', b'1', '对账控制器 订单详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169017, 'DynamicDataSourceController#testConnectionById', '测试连接(根据主键ID)', 'GET', '/dynamic/source/testConnectionById', '动态数据源管理', b'1', b'1', '动态数据源管理 测试连接(根据主键ID)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169018, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169019, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169020, 'NcDemoController#sendDingFileMsg', '钉钉文件消息测试', 'POST', '/nc/test/sendDingFileMsg', 'nc测试', b'1', b'1', 'nc测试 钉钉文件消息测试', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169021, 'MultipleOpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169022, 'RolePathController#save', '保存角色请求权限关联关系', 'POST', '/role/path/save', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 保存角色请求权限关联关系', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169023, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169024, 'ChinaWordController#findById', '通过ID查询', 'GET', '/chinaword/findById', '敏感词管理', b'1', b'1', '敏感词管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169025, 'RoleMenuController#findPermissionIdsByRole', '获取当前角色下关联权限id集合(包含权限码和菜单)', 'GET', '/role/menu/findPermissionIdsByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下关联权限id集合(包含权限码和菜单)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169026, 'DictionaryItemController#findById', '根据字典项ID查询', 'GET', '/dict/item/findById', '字典项', b'1', b'1', '字典项 根据字典项ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169027, 'UserRoleController#saveAssignBatch', '给用户分配角色(批量)', 'POST', '/user/role/saveAssignBatch', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色(批量)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169028, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169029, 'DataResultController#querySql', '执行SQL查询语句', 'POST', '/data/result/querySql', 'SQL查询', b'1', b'1', 'SQL查询 执行SQL查询语句', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169030, 'PayRefundOrderController#findById', '查询单条', 'GET', '/order/refund/findById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169031, 'UserAssistController#sendCurrentEmailChangeCaptcha', '给当前用户发送更改邮箱验证码', 'POST', '/user/sendCurrentEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169032, 'PayCallbackRecordController#page', '分页查询', 'GET', '/record/callback/page', '支付回调信息记录', b'1', b'1', '支付回调信息记录 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169033, 'FIleUpLoadController#getFilePreviewUrlPrefix', '获取文件预览地址前缀', 'GET', '/file/getFilePreviewUrlPrefix', '文件上传', b'1', b'1', '文件上传 获取文件预览地址前缀', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169034, 'AlipayConfigController#readPem', '读取证书文件内容', 'POST', '/alipay/config/readPem', '支付宝配置', b'1', b'1', '支付宝配置 读取证书文件内容', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169035, 'DynamicFormController#findAll', '查询所有', 'GET', '/dynamic/form/findAll', '动态表单', b'1', b'1', '动态表单 查询所有', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169036, 'PermMenuController#existsByPermCode', '编码是否被使用(不包含自己)', 'GET', '/perm/menu/existsByPermCodeNotId', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169037, 'DataRoleController#update', '更新', 'POST', '/data/role/update', '数据角色配置', b'1', b'1', '数据角色配置 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169038, 'CashierController#getPayEnv', '获取支付环境', 'GET', '/demo/cashier/getPayEnv', '结算台演示', b'1', b'1', '结算台演示 获取支付环境', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169039, 'PermPathController#delete', '删除权限', 'DELETE', '/perm/path/delete', '请求权限管理', b'1', b'1', '请求权限管理 删除权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169040, 'AggregateController#getWxJsapiPay', '获取微信支付调起Jsapi支付的信息', 'POST', '/demo/aggregate/getWxJsapiPay', '聚合支付', b'1', b'1', '聚合支付 获取微信支付调起Jsapi支付的信息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169041, 'PayReconcileOrderController#downAndSave', '手动触发对账文件下载', 'POST', '/order/reconcile/downAndSave', '对账控制器', b'1', b'1', '对账控制器 手动触发对账文件下载', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169042, 'QuartzJobController#start', '启动', 'POST', '/quartz/start', '定时任务', b'1', b'1', '定时任务 启动', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169043, 'UserAssistController#validateEmailCaptcha', '验证更改/绑定邮箱验证码', 'GET', '/user/validateEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证更改/绑定邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169044, 'DynamicDataSourceController#delete', '删除', 'DELETE', '/dynamic/source/delete', '动态数据源管理', b'1', b'1', '动态数据源管理 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169045, 'SystemParamController#findById', '获取单条', 'GET', '/system/param/findById', '系统参数', b'1', b'1', '系统参数 获取单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169046, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169047, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169048, 'DynamicDataSourceController#removeDataSourceByKey', '从数据源列表中删除指定数据源', 'DELETE', '/dynamic/source/removeDataSourceByKey', '动态数据源管理', b'1', b'1', '动态数据源管理 从数据源列表中删除指定数据源', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169049, 'QuartzJobController#execute', '立即执行', 'POST', '/quartz/execute', '定时任务', b'1', b'1', '定时任务 立即执行', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169050, 'DynamicDataSourceController#page', '分页查询', 'GET', '/dynamic/source/page', '动态数据源管理', b'1', b'1', '动态数据源管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169051, 'DictionaryController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/existsByCodeNotId', '字典', b'1', b'1', '字典 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169052, 'PayRepairRecordController#page', '分页查询', 'GET', '/record/repair/page', '支付修复记录', b'1', b'1', '支付修复记录 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169053, 'UserDeptController#saveAssignBatch', '给用户分配部门(批量)', 'POST', '/user/dept/saveAssignBatch', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门(批量)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169054, 'PayReconcileOrderController#create', '手动创建对账订单', 'POST', '/order/reconcile/create', '对账控制器', b'1', b'1', '对账控制器 手动创建支付订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169055, 'UserAdminController#restartPassword', '重置密码', 'POST', '/user/admin/restartPassword', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 重置密码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169056, 'CodeGeneratorController#codeGenPreview', '预览生成代码', 'POST', '/gen/code/codeGenPreview', '代码生成', b'1', b'1', '代码生成 预览生成代码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169057, 'NcDemoController#sendDingImageMsg', '钉钉图片消息测试', 'POST', '/nc/test/sendDingImageMsg', 'nc测试', b'1', b'1', 'nc测试 钉钉图片消息测试', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169058, 'TestController#lock1', '锁测试1', 'GET', '/test/lock1', '测试', b'1', b'1', '测试 锁测试1', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169059, 'ForwardFrontController#toH5', 'toH5', 'GET', '/front/', 'ForwardFrontController', b'1', b'1', 'ForwardFrontController toH5', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169060, 'FIleUpLoadController#delete', '删除', 'DELETE', '/file/delete', '文件上传', b'1', b'1', '文件上传 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169061, 'OperateLogController#deleteByDay', '清除指定天数的日志', 'DELETE', '/log/operate/deleteByDay', '操作日志', b'1', b'1', '操作日志 清除指定天数的日志', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169062, 'AggregateController#barCodePay', '通过付款码发起支付', 'POST', '/demo/aggregate/barCodePay', '聚合支付', b'1', b'1', '聚合支付 通过付款码发起支付', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169063, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169064, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169065, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169066, 'RoleController#findById', '通过ID查询角色', 'GET', '/role/findById', '角色管理', b'1', b'1', '角色管理 通过ID查询角色', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169067, 'FIleUpLoadController#download', '下载文件(流量会经过后端)', 'GET', '/file/download/{id}', '文件上传', b'1', b'1', '文件上传 下载文件(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169068, 'RoleController#tree', '角色树', 'GET', '/role/tree', '角色管理', b'1', b'1', '角色管理 角色树', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169069, 'RoleController#dropdown', '角色下拉框', 'GET', '/role/dropdown', '角色管理', b'1', b'1', '角色管理 角色下拉框', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169070, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169071, 'UserAssistController#sendEmailForgetCaptcha', '发送找回密码邮箱验证码', 'POST', '/user/sendEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169072, 'DeptController#tree', '树状展示', 'GET', '/dept/tree', '部门管理', b'1', b'1', '部门管理 树状展示', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169073, 'QuartzJobController#judgeJobClass', '判断是否是定时任务类', 'GET', '/quartz/judgeJobClass', '定时任务', b'1', b'1', '定时任务 判断是否是定时任务类', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169075, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169076, 'AggregateController#qrPayPage', '聚合支付扫码跳转中间页', 'GET', '/demo/aggregate/qrPayPage/{code}', '聚合支付', b'1', b'1', '聚合支付 聚合支付扫码跳转中间页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169077, 'UniQueryController#queryPayOrder', '查询支付订单', 'POST', '/uni/query/payOrder', '统一查询接口', b'1', b'1', '统一查询接口 查询支付订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169078, 'ChinaRegionController#findAllProvinceAndCity', '获取省市二级联动列表', 'GET', '/china/region/findAllProvinceAndCity', '中国行政区划', b'1', b'1', '中国行政区划 获取省市二级联动列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169079, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169080, 'DataRoleController#delete', '删除', 'DELETE', '/data/role/delete', '数据角色配置', b'1', b'1', '数据角色配置 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169081, 'UserDeptController#findAllByUser', '根据用户ID获取到部门集合', 'GET', '/user/dept/findAllByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门集合', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169082, 'SystemParamController#page', '分页', 'GET', '/system/param/page', '系统参数', b'1', b'1', '系统参数 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169083, 'DynamicDataSourceController#findAllDataSource', '查询当前数据源列表', 'GET', '/dynamic/source/findAllDataSource', '动态数据源管理', b'1', b'1', '动态数据源管理 查询当前数据源列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169084, 'PayChannelConfigController#findById', '根据ID获取', 'GET', '/pay/channel/config/findById', '支付通道信息', b'1', b'1', '支付通道信息 根据ID获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169085, 'RoleController#delete', '删除角色', 'DELETE', '/role/delete', '角色管理', b'1', b'1', '角色管理 删除角色', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169086, 'PayOrderController#listByChannel', '查询支付订单关联支付通道订单', 'GET', '/order/pay/listByChannel', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单关联支付通道订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169087, 'UserDataRoleController#saveAssignBatch', '给用户分配权限(批量)', 'POST', '/user/data/role/saveAssignBatch', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配权限(批量)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169088, 'DeptController#findById', '获取', 'GET', '/dept/findById', '部门管理', b'1', b'1', '部门管理 获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169089, 'CashierController#getUniCashierUrl', '获取手机收银台链接', 'GET', '/demo/cashier/getUniCashierUrl', '结算台演示', b'1', b'1', '结算台演示 获取手机收银台链接', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169090, 'QuartzJobController#delete', '删除', 'DELETE', '/quartz/delete', '定时任务', b'1', b'1', '定时任务 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169091, 'PermMenuController#update', '修改菜单权限', 'POST', '/perm/menu/update', '菜单和权限码', b'1', b'1', '菜单和权限码 修改菜单权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169092, 'PaySyncRecordController#findById', '查询单条', 'GET', '/record/sync/findById', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 查询单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169093, 'ChinaWordController#delete', '删除', 'DELETE', '/chinaword/delete', '敏感词管理', b'1', b'1', '敏感词管理 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169094, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169095, 'UserDataRoleController#findDataRoleIdByUser', '根据用户ID获取到数据角色Id', 'GET', '/user/data/role/findDataRoleIdByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色Id', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169096, 'UserAssistController#sendEmailChangeCaptcha', '发送更改/绑定邮箱验证码', 'POST', '/user/sendEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169097, 'DataRoleController#deleteUserAssigns', '批量删除数据角色关联用户', 'DELETE', '/data/role/deleteUserAssigns', '数据角色配置', b'1', b'1', '数据角色配置 批量删除数据角色关联用户', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169098, 'PayReconcileOrderController#page', '订单分页', 'GET', '/order/reconcile/page', '对账控制器', b'1', b'1', '对账控制器 订单分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169099, 'UniPayController#syncRefund', '退款状态同步', 'POST', '/unipay/syncRefund', '统一支付接口', b'1', b'1', '统一支付接口 退款状态同步', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169100, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169101, 'SystemParamController#findByParamKey', '根据键名获取键值', 'GET', '/system/param/findByParamKey', '系统参数', b'1', b'1', '系统参数 根据键名获取键值', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169102, 'DynamicDataSourceController#existsByDataSourceKey', '是否已经添加到连接池中', 'GET', '/dynamic/source/existsByDataSourceKey', '动态数据源管理', b'1', b'1', '动态数据源管理 是否已经添加到连接池中', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169103, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169104, 'DataRoleController#existsByCode', '编码是否被使用', 'GET', '/data/role/existsByCode', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169105, 'DynamicDataSourceController#update', '修改', 'POST', '/dynamic/source/update', '动态数据源管理', b'1', b'1', '动态数据源管理 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169106, 'OperateLogController#page', '分页', 'GET', '/log/operate/page', '操作日志', b'1', b'1', '操作日志 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169107, 'NcDemoController#p1', '企微机器人图片发送', 'POST', '/nc/test/p1', 'nc测试', b'1', b'1', 'nc测试 企微机器人图片发送', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169108, 'PayOrderController#findById', '查询订单详情', 'GET', '/order/pay/findById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169109, 'OnlineUserController#page', '分页', 'GET', '/online/user/page', '在线用户', b'1', b'1', '在线用户 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169110, 'RoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/role/existsByNameNotId', '角色管理', b'1', b'1', '角色管理 名称是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169111, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169112, 'DataRoleController#findById', '获取', 'GET', '/data/role/findById', '数据角色配置', b'1', b'1', '数据角色配置 获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169113, 'DataRoleController#findAll', '查询全部', 'GET', '/data/role/findAll', '数据角色配置', b'1', b'1', '数据角色配置 查询全部', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169114, 'OpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169115, 'CaptchaController#imgCaptcha', '获取图片验证码', 'POST', '/captcha/imgCaptcha', '验证码服务', b'1', b'1', '验证码服务 获取图片验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169116, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169117, 'PlatformConfigController#update', '更新平台配置项', 'POST', '/platform/config/update', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 更新平台配置项', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169118, 'ClientController#add', '添加', 'POST', '/client/add', '认证终端', b'1', b'1', '认证终端 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169119, 'DatabaseTableController#findByTableName', '获取表信息', 'GET', '/gen/table/findByTableName', '数据库表信息', b'1', b'1', '数据库表信息 获取表信息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169120, 'OnlineUserController#kickOut', '踢出用户', 'GET', '/online/user/kickOut', '在线用户', b'1', b'1', '在线用户 踢出用户', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169121, 'UserAdminController#getUserInfoWhole', '查询用户详情', 'GET', '/user/admin/getUserInfoWhole', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 查询用户详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169122, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169123, 'ChinaRegionController#findAllProvince', '获取一级行政区', 'GET', '/china/region/findAllProvince', '中国行政区划', b'1', b'1', '中国行政区划 获取一级行政区', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169124, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169125, 'DictionaryController#update', '更新', 'POST', '/dict/update', '字典', b'1', b'1', '字典 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169126, 'PayChannelConfigController#findAll', '查询全部', 'GET', '/pay/channel/config/findAll', '支付通道信息', b'1', b'1', '支付通道信息 查询全部', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169127, 'UserAssistController#validateEmailForgetCaptcha', '验证找回密码邮箱验证码', 'GET', '/user/validateEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169128, 'ClientController#findById', '通过ID查询', 'GET', '/client/findById', '认证终端', b'1', b'1', '认证终端 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169129, 'PermMenuController#menuAndPermCodeTree', '获取菜单和权限码树', 'GET', '/perm/menu/menuAndPermCodeTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单和权限码树', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169130, 'QuartzJobController#syncJobStatus', '同步定时任务状态', 'POST', '/quartz/syncJobStatus', '定时任务', b'1', b'1', '定时任务 同步定时任务状态', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169131, 'PermMenuController#add', '添加菜单权限', 'POST', '/perm/menu/add', '菜单和权限码', b'1', b'1', '菜单和权限码 添加菜单权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169132, 'ClientController#page', '分页查询', 'GET', '/client/page', '认证终端', b'1', b'1', '认证终端 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169133, 'FIleUpLoadController#findById', '获取单条详情', 'GET', '/file/findById', '文件上传', b'1', b'1', '文件上传 获取单条详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169134, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169135, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169136, 'DataRoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/data/role/existsByCodeNotId', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169138, 'DynamicFormController#add', '添加', 'POST', '/dynamic/form/add', '动态表单', b'1', b'1', '动态表单 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169139, 'ChinaRegionController#findAllRegionByParentCode', '根据编码获取下一级行政区划的列表', 'GET', '/china/region/findAllRegionByParentCode', '中国行政区划', b'1', b'1', '中国行政区划 根据编码获取下一级行政区划的列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169140, 'DatabaseTableController#getTableGenParam', '获取表相关的代码生成参数信息', 'GET', '/gen/table/getTableGenParam', '数据库表信息', b'1', b'1', '数据库表信息 获取表相关的代码生成参数信息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169141, 'UniPayController#close', '订单关闭', 'POST', '/unipay/close', '统一支付接口', b'1', b'1', '统一支付接口 订单关闭', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169142, 'LoginTypeController#superPage', '超级查询', 'POST', '/loginType/superPage', '登录方式管理', b'1', b'1', '登录方式管理 超级查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169143, 'DictionaryController#page', '分页', 'GET', '/dict/page', '字典', b'1', b'1', '字典 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169144, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169145, 'PayCloseRecordController#page', '分页查询', 'GET', '/record/close/page', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169146, 'PayCallbackRecordController#findById', '查询单条', 'GET', '/record/callback/findById', '支付回调信息记录', b'1', b'1', '支付回调信息记录 查询单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169147, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363264, 'NcDemoController#p2', '企微机器人文件发送', 'POST', '/nc/test/p2', 'nc测试', b'1', b'1', 'nc测试 企微机器人文件发送', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363265, 'UserDataRoleController#saveAssign', '给用户分配数据角色', 'POST', '/user/data/role/saveAssign', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配数据角色', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363266, 'MultipleOpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363267, 'DynamicDataSourceController#add', '添加', 'POST', '/dynamic/source/add', '动态数据源管理', b'1', b'1', '动态数据源管理 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363268, 'RoleController#update', '修改角色(返回角色对象)', 'POST', '/role/update', '角色管理', b'1', b'1', '角色管理 修改角色(返回角色对象)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363269, 'DataResultController#exportQueryResult', '导出SQL查询的结果', 'POST', '/data/result/exportQueryResult', 'SQL查询', b'1', b'1', 'SQL查询 导出SQL查询的结果', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363270, 'DataRoleController#existsByName', '名称是否被使用', 'GET', '/data/role/existsByName', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363271, 'ClientController#delete', '删除', 'DELETE', '/client/delete', '认证终端', b'1', b'1', '认证终端 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363272, 'UserDeptController#saveAssign', '给用户分配部门', 'POST', '/user/dept/saveAssign', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363273, 'UserAdminController#update', '修改用户', 'POST', '/user/admin/update', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 修改用户', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363274, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363275, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363276, 'QuartzJobController#findById', '单条', 'GET', '/quartz/findById', '定时任务', b'1', b'1', '定时任务 单条', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363277, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363278, 'GeneralTemplateController#existsByCode', '编码是否被使用', 'GET', '/general/template/existsByCode', '通用模板管理', b'1', b'1', '通用模板管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363279, 'ChinaWordController#update', '修改', 'POST', '/chinaword/update', '敏感词管理', b'1', b'1', '敏感词管理 修改', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363280, 'ThirdLoginController#callback', '扫码后回调', 'GET', '/auth/third/callback/{loginType}', '三方登录', b'1', b'1', '三方登录 扫码后回调', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363281, 'UserThirdController#unbind', '解绑第三方账号', 'POST', '/user/third/unbind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 解绑第三方账号', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363282, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363283, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363284, 'UserInfoController#existsEmail', '邮箱是否被使用', 'GET', '/user/existsEmail', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363285, 'AggregateController#getInfo', '获取聚合支付信息', 'GET', '/demo/aggregate/getInfo', '聚合支付', b'1', b'1', '聚合支付 获取聚合支付信息', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363286, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363287, 'FIleUpLoadController#page', '分页', 'GET', '/file/page', '文件上传', b'1', b'1', '文件上传 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363288, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363289, 'PayOrderController#getChannel', '查询支付通道订单详情', 'GET', '/order/pay/getChannel', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付通道订单详情', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363290, 'DynamicFormController#update', '修改', 'POST', '/dynamic/form/update', '动态表单', b'1', b'1', '动态表单 修改', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363291, 'UserInfoController#updateEmail', '修改邮箱', 'POST', '/user/updateEmail', '用户管理', b'1', b'1', '用户管理 修改邮箱', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363292, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363293, 'RoleMenuController#findMenuIds', '获取权限菜单id列表,不包含资源权限', 'GET', '/role/menu/findMenuIds', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取权限菜单id列表,不包含资源权限', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363294, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363295, 'PermPathController#page', '权限分页', 'GET', '/perm/path/page', '请求权限管理', b'1', b'1', '请求权限管理 权限分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363296, 'PermPathController#syncSystem', '同步系统请求资源', 'POST', '/perm/path/syncSystem', '请求权限管理', b'1', b'1', '请求权限管理 同步系统请求资源', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363297, 'PayRefundOrderController#syncById', '退款同步', 'POST', '/order/refund/syncById', '支付退款控制器', b'1', b'1', '支付退款控制器 退款同步', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363298, 'OnlineUserController#getSessionByUserId', '获取用户链接信息', 'GET', '/online/user/getSessionByUserId', '在线用户', b'1', b'1', '在线用户 获取用户链接信息', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363299, 'NcDemoController#sendDingMsg', '钉钉消息测试', 'POST', '/nc/test/sendDingMsg', 'nc测试', b'1', b'1', 'nc测试 钉钉消息测试', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363300, 'UserInfoController#existsUsername', '账号是否被使用(不包含自己)', 'GET', '/user/existsUsernameNotId', '用户管理', b'1', b'1', '用户管理 账号是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363301, 'LoginTypeController#existsByCode', '编码是否被使用', 'GET', '/loginType/existsByCode', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363302, 'UniPayAssistController#getWxAuthUrl', '获取微信oauth2授权的url', 'POST', '/unipay/assist/getWxAuthUrl', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信oauth2授权的url', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363303, 'RoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/role/existsByCodeNotId', '角色管理', b'1', b'1', '角色管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363304, 'CashierController#queryPayOrder', '查询支付订单', 'GET', '/demo/cashier/queryPayOrderSuccess', '结算台演示', b'1', b'1', '结算台演示 查询支付订单', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363305, 'ClientController#findAll', '查询所有', 'GET', '/client/findAll', '认证终端', b'1', b'1', '认证终端 查询所有', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363306, 'PayWayInfoController#update', '更新', 'POST', '/pay/way/info/update', '支付方式管理', b'1', b'1', '支付方式管理 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363307, 'LoginLogController#page', '分页', 'GET', '/log/login/page', '登录日志', b'1', b'1', '登录日志 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363308, 'PasswordSecurityConfigController#isRecentlyUsed', '查看要修改的密码是否重复', 'GET', '/security/password/isRecentlyUsed', '密码安全策略', b'1', b'1', '密码安全策略 查看要修改的密码是否重复', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363309, 'FIleUpLoadController#getFileDownloadUrl', '获取文件下载地址(流量会经过后端)', 'GET', '/file/getFileDownloadUrl', '文件上传', b'1', b'1', '文件上传 获取文件下载地址(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363310, 'TokenEndpoint#login', '普通登录', 'POST', '/token/login', '认证相关', b'1', b'1', '认证相关 普通登录', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363311, 'UserRoleController#findRoleIdsByUser', '根据用户ID获取到角色id集合', 'GET', '/user/role/findRoleIdsByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色id集合', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363312, 'PayApiConfigController#findById', '根据ID获取', 'GET', '/pay/api/config/findById', '支付接口配置', b'1', b'1', '支付接口配置 根据ID获取', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363313, 'RoleController#existsByName', '名称是否被使用', 'GET', '/role/existsByName', '角色管理', b'1', b'1', '角色管理 名称是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363314, 'GeneralTemplateController#page', '分页查询', 'GET', '/general/template/page', '通用模板管理', b'1', b'1', '通用模板管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363315, 'RolePathController#findIdsByRole', '根据角色id获取关联权限id', 'GET', '/role/path/findIdsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 根据角色id获取关联权限id', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363316, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363317, 'PermMenuController#findById', '根据id查询', 'GET', '/perm/menu/findById', '菜单和权限码', b'1', b'1', '菜单和权限码 根据id查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363318, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363319, 'RoleMenuController#getPermissions', '获取菜单和权限码(根据用户进行筛选)', 'GET', '/role/menu/getPermissions', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取菜单和权限码(根据用户进行筛选)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363320, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363321, 'UserThirdController#bind', '绑定第三方账号', 'POST', '/user/third/bind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 绑定第三方账号', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363322, 'RoleController#existsByCode', '编码是否被使用', 'GET', '/role/existsByCode', '角色管理', b'1', b'1', '角色管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363323, 'QuartzJobController#page', '分页', 'GET', '/quartz/page', '定时任务', b'1', b'1', '定时任务 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363324, 'DataRoleController#add', '添加', 'POST', '/data/role/add', '数据角色配置', b'1', b'1', '数据角色配置 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363325, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363326, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363327, 'UserAssistController#validateCurrentPhoneChangeCaptcha', '验证当前用户发送更改手机号验证码', 'GET', '/user/validateCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改手机号验证码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363328, 'NcDemoController#recallNotice', '企微消息撤回', 'POST', '/nc/test/recallNotice', 'nc测试', b'1', b'1', 'nc测试 企微消息撤回', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363329, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363330, 'UserAdminController#add', '添加用户', 'POST', '/user/admin/add', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 添加用户', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363331, 'UniPayController#syncPay', '支付状态同步', 'POST', '/unipay/syncPay', '统一支付接口', b'1', b'1', '统一支付接口 支付状态同步', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363332, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363333, 'PayWayInfoController#findAll', '获取全部', 'GET', '/pay/way/info/findAll', '支付方式管理', b'1', b'1', '支付方式管理 获取全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363334, 'SwaggerWelcomeWebMvc#redirectToUi', 'redirectToUi', 'GET', '/swagger-ui.html', 'SwaggerWelcomeWebMvc', b'1', b'1', 'SwaggerWelcomeWebMvc redirectToUi', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363335, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363336, 'UserInfoController#existsEmail', '邮箱是否被使用(不包含自己)', 'GET', '/user/existsEmailNotId', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363337, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363338, 'DatabaseTableController#page', '表列表分页', 'GET', '/gen/table/page', '数据库表信息', b'1', b'1', '数据库表信息 表列表分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363339, 'PermMenuController#existsByPermCode', '编码是否被使用', 'GET', '/perm/menu/existsByPermCode', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363340, 'PlatformConfigController#getConfig', '获取平台配置', 'GET', '/platform/config/getConfig', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 获取平台配置', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363341, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363342, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363343, 'DeptController#update', '更新', 'POST', '/dept/update', '部门管理', b'1', b'1', '部门管理 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363344, 'UserThirdController#page', '分页', 'GET', '/user/third/page', '用户三方登录管理', b'1', b'1', '用户三方登录管理 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363345, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363346, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363347, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363348, 'CashierController#simplePayCashier', '创建支付订单并发起', 'POST', '/demo/cashier/simplePayCashier', '结算台演示', b'1', b'1', '结算台演示 创建支付订单并发起', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363349, 'LoginTypeController#update', '修改登录方式(返回登录方式对象)', 'POST', '/loginType/update', '登录方式管理', b'1', b'1', '登录方式管理 修改登录方式(返回登录方式对象)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363350, 'PayApiConfigController#update', '更新', 'POST', '/pay/api/config/update', '支付接口配置', b'1', b'1', '支付接口配置 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363351, 'UniPayController#pay', '统一下单', 'POST', '/unipay/pay', '统一支付接口', b'1', b'1', '统一支付接口 统一下单', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363352, 'UserInfoController#existsUsername', '账号是否被使用', 'GET', '/user/existsUsername', '用户管理', b'1', b'1', '用户管理 账号是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363353, 'UserAssistController#validatePhoneForgetCaptcha', '验证找回密码手机验证码', 'GET', '/user/validatePhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码手机验证码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363354, 'CodeGeneratorController#genCodeZip', '下载生成代码', 'POST', '/gen/code/genCodeZip', '代码生成', b'1', b'1', '代码生成 下载生成代码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363355, 'PermPathController#update', '更新权限', 'POST', '/perm/path/update', '请求权限管理', b'1', b'1', '请求权限管理 更新权限', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363356, 'UserAdminController#unlockBatch', '批量解锁用户', 'POST', '/user/admin/unlockBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量解锁用户', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363357, 'BaseApiController#echo', '回声测试', 'GET', '/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363358, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363359, 'UserAssistController#sendCurrentPhoneChangeCaptcha', '给当前用户发送更改手机号验证码', 'POST', '/user/sendCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改手机号验证码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363360, 'SystemParamController#existsByKey', '判断编码是否存在', 'GET', '/system/param/existsByKey', '系统参数', b'1', b'1', '系统参数 判断编码是否存在', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363361, 'PayOrderController#page', '分页查询', 'GET', '/order/pay/page', '支付订单控制器', b'1', b'1', '支付订单控制器 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363362, 'GeneralTemplateController#findById', '通过ID查询', 'GET', '/general/template/findById', '通用模板管理', b'1', b'1', '通用模板管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363363, 'CashierController#getWxAuthUrl', '获取微信授权链接', 'GET', '/demo/cashier/getWxAuthUrl', '结算台演示', b'1', b'1', '结算台演示 获取微信授权链接', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363364, 'DictionaryController#findAll', '查询全部', 'GET', '/dict/findAll', '字典', b'1', b'1', '字典 查询全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363365, 'NcDemoController#sendMsg', '邮件消息测试', 'POST', '/nc/test/sendMsg', 'nc测试', b'1', b'1', 'nc测试 邮件消息测试', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363366, 'DictionaryItemController#findAll', '获取全部字典项', 'GET', '/dict/item/findAll', '字典项', b'1', b'1', '字典项 获取全部字典项', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363367, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363368, 'PayRefundOrderController#listByChannel', '通道退款订单列表查询', 'GET', '/order/refund/listByChannel', '支付退款控制器', b'1', b'1', '支付退款控制器 通道退款订单列表查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363369, 'DynamicDataSourceController#findAll', '查询所有', 'GET', '/dynamic/source/findAll', '动态数据源管理', b'1', b'1', '动态数据源管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363370, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363371, 'DictionaryController#add', '添加', 'POST', '/dict/add', '字典', b'1', b'1', '字典 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363372, 'UserAdminController#page', '分页', 'GET', '/user/admin/page', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363373, 'SwaggerConfigResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/swagger-config', 'SwaggerConfigResource', b'1', b'1', 'SwaggerConfigResource openapiJson', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363374, 'PaySyncRecordController#page', '分页查询', 'GET', '/record/sync/page', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206464, 'VoucherController#findById', '查询储值卡详情', 'GET', '/voucher/findById', '储值卡管理', b'1', b'1', '储值卡管理 查询储值卡详情', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206465, 'WalletConfigController#update', '更新', 'POST', '/wallet/config/update', '钱包配置', b'1', b'1', '钱包配置 更新', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206466, 'ClientNoticeTaskController#recordPage', '分页查询', 'GET', '/task/notice/record/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206467, 'WalletConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/wallet/config/findPayWays', '钱包配置', b'1', b'1', '钱包配置 支付宝支持支付方式', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206468, 'VoucherController#voucherImport', '导入储值卡', 'POST', '/voucher/import', '储值卡管理', b'1', b'1', '储值卡管理 导入储值卡', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206469, 'VoucherController#recordFindById', '查询记录详情', 'GET', '/voucher/record/findById', '储值卡管理', b'1', b'1', '储值卡管理 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206470, 'CashController#recordPage', '记录分页', 'GET', '/cash/record/page', '现金控制器', b'1', b'1', '现金控制器 记录分页', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206471, 'AlipayController#recordPage', '记录分页', 'GET', '/alipay/record/page', '支付宝控制器', b'1', b'1', '支付宝控制器 记录分页', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206472, 'CashConfigController#getConfig', '获取配置', 'GET', '/cash/config/getConfig', '现金支付配置', b'1', b'1', '现金支付配置 获取配置', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206473, 'ClientNoticeReceiveController#pay', '支付消息(对象接收)', 'POST', '/demo/callback/payObject', '回调测试', b'1', b'1', '回调测试 支付消息(对象接收)', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206474, 'VoucherConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/voucher/config/findPayWays', '储值卡支付配置', b'1', b'1', '储值卡支付配置 支付宝支持支付方式', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206475, 'ClientNoticeReceiveController#refund', '退款消息(对象)', 'POST', '/demo/callback/refundObject', '回调测试', b'1', b'1', '回调测试 退款消息(对象)', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206476, 'WalletController#recharge', '充值', 'POST', '/wallet/recharge', '钱包管理', b'1', b'1', '钱包管理 充值', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400768, 'VoucherController#page', '储值卡分页', 'GET', '/voucher/page', '储值卡管理', b'1', b'1', '储值卡管理 储值卡分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400769, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400770, 'WalletController#findRecordById', '查询记录详情', 'GET', '/wallet/record/findById', '钱包管理', b'1', b'1', '钱包管理 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400771, 'WalletConfigController#getConfig', '获取配置', 'GET', '/wallet/config/getConfig', '钱包配置', b'1', b'1', '钱包配置 获取配置', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400772, 'WalletController#recordPage', '记录分页', 'GET', '/wallet/record/page', '钱包管理', b'1', b'1', '钱包管理 记录分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400773, 'VoucherController#existsByCardNo', '判断卡号是否存在', 'GET', '/voucher/existsByCardNo', '储值卡管理', b'1', b'1', '储值卡管理 判断卡号是否存在', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400774, 'WalletController#page', '钱包分页', 'GET', '/wallet/page', '钱包管理', b'1', b'1', '钱包管理 钱包分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400775, 'ClientNoticeTaskController#findById', '查询单条', 'GET', '/task/notice/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400776, 'CashController#findById', '查询记录详情', 'GET', '/cash/record/findById', '现金控制器', b'1', b'1', '现金控制器 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400777, 'WeChatPayController#findById', '查询记录详情', 'GET', '/wechat/pay/record/findById', '微信支付控制器', b'1', b'1', '微信支付控制器 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400778, 'ClientNoticeReceiveController#pay', '支付消息(map接收)', 'POST', '/demo/callback/pay', '回调测试', b'1', b'1', '回调测试 支付消息(map接收)', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400779, 'VoucherConfigController#getConfig', '获取配置', 'GET', '/voucher/config/getConfig', '储值卡支付配置', b'1', b'1', '储值卡支付配置 获取配置', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400780, 'WalletController#create', '创建钱包', 'POST', '/wallet/create', '钱包管理', b'1', b'1', '钱包管理 创建钱包', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400781, 'ClientNoticeTaskController#findRecordById', '查询单条', 'GET', '/task/notice/record/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400782, 'CashConfigController#update', '更新', 'POST', '/cash/config/update', '现金支付配置', b'1', b'1', '现金支付配置 更新', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400783, 'ClientNoticeReceiveController#refund', '退款消息', 'POST', '/demo/callback/refund', '回调测试', b'1', b'1', '回调测试 退款消息', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400784, 'WeChatPayController#recordPage', '记录分页', 'GET', '/wechat/pay/record/page', '微信支付控制器', b'1', b'1', '微信支付控制器 记录分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400785, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400786, 'WalletController#findById', '查询钱包详情', 'GET', '/wallet/findById', '钱包管理', b'1', b'1', '钱包管理 查询钱包详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400787, 'CashConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/cash/config/findPayWays', '现金支付配置', b'1', b'1', '现金支付配置 支付宝支持支付方式', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400788, 'AlipayController#findById', '查询记录详情', 'GET', '/alipay/record/findById', '支付宝控制器', b'1', b'1', '支付宝控制器 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400789, 'VoucherConfigController#update', '更新', 'POST', '/voucher/config/update', '储值卡支付配置', b'1', b'1', '储值卡支付配置 更新', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400790, 'ClientNoticeTaskController#page', '分页查询', 'GET', '/task/notice/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400791, 'VoucherController#recordPage', '记录分页', 'GET', '/voucher/record/page', '储值卡管理', b'1', b'1', '储值卡管理 记录分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400792, 'ClientNoticeTaskController#resetSend', '重新发送消息通知', 'POST', '/task/notice/resetSend', '客户系统通知任务', b'1', b'1', '客户系统通知任务 重新发送消息通知', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400793, 'WalletController#deduct', '扣减', 'POST', '/wallet/deduct', '钱包管理', b'1', b'1', '钱包管理 扣减', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400794, 'WalletController#existsByUserId', '判断用户是否开通了钱包', 'GET', '/wallet/existsByUserId', '钱包管理', b'1', b'1', '钱包管理 判断用户是否开通了钱包', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303616, 'ReconcileOrderController#pageDiff', '对账差异分页', 'GET', '/order/reconcile/diff/page', '对账控制器', b'1', b'1', '对账控制器 对账差异分页', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303617, 'ReconcileOrderController#findDiffById', '对账差异详情', 'GET', '/order/reconcile/diff/findById', '对账控制器', b'1', b'1', '对账控制器 对账差异详情', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303618, 'ReconcileOrderController#findDetailById', '对账明细详情', 'GET', '/order/reconcile/detail/findById', '对账控制器', b'1', b'1', '对账控制器 对账明细详情', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303619, 'ReconcileOrderController#compare', '手动触发对账单比对', 'POST', '/order/reconcile/compare', '对账控制器', b'1', b'1', '对账控制器 手动触发对账单比对', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303620, 'ReconcileOrderController#pageDetail', '对账明细分页', 'GET', '/order/reconcile/detail/page', '对账控制器', b'1', b'1', '对账控制器 对账明细分页', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994971140096, 'RefundOrderController#resetRefund', '重新发起退款', 'POST', '/order/refund/resetRefund', '支付退款控制器', b'1', b'1', '支付退款控制器 重新发起退款', 1399985191002447872, '2024-03-14 18:17:53.396000', 1399985191002447872, '2024-03-14 18:17:53.397000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528704, 'UnionPayConfigController#getConfig', '获取配置', 'GET', '/union/pay/config/getConfig', '云闪付配置', b'1', b'1', '云闪付配置 获取配置', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528705, 'UnionPayController#findById', '查询记录详情', 'GET', '/union/pay/record/findById', '云闪付控制器', b'1', b'1', '云闪付控制器 查询记录详情', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528706, 'UnionPayController#recordPage', '记录分页', 'GET', '/union/pay/record/page', '云闪付控制器', b'1', b'1', '云闪付控制器 记录分页', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528707, 'UnionPayConfigController#update', '更新', 'POST', '/union/pay/config/update', '云闪付配置', b'1', b'1', '云闪付配置 更新', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528708, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528709, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528710, 'UnionPayConfigController#toBase64', '读取证书文件内容', 'POST', '/union/pay/config/toBase64', '云闪付配置', b'1', b'1', '云闪付配置 读取证书文件内容', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528711, 'UnionPayConfigController#findPayWays', '支持的支付方式', 'GET', '/union/pay/config/findPayWays', '云闪付配置', b'1', b'1', '云闪付配置 支持的支付方式', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460544, 'CockpitReportController#getRefundChannelInfo', '显示通道退款订单金额和订单数', 'GET', '/report/cockpit/getRefundChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道退款订单金额和订单数', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460545, 'CockpitReportController#getRefundAmount', '退款金额(分)', 'GET', '/report/cockpit/getRefundAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款金额(分)', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460546, 'CockpitReportController#getRefundOrderCount', '退款订单数量', 'GET', '/report/cockpit/getRefundOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款订单数量', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460547, 'CockpitReportController#getPayChannelInfo', '显示通道支付订单金额和订单数', 'GET', '/report/cockpit/getPayChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道支付订单金额和订单数', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460548, 'ReconcileOrderController#upload', '手动上传对账单文件', 'POST', '/order/reconcile/upload', '对账控制器', b'1', b'1', '对账控制器 手动上传对账单文件', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460549, 'CockpitReportController#getPayAmount', '支付金额(分)', 'GET', '/report/cockpit/getPayAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付金额(分)', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460550, 'CockpitReportController#getPayOrderCount', '支付订单数量', 'GET', '/report/cockpit/getPayOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付订单数量', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138432, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '对账订单控制器', b'1', b'1', '对账订单控制器 同步分账结果', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138433, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138434, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138435, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138436, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138437, 'AllocationGroupController#unbindReceivers', '批量取消绑定接收者', 'POST', '/allocation/group/unbindReceivers', '分账组', b'1', b'1', '分账组 批量取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138438, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询明细详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138439, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '对账订单控制器', b'1', b'1', '对账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138440, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138441, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '对账接收方控制器', b'1', b'1', '对账接收方控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138442, 'AllocationGroupController#clearDefault', '清除默认分账组', 'POST', '/allocation/group/clearDefault', '分账组', b'1', b'1', '分账组 清除默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138443, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138444, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '对账订单控制器', b'1', b'1', '对账订单控制器 分账完结', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138445, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138446, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138447, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138448, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138449, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '对账接收方控制器', b'1', b'1', '对账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138450, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138451, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138452, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '对账接收方控制器', b'1', b'1', '对账接收方控制器 新增', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138453, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138454, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138455, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '对账接收方控制器', b'1', b'1', '对账接收方控制器 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138456, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '对账接收方控制器', b'1', b'1', '对账接收方控制器 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138457, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '对账接收方控制器', b'1', b'1', '对账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138458, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '对账接收方控制器', b'1', b'1', '对账接收方控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138459, 'AllocationGroupController#page', '分页', 'GET', '/allocation/group/page', '分账组', b'1', b'1', '分账组 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138460, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138461, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138462, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138463, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '对账订单控制器', b'1', b'1', '对账订单控制器 分账明细列表', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138464, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '对账订单控制器', b'1', b'1', '对账订单控制器 分账重试', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.845000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138465, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '对账订单控制器', b'1', b'1', '对账订单控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.839000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780417658844966912, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780417658844966913, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063232, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063233, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '分账订单控制器', b'1', b'1', '分账订单控制器 分账完结', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063234, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '分账接收方控制器', b'1', b'1', '分账接收方控制器 删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063235, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063236, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063237, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '分账订单控制器', b'1', b'1', '分账订单控制器 同步分账结果', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063238, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063239, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063240, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '分账订单控制器', b'1', b'1', '分账订单控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063241, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063242, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063243, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063244, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063245, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063246, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063247, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063248, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '分账订单控制器', b'1', b'1', '分账订单控制器 分账重试', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - --- ---------------------------- --- Table structure for iam_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_role`; -CREATE TABLE `iam_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `pid` bigint(20) NULL DEFAULT NULL COMMENT '父ID', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role --- ---------------------------- -INSERT INTO `iam_role` VALUES (1757297023118462976, 'daxpayAdmin', NULL, '支付网关管理员', b'0', '', 1399985191002447872, '2024-02-13 14:53:54', 1399985191002447872, '2024-02-13 14:53:54', 0, 0); -INSERT INTO `iam_role` VALUES (1757298887092326400, 'daxpayDemo', 1757297023118462976, '支付演示角色', b'0', '用于进行演示的角色, 没有修改和删除的权限', 1399985191002447872, '2024-02-13 15:01:18', 1399985191002447872, '2024-02-13 15:01:18', 0, 0); - --- ---------------------------- --- Table structure for iam_role_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_menu`; -CREATE TABLE `iam_role_menu` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', - `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_menu --- ---------------------------- -INSERT INTO `iam_role_menu` VALUES (1757298674730520576, 1757297023118462976, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298674730520577, 1757297023118462976, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298674730520578, 1757297023118462976, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298674730520579, 1757297023118462976, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520580, 1757297023118462976, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520581, 1757297023118462976, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298674730520582, 1757297023118462976, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298674730520583, 1757297023118462976, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298674730520584, 1757297023118462976, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298674730520585, 1757297023118462976, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298674730520586, 1757297023118462976, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298674730520587, 1757297023118462976, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298674730520588, 1757297023118462976, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298674730520589, 1757297023118462976, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298674730520590, 1757297023118462976, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059200, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059201, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059202, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059203, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059204, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059205, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059206, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059207, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059208, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059209, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059210, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059211, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059212, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059213, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059214, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059215, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059216, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059217, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059218, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059219, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059220, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059221, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059222, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059223, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059224, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059225, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059226, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059227, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059228, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059229, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059230, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059231, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059232, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059233, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059234, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059235, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059236, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059237, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059238, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059239, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059240, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059241, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059242, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059243, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059244, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059245, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059246, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059247, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059248, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059249, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059250, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059251, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059252, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059253, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059254, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059255, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059256, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059257, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059258, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059259, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1762112282006073344, 1757297023118462976, 'dax-pay', 1758860876272861184); -INSERT INTO `iam_role_menu` VALUES (1762112282006073345, 1757297023118462976, 'dax-pay', 1759861648606097408); -INSERT INTO `iam_role_menu` VALUES (1762112282006073346, 1757297023118462976, 'dax-pay', 1759865163772485632); -INSERT INTO `iam_role_menu` VALUES (1762112282006073347, 1757297023118462976, 'dax-pay', 1758861129311027200); -INSERT INTO `iam_role_menu` VALUES (1762112282006073348, 1757297023118462976, 'dax-pay', 1759192238594949120); -INSERT INTO `iam_role_menu` VALUES (1762112282006073349, 1757297023118462976, 'dax-pay', 1759192520611561472); -INSERT INTO `iam_role_menu` VALUES (1762112282006073350, 1757297023118462976, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073351, 1757297023118462976, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282006073352, 1757297023118462976, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073353, 1757297023118462976, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1762112282232565760, 1757298887092326400, 'dax-pay', 1758860876272861184); -INSERT INTO `iam_role_menu` VALUES (1762112282232565761, 1757298887092326400, 'dax-pay', 1759861648606097408); -INSERT INTO `iam_role_menu` VALUES (1762112282232565762, 1757298887092326400, 'dax-pay', 1759865163772485632); -INSERT INTO `iam_role_menu` VALUES (1762112282232565763, 1757298887092326400, 'dax-pay', 1758861129311027200); -INSERT INTO `iam_role_menu` VALUES (1762112282232565764, 1757298887092326400, 'dax-pay', 1759192238594949120); -INSERT INTO `iam_role_menu` VALUES (1762112282232565765, 1757298887092326400, 'dax-pay', 1759192520611561472); -INSERT INTO `iam_role_menu` VALUES (1762112282232565766, 1757298887092326400, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565767, 1757298887092326400, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282232565768, 1757298887092326400, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565769, 1757298887092326400, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1768220067952029696, 1757297023118462976, 'dax-pay', 1768203432981655552); -INSERT INTO `iam_role_menu` VALUES (1768220068631506944, 1757298887092326400, 'dax-pay', 1768203432981655552); -INSERT INTO `iam_role_menu` VALUES (1780416732268605440, 1757297023118462976, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732268605441, 1757297023118462976, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732268605442, 1757297023118462976, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732268605443, 1757297023118462976, 'dax-pay', 1777688382748700672); -INSERT INTO `iam_role_menu` VALUES (1780416732574789632, 1757298887092326400, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732574789633, 1757298887092326400, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732574789634, 1757298887092326400, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732574789635, 1757298887092326400, 'dax-pay', 1777688382748700672); - --- ---------------------------- --- Table structure for iam_role_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_path`; -CREATE TABLE `iam_role_path` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_path --- ---------------------------- -INSERT INTO `iam_role_path` VALUES (1757299898544541696, 1757297023118462976, 1757297527147974745); -INSERT INTO `iam_role_path` VALUES (1757299898544541697, 1757297023118462976, 1757297527147974777); -INSERT INTO `iam_role_path` VALUES (1757299898544541698, 1757297023118462976, 1757297527147974746); -INSERT INTO `iam_role_path` VALUES (1757299898544541699, 1757297023118462976, 1757297527147974744); -INSERT INTO `iam_role_path` VALUES (1757299898544541700, 1757297023118462976, 1757297527147974692); -INSERT INTO `iam_role_path` VALUES (1757299898544541701, 1757297023118462976, 1757297527152169034); -INSERT INTO `iam_role_path` VALUES (1757299898544541702, 1757297023118462976, 1757297527152169010); -INSERT INTO `iam_role_path` VALUES (1757299898544541703, 1757297023118462976, 1757297527147974778); -INSERT INTO `iam_role_path` VALUES (1757299898544541704, 1757297023118462976, 1757297527147974668); -INSERT INTO `iam_role_path` VALUES (1757299898544541705, 1757297023118462976, 1757297527152169052); -INSERT INTO `iam_role_path` VALUES (1757299898544541706, 1757297023118462976, 1757297527147974730); -INSERT INTO `iam_role_path` VALUES (1757299898544541709, 1757297023118462976, 1757297527152169077); -INSERT INTO `iam_role_path` VALUES (1757299898544541710, 1757297023118462976, 1757297527152168990); -INSERT INTO `iam_role_path` VALUES (1757299898544541711, 1757297023118462976, 1757297527152169098); -INSERT INTO `iam_role_path` VALUES (1757299898544541712, 1757297023118462976, 1757297527152169054); -INSERT INTO `iam_role_path` VALUES (1757299898544541713, 1757297023118462976, 1757297527152169041); -INSERT INTO `iam_role_path` VALUES (1757299898544541714, 1757297023118462976, 1757297527152169016); -INSERT INTO `iam_role_path` VALUES (1757299898544541717, 1757297023118462976, 1757297527156363367); -INSERT INTO `iam_role_path` VALUES (1757299898544541718, 1757297023118462976, 1757297527152169126); -INSERT INTO `iam_role_path` VALUES (1757299898544541719, 1757297023118462976, 1757297527152169084); -INSERT INTO `iam_role_path` VALUES (1757299898544541720, 1757297023118462976, 1757297527156363350); -INSERT INTO `iam_role_path` VALUES (1757299898544541721, 1757297023118462976, 1757297527156363312); -INSERT INTO `iam_role_path` VALUES (1757299898544541722, 1757297023118462976, 1757297527147974769); -INSERT INTO `iam_role_path` VALUES (1757299898544541723, 1757297023118462976, 1757297527152169146); -INSERT INTO `iam_role_path` VALUES (1757299898544541724, 1757297023118462976, 1757297527152169032); -INSERT INTO `iam_role_path` VALUES (1757299898544541725, 1757297023118462976, 1757297527152169145); -INSERT INTO `iam_role_path` VALUES (1757299898544541726, 1757297023118462976, 1757297527147974691); -INSERT INTO `iam_role_path` VALUES (1757299898825560064, 1757298887092326400, 1757297527147974745); -INSERT INTO `iam_role_path` VALUES (1757299898825560065, 1757298887092326400, 1757297527147974777); -INSERT INTO `iam_role_path` VALUES (1757299898825560067, 1757298887092326400, 1757297527147974744); -INSERT INTO `iam_role_path` VALUES (1757299898825560069, 1757298887092326400, 1757297527152169034); -INSERT INTO `iam_role_path` VALUES (1757299898825560070, 1757298887092326400, 1757297527152169010); -INSERT INTO `iam_role_path` VALUES (1757299898825560071, 1757298887092326400, 1757297527147974778); -INSERT INTO `iam_role_path` VALUES (1757299898825560073, 1757298887092326400, 1757297527152169052); -INSERT INTO `iam_role_path` VALUES (1757299898825560074, 1757298887092326400, 1757297527147974730); -INSERT INTO `iam_role_path` VALUES (1757299898825560077, 1757298887092326400, 1757297527152169077); -INSERT INTO `iam_role_path` VALUES (1757299898825560078, 1757298887092326400, 1757297527152168990); -INSERT INTO `iam_role_path` VALUES (1757299898825560079, 1757298887092326400, 1757297527152169098); -INSERT INTO `iam_role_path` VALUES (1757299898825560080, 1757298887092326400, 1757297527152169054); -INSERT INTO `iam_role_path` VALUES (1757299898825560081, 1757298887092326400, 1757297527152169041); -INSERT INTO `iam_role_path` VALUES (1757299898825560082, 1757298887092326400, 1757297527152169016); -INSERT INTO `iam_role_path` VALUES (1757299898825560086, 1757298887092326400, 1757297527152169126); -INSERT INTO `iam_role_path` VALUES (1757299898825560087, 1757298887092326400, 1757297527152169084); -INSERT INTO `iam_role_path` VALUES (1757299898825560089, 1757298887092326400, 1757297527156363312); -INSERT INTO `iam_role_path` VALUES (1757299898825560090, 1757298887092326400, 1757297527147974769); -INSERT INTO `iam_role_path` VALUES (1757299898825560091, 1757298887092326400, 1757297527152169146); -INSERT INTO `iam_role_path` VALUES (1757299898825560092, 1757298887092326400, 1757297527152169032); -INSERT INTO `iam_role_path` VALUES (1757299898825560093, 1757298887092326400, 1757297527152169145); -INSERT INTO `iam_role_path` VALUES (1757299898825560094, 1757298887092326400, 1757297527147974691); -INSERT INTO `iam_role_path` VALUES (1757300046846742528, 1757297023118462976, 1757297527156363340); -INSERT INTO `iam_role_path` VALUES (1757300046846742529, 1757297023118462976, 1757297527152169117); -INSERT INTO `iam_role_path` VALUES (1757300047022903296, 1757298887092326400, 1757297527156363340); -INSERT INTO `iam_role_path` VALUES (1757301364139216896, 1757297023118462976, 1757297527156363333); -INSERT INTO `iam_role_path` VALUES (1757301364139216897, 1757297023118462976, 1757297527156363306); -INSERT INTO `iam_role_path` VALUES (1757301364139216898, 1757297023118462976, 1757297527152168980); -INSERT INTO `iam_role_path` VALUES (1757301364311183360, 1757298887092326400, 1757297527156363333); -INSERT INTO `iam_role_path` VALUES (1757301364311183362, 1757298887092326400, 1757297527152168980); -INSERT INTO `iam_role_path` VALUES (1757301683791319040, 1757297023118462976, 1757297527156363361); -INSERT INTO `iam_role_path` VALUES (1757301683791319041, 1757297023118462976, 1757297527156363289); -INSERT INTO `iam_role_path` VALUES (1757301683791319042, 1757297023118462976, 1757297527152169108); -INSERT INTO `iam_role_path` VALUES (1757301683791319043, 1757297023118462976, 1757297527152169086); -INSERT INTO `iam_role_path` VALUES (1757301683791319044, 1757297023118462976, 1757297527152168999); -INSERT INTO `iam_role_path` VALUES (1757301683791319045, 1757297023118462976, 1757297527152168994); -INSERT INTO `iam_role_path` VALUES (1757301683791319046, 1757297023118462976, 1757297527147974782); -INSERT INTO `iam_role_path` VALUES (1757301683791319047, 1757297023118462976, 1757297527156363368); -INSERT INTO `iam_role_path` VALUES (1757301683791319048, 1757297023118462976, 1757297527156363297); -INSERT INTO `iam_role_path` VALUES (1757301683791319049, 1757297023118462976, 1757297527152169030); -INSERT INTO `iam_role_path` VALUES (1757301683791319050, 1757297023118462976, 1757297527147974779); -INSERT INTO `iam_role_path` VALUES (1757301683791319051, 1757297023118462976, 1757297527147974742); -INSERT INTO `iam_role_path` VALUES (1757301683791319052, 1757297023118462976, 1757297527147974662); -INSERT INTO `iam_role_path` VALUES (1757301684013617152, 1757298887092326400, 1757297527156363361); -INSERT INTO `iam_role_path` VALUES (1757301684013617153, 1757298887092326400, 1757297527156363289); -INSERT INTO `iam_role_path` VALUES (1757301684013617154, 1757298887092326400, 1757297527152169108); -INSERT INTO `iam_role_path` VALUES (1757301684013617155, 1757298887092326400, 1757297527152169086); -INSERT INTO `iam_role_path` VALUES (1757301684013617156, 1757298887092326400, 1757297527152168999); -INSERT INTO `iam_role_path` VALUES (1757301684013617157, 1757298887092326400, 1757297527152168994); -INSERT INTO `iam_role_path` VALUES (1757301684013617158, 1757298887092326400, 1757297527147974782); -INSERT INTO `iam_role_path` VALUES (1757301684013617159, 1757298887092326400, 1757297527156363368); -INSERT INTO `iam_role_path` VALUES (1757301684013617160, 1757298887092326400, 1757297527156363297); -INSERT INTO `iam_role_path` VALUES (1757301684013617161, 1757298887092326400, 1757297527152169030); -INSERT INTO `iam_role_path` VALUES (1757301684013617162, 1757298887092326400, 1757297527147974779); -INSERT INTO `iam_role_path` VALUES (1757301684013617163, 1757298887092326400, 1757297527147974742); -INSERT INTO `iam_role_path` VALUES (1757301684013617164, 1757298887092326400, 1757297527147974662); -INSERT INTO `iam_role_path` VALUES (1757305163645964288, 1757297023118462976, 1757297527156363374); -INSERT INTO `iam_role_path` VALUES (1757305163645964289, 1757297023118462976, 1757297527152169092); -INSERT INTO `iam_role_path` VALUES (1757305194193080320, 1757298887092326400, 1757297527156363374); -INSERT INTO `iam_role_path` VALUES (1757305194193080321, 1757298887092326400, 1757297527152169092); -INSERT INTO `iam_role_path` VALUES (1762112867598020608, 1757297023118462976, 1762112351866400794); -INSERT INTO `iam_role_path` VALUES (1762112867598020609, 1757297023118462976, 1762112351866400793); -INSERT INTO `iam_role_path` VALUES (1762112867598020610, 1757297023118462976, 1762112351866400786); -INSERT INTO `iam_role_path` VALUES (1762112867598020611, 1757297023118462976, 1762112351866400780); -INSERT INTO `iam_role_path` VALUES (1762112867598020612, 1757297023118462976, 1762112351866400774); -INSERT INTO `iam_role_path` VALUES (1762112867598020613, 1757297023118462976, 1762112351866400772); -INSERT INTO `iam_role_path` VALUES (1762112867598020614, 1757297023118462976, 1762112351866400770); -INSERT INTO `iam_role_path` VALUES (1762112867598020615, 1757297023118462976, 1762112351862206476); -INSERT INTO `iam_role_path` VALUES (1762112867598020616, 1757297023118462976, 1762112351866400787); -INSERT INTO `iam_role_path` VALUES (1762112867598020617, 1757297023118462976, 1762112351866400782); -INSERT INTO `iam_role_path` VALUES (1762112867598020618, 1757297023118462976, 1762112351862206472); -INSERT INTO `iam_role_path` VALUES (1762112867598020619, 1757297023118462976, 1762112351866400788); -INSERT INTO `iam_role_path` VALUES (1762112867598020620, 1757297023118462976, 1762112351862206471); -INSERT INTO `iam_role_path` VALUES (1762112867598020621, 1757297023118462976, 1762112351866400789); -INSERT INTO `iam_role_path` VALUES (1762112867598020622, 1757297023118462976, 1762112351866400779); -INSERT INTO `iam_role_path` VALUES (1762112867598020623, 1757297023118462976, 1762112351862206474); -INSERT INTO `iam_role_path` VALUES (1762112867598020624, 1757297023118462976, 1762112351866400791); -INSERT INTO `iam_role_path` VALUES (1762112867598020625, 1757297023118462976, 1762112351866400773); -INSERT INTO `iam_role_path` VALUES (1762112867598020626, 1757297023118462976, 1762112351866400768); -INSERT INTO `iam_role_path` VALUES (1762112867598020627, 1757297023118462976, 1762112351862206469); -INSERT INTO `iam_role_path` VALUES (1762112867598020628, 1757297023118462976, 1762112351862206468); -INSERT INTO `iam_role_path` VALUES (1762112867598020629, 1757297023118462976, 1762112351862206464); -INSERT INTO `iam_role_path` VALUES (1762112867598020630, 1757297023118462976, 1762112351866400792); -INSERT INTO `iam_role_path` VALUES (1762112867598020631, 1757297023118462976, 1762112351866400790); -INSERT INTO `iam_role_path` VALUES (1762112867598020632, 1757297023118462976, 1762112351866400781); -INSERT INTO `iam_role_path` VALUES (1762112867598020633, 1757297023118462976, 1762112351866400775); -INSERT INTO `iam_role_path` VALUES (1762112867598020634, 1757297023118462976, 1762112351862206466); -INSERT INTO `iam_role_path` VALUES (1762112867598020635, 1757297023118462976, 1762112351866400776); -INSERT INTO `iam_role_path` VALUES (1762112867598020636, 1757297023118462976, 1762112351862206470); -INSERT INTO `iam_role_path` VALUES (1762112867598020637, 1757297023118462976, 1762112351866400784); -INSERT INTO `iam_role_path` VALUES (1762112867598020638, 1757297023118462976, 1762112351866400777); -INSERT INTO `iam_role_path` VALUES (1762112867598020639, 1757297023118462976, 1762112351866400771); -INSERT INTO `iam_role_path` VALUES (1762112867598020640, 1757297023118462976, 1762112351862206467); -INSERT INTO `iam_role_path` VALUES (1762112867598020641, 1757297023118462976, 1762112351862206465); -INSERT INTO `iam_role_path` VALUES (1762112867837095936, 1757298887092326400, 1762112351866400794); -INSERT INTO `iam_role_path` VALUES (1762112867837095937, 1757298887092326400, 1762112351866400793); -INSERT INTO `iam_role_path` VALUES (1762112867837095938, 1757298887092326400, 1762112351866400786); -INSERT INTO `iam_role_path` VALUES (1762112867837095939, 1757298887092326400, 1762112351866400780); -INSERT INTO `iam_role_path` VALUES (1762112867837095940, 1757298887092326400, 1762112351866400774); -INSERT INTO `iam_role_path` VALUES (1762112867837095941, 1757298887092326400, 1762112351866400772); -INSERT INTO `iam_role_path` VALUES (1762112867837095942, 1757298887092326400, 1762112351866400770); -INSERT INTO `iam_role_path` VALUES (1762112867837095943, 1757298887092326400, 1762112351862206476); -INSERT INTO `iam_role_path` VALUES (1762112867837095944, 1757298887092326400, 1762112351866400787); -INSERT INTO `iam_role_path` VALUES (1762112867837095945, 1757298887092326400, 1762112351866400782); -INSERT INTO `iam_role_path` VALUES (1762112867837095946, 1757298887092326400, 1762112351862206472); -INSERT INTO `iam_role_path` VALUES (1762112867837095947, 1757298887092326400, 1762112351866400788); -INSERT INTO `iam_role_path` VALUES (1762112867837095948, 1757298887092326400, 1762112351862206471); -INSERT INTO `iam_role_path` VALUES (1762112867837095949, 1757298887092326400, 1762112351866400789); -INSERT INTO `iam_role_path` VALUES (1762112867837095950, 1757298887092326400, 1762112351866400779); -INSERT INTO `iam_role_path` VALUES (1762112867837095951, 1757298887092326400, 1762112351862206474); -INSERT INTO `iam_role_path` VALUES (1762112867837095952, 1757298887092326400, 1762112351866400791); -INSERT INTO `iam_role_path` VALUES (1762112867837095953, 1757298887092326400, 1762112351866400773); -INSERT INTO `iam_role_path` VALUES (1762112867837095954, 1757298887092326400, 1762112351866400768); -INSERT INTO `iam_role_path` VALUES (1762112867837095955, 1757298887092326400, 1762112351862206469); -INSERT INTO `iam_role_path` VALUES (1762112867837095956, 1757298887092326400, 1762112351862206468); -INSERT INTO `iam_role_path` VALUES (1762112867837095957, 1757298887092326400, 1762112351862206464); -INSERT INTO `iam_role_path` VALUES (1762112867837095958, 1757298887092326400, 1762112351866400792); -INSERT INTO `iam_role_path` VALUES (1762112867837095959, 1757298887092326400, 1762112351866400790); -INSERT INTO `iam_role_path` VALUES (1762112867837095960, 1757298887092326400, 1762112351866400781); -INSERT INTO `iam_role_path` VALUES (1762112867837095961, 1757298887092326400, 1762112351866400775); -INSERT INTO `iam_role_path` VALUES (1762112867837095962, 1757298887092326400, 1762112351862206466); -INSERT INTO `iam_role_path` VALUES (1762112867837095963, 1757298887092326400, 1762112351866400776); -INSERT INTO `iam_role_path` VALUES (1762112867837095964, 1757298887092326400, 1762112351862206470); -INSERT INTO `iam_role_path` VALUES (1762112867837095965, 1757298887092326400, 1762112351866400784); -INSERT INTO `iam_role_path` VALUES (1762112867837095966, 1757298887092326400, 1762112351866400777); -INSERT INTO `iam_role_path` VALUES (1762112867837095967, 1757298887092326400, 1762112351866400771); -INSERT INTO `iam_role_path` VALUES (1762112867837095968, 1757298887092326400, 1762112351862206467); -INSERT INTO `iam_role_path` VALUES (1762112867837095969, 1757298887092326400, 1762112351862206465); -INSERT INTO `iam_role_path` VALUES (1764931648924622848, 1757297023118462976, 1764663810424303620); -INSERT INTO `iam_role_path` VALUES (1764931648924622849, 1757297023118462976, 1764663810424303619); -INSERT INTO `iam_role_path` VALUES (1764931648924622850, 1757297023118462976, 1764663810424303618); -INSERT INTO `iam_role_path` VALUES (1764931648924622851, 1757297023118462976, 1764663810424303617); -INSERT INTO `iam_role_path` VALUES (1764931648924622852, 1757297023118462976, 1764663810424303616); -INSERT INTO `iam_role_path` VALUES (1768220144112201728, 1757297023118462976, 1768219994971140096); -INSERT INTO `iam_role_path` VALUES (1768220144112201729, 1757297023118462976, 1768219994979528705); -INSERT INTO `iam_role_path` VALUES (1768220144112201730, 1757297023118462976, 1768219994979528706); -INSERT INTO `iam_role_path` VALUES (1768220144611323904, 1757298887092326400, 1768219994971140096); -INSERT INTO `iam_role_path` VALUES (1768220144611323905, 1757298887092326400, 1768219994979528705); -INSERT INTO `iam_role_path` VALUES (1768220144611323906, 1757298887092326400, 1768219994979528706); -INSERT INTO `iam_role_path` VALUES (1772446949400571904, 1757297023118462976, 1772446740356460550); -INSERT INTO `iam_role_path` VALUES (1772446949400571905, 1757297023118462976, 1772446740356460549); -INSERT INTO `iam_role_path` VALUES (1772446949400571906, 1757297023118462976, 1772446740356460547); -INSERT INTO `iam_role_path` VALUES (1772446949400571907, 1757297023118462976, 1772446740356460546); -INSERT INTO `iam_role_path` VALUES (1772446949400571908, 1757297023118462976, 1772446740356460545); -INSERT INTO `iam_role_path` VALUES (1772446949400571909, 1757297023118462976, 1772446740356460544); -INSERT INTO `iam_role_path` VALUES (1772446949400571910, 1757297023118462976, 1772446740356460548); -INSERT INTO `iam_role_path` VALUES (1772446949400571911, 1757297023118462976, 1768219994979528711); -INSERT INTO `iam_role_path` VALUES (1772446949400571912, 1757297023118462976, 1768219994979528710); -INSERT INTO `iam_role_path` VALUES (1772446949400571913, 1757297023118462976, 1768219994979528704); -INSERT INTO `iam_role_path` VALUES (1772446949400571914, 1757297023118462976, 1768219994979528707); -INSERT INTO `iam_role_path` VALUES (1772446952005234688, 1757298887092326400, 1772446740356460550); -INSERT INTO `iam_role_path` VALUES (1772446952005234689, 1757298887092326400, 1772446740356460549); -INSERT INTO `iam_role_path` VALUES (1772446952005234690, 1757298887092326400, 1772446740356460547); -INSERT INTO `iam_role_path` VALUES (1772446952005234691, 1757298887092326400, 1772446740356460546); -INSERT INTO `iam_role_path` VALUES (1772446952005234692, 1757298887092326400, 1772446740356460545); -INSERT INTO `iam_role_path` VALUES (1772446952005234693, 1757298887092326400, 1772446740356460544); -INSERT INTO `iam_role_path` VALUES (1772446952005234694, 1757298887092326400, 1772446740356460548); -INSERT INTO `iam_role_path` VALUES (1772446952005234695, 1757298887092326400, 1768219994979528711); -INSERT INTO `iam_role_path` VALUES (1772446952005234696, 1757298887092326400, 1768219994979528710); -INSERT INTO `iam_role_path` VALUES (1772446952005234697, 1757298887092326400, 1768219994979528704); -INSERT INTO `iam_role_path` VALUES (1772447125519396864, 1757298887092326400, 1764663810424303620); -INSERT INTO `iam_role_path` VALUES (1772447125519396865, 1757298887092326400, 1764663810424303619); -INSERT INTO `iam_role_path` VALUES (1772447125519396866, 1757298887092326400, 1764663810424303618); -INSERT INTO `iam_role_path` VALUES (1772447125519396867, 1757298887092326400, 1764663810424303617); -INSERT INTO `iam_role_path` VALUES (1772447125519396868, 1757298887092326400, 1764663810424303616); -INSERT INTO `iam_role_path` VALUES (1780464836388855808, 1757297023118462976, 1780216505637138435); -INSERT INTO `iam_role_path` VALUES (1780464836388855809, 1757297023118462976, 1780418342852063247); -INSERT INTO `iam_role_path` VALUES (1780464836388855810, 1757297023118462976, 1780418342852063244); -INSERT INTO `iam_role_path` VALUES (1780464836388855811, 1757297023118462976, 1780418342852063238); -INSERT INTO `iam_role_path` VALUES (1780464836388855812, 1757297023118462976, 1780418342852063236); -INSERT INTO `iam_role_path` VALUES (1780464836388855813, 1757297023118462976, 1780418342852063235); -INSERT INTO `iam_role_path` VALUES (1780464836388855814, 1757297023118462976, 1780418342852063234); -INSERT INTO `iam_role_path` VALUES (1780464836388855815, 1757297023118462976, 1780418342852063232); -INSERT INTO `iam_role_path` VALUES (1780464836388855816, 1757297023118462976, 1780418342852063239); -INSERT INTO `iam_role_path` VALUES (1780464836388855817, 1757297023118462976, 1780418342852063243); -INSERT INTO `iam_role_path` VALUES (1780464836388855818, 1757297023118462976, 1780418342852063248); -INSERT INTO `iam_role_path` VALUES (1780464836388855819, 1757297023118462976, 1780418342852063246); -INSERT INTO `iam_role_path` VALUES (1780464836388855820, 1757297023118462976, 1780418342852063245); -INSERT INTO `iam_role_path` VALUES (1780464836388855821, 1757297023118462976, 1780418342852063242); -INSERT INTO `iam_role_path` VALUES (1780464836388855822, 1757297023118462976, 1780418342852063241); -INSERT INTO `iam_role_path` VALUES (1780464836388855823, 1757297023118462976, 1780418342852063240); -INSERT INTO `iam_role_path` VALUES (1780464836388855824, 1757297023118462976, 1780418342852063237); -INSERT INTO `iam_role_path` VALUES (1780464836388855825, 1757297023118462976, 1780418342852063233); -INSERT INTO `iam_role_path` VALUES (1780464836741177344, 1757298887092326400, 1780216505637138435); -INSERT INTO `iam_role_path` VALUES (1780464836741177346, 1757298887092326400, 1780418342852063244); -INSERT INTO `iam_role_path` VALUES (1780464836741177347, 1757298887092326400, 1780418342852063238); -INSERT INTO `iam_role_path` VALUES (1780464836741177348, 1757298887092326400, 1780418342852063236); -INSERT INTO `iam_role_path` VALUES (1780464836741177349, 1757298887092326400, 1780418342852063235); -INSERT INTO `iam_role_path` VALUES (1780464836741177351, 1757298887092326400, 1780418342852063232); -INSERT INTO `iam_role_path` VALUES (1780464836741177354, 1757298887092326400, 1780418342852063248); -INSERT INTO `iam_role_path` VALUES (1780464836741177355, 1757298887092326400, 1780418342852063246); -INSERT INTO `iam_role_path` VALUES (1780464836741177356, 1757298887092326400, 1780418342852063245); -INSERT INTO `iam_role_path` VALUES (1780464836741177357, 1757298887092326400, 1780418342852063242); -INSERT INTO `iam_role_path` VALUES (1780464836741177358, 1757298887092326400, 1780418342852063241); -INSERT INTO `iam_role_path` VALUES (1780464836741177359, 1757298887092326400, 1780418342852063240); -INSERT INTO `iam_role_path` VALUES (1780464836741177360, 1757298887092326400, 1780418342852063237); -INSERT INTO `iam_role_path` VALUES (1780464836741177361, 1757298887092326400, 1780418342852063233); -INSERT INTO `iam_role_path` VALUES (1780466020646395904, 1757297023118462976, 1780216505637138461); -INSERT INTO `iam_role_path` VALUES (1780466020646395905, 1757297023118462976, 1780216505637138460); -INSERT INTO `iam_role_path` VALUES (1780466020646395906, 1757297023118462976, 1780216505637138459); -INSERT INTO `iam_role_path` VALUES (1780466020646395907, 1757297023118462976, 1780216505637138454); -INSERT INTO `iam_role_path` VALUES (1780466020646395908, 1757297023118462976, 1780216505637138453); -INSERT INTO `iam_role_path` VALUES (1780466020646395909, 1757297023118462976, 1780216505637138451); -INSERT INTO `iam_role_path` VALUES (1780466020646395910, 1757297023118462976, 1780216505637138450); -INSERT INTO `iam_role_path` VALUES (1780466020646395911, 1757297023118462976, 1780216505637138443); -INSERT INTO `iam_role_path` VALUES (1780466020646395912, 1757297023118462976, 1780216505637138442); -INSERT INTO `iam_role_path` VALUES (1780466020646395913, 1757297023118462976, 1780216505637138437); -INSERT INTO `iam_role_path` VALUES (1780466020646395914, 1757297023118462976, 1780216505637138434); -INSERT INTO `iam_role_path` VALUES (1780466020646395915, 1757297023118462976, 1780216505637138433); -INSERT INTO `iam_role_path` VALUES (1780466020956774402, 1757298887092326400, 1780216505637138459); -INSERT INTO `iam_role_path` VALUES (1780466020956774403, 1757298887092326400, 1780216505637138454); -INSERT INTO `iam_role_path` VALUES (1780466020956774411, 1757298887092326400, 1780216505637138433); - --- ---------------------------- --- Table structure for iam_user_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_data_role`; -CREATE TABLE `iam_user_data_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '数据角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_dept`; -CREATE TABLE `iam_user_dept` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_expand_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_expand_info`; -CREATE TABLE `iam_user_expand_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `sex` int(4) NULL DEFAULT NULL COMMENT '性别', - `birthday` date NULL DEFAULT NULL COMMENT '生日', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '上次登录时间', - `current_login_time` datetime(0) NULL DEFAULT NULL COMMENT '本次登录时间', - `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', - `expire_password` bit(1) NOT NULL COMMENT '密码是否过期', - `last_change_password_time` datetime(0) NULL DEFAULT NULL COMMENT '上次修改密码时间', - `register_time` datetime(0) NOT NULL COMMENT '注册时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_expand_info --- ---------------------------- -INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', NULL, '2024-02-13 14:51:40', '2024-02-13 16:13:07', b'0', b'0', '2023-10-19 14:14:08', '2021-08-01 18:52:37', 1, '2021-06-02 15:04:15', 0, '2024-02-13 16:13:07', 419, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757299137932677120, 1, '2024-02-13', NULL, '2024-02-13 15:03:21', '2024-02-13 16:09:27', b'0', b'0', NULL, '2024-02-13 15:02:18', 1399985191002447872, '2024-02-13 15:02:18', 1757299137932677120, '2024-02-13 16:09:44', 3, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757317255899869184, NULL, NULL, NULL, NULL, '2024-02-13 16:17:59', b'0', b'0', NULL, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, '2024-02-13 16:17:59', 1, b'0'); - --- ---------------------------- --- Table structure for iam_user_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_info`; -CREATE TABLE `iam_user_info` ( - `id` bigint(20) NOT NULL, - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', - `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', - `client_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '关联终端ds', - `administrator` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', - `status` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_info --- ---------------------------- -INSERT INTO `iam_user_info` VALUES (1399985191002447872, 'Bootx', 'bootx', 'f52020dca765fd3943ed40a615dc2c5c', '13333333333', 'bootx@bootx.cn', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', b'1', 'normal', 1, '2021-06-02 15:04:15', 1399985191002447872, '2024-01-16 09:26:44', 64, 0); -INSERT INTO `iam_user_info` VALUES (1757299137932677120, 'DaxPay演示', 'daxpay', 'f52020dca765fd3943ed40a615dc2c5c', '14443332251', 'daxpay@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 15:02:18', 1757299137932677120, '2024-02-13 16:09:44', 2, 0); -INSERT INTO `iam_user_info` VALUES (1757317255899869184, 'DaxPay管理员', 'daxpayadmin', '1e9e3c3deaa4a06d08326e82a49d1b63', '12222333223', 'daxpayadmin@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, 0); - --- ---------------------------- --- Table structure for iam_user_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_role`; -CREATE TABLE `iam_user_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_role --- ---------------------------- -INSERT INTO `iam_user_role` VALUES (1757299293314863104, 1757299137932677120, 1757298887092326400); -INSERT INTO `iam_user_role` VALUES (1757317495407210496, 1757317255899869184, 1757297023118462976); - --- ---------------------------- --- Table structure for iam_user_third --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third`; -CREATE TABLE `iam_user_third` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', - `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', - `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', - `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', - `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', - `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', - `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_third_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third_info`; -CREATE TABLE `iam_user_third_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', - `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third_info --- ---------------------------- - --- ---------------------------- --- Table structure for miniapp_feedback_info --- ---------------------------- -DROP TABLE IF EXISTS `miniapp_feedback_info`; -CREATE TABLE `miniapp_feedback_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `classify` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '问题分类', - `time` datetime(0) NULL DEFAULT NULL COMMENT '时间', - `contact` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '联系方式', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '姓名', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '反馈用户ID', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户反馈信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of miniapp_feedback_info --- ---------------------------- - --- ---------------------------- --- Table structure for miniapp_user_protocol --- ---------------------------- -DROP TABLE IF EXISTS `miniapp_user_protocol`; -CREATE TABLE `miniapp_user_protocol` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '编码', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户协议' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of miniapp_user_protocol --- ---------------------------- - --- ---------------------------- --- Table structure for mtm_table --- ---------------------------- -DROP TABLE IF EXISTS `mtm_table`; -CREATE TABLE `mtm_table` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `h1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `date` date NULL DEFAULT NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = 'actable测试' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of mtm_table --- ---------------------------- - --- ---------------------------- --- Table structure for notice_mail_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_mail_config`; -CREATE TABLE `notice_mail_config` ( - `id` bigint(20) NOT NULL, - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', - `port` int(5) NOT NULL COMMENT '邮箱服务器 port', - `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', - `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', - `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', - `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', - `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', - `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_mail_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_message_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_message_template`; -CREATE TABLE `notice_message_template` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_message_template --- ---------------------------- -INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); - --- ---------------------------- --- Table structure for notice_site_message --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message`; -CREATE TABLE `notice_site_message` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', - `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', - `sender_time` datetime(0) NULL DEFAULT NULL COMMENT '发送时间', - `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', - `efficient_time` datetime(0) NULL DEFAULT NULL COMMENT '截至有效期', - `cancel_time` datetime(0) NULL DEFAULT NULL COMMENT '撤回时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message --- ---------------------------- - --- ---------------------------- --- Table structure for notice_site_message_user --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message_user`; -CREATE TABLE `notice_site_message_user` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `message_id` bigint(20) NOT NULL COMMENT '消息id', - `receive_id` bigint(20) NOT NULL COMMENT '接收者id', - `have_read` bit(1) NOT NULL COMMENT '已读/未读', - `read_time` datetime(0) NULL DEFAULT NULL COMMENT '已读时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', - INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message_user --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_channel_config`; -CREATE TABLE `notice_sms_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', - `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', - `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', - `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_channel_config --- ---------------------------- -INSERT INTO `notice_sms_channel_config` VALUES (1688432603289337856, 'alibaba', '阿里云短信', 'normal', '1', '{\"accessKeyId\":\"1231231231232111\",\"accessKeySecret\":\"12312312321111\",\"signature\":\"1231\",\"templateId\":\"2312313\",\"templateName\":\"123\",\"requestUrl\":\"五千二无二\",\"action\":\"SendSms\",\"version\":\"11\",\"regionId\":\"cn-hangzhou\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 14:11:17', 1414143554414059520, '2023-08-07 15:35:34', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688456604610953216, 'huawei', '华为云短信', 'normal', '1', '{\"appKey\":\"1231231231232\",\"appSecret\":\"1111\",\"signature\":\"1\",\"sender\":\"1\",\"templateId\":\"12\",\"statusCallBack\":\"1\",\"url\":\"1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 15:46:39', 1414143554414059520, '2023-08-07 15:46:49', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688461302302732288, 'yunpian', '云片短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"callbackUrl\":null,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 16:05:19', 1414143554414059520, '2023-08-08 14:12:23', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788784751001600, 'tencent', '腾讯短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"sdkAppId\":null,\"territory\":\"ap-guangzhou\",\"connTimeout\":60,\"requestUrl\":\"sms.tencentcloudapi.com\",\"action\":\"SendSms\",\"version\":\"2021-01-11\",\"service\":\"sms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:37', 1414143554414059520, '2023-08-08 13:46:37', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788807228276736, 'uni_sms', '合一短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"isSimple\":true,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:42', 1414143554414059520, '2023-08-08 13:46:43', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788823900635136, 'netease', '网易云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"templateUrl\":\"https://api.netease.im/sms/sendtemplate.action\",\"codeUrl\":\"https://api.netease.im/sms/sendcode.action\",\"verifyUrl\":\"https://api.netease.im/sms/verifycode.action\",\"needUp\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:46', 1414143554414059520, '2023-08-08 13:46:47', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788846944141312, 'ctyun', '天翼云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"requestUrl\":\"https://sms-global.ctapi.ctyun.cn/sms/api/v1\",\"action\":\"SendSms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:52', 1414143554414059520, '2023-08-08 13:46:52', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788862987354112, 'emay', '亿美短信', 'normal', '1', '{\"appId\":\"1\",\"secretKey\":\"1\",\"requestUrl\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:56', 1414143554414059520, '2023-08-08 14:03:04', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788885141667840, 'cloopen', '容联短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"appId\":null,\"baseUrl\":\"https://app.cloopen.com:8883/2013-12-26\",\"serverIp\":null,\"serverPort\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:01', 1414143554414059520, '2023-08-08 13:47:01', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788904481603584, 'jd_cloud', '京东短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"region\":\"cn-north-1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:06', 1414143554414059520, '2023-08-08 13:47:06', 0, b'0'); - --- ---------------------------- --- Table structure for notice_sms_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_config`; -CREATE TABLE `notice_sms_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', - `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime(0) NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime(0) NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_template`; -CREATE TABLE `notice_sms_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `supplier_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板名称', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '短信模板配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_template --- ---------------------------- - --- ---------------------------- --- Table structure for notice_wechat_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_wechat_config`; -CREATE TABLE `notice_wechat_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime(0) NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime(0) NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_wechat_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_config`; -CREATE TABLE `pay_alipay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知页面路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `auth_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', - `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', - `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', - `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', - `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', - `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_config --- ---------------------------- -INSERT INTO `pay_alipay_config` VALUES (0, '123456', b'1', 'ServerUrl/callback/pay/alipay', 'ServerUrl/return/pay/alipay', 'https://openapi.alipay.com/gateway.do', 'key', 'RSA2', 'ImfODRp7hnJ3DUk9fCes0Q==', 'ImfODRp7hnJ3DUk9fCes0Q==', NULL, NULL, NULL, b'0', 'wap,app,web,qrcode,barcode', NULL, 2000, '支付宝支付', 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-02-13 15:43:51', 23, b'0', b'1'); - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_detail`; -CREATE TABLE `pay_alipay_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间', - `end_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完成时间', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `operator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作员', - `terminal_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端号', - `other_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对方账户', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `real_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `alipay_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝红包(元)', - `jfb_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '集分宝(元)', - `alipay_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `coupon_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券核销金额(元)', - `coupon_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券名称', - `coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家红包消费金额(元)', - `card_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `batch_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款批次号/请求号', - `service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `split_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_total`; -CREATE TABLE `pay_alipay_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单总笔数', - `total_refund_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款订单总笔数', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `total_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `total_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `total_consume_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `total_service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `total_share_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `total_net_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实收净额(元)', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务汇总对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_record`; -CREATE TABLE `pay_alipay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `gateway_time` datetime(0) NULL DEFAULT NULL COMMENT '网关完成时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝流水记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group`; -CREATE TABLE `pay_allocation_group` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group_receiver`; -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order`; -CREATE TABLE `pay_allocation_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账订单号', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `gateway_pay_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关支付订单号', - `gateway_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关分账单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账处理结果', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `allocation_no`(`allocation_no`) USING BTREE COMMENT '分账单号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_detail`; -CREATE TABLE `pay_allocation_order_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime(0) NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_receiver`; -CREATE TABLE `pay_allocation_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '账号别名', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', - `sync` bit(1) NULL DEFAULT NULL COMMENT '是否已经同步到网关', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收方' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_api_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_api_config`; -CREATE TABLE `pay_api_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `api` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口地址', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `notice_support` bit(1) NULL DEFAULT NULL COMMENT '支持回调通知', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notice` bit(1) NULL DEFAULT NULL COMMENT '是否开启回调通知', - `notice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '默认通知地址', - `req_sign` bit(1) NULL DEFAULT NULL COMMENT '请求参数是否签名', - `res_sign` bit(1) NULL DEFAULT NULL COMMENT '响应参数是否签名', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调信息是否签名', - `record` bit(1) NULL DEFAULT NULL COMMENT '是否记录请求的信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付接口配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_api_config --- ---------------------------- -INSERT INTO `pay_api_config` VALUES (1, 'pay', '/uniPay/pay', '统一支付接口 ', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/payObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:41', 7, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (2, 'simplePay', '/uniPay/simplePay', '简单支付接口', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/payObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:44', 11, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (3, 'close', '/uniPay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (4, 'refund', '/uniPay/refund', '统一退款接口', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/refundObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:33', 4, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (5, 'simpleRefund', '/uniPay/simpleRefund', '简单退款接口', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/refundObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:38', 4, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (6, 'syncPay', '/uniPay/syncPay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (7, 'syncRefund', '/uniPay/syncRefund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (8, 'transfer', '/uniPay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (9, 'allocation', '/uniPay/allocation', '统一分账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (10, 'queryPayOrder', '/uniPay/queryPayOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (11, 'queryRefundOrder', '/uniPay/queryRefundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (12, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (13, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); - --- ---------------------------- --- Table structure for pay_callback_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_callback_record`; -CREATE TABLE `pay_callback_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单id', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关订单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `callback_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调类型', - `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '通知消息', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调处理状态', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网关回调通知' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_callback_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_cash_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_cash_config`; -CREATE TABLE `pay_cash_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '现金支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_cash_config --- ---------------------------- -INSERT INTO `pay_cash_config` VALUES (0, b'1', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); - --- ---------------------------- --- Table structure for pay_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_channel_config`; -CREATE TABLE `pay_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `icon_id` bigint(20) NULL DEFAULT NULL COMMENT 'ICON图片', - `bg_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡牌背景色', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付通道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_channel_config --- ---------------------------- -INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', NULL, NULL, b'1', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:21', 10, b'0'); -INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', NULL, NULL, b'1', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); -INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); -INSERT INTO `pay_channel_config` VALUES (4, 'cash_pay', '现金支付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); -INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); -INSERT INTO `pay_channel_config` VALUES (6, 'voucher_pay', '储值卡支付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); - --- ---------------------------- --- Table structure for pay_channel_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_channel_order`; -CREATE TABLE `pay_channel_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付id', - `async` bit(1) NULL DEFAULT NULL COMMENT '异步支付方式', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `pay_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款金额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `pay_time` datetime(0) NULL DEFAULT NULL COMMENT '支付完成时间', - `channel_extra` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加支付参数', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单关联支付时通道信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_channel_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_client_notice_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_record`; -CREATE TABLE `pay_client_notice_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `task_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID', - `req_count` int(11) NULL DEFAULT NULL COMMENT '请求次数', - `success` bit(1) NULL DEFAULT NULL COMMENT '发送是否成功', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `send_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送类型', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_client_notice_task --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_task`; -CREATE TABLE `pay_client_notice_task` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否发送成功', - `send_count` int(11) NULL DEFAULT NULL COMMENT '发送次数', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送地址', - `latest_time` datetime(0) NULL DEFAULT NULL COMMENT '最后发送时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `notice_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `order_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单状态', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_task --- ---------------------------- - --- ---------------------------- --- Table structure for pay_close_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_close_record`; -CREATE TABLE `pay_close_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付记录id', - `business_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务号', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关闭的异步支付通道', - `closed` bit(1) NULL DEFAULT NULL COMMENT '是否关闭成功', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付关闭记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_close_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_order`; -CREATE TABLE `pay_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `business_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联的业务号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `combination_pay` bit(1) NULL DEFAULT NULL COMMENT '是否是组合支付', - `async_pay` bit(1) NULL DEFAULT NULL COMMENT '是否是异步支付', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步支付通道', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `pay_time` datetime(0) NULL DEFAULT NULL COMMENT '支付时间', - `close_time` datetime(0) NULL DEFAULT NULL COMMENT '关闭时间', - `expired_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账', - `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `business_no`(`business_no`) USING BTREE COMMENT '业务业务号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_order_extra`; -CREATE TABLE `pay_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调通知时是否需要进行签名', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址,以最后一次为准', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', - `req_sign` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名', - `req_time` datetime(0) NULL DEFAULT NULL COMMENT '请求时间,传输时间戳,以最后一次为准', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_platform_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_platform_config`; -CREATE TABLE `pay_platform_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `website_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网站地址', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通知地址', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', - `order_timeout` int(11) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付平台配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_platform_config --- ---------------------------- -INSERT INTO `pay_platform_config` VALUES (0, 'http://127.0.0.1', 'HMAC_SHA256', '123456', 'http://127.0.0.1/h5/#/result/success', 'http://127.0.0.1/h5/#/result/success', 30, 0, '2024-01-02 20:23:19', 1757299137932677120, '2024-02-13 15:08:51', 3, b'0', 2000); - --- ---------------------------- --- Table structure for pay_reconcile_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_detail`; -CREATE TABLE `pay_reconcile_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地订单ID', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `order_time` datetime(0) NULL DEFAULT NULL COMMENT '订单时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_diff_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_diff_record`; -CREATE TABLE `pay_reconcile_diff_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `detail_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单明细ID', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', - `order_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单类型', - `diff_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', - `diffs` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '差异内容', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `order_time` datetime(0) NULL DEFAULT NULL COMMENT '订单时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账差异单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_diff_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_order`; -CREATE TABLE `pay_reconcile_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `batch_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次号', - `date` date NULL DEFAULT NULL COMMENT '日期', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `down` bit(1) NULL DEFAULT NULL COMMENT '是否下载成功', - `compare` bit(1) NULL DEFAULT NULL COMMENT '是否比对完成', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `批次号索引`(`batch_no`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账单订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_channel_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_channel_order`; -CREATE TABLE `pay_refund_channel_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `refund_id` bigint(20) NULL DEFAULT NULL COMMENT '关联退款id', - `pay_channel_id` bigint(20) NULL DEFAULT NULL COMMENT '通道支付单id', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `async` bit(1) NULL DEFAULT NULL COMMENT '异步支付方式', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `refundable_amount` int(11) NULL DEFAULT NULL COMMENT '剩余可退余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `refund_time` datetime(0) NULL DEFAULT NULL COMMENT '退款完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付退款通道订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_channel_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order`; -CREATE TABLE `pay_refund_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '原支付id', - `business_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原支付业务号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原支付标题', - `refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款号', - `async_pay` bit(1) NULL DEFAULT NULL COMMENT '是否含有异步通道', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通道', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '剩余可退', - `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', - `refund_time` datetime(0) NULL DEFAULT NULL COMMENT '退款完成时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order_extra`; -CREATE TABLE `pay_refund_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调通知时是否需要进行签名', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求签名值', - `req_sign` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求签名值', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `req_time` datetime(0) NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_repair_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_repair_record`; -CREATE TABLE `pay_repair_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复号', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `repair_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复类型', - `repair_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复来源', - `repair_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复方式', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复的异步通道', - `before_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复前状态', - `after_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复后状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付修复记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_repair_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_sync_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_sync_record`; -CREATE TABLE `pay_sync_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `sync_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步类型', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步的异步通道', - `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '同步消息', - `gateway_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', - `repair_order` bit(1) NULL DEFAULT NULL COMMENT '是否进行修复', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付同步订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_sync_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_transfer_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_transfer_order`; -CREATE TABLE `pay_transfer_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `amount` int(11) NULL DEFAULT NULL, - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `success_time` datetime(0) NULL DEFAULT NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '转账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_transfer_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_union_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_pay_config`; -CREATE TABLE `pay_union_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `mach_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `seller` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户收款账号', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', - `cert_sign` bit(1) NULL DEFAULT NULL COMMENT '是否为证书签名', - `key_private_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用私钥证书', - `key_private_cert_pwd` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '私钥证书对应的密码', - `acp_middle_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '中级证书', - `acp_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_pay_config --- ---------------------------- -INSERT INTO `pay_union_pay_config` VALUES (0, '123456', b'1', 'https://qra.95516.com/pay/gateway', 'ServerUrl/callback/pay/union', 'wap,app,web,qrcode,barcode,jsapi,b2b', NULL, NULL, 'RSA2', b'0', NULL, NULL, NULL, NULL, b'1', 'ServerUrl/return/pay/union', 0, '2024-03-06 22:56:22', 1399985191002447872, '2024-03-12 23:30:18', 11, b'0', 2000); - --- ---------------------------- --- Table structure for pay_union_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_pay_record`; -CREATE TABLE `pay_union_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `gateway_time` datetime(0) NULL DEFAULT NULL COMMENT '网关完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付流水记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_pay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_union_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_reconcile_bill_detail`; -CREATE TABLE `pay_union_reconcile_bill_detail` ( - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易代码', - `txn_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易传输时间', - `txn_amt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易金额', - `query_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '查询流水号', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号' -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_voucher --- ---------------------------- -DROP TABLE IF EXISTS `pay_voucher`; -CREATE TABLE `pay_voucher` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `card_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡号', - `face_value` int(11) NULL DEFAULT NULL COMMENT '面值', - `balance` int(11) NULL DEFAULT NULL COMMENT '余额', - `enduring` bit(1) NULL DEFAULT NULL COMMENT '是否长期有效', - `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - INDEX `card_no`(`card_no`) USING BTREE COMMENT '卡号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '储值卡' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_voucher --- ---------------------------- - --- ---------------------------- --- Table structure for pay_voucher_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_voucher_config`; -CREATE TABLE `pay_voucher_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '储值卡配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_voucher_config --- ---------------------------- -INSERT INTO `pay_voucher_config` VALUES (0, b'1', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 17:01:25', 7, b'0'); - --- ---------------------------- --- Table structure for pay_voucher_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_voucher_record`; -CREATE TABLE `pay_voucher_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `voucher_id` bigint(20) NULL DEFAULT NULL COMMENT '储值卡id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `old_amount` int(11) NULL DEFAULT NULL COMMENT '变动之前的金额', - `new_amount` int(11) NULL DEFAULT NULL COMMENT '变动之后的金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `voucher_id`(`voucher_id`) USING BTREE COMMENT '储值卡ID' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '储值卡记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_voucher_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet`; -CREATE TABLE `pay_wallet` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联用户id', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钱包名称', - `balance` int(11) NULL DEFAULT NULL COMMENT '余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - INDEX `用户ID索引`(`user_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_config`; -CREATE TABLE `pay_wallet_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_config --- ---------------------------- -INSERT INTO `pay_wallet_config` VALUES (0, b'1', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); - --- ---------------------------- --- Table structure for pay_wallet_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_record`; -CREATE TABLE `pay_wallet_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wallet_id` bigint(20) NULL DEFAULT NULL COMMENT '钱包id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `old_amount` int(11) NULL DEFAULT NULL COMMENT '变动之前的金额', - `new_amount` int(11) NULL DEFAULT NULL COMMENT '变动之后的金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `wallet_id`(`wallet_id`) USING BTREE COMMENT '钱包ID' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_way_info --- ---------------------------- -DROP TABLE IF EXISTS `pay_way_info`; -CREATE TABLE `pay_way_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_way_info --- ---------------------------- -INSERT INTO `pay_way_info` VALUES (1, 'normal', '常规支付', '同步支付使用这个', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:39:16', 1, b'0'); -INSERT INTO `pay_way_info` VALUES (2, 'wap', 'wap支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (3, 'app', '应用支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (4, 'web', 'web支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (6, 'barcode', '付款码', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (7, 'jsapi', '公众号/小程序支付', '主要是微信使用', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:38:57', 1, b'0'); - --- ---------------------------- --- Table structure for pay_wechat_notice_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_notice_config`; -CREATE TABLE `pay_wechat_notice_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用id', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用秘钥', - `qr_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众号二维码', - `oauth2_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'OAuth2地址', - `verify_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件名称', - `verify_file_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件内容', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息Id', - `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息内容', - `template_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息通知相关配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_notice_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_config`; -CREATE TABLE `pay_wechat_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wx_mch_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', - `wx_app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知路径', - `api_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口版本', - `api_key_v2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv2 密钥', - `api_key_v3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv3 密钥', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APPID对应的接口密码', - `p12` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'API证书中p12证书Base64', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_config --- ---------------------------- -INSERT INTO `pay_wechat_pay_config` VALUES (0, '123', '123', b'1', 'ServerUrl/callback/pay/wechat', 'ServerUrl/pay/wechat', 'apiV2', 'E0jIzPNngkpkZYL19H3vFQ==', 'E0jIzPNngkpkZYL19H3vFQ==', 'E0jIzPNngkpkZYL19H3vFQ==', 'E0jIzPNngkpkZYL19H3vFQ==', b'0', 'wap,app,jsapi,qrcode,barcode', NULL, 0, '2024-04-18 09:15:47', 1399985191002447872, '2024-04-18 09:16:22', 2025, b'0', 2000, b'1'); - --- ---------------------------- --- Table structure for pay_wechat_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_record`; -CREATE TABLE `pay_wechat_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `gateway_time` datetime(0) NULL DEFAULT NULL COMMENT '网关完成时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_detail`; -CREATE TABLE `pay_wechat_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `transaction_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易时间', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众账号ID', - `merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `sub_merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '特约商户号', - `wei_xin_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信订单号', - `mch_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户标识', - `device_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备号', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - `bank` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '付款银行', - `currency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货币种类', - `amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单金额', - `envelope_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代金券金额', - `wx_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信退款单号', - `mch_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款单号', - `refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款金额', - `coupon_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款金额', - `refund_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款类型', - `refund_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `mch_data_packet` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户数据包', - `premium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费', - `rates` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额', - `apply_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款金额', - `rates_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_total`; -CREATE TABLE `pay_wechat_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '总交易单数', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单总金额', - `total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款总金额', - `total_refund_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款总金额', - `total_fee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费总金额', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单总金额', - `apply_total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款总金额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单汇总' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_blob_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_blob_triggers`; -CREATE TABLE `qrtz_blob_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `BLOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_blob_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_calendars --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_calendars`; -CREATE TABLE `qrtz_calendars` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR` blob NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_calendars --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_cron_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_cron_triggers`; -CREATE TABLE `qrtz_cron_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_cron_triggers --- ---------------------------- -INSERT INTO `qrtz_cron_triggers` VALUES ('quartzScheduler', '1546857070483939328', 'DEFAULT', '0/5 * * * * ? *', 'Asia/Shanghai'); - --- ---------------------------- --- Table structure for qrtz_fired_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_fired_triggers`; -CREATE TABLE `qrtz_fired_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `FIRED_TIME` bigint(13) NOT NULL, - `SCHED_TIME` bigint(13) NOT NULL, - `PRIORITY` int(11) NOT NULL, - `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, - INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, - INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, - INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_fired_triggers --- ---------------------------- -INSERT INTO `qrtz_fired_triggers` VALUES ('quartzScheduler', 'NON_CLUSTERED1711420949184', '1546857070483939328', 'DEFAULT', 'NON_CLUSTERED', 1711421986284, 1711421990000, 5, 'ACQUIRED', NULL, NULL, '0', '0'); - --- ---------------------------- --- Table structure for qrtz_job_details --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_job_details`; -CREATE TABLE `qrtz_job_details` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_job_details --- ---------------------------- -INSERT INTO `qrtz_job_details` VALUES ('quartzScheduler', '1546857070483939328', 'DEFAULT', NULL, 'cn.bootx.platform.daxpay.service.task.PayExpiredTimeTask', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C77080000001000000001740009706172616D65746572707800); - --- ---------------------------- --- Table structure for qrtz_locks --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_locks`; -CREATE TABLE `qrtz_locks` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_locks --- ---------------------------- -INSERT INTO `qrtz_locks` VALUES ('quartzScheduler', 'TRIGGER_ACCESS'); - --- ---------------------------- --- Table structure for qrtz_paused_trigger_grps --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; -CREATE TABLE `qrtz_paused_trigger_grps` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_paused_trigger_grps --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_scheduler_state --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_scheduler_state`; -CREATE TABLE `qrtz_scheduler_state` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LAST_CHECKIN_TIME` bigint(13) NOT NULL, - `CHECKIN_INTERVAL` bigint(13) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_scheduler_state --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simple_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simple_triggers`; -CREATE TABLE `qrtz_simple_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REPEAT_COUNT` bigint(7) NOT NULL, - `REPEAT_INTERVAL` bigint(12) NOT NULL, - `TIMES_TRIGGERED` bigint(10) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simple_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simprop_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simprop_triggers`; -CREATE TABLE `qrtz_simprop_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `INT_PROP_1` int(11) NULL DEFAULT NULL, - `INT_PROP_2` int(11) NULL DEFAULT NULL, - `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, - `LONG_PROP_2` bigint(20) NULL DEFAULT NULL, - `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL, - `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL, - `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simprop_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_triggers`; -CREATE TABLE `qrtz_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PRIORITY` int(11) NULL DEFAULT NULL, - `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `START_TIME` bigint(13) NOT NULL, - `END_TIME` bigint(13) NULL DEFAULT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_triggers --- ---------------------------- -INSERT INTO `qrtz_triggers` VALUES ('quartzScheduler', '1546857070483939328', 'DEFAULT', '1546857070483939328', 'DEFAULT', NULL, 1711421995000, 1711421990000, 5, 'ACQUIRED', 'CRON', 1708844216000, 0, NULL, 0, ''); - --- ---------------------------- --- Table structure for starter_audit_data_version --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_data_version`; -CREATE TABLE `starter_audit_data_version` ( - `id` bigint(20) NOT NULL, - `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', - `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', - `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', - `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', - `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', - `version` int(10) NOT NULL COMMENT '版本', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_data_version --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_login_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_login_log`; -CREATE TABLE `starter_audit_login_log` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', - `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', - `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', - `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', - `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', - `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', - `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', - `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', - `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', - `login_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_login_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_operate_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_operate_log`; -CREATE TABLE `starter_audit_operate_log` ( - `id` bigint(20) NOT NULL, - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', - `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', - `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', - `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', - `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', - `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', - `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', - `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', - `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', - `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', - `operate_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_operate_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_ding_media_md5 --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_media_md5`; -CREATE TABLE `starter_ding_media_md5` ( - `id` bigint(20) NOT NULL, - `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', - `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_media_md5 --- ---------------------------- - --- ---------------------------- --- Table structure for starter_ding_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_robot_config`; -CREATE TABLE `starter_ding_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', - `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_data --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_data`; -CREATE TABLE `starter_file_data` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', - `data` longblob NULL COMMENT '数据方式存储', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_data --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_upload_info --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_upload_info`; -CREATE TABLE `starter_file_upload_info` ( - `id` bigint(20) NOT NULL COMMENT '文件id', - `url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件访问地址', - `size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小,单位字节', - `filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名称', - `original_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原始文件名', - `base_path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础存储路径', - `path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储路径', - `ext` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件扩展名', - `content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'MIME类型', - `platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储平台', - `th_url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图访问路径', - `th_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图名称', - `th_size` bigint(20) NULL DEFAULT NULL COMMENT '缩略图大小,单位字节', - `th_content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图MIME类型', - `object_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象id', - `object_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象类型,例如用户头像,评价图片', - `metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件元数据', - `user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件用户元数据', - `th_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图元数据', - `th_user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图用户元数据', - `attr` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '附加属性', - `file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件ACL', - `th_file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图文件ACL', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '文件记录表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_upload_info --- ---------------------------- - --- ---------------------------- --- Table structure for starter_quartz_job --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job`; -CREATE TABLE `starter_quartz_job` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', - `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', - `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', - `state` int(4) NULL DEFAULT NULL COMMENT '状态', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job --- ---------------------------- -INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.platform.starter.quartz.task.TestTask', '0/3 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2024-02-24 23:57:57', 29, 0); -INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.bootx.platform.daxpay.service.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 1, '检测超时的支付单, 超时后调用同步事件状态修复', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2024-02-25 14:56:56', 4, 0); -INSERT INTO `starter_quartz_job` VALUES (1761419490908958720, '客户系统通知重发任务', 'cn.bootx.platform.daxpay.service.task.ClientNoticeSendTask', '0/1 * * * * ? *', '', 1, '每秒调用一下当前需要进行通知的任务', 1399985191002447872, '2024-02-24 23:55:07', 1399985191002447872, '2024-03-05 23:05:09', 2, 0); -INSERT INTO `starter_quartz_job` VALUES (1764664552203743232, '支付宝定时对账', 'cn.bootx.platform.daxpay.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"ali_pay\",\"n\":1}', 1, '', 1399985191002447872, '2024-03-04 22:49:50', 1399985191002447872, '2024-03-10 11:19:17', 3, 0); -INSERT INTO `starter_quartz_job` VALUES (1764667388106887168, '微信支付定时对账', 'cn.bootx.platform.daxpay.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"wechat_pay\",\"n\":1}', 1, '', 1399985191002447872, '2024-03-04 23:01:06', 1399985191002447872, '2024-03-10 11:19:14', 3, 0); -INSERT INTO `starter_quartz_job` VALUES (1767553847839141888, '退款订单定时同步', 'cn.bootx.platform.daxpay.service.task.RefundSyncTask', '0 * * * * ? *', '', 1, '', 1399985191002447872, '2024-03-12 22:10:52', 1399985191002447872, '2024-03-12 22:10:59', 1, 0); - --- ---------------------------- --- Table structure for starter_quartz_job_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job_log`; -CREATE TABLE `starter_quartz_job_log` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', - `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', - `success` bit(1) NOT NULL COMMENT '是否执行成功', - `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间', - `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wecom_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_wecom_robot_config`; -CREATE TABLE `starter_wecom_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wecom_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_fans --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_fans`; -CREATE TABLE `starter_wx_fans` ( - `id` bigint(20) NOT NULL, - `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', - `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', - `subscribe_time` datetime(0) NULL DEFAULT NULL COMMENT '订阅时间', - `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', - `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', - `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', - `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', - `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', - `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_fans --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_menu --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_menu`; -CREATE TABLE `starter_wx_menu` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `publish` bit(1) NOT NULL COMMENT '是否发布', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_menu --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_template --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_template`; -CREATE TABLE `starter_wx_template` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `enable` bit(1) NOT NULL COMMENT '是否启用', - `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', - `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', - `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', - `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', - `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', - `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_template --- ---------------------------- - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.5/2.0.5.update.data.sql b/_config/mysql/2.0.5/2.0.5.update.data.sql deleted file mode 100644 index 11b6ffd9..00000000 --- a/_config/mysql/2.0.5/2.0.5.update.data.sql +++ /dev/null @@ -1,331 +0,0 @@ -SET FOREIGN_KEY_CHECKS = 0; - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775112798259302400, 'AllocationReceiverType', '分账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 18:47:26', 1399985191002447872, '2024-04-02 18:47:26', 0, 0); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122632706805760, 'AllocationRelationType', '分账关系类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 19:26:30', 1399985191002447872, '2024-04-02 19:26:30', 0, 0); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777697358802530304, 'AllocationOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-04-16 19:09:18', 0, 1); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780163691808391168, 'AllocationDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-04-16 17:23:37', 0, 2); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165499633106944, 'AllocationOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-04-16 17:25:04', 0, 0); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122126567559168, 1775112798259302400, 'AllocationReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122171861848064, 1775112798259302400, 'AllocationReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122227956469760, 1775112798259302400, 'AllocationReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122278170677248, 1775112798259302400, 'AllocationReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122427802472448, 1775112798259302400, 'AllocationReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122672623996928, 1775122632706805760, 'AllocationRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122710884438016, 1775122632706805760, 'AllocationRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122750612885504, 1775122632706805760, 'AllocationRelationType', 'STAFF', '员工', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:26:59', 1399985191002447872, '2024-04-02 19:26:59', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122847035740160, 1775122632706805760, 'AllocationRelationType', 'STORE_OWNER', '店主', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:27:22', 1399985191002447872, '2024-04-02 19:27:22', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122892464246784, 1775122632706805760, 'AllocationRelationType', 'PARTNER', '合作伙伴', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:27:32', 1399985191002447872, '2024-04-02 19:27:32', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122934138851328, 1775122632706805760, 'AllocationRelationType', 'HEADQUARTER', '总部', b'1', 6.00, '', 1399985191002447872, '2024-04-02 19:27:42', 1399985191002447872, '2024-04-02 19:27:42', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123560512016384, 1775122632706805760, 'AllocationRelationType', 'DISTRIBUTOR', '分销商', b'1', 7.00, '', 1399985191002447872, '2024-04-02 19:30:12', 1399985191002447872, '2024-04-02 19:30:12', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123607781822464, 1775122632706805760, 'AllocationRelationType', 'USER', '用户', b'1', 8.00, '', 1399985191002447872, '2024-04-02 19:30:23', 1399985191002447872, '2024-04-02 19:30:23', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123654527340544, 1775122632706805760, 'AllocationRelationType', 'SUPPLIER', '供应商', b'1', 9.00, '', 1399985191002447872, '2024-04-02 19:30:34', 1399985191002447872, '2024-04-02 19:30:34', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123705886593024, 1775122632706805760, 'AllocationRelationType', 'CUSTOM', '自定义', b'1', 10.00, '', 1399985191002447872, '2024-04-02 19:30:46', 1399985191002447872, '2024-04-02 19:30:46', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700713809522688, 1777697358802530304, 'AllocationOrderStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-09 22:10:53', 1399985191002447872, '2024-04-09 22:10:53', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700750744563712, 1777697358802530304, 'AllocationOrderStatus', 'allocation_processing', '分账处理中', b'1', 2.00, '', 1399985191002447872, '2024-04-09 22:11:02', 1399985191002447872, '2024-04-16 17:14:53', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700787453112320, 1777697358802530304, 'AllocationOrderStatus', 'allocation_end', '分账完成', b'1', 3.00, '', 1399985191002447872, '2024-04-09 22:11:10', 1399985191002447872, '2024-04-16 17:36:25', 0, 2); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700835826020352, 1777697358802530304, 'AllocationOrderStatus', 'allocation_failed', '分账失败', b'1', 4.00, '', 1399985191002447872, '2024-04-09 22:11:22', 1399985191002447872, '2024-04-16 17:16:34', 0, 2); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700870613577728, 1777697358802530304, 'AllocationOrderStatus', 'finish', '分账完结', b'1', 5.00, '', 1399985191002447872, '2024-04-09 22:11:30', 1399985191002447872, '2024-04-16 17:17:06', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700915450687488, 1777697358802530304, 'AllocationStatus', 'partial_failed', '部分分账失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:41', 1399985191002447872, '2024-04-16 17:16:49', 1, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700964087836672, 1777697358802530304, 'AllocationOrderStatus', 'finish_failed', '分账完结失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:53', 1399985191002447872, '2024-04-16 17:17:25', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777701030081015808, 1777697358802530304, 'AllocationStatus', 'closed', '分账关闭', b'1', 8.00, '', 1399985191002447872, '2024-04-09 22:12:08', 1399985191002447872, '2024-04-16 17:16:19', 1, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777701090676125696, 1777697358802530304, 'AllocationStatus', 'unknown', '分账状态未知', b'1', 9.00, '', 1399985191002447872, '2024-04-09 22:12:23', 1399985191002447872, '2024-04-16 17:16:16', 1, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780164864510623744, 1780163691808391168, 'AllocationDetailResult', 'pending', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:22:32', 1399985191002447872, '2024-04-16 17:22:32', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780164903886749696, 1780163691808391168, 'AllocationDetailResult', 'success', '分账成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:22:42', 1399985191002447872, '2024-04-16 17:22:42', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780164940712738816, 1780163691808391168, 'AllocationDetailResult', 'fail', '分账失败', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:22:50', 1399985191002447872, '2024-04-16 17:22:50', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165545665593344, 1780165499633106944, 'AllocationOrderResult', 'all_pending', '全部成功', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:25:15', 1399985191002447872, '2024-04-16 17:25:15', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165581623361536, 1780165499633106944, 'AllocationOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165617413357568, 1780165499633106944, 'AllocationOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165653350154240, 1780165499633106944, 'AllocationOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1775089099078553600, 'dax-pay', NULL, '分账管理', 'Allocation', NULL, b'0', 'ant-design:sliders-twotone', b'0', b'0', 'Layout', NULL, '/pay/allocation', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:13:15', 1399985191002447872, '2024-04-02 17:13:15', 0, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1775089820368818176, 'dax-pay', 1775089099078553600, '分账接收者', 'AllocationReceiverList', NULL, b'0', '', b'0', b'0', 'payment/allocation/receiver/AllocationReceiverList', NULL, '/pay/allocation/receiver', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:16:07', 1399985191002447872, '2024-04-02 17:23:13', 2, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1775091561835450368, 'dax-pay', 1775089099078553600, '分账组', 'AllocationGroupList', NULL, b'0', '', b'0', b'0', 'payment/allocation/group/AllocationGroupList', NULL, '/pay/allocation/group', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:23:03', 1399985191002447872, '2024-04-02 17:23:27', 1, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1777688382748700672, 'dax-pay', 1744642856348520448, '分账订单', 'AllocationOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/allocation/AllocationOrderList', NULL, '/pay/order/allocation', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-09 21:21:53', 1399985191002447872, '2024-04-09 21:21:53', 0, 0); - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1744642856348520448, `title` = '对账订单', `name` = 'ReconcileOrderList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'0', `hide_children_in_menu` = b'0', `component` = 'payment/order/reconcile/order/ReconcileOrderList.vue', `component_name` = NULL, `path` = '/pay/order/reconcile/list', `redirect` = '', `sort_no` = 0, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `admin` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-01-22 10:47:39', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 19:11:56', `version` = 5, `deleted` = 0 WHERE `id` = 1749262518385082368; - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1749262518385082368, `title` = '对账单', `name` = 'ReconcileOrderList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'0', `hide_children_in_menu` = b'0', `component` = 'payment/order/reconcile/order/ReconcileOrderList.vue', `component_name` = NULL, `path` = '/pay/order/reconcile/list', `redirect` = '', `sort_no` = 0, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `admin` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-03-04 21:05:43', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 19:12:02', `version` = 1, `deleted` = 1 WHERE `id` = 1764638353289027584; - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1749262518385082368, `title` = '差异单', `name` = 'ReconcileDiffList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'1', `hide_children_in_menu` = b'0', `component` = 'payment/order/reconcile/diff/ReconcileDiffList.vue', `component_name` = NULL, `path` = '/pay/order/reconcile/diff', `redirect` = '', `sort_no` = 0, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `admin` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-03-04 21:07:01', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 19:12:06', `version` = 2, `deleted` = 1 WHERE `id` = 1764638678821543936; - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138432, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '对账订单控制器', b'1', b'1', '对账订单控制器 同步分账结果', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138433, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138434, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138435, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138436, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138437, 'AllocationGroupController#unbindReceivers', '批量取消绑定接收者', 'POST', '/allocation/group/unbindReceivers', '分账组', b'1', b'1', '分账组 批量取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138438, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询明细详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138439, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '对账订单控制器', b'1', b'1', '对账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138440, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138441, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '对账接收方控制器', b'1', b'1', '对账接收方控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138442, 'AllocationGroupController#clearDefault', '清除默认分账组', 'POST', '/allocation/group/clearDefault', '分账组', b'1', b'1', '分账组 清除默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138443, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138444, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '对账订单控制器', b'1', b'1', '对账订单控制器 分账完结', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138445, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138446, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138447, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138448, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138449, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '对账接收方控制器', b'1', b'1', '对账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138450, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138451, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138452, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '对账接收方控制器', b'1', b'1', '对账接收方控制器 新增', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138453, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138454, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138455, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '对账接收方控制器', b'1', b'1', '对账接收方控制器 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138456, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '对账接收方控制器', b'1', b'1', '对账接收方控制器 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138457, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '对账接收方控制器', b'1', b'1', '对账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138458, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '对账接收方控制器', b'1', b'1', '对账接收方控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138459, 'AllocationGroupController#page', '分页', 'GET', '/allocation/group/page', '分账组', b'1', b'1', '分账组 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138460, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138461, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138462, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138463, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '对账订单控制器', b'1', b'1', '对账订单控制器 分账明细列表', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138464, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '对账订单控制器', b'1', b'1', '对账订单控制器 分账重试', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.845000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138465, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '对账订单控制器', b'1', b'1', '对账订单控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.839000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780417658844966912, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780417658844966913, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063232, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063233, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '分账订单控制器', b'1', b'1', '分账订单控制器 分账完结', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063234, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '分账接收方控制器', b'1', b'1', '分账接收方控制器 删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063235, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063236, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063237, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '分账订单控制器', b'1', b'1', '分账订单控制器 同步分账结果', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063238, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063239, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063240, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '分账订单控制器', b'1', b'1', '分账订单控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063241, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063242, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063243, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063244, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063245, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063246, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063247, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063248, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '分账订单控制器', b'1', b'1', '分账订单控制器 分账重试', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -UPDATE `iam_perm_path` SET `code` = 'TestController#wxcs', `name` = '微信回调测试', `request_type` = 'GET', `path` = '/test/wxcs/', `group_name` = '测试', `enable` = b'1', `generate` = b'1', `remark` = '测试 微信回调测试', `creator` = 1399985191002447872, `create_time` = '2024-02-13 14:55:54.138000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 20:47:44.531000', `deleted` = b'1', `version` = 0 WHERE `id` = 1757297527147974671; - -UPDATE `iam_perm_path` SET `code` = 'TestController#wxcs', `name` = '微信回调测试', `request_type` = 'GET', `path` = '/test/wxcs', `group_name` = '测试', `enable` = b'1', `generate` = b'1', `remark` = '测试 微信回调测试', `creator` = 1399985191002447872, `create_time` = '2024-02-13 14:55:54.138000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 20:47:44.526000', `deleted` = b'1', `version` = 0 WHERE `id` = 1757297527147974672; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945575888781312; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945575888781313; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945576350154752; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945576350154753; - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605440, 1757297023118462976, 'dax-pay', 1775089099078553600); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605441, 1757297023118462976, 'dax-pay', 1775089820368818176); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605442, 1757297023118462976, 'dax-pay', 1775091561835450368); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605443, 1757297023118462976, 'dax-pay', 1777688382748700672); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789632, 1757298887092326400, 'dax-pay', 1775089099078553600); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789633, 1757298887092326400, 'dax-pay', 1775089820368818176); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789634, 1757298887092326400, 'dax-pay', 1775091561835450368); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789635, 1757298887092326400, 'dax-pay', 1777688382748700672); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855808, 1757297023118462976, 1780216505637138435); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855809, 1757297023118462976, 1780418342852063247); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855810, 1757297023118462976, 1780418342852063244); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855811, 1757297023118462976, 1780418342852063238); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855812, 1757297023118462976, 1780418342852063236); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855813, 1757297023118462976, 1780418342852063235); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855814, 1757297023118462976, 1780418342852063234); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855815, 1757297023118462976, 1780418342852063232); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855816, 1757297023118462976, 1780418342852063239); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855817, 1757297023118462976, 1780418342852063243); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855818, 1757297023118462976, 1780418342852063248); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855819, 1757297023118462976, 1780418342852063246); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855820, 1757297023118462976, 1780418342852063245); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855821, 1757297023118462976, 1780418342852063242); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855822, 1757297023118462976, 1780418342852063241); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855823, 1757297023118462976, 1780418342852063240); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855824, 1757297023118462976, 1780418342852063237); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855825, 1757297023118462976, 1780418342852063233); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177344, 1757298887092326400, 1780216505637138435); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177346, 1757298887092326400, 1780418342852063244); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177347, 1757298887092326400, 1780418342852063238); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177348, 1757298887092326400, 1780418342852063236); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177349, 1757298887092326400, 1780418342852063235); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177351, 1757298887092326400, 1780418342852063232); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177354, 1757298887092326400, 1780418342852063248); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177355, 1757298887092326400, 1780418342852063246); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177356, 1757298887092326400, 1780418342852063245); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177357, 1757298887092326400, 1780418342852063242); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177358, 1757298887092326400, 1780418342852063241); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177359, 1757298887092326400, 1780418342852063240); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177360, 1757298887092326400, 1780418342852063237); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177361, 1757298887092326400, 1780418342852063233); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395904, 1757297023118462976, 1780216505637138461); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395905, 1757297023118462976, 1780216505637138460); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395906, 1757297023118462976, 1780216505637138459); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395907, 1757297023118462976, 1780216505637138454); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395908, 1757297023118462976, 1780216505637138453); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395909, 1757297023118462976, 1780216505637138451); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395910, 1757297023118462976, 1780216505637138450); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395911, 1757297023118462976, 1780216505637138443); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395912, 1757297023118462976, 1780216505637138442); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395913, 1757297023118462976, 1780216505637138437); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395914, 1757297023118462976, 1780216505637138434); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395915, 1757297023118462976, 1780216505637138433); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020956774402, 1757298887092326400, 1780216505637138459); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020956774403, 1757298887092326400, 1780216505637138454); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020956774411, 1757298887092326400, 1780216505637138433); - -UPDATE `pay_alipay_config` SET `app_id` = '123456', `enable` = b'1', `notify_url` = 'ServerUrl/callback/pay/alipay', `return_url` = 'ServerUrl/return/pay/alipay', `server_url` = 'https://openapi.alipay.com/gateway.do', `auth_type` = 'key', `sign_type` = 'RSA2', `alipay_public_key` = 'ImfODRp7hnJ3DUk9fCes0Q==', `private_key` = 'ImfODRp7hnJ3DUk9fCes0Q==', `app_cert` = NULL, `alipay_cert` = NULL, `alipay_root_cert` = NULL, `sandbox` = b'0', `pay_ways` = 'wap,app,web,qrcode,barcode', `alipay_user_id` = NULL, `single_limit` = 2000, `allocation` = b'1', `remark` = '支付宝支付', `creator` = 0, `create_time` = '2024-01-02 21:17:58', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-02-13 15:43:51', `version` = 23, `deleted` = b'0' WHERE `id` = 0; - -UPDATE `pay_platform_config` SET `website_url` = 'http://127.0.0.1', `sign_type` = 'HMAC_SHA256', `sign_secret` = '123456', `notify_url` = 'http://127.0.0.1/h5/#/result/success', `return_url` = 'http://127.0.0.1/h5/#/result/success', `order_timeout` = 30, `creator` = 0, `create_time` = '2024-01-02 20:23:19', `last_modifier` = 1757299137932677120, `last_modified_time` = '2024-02-13 15:08:51', `version` = 3, `deleted` = b'0', `limit_amount` = NULL WHERE `id` = 0; - -UPDATE `pay_union_pay_config` SET `mach_id` = '123456', `enable` = b'1', `server_url` = 'https://qra.95516.com/pay/gateway', `notify_url` = 'ServerUrl/callback/pay/union', `pay_ways` = 'wap,app,web,qrcode,barcode,jsapi,b2b', `remark` = NULL, `seller` = NULL, `sign_type` = 'RSA2', `cert_sign` = b'0', `key_private_cert` = NULL, `key_private_cert_pwd` = NULL, `acp_middle_cert` = NULL, `acp_root_cert` = NULL, `sandbox` = b'1', `return_url` = 'ServerUrl/return/pay/union', `creator` = 0, `create_time` = '2024-03-06 22:56:22', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-03-12 23:30:18', `version` = 11, `deleted` = b'0', `single_limit` = 2000 WHERE `id` = 0; - -UPDATE `pay_wechat_pay_config` SET `wx_mch_id` = '123', `wx_app_id` = '123', `enable` = b'1', `notify_url` = 'ServerUrl/callback/pay/wechat', `return_url` = 'ServerUrl/pay/wechat', `api_version` = 'apiV2', `api_key_v2` = 'E0jIzPNngkpkZYL19H3vFQ==', `api_key_v3` = 'E0jIzPNngkpkZYL19H3vFQ==', `app_secret` = 'E0jIzPNngkpkZYL19H3vFQ==', `p12` = 'E0jIzPNngkpkZYL19H3vFQ==', `sandbox` = b'0', `pay_ways` = 'wap,app,jsapi,qrcode,barcode', `remark` = NULL, `creator` = 0, `create_time` = '2024-04-18 09:15:47', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-18 09:16:22', `version` = 2025, `deleted` = b'0', `single_limit` = 2000, `allocation` = b'1' WHERE `id` = 0; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.5/2.0.5.update.table.sql b/_config/mysql/2.0.5/2.0.5.update.table.sql deleted file mode 100644 index 263f1228..00000000 --- a/_config/mysql/2.0.5/2.0.5.update.table.sql +++ /dev/null @@ -1,107 +0,0 @@ -SET FOREIGN_KEY_CHECKS=0; - -ALTER TABLE `pay_alipay_config` ADD COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账' AFTER `single_limit`; - -ALTER TABLE `pay_alipay_config` MODIFY COLUMN `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID' AFTER `pay_ways`; - -ALTER TABLE `pay_alipay_config` MODIFY COLUMN `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额' AFTER `alipay_user_id`; - -CREATE TABLE `pay_allocation_group` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账订单号', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `gateway_pay_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关支付订单号', - `gateway_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关分账单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账处理结果', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `allocation_no`(`allocation_no`) USING BTREE COMMENT '分账单号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_order_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime(0) NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '账号别名', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', - `sync` bit(1) NULL DEFAULT NULL COMMENT '是否已经同步到网关', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收方' ROW_FORMAT = DYNAMIC; - -ALTER TABLE `pay_order` ADD COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账' AFTER `deleted`; - -ALTER TABLE `pay_order` ADD COLUMN `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态' AFTER `allocation`; - -ALTER TABLE `pay_wechat_pay_config` ADD COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账' AFTER `single_limit`; - -SET FOREIGN_KEY_CHECKS=1; diff --git a/_config/mysql/2.0.6/2.0.6.dax-pay.backup.sql b/_config/mysql/2.0.6/2.0.6.dax-pay.backup.sql deleted file mode 100644 index 0a480bb9..00000000 --- a/_config/mysql/2.0.6/2.0.6.dax-pay.backup.sql +++ /dev/null @@ -1,3775 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server Type : MySQL - Source Server Version : 50743 (5.7.43-log) - - Target Server Type : MySQL - Target Server Version : 50743 (5.7.43-log) - File Encoding : 65001 - - Date: 13/05/2024 19:50:06 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for base_area --- ---------------------------- -DROP TABLE IF EXISTS `base_area`; -CREATE TABLE `base_area` ( - `code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '区域名称', - `city_code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '城市编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_city_code`(`city_code`) USING BTREE COMMENT '城市' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '县区表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_area --- ---------------------------- - --- ---------------------------- --- Table structure for base_china_word --- ---------------------------- -DROP TABLE IF EXISTS `base_china_word`; -CREATE TABLE `base_china_word` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `white` bit(1) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_china_word --- ---------------------------- - --- ---------------------------- --- Table structure for base_city --- ---------------------------- -DROP TABLE IF EXISTS `base_city`; -CREATE TABLE `base_city` ( - `code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '城市编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '城市名称', - `province_code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '省份编码', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '城市表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_city --- ---------------------------- - --- ---------------------------- --- Table structure for base_data_result_sql --- ---------------------------- -DROP TABLE IF EXISTS `base_data_result_sql`; -CREATE TABLE `base_data_result_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `is_list` bit(1) NULL DEFAULT NULL, - `sql` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '数据集SQL语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_data_result_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_dict --- ---------------------------- -DROP TABLE IF EXISTS `base_dict`; -CREATE TABLE `base_dict` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict --- ---------------------------- -INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); -INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); -INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); -INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); -INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); -INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); -INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); -INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); -INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); -INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); -INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); -INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); -INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); -INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据权限类型', b'1', '系统属性', '数据权限类型', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2023-11-28 23:14:24', 0, 4); -INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); -INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); -INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); -INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); -INSERT INTO `base_dict` VALUES (1744996611615039488, 'AsyncPayChannel', '异步支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:16:27', 1399985191002447872, '2024-01-10 16:16:27', 0, 0); -INSERT INTO `base_dict` VALUES (1744996845355212800, 'PayChannel', '支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:23', 1399985191002447872, '2024-01-10 16:17:23', 0, 0); -INSERT INTO `base_dict` VALUES (1744996913667842048, 'PayStatus', '支付状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:39', 1399985191002447872, '2024-01-10 16:17:39', 0, 0); -INSERT INTO `base_dict` VALUES (1745086859116224512, 'PayMethod', '支付方式', b'1', '支付', '', 1399985191002447872, '2024-01-10 22:15:04', 1399985191002447872, '2024-05-02 12:38:01', 0, 1); -INSERT INTO `base_dict` VALUES (1745109350333173760, 'PayCallbackStatus', '支付回调处理状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 23:44:26', 1399985191002447872, '2024-01-10 23:44:26', 0, 0); -INSERT INTO `base_dict` VALUES (1745128986382667776, 'PayRepairSource', '支付修复来源', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:02:28', 1399985191002447872, '2024-01-11 01:02:28', 0, 0); -INSERT INTO `base_dict` VALUES (1745134438772346880, 'PayRepairWay', '支付修复方式', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:24:08', 1399985191002447872, '2024-01-11 01:24:08', 0, 0); -INSERT INTO `base_dict` VALUES (1745748188122554368, 'RefundStatus', '退款状态', b'1', '支付', '', 1399985191002447872, '2024-01-12 18:02:57', 1399985191002447872, '2024-02-09 21:22:52', 0, 1); -INSERT INTO `base_dict` VALUES (1746208645341917184, 'PaySyncStatus', '支付同步结果', b'1', '支付', '', 1399985191002447872, '2024-01-14 00:32:39', 1399985191002447872, '2024-01-14 00:32:39', 0, 0); -INSERT INTO `base_dict` VALUES (1749612665392541696, 'ReconcileTrade', '支付对账交易类型', b'1', '支付', '', 1399985191002447872, '2024-01-23 09:59:00', 1399985191002447872, '2024-03-01 23:31:32', 0, 1); -INSERT INTO `base_dict` VALUES (1751603996496453632, 'PaymentType', '支付系统行为类型', b'1', '支付', '支付系统中常见的操作类型, 如支付/退款/转账等', 1399985191002447872, '2024-01-28 21:51:51', 1399985191002447872, '2024-01-28 21:51:51', 0, 0); -INSERT INTO `base_dict` VALUES (1751613032260370432, 'PayCallbackType', '回调类型', b'1', '支付', '', 1399985191002447872, '2024-01-28 22:27:45', 1399985191002447872, '2024-01-28 22:27:45', 0, 0); -INSERT INTO `base_dict` VALUES (1752560153120428032, 'RefundSyncStatus', '退款同步状态', b'1', '支付', '', 1399985191002447872, '2024-01-31 13:11:16', 1399985191002447872, '2024-01-31 13:11:16', 0, 0); -INSERT INTO `base_dict` VALUES (1753047382185091072, 'RefundRepairWay', '退款修复方式', b'1', '支付', '', 1399985191002447872, '2024-02-01 21:27:21', 1399985191002447872, '2024-02-01 21:27:21', 0, 0); -INSERT INTO `base_dict` VALUES (1758881354618220544, 'WalletStatus', '钱包状态', b'1', '支付', '', 1399985191002447872, '2024-02-17 23:49:28', 1399985191002447872, '2024-02-17 23:49:28', 0, 0); -INSERT INTO `base_dict` VALUES (1759189874194481152, 'VoucherStatus', '储值卡状态', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:15:25', 1399985191002447872, '2024-02-18 20:15:25', 0, 0); -INSERT INTO `base_dict` VALUES (1759190066511708160, 'WalletRecordType', '钱包记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:16:11', 1399985191002447872, '2024-02-18 20:16:11', 0, 0); -INSERT INTO `base_dict` VALUES (1759190427897135104, 'VoucherRecordType', '储值卡记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:17:37', 1399985191002447872, '2024-02-18 20:17:37', 0, 0); -INSERT INTO `base_dict` VALUES (1759190780252225536, 'CashRecordType', '现金记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:19:01', 1399985191002447872, '2024-02-19 22:07:09', 0, 1); -INSERT INTO `base_dict` VALUES (1761434095349624832, 'ClientNoticeType', '客户消息通知类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:09', 1399985191002447872, '2024-02-25 00:53:09', 0, 0); -INSERT INTO `base_dict` VALUES (1761434264858226688, 'ClientNoticeSendType', '客户消息通知发送类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:49', 1399985191002447872, '2024-02-25 00:53:49', 0, 0); -INSERT INTO `base_dict` VALUES (1761581634023583744, 'AlipayRecordType', '支付宝流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 10:39:25', 1399985191002447872, '2024-02-25 10:39:25', 0, 0); -INSERT INTO `base_dict` VALUES (1761588314480300032, 'WechatPayRecordType', '微信支付流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 11:05:58', 1399985191002447872, '2024-02-25 11:05:58', 0, 0); -INSERT INTO `base_dict` VALUES (1763588034467713024, 'ReconcileDiffType', '对账差异类型', b'1', '支付', '', 1399985191002447872, '2024-03-01 23:32:08', 1399985191002447872, '2024-03-01 23:32:08', 0, 0); -INSERT INTO `base_dict` VALUES (1766713545981153280, 'UnionPaySignType', '云闪付签名类型', b'1', '支付', '', 1399985191002447872, '2024-03-10 14:31:48', 1399985191002447872, '2024-03-10 14:31:48', 0, 0); -INSERT INTO `base_dict` VALUES (1768206399071809536, 'UnionPayRecordType', '云闪付流水类型', b'1', '支付', '', 1399985191002447872, '2024-03-14 17:23:52', 1399985191002447872, '2024-03-14 17:23:52', 0, 0); -INSERT INTO `base_dict` VALUES (1775112798259302400, 'AllocReceiverType', '分账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 18:47:26', 1399985191002447872, '2024-05-14 16:40:14', 0, 1); -INSERT INTO `base_dict` VALUES (1775122632706805760, 'AllocRelationType', '分账关系类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 19:26:30', 1399985191002447872, '2024-05-14 16:40:09', 0, 1); -INSERT INTO `base_dict` VALUES (1777697358802530304, 'AllocOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-05-14 16:40:04', 0, 2); -INSERT INTO `base_dict` VALUES (1780163691808391168, 'AllocDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-05-14 16:39:57', 0, 3); -INSERT INTO `base_dict` VALUES (1780165499633106944, 'AllocOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-05-14 16:39:36', 0, 1); -INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); -INSERT INTO `base_dict` VALUES (1786399552686465024, 'ReconcileResult', '对账结果', b'1', '支付', '', 1399985191002447872, '2024-05-03 22:16:58', 1399985191002447872, '2024-05-03 22:16:58', 0, 0); - --- ---------------------------- --- Table structure for base_dict_item --- ---------------------------- -DROP TABLE IF EXISTS `base_dict_item`; -CREATE TABLE `base_dict_item` ( - `id` bigint(20) NOT NULL, - `dict_id` bigint(20) NOT NULL COMMENT '字典id', - `dict_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典code', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项code', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `sort_no` double(8, 2) NOT NULL COMMENT '排序', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_dictionary_id`(`dict_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典项' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict_item --- ---------------------------- - -INSERT INTO `base_dict_item` VALUES (1422931375807242241, 1422929378374828033, 'Sex', '1', '男', b'1', 0.00, '男性', 0, '2021-08-04 22:44:11', 0, '2021-08-04 22:44:11', 0, 2); -INSERT INTO `base_dict_item` VALUES (1425729455402401794, 1422929378374828033, 'Sex', '2', '女', b'1', 0.00, '女性', 0, '2021-08-12 16:02:46', 0, '2021-08-12 16:02:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1425744258544136194, 1425744045414772737, 'MenuType', '0', '顶级菜单', b'1', 0.00, '顶级菜单', 0, '2021-08-12 17:01:35', 0, '2021-08-12 17:01:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744436592340993, 1425744045414772737, 'MenuType', '1', '子菜单', b'1', 0.00, '子菜单', 0, '2021-08-12 17:02:17', 0, '2021-08-12 17:02:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744470582980610, 1425744045414772737, 'MenuType', '2', '按钮权限', b'1', 0.00, '按钮权限', 0, '2021-08-12 17:02:26', 0, '2021-08-12 17:02:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1430094707250413568, 1422929378374828033, 'Sex', '0', '未知', b'1', 0.00, '不确定性别', 1399985191002447872, '2021-08-24 17:08:43', 1399985191002447872, '2021-08-24 17:08:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435830086406463488, 1435829999592759296, 'UserStatusCode', 'normal', '正常', b'1', 0.00, 'NORMAL', 1399985191002447872, '2021-09-09 12:59:04', 1399985191002447872, '2023-11-25 15:32:04', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435830141855162368, 1435829999592759296, 'UserStatusCode', 'lock', '锁定', b'1', 0.00, 'LOCK, 多次登录失败被锁定', 1399985191002447872, '2021-09-09 12:59:17', 1399985191002447872, '2023-11-25 15:32:14', 0, 2); -INSERT INTO `base_dict_item` VALUES (1435830260503633920, 1435829999592759296, 'UserStatusCode', 'ban', '封禁', b'1', 0.00, 'BAN', 1399985191002447872, '2021-09-09 12:59:45', 1399985191002447872, '2023-11-25 15:32:20', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435838374749626368, 1435838066191458304, 'LogBusinessType', 'other', '其它', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:00', 1399985191002447872, '2021-09-09 13:32:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838414436130816, 1435838066191458304, 'LogBusinessType', 'insert', '新增', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:09', 1399985191002447872, '2021-09-09 13:32:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838467624099840, 1435838066191458304, 'LogBusinessType', 'update', '修改', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:22', 1399985191002447872, '2021-09-09 13:32:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838502755590144, 1435838066191458304, 'LogBusinessType', 'delete', '删除', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:30', 1399985191002447872, '2021-09-09 13:32:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838546934194176, 1435838066191458304, 'LogBusinessType', 'grant', '授权', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:41', 1399985191002447872, '2021-09-09 13:32:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838605537009664, 1435838066191458304, 'LogBusinessType', 'export', '导出', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:55', 1399985191002447872, '2021-09-09 13:32:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838705457913856, 1435838066191458304, 'LogBusinessType', 'import', '导入', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:19', 1399985191002447872, '2021-09-09 13:33:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838745861644288, 1435838066191458304, 'LogBusinessType', 'force', '强退', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:28', 1399985191002447872, '2021-09-09 13:33:28', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838786273763328, 1435838066191458304, 'LogBusinessType', 'clean', '清空数据', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:38', 1399985191002447872, '2021-09-09 13:33:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438079113630003200, 1438078864509317120, 'MailSecurityCode', '1', '普通方式', b'1', 0.00, 'SECURITY_TYPE_PLAIN', 1399985191002447872, '2021-09-15 17:55:54', 1399985191002447872, '2021-09-15 17:55:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080323061755904, 1438078864509317120, 'MailSecurityCode', '2', 'TLS方式', b'1', 0.00, 'SECURITY_TYPE_TLS', 1399985191002447872, '2021-09-15 18:00:42', 1399985191002447872, '2021-09-15 18:00:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080372231581696, 1438078864509317120, 'MailSecurityCode', '3', 'SSL方式', b'1', 0.00, 'SECURITY_TYPE_SSL', 1399985191002447872, '2021-09-15 18:00:54', 1399985191002447872, '2021-09-15 18:00:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439961603914047488, 1439961232651034624, 'MessageTemplateCode', '5', '微信', b'1', -10.00, 'WECHAT', 1399985191002447872, '2021-09-20 22:36:14', 1399985191002447872, '2021-09-20 22:36:14', 0, 1); -INSERT INTO `base_dict_item` VALUES (1439961704321490944, 1439961232651034624, 'MessageTemplateCode', '4', 'Email', b'1', 0.00, 'EMAIL', 1399985191002447872, '2021-09-20 22:36:38', 1399985191002447872, '2021-09-20 22:36:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962132744478720, 1439961232651034624, 'MessageTemplateCode', '3', '短信', b'1', 0.00, 'SMS', 1399985191002447872, '2021-09-20 22:38:20', 1399985191002447872, '2021-09-20 22:38:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962205578567680, 1439961232651034624, 'MessageTemplateCode', '2', '钉钉机器人', b'1', 0.00, 'DING_TALK_ROBOT', 1399985191002447872, '2021-09-20 22:38:38', 1399985191002447872, '2021-09-20 22:38:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962267511660544, 1439961232651034624, 'MessageTemplateCode', '1', '钉钉', b'1', 0.00, 'DING_TALK', 1399985191002447872, '2021-09-20 22:38:52', 1399985191002447872, '2021-09-20 22:38:52', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452836696873984000, 1452836604783845376, 'SocialType', 'WeChat', '微信', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:17:16', 1399985191002447872, '2021-10-26 11:17:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837435482529792, 1452836604783845376, 'SocialType', 'QQ', 'QQ', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:12', 1399985191002447872, '2021-10-26 11:20:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837523030237184, 1452836604783845376, 'SocialType', 'DingTalk', '钉钉', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:33', 1399985191002447872, '2021-10-26 11:20:33', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844537911406592, 1452843488735621120, 'ParamType', '1', '系统参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:25', 1399985191002447872, '2021-10-26 11:48:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844565031776256, 1452843488735621120, 'ParamType', '2', '用户参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:32', 1399985191002447872, '2021-10-26 11:48:32', 0, 2); -INSERT INTO `base_dict_item` VALUES (1496026946344005632, 1496024933900169216, 'Political', '1', '中共党员', b'1', 1.00, '', 1399985191002447872, '2022-02-22 15:39:54', 1399985191002447872, '2022-02-22 15:39:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027004560945152, 1496024933900169216, 'Political', '2', '中共预备党员', b'1', 2.00, '', 1399985191002447872, '2022-02-22 15:40:07', 1399985191002447872, '2022-02-22 15:40:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027039264616448, 1496024933900169216, 'Political', '3', '共青团员', b'1', 3.00, '', 1399985191002447872, '2022-02-22 15:40:16', 1399985191002447872, '2022-02-22 15:40:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027077550223360, 1496024933900169216, 'Political', '4', '民革党员', b'1', 4.00, '', 1399985191002447872, '2022-02-22 15:40:25', 1399985191002447872, '2022-02-22 15:40:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027123461074944, 1496024933900169216, 'Political', '5', '民盟盟员', b'1', 5.00, '', 1399985191002447872, '2022-02-22 15:40:36', 1399985191002447872, '2022-02-22 15:40:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027197566038016, 1496024933900169216, 'Political', '6', '民建会员', b'1', 6.00, '', 1399985191002447872, '2022-02-22 15:40:53', 1399985191002447872, '2022-02-22 15:40:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027234803068928, 1496024933900169216, 'Political', '7', '民进会员', b'1', 7.00, '', 1399985191002447872, '2022-02-22 15:41:02', 1399985191002447872, '2022-02-22 15:41:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027272941875200, 1496024933900169216, 'Political', '8', '农工党党员', b'1', 8.00, '', 1399985191002447872, '2022-02-22 15:41:11', 1399985191002447872, '2022-02-22 15:41:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027306634719232, 1496024933900169216, 'Political', '9', '致公党党员', b'1', 9.00, '', 1399985191002447872, '2022-02-22 15:41:19', 1399985191002447872, '2022-02-22 15:41:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027369796743168, 1496024933900169216, 'Political', '10', '九三学社社员', b'1', 10.00, '', 1399985191002447872, '2022-02-22 15:41:34', 1399985191002447872, '2022-02-22 15:41:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027408141070336, 1496024933900169216, 'Political', '11', '台盟盟员', b'1', 11.00, '', 1399985191002447872, '2022-02-22 15:41:44', 1399985191002447872, '2022-02-22 15:41:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027456849522688, 1496024933900169216, 'Political', '12', '无党派人士', b'1', 12.00, '', 1399985191002447872, '2022-02-22 15:41:55', 1399985191002447872, '2022-02-22 15:41:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027516639326208, 1496024933900169216, 'Political', '13', '群众', b'1', 13.00, '', 1399985191002447872, '2022-02-22 15:42:09', 1399985191002447872, '2022-02-22 15:42:10', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003368762032128, 1561003021674987520, 'SiteMessageReceive', 'user', '指定用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:00', 1399985191002447872, '2022-08-20 22:53:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003399778910208, 1561003021674987520, 'SiteMessageReceive', 'all', '全部用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:07', 1399985191002447872, '2022-08-20 22:53:24', 0, 1); -INSERT INTO `base_dict_item` VALUES (1561003539772194816, 1561003189111603200, 'SiteMessageState', 'sent', '已发送', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:41', 1399985191002447872, '2022-08-20 22:53:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003575608328192, 1561003189111603200, 'SiteMessageState', 'cancel', '撤销', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:49', 1399985191002447872, '2022-08-20 22:53:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561245469535080448, 1561003189111603200, 'SiteMessageState', 'draft', '草稿', b'1', 0.00, '', 1399985191002447872, '2022-08-21 14:55:01', 1399985191002447872, '2022-08-21 14:55:01', 0, 0); -INSERT INTO `base_dict_item` VALUES (1573665422392098816, 1439961232651034624, 'MessageTemplateCode', '0', '站内信', b'1', -11.00, 'SITE', 1399985191002447872, '2022-09-24 21:27:29', 1399985191002447872, '2022-09-24 21:27:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528254477488128, 1589527951317389312, 'DataScopePerm', 'self_dept_sub', '所在及下级部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:43', 1399985191002447872, '2023-11-28 23:16:02', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528283539820544, 1589527951317389312, 'DataScopePerm', 'self_dept', '所在部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:49', 1399985191002447872, '2023-11-28 23:15:52', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528315672383488, 1589527951317389312, 'DataScopePerm', 'all', '全部数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:57', 1399985191002447872, '2023-11-25 22:51:28', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528340267782144, 1589527951317389312, 'DataScopePerm', 'dept_and_user', '自定义部门和用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:03', 1399985191002447872, '2023-11-29 15:25:01', 0, 3); -INSERT INTO `base_dict_item` VALUES (1589528367228768256, 1589527951317389312, 'DataScopePerm', 'dept', '自定义部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:09', 1399985191002447872, '2023-11-29 15:24:47', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528393292173312, 1589527951317389312, 'DataScopePerm', 'user', '指定用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:16', 1399985191002447872, '2023-11-29 15:25:16', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528423956729856, 1589527951317389312, 'DataScopePerm', 'self', '自身数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:23', 1399985191002447872, '2023-11-25 22:50:41', 0, 1); -INSERT INTO `base_dict_item` VALUES (1633403429028536320, 1633393287952257024, 'DatabaseType', 'mysql', 'MySQL', b'1', 1.00, '', 1414143554414059520, '2023-03-08 17:44:59', 1414143554414059520, '2023-03-08 17:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403459470794752, 1633393287952257024, 'DatabaseType', 'oracle', 'Oracle', b'1', 2.00, '', 1414143554414059520, '2023-03-08 17:45:07', 1414143554414059520, '2023-03-08 17:45:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403498695925760, 1633393287952257024, 'DatabaseType', 'mssql', 'SQLServer', b'1', 3.00, '', 1414143554414059520, '2023-03-08 17:45:16', 1414143554414059520, '2023-03-08 17:45:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742732891111424, 1688742690398617600, 'SmsChannel', 'alibaba', '阿里云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:38', 1414143554414059520, '2023-08-08 10:43:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742768479780864, 1688742690398617600, 'SmsChannel', 'huawei', '华为云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:46', 1414143554414059520, '2023-08-08 10:43:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742808027873280, 1688742690398617600, 'SmsChannel', 'yunpian', '云片', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:55', 1414143554414059520, '2023-08-08 10:43:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742840626003968, 1688742690398617600, 'SmsChannel', 'tencent', '腾讯云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:03', 1414143554414059520, '2023-08-08 10:44:03', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742872506908672, 1688742690398617600, 'SmsChannel', 'uni_sms', '合一短信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:11', 1414143554414059520, '2023-08-08 10:44:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742905553829888, 1688742690398617600, 'SmsChannel', 'jd_cloud', '京东云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:19', 1414143554414059520, '2023-08-08 10:44:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742954715267072, 1688742690398617600, 'SmsChannel', 'cloopen', '容联云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:30', 1414143554414059520, '2023-08-08 10:44:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742990446542848, 1688742690398617600, 'SmsChannel', 'emay', '亿美软通', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:39', 1414143554414059520, '2023-08-08 10:44:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743032297308160, 1688742690398617600, 'SmsChannel', 'ctyun', '天翼云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:49', 1414143554414059520, '2023-08-08 10:44:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743065205817344, 1688742690398617600, 'SmsChannel', 'netease', '网易云信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:57', 1414143554414059520, '2023-08-08 10:44:57', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338619024437248, 1690338321769918464, 'GeneralTemplateUseType', 'import', '导入', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:06', 1414143554414059520, '2023-08-12 20:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338653442895872, 1690338321769918464, 'GeneralTemplateUseType', 'export', '导出', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:15', 1414143554414059520, '2023-08-12 20:25:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338707129987072, 1690338545284378624, 'GeneralTemplateState', 'enable', '启用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:27', 1414143554414059520, '2023-08-12 20:25:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338748032839680, 1690338545284378624, 'GeneralTemplateState', 'disable', '停用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:37', 1414143554414059520, '2023-08-12 20:25:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1729519341702086656, 1589527951317389312, 'DataScopePerm', 'dept_sub', '指定部门及下级部门', b'1', 0.00, '', 1399985191002447872, '2023-11-28 23:15:19', 1399985191002447872, '2023-11-28 23:15:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997130102317056, 1744996845355212800, 'PayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:18:31', 1399985191002447872, '2024-01-10 16:18:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997169239367680, 1744996845355212800, 'PayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:18:40', 1399985191002447872, '2024-01-10 16:18:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997213623492608, 1744996845355212800, 'PayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:18:51', 1399985191002447872, '2024-01-10 16:18:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997258951335936, 1744996845355212800, 'PayChannel', 'cash_pay', '现金支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 16:19:02', 1399985191002447872, '2024-05-02 12:39:33', 1, 0); -INSERT INTO `base_dict_item` VALUES (1744997315557662720, 1744996845355212800, 'PayChannel', 'wallet_pay', '钱包支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:19:15', 1399985191002447872, '2024-01-10 16:19:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997364404527104, 1744996845355212800, 'PayChannel', 'voucher_pay', '储值卡支付', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:19:27', 1399985191002447872, '2024-05-02 12:39:29', 1, 0); -INSERT INTO `base_dict_item` VALUES (1744997501033979904, 1744996913667842048, 'PayStatus', 'progress', '支付中', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:19:59', 1399985191002447872, '2024-01-10 16:19:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997541811003392, 1744996913667842048, 'PayStatus', 'success', '成功', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:20:09', 1399985191002447872, '2024-01-10 16:20:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997578863484928, 1744996913667842048, 'PayStatus', 'close', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:20:18', 1399985191002447872, '2024-01-10 16:20:18', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997619665674240, 1744996913667842048, 'PayStatus', 'fail', '失败', b'1', 7.00, '', 1399985191002447872, '2024-01-10 16:20:28', 1399985191002447872, '2024-01-27 00:52:05', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-01-10 16:20:44', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-01-10 16:20:58', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085949967278080, 1744996611615039488, 'AsyncPayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:11:27', 1399985191002447872, '2024-01-10 22:11:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085991767711744, 1744996611615039488, 'AsyncPayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:11:37', 1399985191002447872, '2024-01-10 22:11:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745086048852189184, 1744996611615039488, 'AsyncPayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:11:51', 1399985191002447872, '2024-01-11 00:13:03', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086902929924096, 1745086859116224512, 'PayMethod', 'normal', '常规支付', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:15:14', 1399985191002447872, '2024-01-10 22:15:26', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086940036931584, 1745086859116224512, 'PayMethod', 'wap', 'wap支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:15:23', 1399985191002447872, '2024-01-10 22:15:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087004062982144, 1745086859116224512, 'PayMethod', 'app', '应用支付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:15:39', 1399985191002447872, '2024-01-10 22:15:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087058194669568, 1745086859116224512, 'PayMethod', 'web', 'web支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 22:15:51', 1399985191002447872, '2024-01-10 22:15:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087104050995200, 1745086859116224512, 'PayMethod', 'qrcode', '扫码支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 22:16:02', 1399985191002447872, '2024-01-10 22:16:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087163324899328, 1745086859116224512, 'PayMethod', 'barcode', '付款码', b'1', 6.00, '', 1399985191002447872, '2024-01-10 22:16:17', 1399985191002447872, '2024-01-10 22:16:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087221629919232, 1745086859116224512, 'PayMethod', 'jsapi', '公众号/小程序支付', b'1', 7.00, '', 1399985191002447872, '2024-01-10 22:16:30', 1399985191002447872, '2024-01-10 22:16:37', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109413893656576, 1745109350333173760, 'PayCallbackStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-10 23:44:41', 1399985191002447872, '2024-01-10 23:44:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109449050312704, 1745109350333173760, 'PayCallbackStatus', 'fail', '失败', b'1', 2.00, '', 1399985191002447872, '2024-01-10 23:44:50', 1399985191002447872, '2024-01-10 23:44:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109487289782272, 1745109350333173760, 'PayCallbackStatus', 'ignore', '忽略', b'1', 3.00, '', 1399985191002447872, '2024-01-10 23:44:59', 1399985191002447872, '2024-01-10 23:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109526477164544, 1745109350333173760, 'PayCallbackStatus', 'exception', '异常', b'1', 4.00, '', 1399985191002447872, '2024-01-10 23:45:08', 1399985191002447872, '2024-02-01 22:14:52', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109571771453440, 1745109350333173760, 'PayCallbackStatus', 'not_found', '未找到', b'1', 5.00, '', 1399985191002447872, '2024-01-10 23:45:19', 1399985191002447872, '2024-01-10 23:45:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745129035573465088, 1745128986382667776, 'PayRepairSource', 'sync', '同步', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:02:40', 1399985191002447872, '2024-01-11 01:02:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133530906857472, 1745128986382667776, 'PayRepairSource', 'callback', '回调', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:20:31', 1399985191002447872, '2024-01-11 01:20:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133583939637248, 1745128986382667776, 'PayRepairSource', 'reconcile', '对账', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:20:44', 1399985191002447872, '2024-01-11 01:20:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745134495319953408, 1745134438772346880, 'PayRepairWay', 'pay_success', '支付成功', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:24:21', 1399985191002447872, '2024-02-01 21:29:32', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134589926674432, 1745134438772346880, 'PayRepairWay', 'pay_close_local', '关闭本地支付', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:24:44', 1399985191002447872, '2024-02-01 21:29:36', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134628447162368, 1745134438772346880, 'PayRepairWay', 'pay_progress', '更改为支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:24:53', 1399985191002447872, '2024-02-01 22:02:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1745134664807583744, 1745134438772346880, 'PayRepairWay', 'pay_close_gateway', '关闭网关支付', b'1', 4.00, '', 1399985191002447872, '2024-01-11 01:25:02', 1399985191002447872, '2024-02-01 21:29:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134703416152064, 1745134438772346880, 'PayRepairWay', 'refund', '退款', b'1', 5.00, '', 1399985191002447872, '2024-01-11 01:25:11', 1399985191002447872, '2024-01-28 21:55:55', 1, 1); -INSERT INTO `base_dict_item` VALUES (1745748239158845440, 1745748188122554368, 'RefundStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-12 18:03:09', 1399985191002447872, '2024-01-12 18:03:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745748274525216768, 1745748188122554368, 'RefundStatus', 'fail', '失败', b'1', 3.00, '', 1399985191002447872, '2024-01-12 18:03:18', 1399985191002447872, '2024-01-27 00:51:02', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208700446683136, 1746208645341917184, 'PaySyncStatus', 'pay_fail', '支付查询失败', b'1', 1.00, '', 1399985191002447872, '2024-01-14 00:32:52', 1399985191002447872, '2024-02-01 21:59:17', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208760488144896, 1746208645341917184, 'PaySyncStatus', 'pay_success', '支付成功', b'1', 2.00, '', 1399985191002447872, '2024-01-14 00:33:06', 1399985191002447872, '2024-02-01 21:59:23', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208802531848192, 1746208645341917184, 'PaySyncStatus', 'pay_progress', '支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-14 00:33:16', 1399985191002447872, '2024-02-01 21:59:33', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208853882712064, 1746208645341917184, 'PaySyncStatus', 'pay_closed', '支付已关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-14 00:33:28', 1399985191002447872, '2024-02-01 21:59:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208898396860416, 1746208645341917184, 'PaySyncStatus', 'pay_refund', '支付退款', b'1', 5.00, '', 1399985191002447872, '2024-01-14 00:33:39', 1399985191002447872, '2024-02-01 21:59:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746208959721779200, 1746208645341917184, 'PaySyncStatus', 'pay_not_found', '交易不存在', b'1', 6.00, '', 1399985191002447872, '2024-01-14 00:33:54', 1399985191002447872, '2024-02-01 22:00:05', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224281904455680, 1746208645341917184, 'PaySyncStatus', 'pay_not_found_unknown', '交易不存在(特殊)', b'1', 7.00, '未查询到订单(具体类型未知), 区别于上面的未查询到订单,有些支付方式如支付宝,发起支付后并不能查询到订单,需要用户进行操作后才能查询到订单,所以查询为了区分,增加一个未知的状态, 用于处理这种特殊情况, 然后根据业务需要,关闭订单或者进行其他操作', 1399985191002447872, '2024-01-14 01:34:47', 1399985191002447872, '2024-02-01 22:00:13', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224432131842048, 1746208645341917184, 'PaySyncStatus', 'pay_timeout', '支付超时', b'1', 8.00, '', 1399985191002447872, '2024-01-14 01:35:23', 1399985191002447872, '2024-02-01 22:00:30', 0, 2); -INSERT INTO `base_dict_item` VALUES (1749612708363186176, 1749612665392541696, 'ReconcileTrade', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-23 09:59:11', 1399985191002447872, '2024-01-23 09:59:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612758531256320, 1749612665392541696, 'ReconcileTrade', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-23 09:59:23', 1399985191002447872, '2024-01-23 09:59:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612797680889856, 1749612665392541696, 'ReconcileTrade', 'revoked', '撤销', b'1', 3.00, '', 1399985191002447872, '2024-01-23 09:59:32', 1399985191002447872, '2024-01-23 09:59:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924188674404352, 1745748188122554368, 'RefundStatus', 'progress', '退款中', b'1', 0.00, '接口调用成功不代表成功', 1399985191002447872, '2024-01-27 00:50:32', 1399985191002447872, '2024-01-27 00:50:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924286401687552, 1745748188122554368, 'RefundStatus', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-01-27 00:50:55', 1399985191002447872, '2024-01-27 00:50:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-01-27 00:52:10', 0, 1); -INSERT INTO `base_dict_item` VALUES (1751528739035111424, 1751603996496453632, 'PaymentType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-28 16:52:48', 1399985191002447872, '2024-01-28 16:52:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751528773260632064, 1751603996496453632, 'PaymentType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-28 16:52:56', 1399985191002447872, '2024-01-28 16:52:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613076980039680, 1751613032260370432, 'PayCallbackType', 'pay', '支付回调', b'1', 1.00, '', 1399985191002447872, '2024-01-28 22:27:56', 1399985191002447872, '2024-01-28 22:27:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613114254819328, 1751613032260370432, 'PayCallbackType', 'refund', '退款回调', b'1', 2.00, '', 1399985191002447872, '2024-01-28 22:28:04', 1399985191002447872, '2024-01-28 22:28:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752216855927226368, 1745748188122554368, 'RefundStatus', 'close', '关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-30 14:27:08', 1399985191002447872, '2024-01-30 14:27:08', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752560213673594880, 1752560153120428032, 'RefundSyncStatus', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-01-31 13:11:31', 1399985191002447872, '2024-02-01 21:56:59', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560254228320256, 1752560153120428032, 'RefundSyncStatus', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-01-31 13:11:40', 1399985191002447872, '2024-02-01 21:57:07', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560288546115584, 1752560153120428032, 'RefundSyncStatus', 'refund_progress', '退款中', b'1', 3.00, '', 1399985191002447872, '2024-01-31 13:11:48', 1399985191002447872, '2024-02-01 21:57:45', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753044707091554304, 1745128986382667776, 'PayRepairSource', 'task', '定时任务', b'1', 4.00, '', 1399985191002447872, '2024-02-01 21:16:43', 1399985191002447872, '2024-02-01 21:16:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1753047429014495232, 1753047382185091072, 'RefundRepairWay', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-02-01 21:27:32', 1399985191002447872, '2024-02-01 21:29:13', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753047491140526080, 1753047382185091072, 'RefundRepairWay', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-02-01 21:27:47', 1399985191002447872, '2024-02-01 21:29:19', 0, 1); -INSERT INTO `base_dict_item` VALUES (1755939895162052608, 1745134438772346880, 'PayRepairWay', 'refund_success', '退款成功', b'1', 5.00, '会更新为部分退款和全部退款', 1399985191002447872, '2024-02-09 21:01:09', 1399985191002447872, '2024-02-09 21:10:22', 0, 2); -INSERT INTO `base_dict_item` VALUES (1755942271772139520, 1745134438772346880, 'PayRepairWay', 'refund_fail', '退款失败', b'1', 6.00, '', 1399985191002447872, '2024-02-09 21:10:36', 1399985191002447872, '2024-02-09 21:10:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881424411439104, 1758881354618220544, 'WalletStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-17 23:49:45', 1399985191002447872, '2024-02-17 23:49:45', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881470334873600, 1758881354618220544, 'WalletStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-17 23:49:56', 1399985191002447872, '2024-02-17 23:49:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189919170002944, 1759189874194481152, 'VoucherStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:15:36', 1399985191002447872, '2024-02-18 20:15:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189962564272128, 1759189874194481152, 'VoucherStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:15:46', 1399985191002447872, '2024-02-18 20:15:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190150464897024, 1759190066511708160, 'WalletRecordType', 'create', '创建', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:16:31', 1399985191002447872, '2024-02-18 20:16:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190193783668736, 1759190066511708160, 'WalletRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:16:41', 1399985191002447872, '2024-02-18 20:16:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190227510067200, 1759190066511708160, 'WalletRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:16:49', 1399985191002447872, '2024-02-18 20:16:56', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190291980713984, 1759190066511708160, 'WalletRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:17:04', 1399985191002447872, '2024-02-18 20:17:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190340517199872, 1759190066511708160, 'WalletRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:17:16', 1399985191002447872, '2024-02-19 17:31:26', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190472654553088, 1759190427897135104, 'VoucherRecordType', 'import', '导入', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:17:48', 1399985191002447872, '2024-02-18 20:17:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190506087350272, 1759190427897135104, 'VoucherRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:17:55', 1399985191002447872, '2024-02-18 20:18:16', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190574865547264, 1759190427897135104, 'VoucherRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:18:12', 1399985191002447872, '2024-02-18 20:18:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190633921347584, 1759190427897135104, 'VoucherRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:18:26', 1399985191002447872, '2024-02-18 20:18:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190717757095936, 1759190427897135104, 'VoucherRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:18:46', 1399985191002447872, '2024-02-19 17:31:20', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190820500766720, 1759190780252225536, 'CashRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:19:10', 1399985191002447872, '2024-02-18 20:19:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190850754281472, 1759190780252225536, 'CashRecordType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:19:18', 1399985191002447872, '2024-02-18 20:19:42', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190884061249536, 1759190780252225536, 'CashRecordType', 'close_pay', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:19:26', 1399985191002447872, '2024-02-18 20:19:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190913261993984, 1759190780252225536, 'CashrRecordType', 'close_refund', '退款关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:19:33', 1399985191002447872, '2024-02-19 17:31:15', 1, 1); -INSERT INTO `base_dict_item` VALUES (1759514962507554816, 1759190066511708160, 'WalletRecordType', 'recharge', '充值', b'1', 11.00, '', 1399985191002447872, '2024-02-19 17:47:12', 1399985191002447872, '2024-02-19 17:47:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759515000520531968, 1759190066511708160, 'WalletRecordType', 'deduct', '扣减', b'1', 12.00, '', 1399985191002447872, '2024-02-19 17:47:21', 1399985191002447872, '2024-02-19 17:47:21', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434142275497984, 1761434095349624832, 'ClientNoticeType', 'pay', '支付通知', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:53:20', 1399985191002447872, '2024-02-25 00:53:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434179445420032, 1761434095349624832, 'ClientNoticeType', 'refund', '退款通知', b'1', 2.00, '', 1399985191002447872, '2024-02-25 00:53:29', 1399985191002447872, '2024-02-25 00:53:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434308537708544, 1761434264858226688, 'ClientNoticeSendType', 'auto', '自动发送', b'1', 0.00, '', 1399985191002447872, '2024-02-25 00:54:00', 1399985191002447872, '2024-02-25 00:54:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434346206752768, 1761434264858226688, 'ClientNoticeSendType', 'manual', '手动发送', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:54:09', 1399985191002447872, '2024-02-25 00:54:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581686381080576, 1761581634023583744, 'AlipayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 10:39:37', 1399985191002447872, '2024-02-25 10:39:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581731029446656, 1761581634023583744, 'AlipayRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-02-25 10:39:48', 1399985191002447872, '2024-02-25 10:39:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588368863645696, 1761588314480300032, 'WechatPayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:11', 1399985191002447872, '2024-02-25 11:06:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588397825314816, 1761588314480300032, 'WechatPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:17', 1399985191002447872, '2024-02-25 11:06:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588081838182400, 1763588034467713024, 'ReconcileDiffType', 'local_not_exists', '本地订单不存在', b'1', 0.00, '', 1399985191002447872, '2024-03-01 23:32:19', 1399985191002447872, '2024-03-01 23:32:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588123143688192, 1763588034467713024, 'ReconcileDiffType', 'remote_not_exists', '远程订单不存在', b'1', 1.00, '', 1399985191002447872, '2024-03-01 23:32:29', 1399985191002447872, '2024-03-01 23:32:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588174695878656, 1763588034467713024, 'ReconcileDiffType', 'not_match', '订单信息不一致', b'1', 2.00, '', 1399985191002447872, '2024-03-01 23:32:41', 1399985191002447872, '2024-03-01 23:32:48', 0, 1); -INSERT INTO `base_dict_item` VALUES (1766713657021157376, 1766713545981153280, 'UnionPaySignType', 'RSA2', 'RSA2', b'1', 0.00, '', 1399985191002447872, '2024-03-10 14:32:14', 1399985191002447872, '2024-03-10 14:32:14', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206502721449984, 1768206399071809536, 'UnionPayRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-03-14 17:24:17', 1399985191002447872, '2024-03-14 17:24:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206547285929984, 1768206399071809536, 'UnionPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-03-14 17:24:27', 1399985191002447872, '2024-03-14 17:24:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122227956469760, 1775112798259302400, 'AllocReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122427802472448, 1775112798259302400, 'AllocReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122672623996928, 1775122632706805760, 'AllocRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122710884438016, 1775122632706805760, 'AllocRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122750612885504, 1775122632706805760, 'AllocRelationType', 'STAFF', '员工', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:26:59', 1399985191002447872, '2024-04-02 19:26:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122847035740160, 1775122632706805760, 'AllocRelationType', 'STORE_OWNER', '店主', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:27:22', 1399985191002447872, '2024-04-02 19:27:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122892464246784, 1775122632706805760, 'AllocRelationType', 'PARTNER', '合作伙伴', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:27:32', 1399985191002447872, '2024-04-02 19:27:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122934138851328, 1775122632706805760, 'AllocRelationType', 'HEADQUARTER', '总部', b'1', 6.00, '', 1399985191002447872, '2024-04-02 19:27:42', 1399985191002447872, '2024-04-02 19:27:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123560512016384, 1775122632706805760, 'AllocRelationType', 'DISTRIBUTOR', '分销商', b'1', 7.00, '', 1399985191002447872, '2024-04-02 19:30:12', 1399985191002447872, '2024-04-02 19:30:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123607781822464, 1775122632706805760, 'AllocRelationType', 'USER', '用户', b'1', 8.00, '', 1399985191002447872, '2024-04-02 19:30:23', 1399985191002447872, '2024-04-02 19:30:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123654527340544, 1775122632706805760, 'AllocRelationType', 'SUPPLIER', '供应商', b'1', 9.00, '', 1399985191002447872, '2024-04-02 19:30:34', 1399985191002447872, '2024-04-02 19:30:34', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123705886593024, 1775122632706805760, 'AllocRelationType', 'CUSTOM', '自定义', b'1', 10.00, '', 1399985191002447872, '2024-04-02 19:30:46', 1399985191002447872, '2024-04-02 19:30:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700713809522688, 1777697358802530304, 'AllocOrderStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-09 22:10:53', 1399985191002447872, '2024-04-09 22:10:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700750744563712, 1777697358802530304, 'AllocOrderStatus', 'allocation_processing', '分账处理中', b'1', 2.00, '', 1399985191002447872, '2024-04-09 22:11:02', 1399985191002447872, '2024-04-16 17:14:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700787453112320, 1777697358802530304, 'AllocOrderStatus', 'allocation_end', '分账完成', b'1', 3.00, '', 1399985191002447872, '2024-04-09 22:11:10', 1399985191002447872, '2024-04-16 17:36:25', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700835826020352, 1777697358802530304, 'AllocOrderStatus', 'allocation_failed', '分账失败', b'1', 4.00, '', 1399985191002447872, '2024-04-09 22:11:22', 1399985191002447872, '2024-04-16 17:16:34', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700870613577728, 1777697358802530304, 'AllocOrderStatus', 'finish', '分账完结', b'1', 5.00, '', 1399985191002447872, '2024-04-09 22:11:30', 1399985191002447872, '2024-04-16 17:17:06', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700915450687488, 1777697358802530304, 'AllocationStatus', 'partial_failed', '部分分账失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:41', 1399985191002447872, '2024-04-16 17:16:49', 1, 1); -INSERT INTO `base_dict_item` VALUES (1777700964087836672, 1777697358802530304, 'AllocOrderStatus', 'finish_failed', '分账完结失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:53', 1399985191002447872, '2024-04-16 17:17:25', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777701030081015808, 1777697358802530304, 'AllocationStatus', 'closed', '分账关闭', b'1', 8.00, '', 1399985191002447872, '2024-04-09 22:12:08', 1399985191002447872, '2024-04-16 17:16:19', 1, 0); -INSERT INTO `base_dict_item` VALUES (1777701090676125696, 1777697358802530304, 'AllocationStatus', 'unknown', '分账状态未知', b'1', 9.00, '', 1399985191002447872, '2024-04-09 22:12:23', 1399985191002447872, '2024-04-16 17:16:16', 1, 0); -INSERT INTO `base_dict_item` VALUES (1780164864510623744, 1780163691808391168, 'AllocDetailResult', 'pending', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:22:32', 1399985191002447872, '2024-04-16 17:22:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164903886749696, 1780163691808391168, 'AllocDetailResult', 'success', '分账成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:22:42', 1399985191002447872, '2024-04-16 17:22:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164940712738816, 1780163691808391168, 'AllocDetailResult', 'fail', '分账失败', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:22:50', 1399985191002447872, '2024-04-16 17:22:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165545665593344, 1780165499633106944, 'AllocOrderResult', 'all_pending', '全部处理中', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:25:15', 1399985191002447872, '2024-05-14 16:40:30', 0, 1); -INSERT INTO `base_dict_item` VALUES (1780165581623361536, 1780165499633106944, 'AllocOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165617413357568, 1780165499633106944, 'AllocOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165653350154240, 1780165499633106944, 'AllocOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1786399594956660736, 1786399552686465024, 'ReconcileResult', 'consistent', '一致', b'1', 0.00, '', 1399985191002447872, '2024-05-03 22:17:08', 1399985191002447872, '2024-05-03 22:17:08', 0, 0); -INSERT INTO `base_dict_item` VALUES (1786399681275437056, 1786399552686465024, 'ReconcileResult', 'inconsistent', '不一致', b'1', 1.00, '', 1399985191002447872, '2024-05-03 22:17:28', 1399985191002447872, '2024-05-03 22:17:28', 0, 0); - --- ---------------------------- --- Table structure for base_dynamic_data_source --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_data_source`; -CREATE TABLE `base_dynamic_data_source` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', - `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', - `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', - `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', - `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', - `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', - `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_data_source --- ---------------------------- - --- ---------------------------- --- Table structure for base_key_value --- ---------------------------- -DROP TABLE IF EXISTS `base_key_value`; -CREATE TABLE `base_key_value` ( - `id` bigint(20) NOT NULL, - `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_key_value --- ---------------------------- - --- ---------------------------- --- Table structure for base_param --- ---------------------------- -DROP TABLE IF EXISTS `base_param`; -CREATE TABLE `base_param` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', - `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `internal` bit(1) NOT NULL COMMENT '内置参数', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_param --- ---------------------------- -INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2024-01-07 23:31:08', 1, 0); -INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9000', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2024-02-27 13:10:12', 0, 4); -INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'https://localhost', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1399985191002447872, '2024-01-07 23:31:20', 0, 2); - --- ---------------------------- --- Table structure for base_province --- ---------------------------- -DROP TABLE IF EXISTS `base_province`; -CREATE TABLE `base_province` ( - `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', - `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_province --- ---------------------------- - --- ---------------------------- --- Table structure for base_street --- ---------------------------- -DROP TABLE IF EXISTS `base_street`; -CREATE TABLE `base_street` ( - `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', - `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_street --- ---------------------------- - --- ---------------------------- --- Table structure for base_village --- ---------------------------- -DROP TABLE IF EXISTS `base_village`; -CREATE TABLE `base_village` ( - `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', - `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', - `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_village --- ---------------------------- - --- ---------------------------- --- Table structure for common_sequence_range --- ---------------------------- -DROP TABLE IF EXISTS `common_sequence_range`; -CREATE TABLE `common_sequence_range` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', - `range_value` bigint(20) NOT NULL COMMENT '区间开始值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of common_sequence_range --- ---------------------------- - --- ---------------------------- --- Table structure for ddl_history --- ---------------------------- -DROP TABLE IF EXISTS `ddl_history`; -CREATE TABLE `ddl_history` ( - `script` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '脚本', - `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `version` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '版本', - PRIMARY KEY (`script`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'DDL 版本' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ddl_history --- ---------------------------- - --- ---------------------------- --- Table structure for iam_client --- ---------------------------- -DROP TABLE IF EXISTS `iam_client`; -CREATE TABLE `iam_client` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', - `login_type_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '关联登录方式\r\n', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '认证终端' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_client --- ---------------------------- -INSERT INTO `iam_client` VALUES (1580487061605175296, 'dax-pay', '支付网关', b'0', b'1', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', '支付网关管理端', 1399985191002447872, '2022-10-13 17:14:14', 1399985191002447872, '2023-10-19 19:58:21', 3, b'0'); - --- ---------------------------- --- Table structure for iam_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role`; -CREATE TABLE `iam_data_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_dept`; -CREATE TABLE `iam_data_role_dept` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_user --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_user`; -CREATE TABLE `iam_data_role_user` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_user --- ---------------------------- - --- ---------------------------- --- Table structure for iam_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_dept`; -CREATE TABLE `iam_dept` ( - `id` bigint(20) NOT NULL COMMENT 'ID', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', - `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', - `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', - `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', - `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', - `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', - `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', - `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_security_config`; -CREATE TABLE `iam_login_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `client_id` bigint(20) NULL DEFAULT NULL COMMENT '关联终端ID', - `require_login_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '修改密码是否需要重新登录', - `captcha_enable` bit(1) NULL DEFAULT NULL COMMENT '默认启用验证码', - `max_captcha_error_count` int(11) NULL DEFAULT NULL COMMENT '出现验证码的错误次数', - `allow_multi_login` bit(1) NULL DEFAULT NULL COMMENT '同端是否允许同时登录', - `allow_multi_terminal_login` bit(1) NULL DEFAULT NULL COMMENT '多终端是否允许同时登录', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '登录安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_security_config --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_type --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_type`; -CREATE TABLE `iam_login_type` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长(秒)', - `captcha_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证码类型', - `captcha` bit(1) NOT NULL COMMENT '启用验证码', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_type --- ---------------------------- -INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, '-1', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, b'0'); -INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, '0', b'0', b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, b'0'); -INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, b'0'); - --- ---------------------------- --- Table structure for iam_password_change_history --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_change_history`; -CREATE TABLE `iam_password_change_history` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码更改历史' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_change_history --- ---------------------------- - --- ---------------------------- --- Table structure for iam_password_login_fail_record --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_login_fail_record`; -CREATE TABLE `iam_password_login_fail_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `fail_count` int(11) NULL DEFAULT NULL COMMENT '登录失败次数', - `fail_time` datetime NULL DEFAULT NULL COMMENT '登录失败时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码登录失败记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_login_fail_record --- ---------------------------- - --- ---------------------------- --- Table structure for iam_password_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_security_config`; -CREATE TABLE `iam_password_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `max_pwd_error_count` int(11) NULL DEFAULT NULL COMMENT '最大密码错误数', - `error_lock_time` int(11) NULL DEFAULT NULL COMMENT '密码错误锁定时间(分钟)', - `require_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '强制修改初始密码', - `update_frequency` int(11) NULL DEFAULT NULL COMMENT '更新频率', - `expire_remind` int(11) NULL DEFAULT NULL COMMENT '到期提醒(天数)', - `same_as_login_name` bit(1) NULL DEFAULT NULL COMMENT '与登录名相同', - `recent_password` int(11) NULL DEFAULT NULL COMMENT '不能与近期多少次密码相同', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_security_config --- ---------------------------- -INSERT INTO `iam_password_security_config` VALUES (1714844168393515008, 9999999, 10, b'1', 9999999, 14, b'0', 5, 1399985191002447872, '2023-10-19 11:21:25', 1399985191002447872, '2023-11-29 12:10:21', 2, b'0'); - --- ---------------------------- --- Table structure for iam_perm_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_menu`; -CREATE TABLE `iam_perm_menu` ( - `id` bigint(20) NOT NULL, - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', - `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', - `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', - `hidden` bit(1) NOT NULL COMMENT '是否隐藏', - `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', - `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', - `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', - `sort_no` double NOT NULL COMMENT '菜单排序', - `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', - `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', - `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', - `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', - `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', - `admin` bit(1) NOT NULL COMMENT '系统菜单', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_menu --- ---------------------------- -INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'dax-pay', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'dax-pay', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'dax-pay', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'dax-pay', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'dax-pay', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'dax-pay', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'dax-pay', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'dax-pay', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'dax-pay', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'dax-pay', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'dax-pay', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'dax-pay', 1582249924602580992, '请求权限', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1399985191002447872, '2023-11-29 13:57:56', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'dax-pay', 1582249924602580992, '数据角色', 'DataRoleList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataRoleList.vue', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1399985191002447872, '2023-11-28 21:02:57', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'dax-pay', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'dax-pay', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'dax-pay', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'dax-pay', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'dax-pay', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'dax-pay', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'dax-pay', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'dax-pay', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'dax-pay', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'dax-pay', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'dax-pay', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'dax-pay', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'dax-pay', NULL, '关于', '', NULL, b'0', 'ant-design:info-circle-outlined', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1399985191002447872, '2024-01-14 23:09:56', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'dax-pay', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'dax-pay', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'dax-pay', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1733829906427682816, 'dax-pay', 1582275875424129024, '在线用户', 'OnlineUserList', NULL, b'0', '', b'0', b'0', '/modules/monitor/user/online/OnlineUserList', NULL, '/monitor/user/online', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-12-10 20:43:57', 1399985191002447872, '2023-12-10 20:43:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1744271715476684800, 'dax-pay', NULL, '支付配置', 'PayConfig', NULL, b'0', 'ant-design:setting-filled', b'0', b'0', 'Layout', NULL, '/pay/config', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:15:59', 1399985191002447872, '2024-01-09 15:38:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1744271715476684800, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-01-18 14:49:15', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1744271715476684800, '支付方式', 'PayMethodInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/method/PayMethodInfoList', NULL, '/pay/config/method', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-05-01 22:53:13', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1744271715476684800, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-01-10 11:52:20', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1744642856348520448, 'dax-pay', NULL, '订单管理', 'PayOrder', NULL, b'0', 'ant-design:wallet-outlined', b'0', b'0', 'Layout', NULL, '/pay/order', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:50:46', 1399985191002447872, '2024-01-09 16:53:35', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744643265142165504, 'dax-pay', NULL, '数据记录', 'PayRecord', NULL, b'0', 'ant-design:profile-outlined', b'0', b'0', 'Layout', NULL, '/pay/record', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:52:23', 1399985191002447872, '2024-01-09 16:53:50', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744930046228017152, 'dax-pay', 1744643265142165504, '回调记录', 'PayCallbackRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/callback/PayCallbackRecordList', NULL, '/pay/record/callback', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-10 11:51:57', 1399985191002447872, '2024-05-01 23:15:23', 10, 0); -INSERT INTO `iam_perm_menu` VALUES (1745126072389963776, 'dax-pay', 1744643265142165504, '关闭记录', 'PayCloseRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/close/PayCloseRecordList', NULL, '/pay/record/close', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 00:50:53', 1399985191002447872, '2024-01-11 00:50:53', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745136155962347520, 'dax-pay', 1744643265142165504, '修复记录', 'PayRepairRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/repair/PayRepairRecordList', NULL, '/pay/record/repair', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 01:30:57', 1399985191002447872, '2024-01-11 01:30:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745143528663781376, 'dax-pay', 1744643265142165504, '同步记录', 'PaySyncRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/sync/PaySyncRecordList', NULL, '/pay/record/sync', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 02:00:15', 1399985191002447872, '2024-01-11 02:00:33', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457623493496832, 'dax-pay', 1744642856348520448, '支付订单', 'PayOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/pay/PayOrderList', NULL, '/pay/order/pay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:21', 1399985191002447872, '2024-01-11 22:48:21', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457746529210368, 'dax-pay', 1744642856348520448, '退款订单', 'RefundOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/refund/RefundOrderList.vue', NULL, '/pay/order/refund', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:50', 1399985191002447872, '2024-01-21 22:50:29', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1745822093382230016, 'dax-pay', 1744271715476684800, '通道配置', 'ChannelPayConfigList', NULL, b'0', '', b'0', b'0', 'payment/channel/config/ChannelPayConfigList', NULL, '/pay/config/channelpay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-12 22:56:38', 1399985191002447872, '2024-02-06 14:32:08', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-01-13 23:38:00', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1749262518385082368, 'dax-pay', 1786808188825194496, '对账单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/reconcile/order', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-22 10:47:39', 1399985191002447872, '2024-05-05 17:09:14', 9, 0); -INSERT INTO `iam_perm_menu` VALUES (1759768820429352960, 'dax-pay', NULL, '演示模块', '', NULL, b'0', 'ant-design:crown-outlined', b'0', b'0', 'Layout', NULL, '/pay/demo', '', 9, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:35:56', 1399985191002447872, '2024-02-20 10:35:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759769092698402816, 'dax-pay', 1759768820429352960, '收银台演示', '', NULL, b'0', '', b'0', b'0', '', NULL, 'outside:///cashier', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:37:01', 1399985191002447872, '2024-02-20 10:37:01', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429304959528960, 'dax-pay', NULL, '支付通知', 'PayNotic', NULL, b'0', 'ant-design:clock-circle-outlined', b'0', b'0', 'Layout', NULL, '/pay/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:34:07', 1399985191002447872, '2024-05-08 15:31:04', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429682618855424, 'dax-pay', 1761429304959528960, '通知记录', 'ClientNoticeTaskList', NULL, b'0', '', b'0', b'0', 'payment/task/notice/ClientNoticeTaskList', NULL, '/pay/notice/record', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:35:37', 1399985191002447872, '2024-05-08 15:30:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089099078553600, 'dax-pay', NULL, '分账管理', 'Allocation', NULL, b'0', 'ant-design:sliders-twotone', b'0', b'0', 'Layout', NULL, '/pay/allocation', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:13:15', 1399985191002447872, '2024-04-02 17:13:15', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089820368818176, 'dax-pay', 1775089099078553600, '分账接收者', 'AllocationReceiverList', NULL, b'0', '', b'0', b'0', 'payment/allocation/receiver/AllocationReceiverList', NULL, '/pay/allocation/receiver', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:16:07', 1399985191002447872, '2024-04-02 17:23:13', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1775091561835450368, 'dax-pay', 1775089099078553600, '分账组', 'AllocationGroupList', NULL, b'0', '', b'0', b'0', 'payment/allocation/group/AllocationGroupList', NULL, '/pay/allocation/group', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:23:03', 1399985191002447872, '2024-04-02 17:23:27', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1777688382748700672, 'dax-pay', 1775089099078553600, '分账订单', 'AllocationOrderList', NULL, b'0', '', b'0', b'0', 'payment/allocation/order/AllocationOrderList', NULL, '/pay/allocation/order', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-09 21:21:53', 1399985191002447872, '2024-05-05 17:06:17', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1786808188825194496, 'dax-pay', NULL, '对账管理', 'Reconcile', NULL, b'0', 'ant-design:arrows-alt-outlined', b'0', b'0', 'Layout', NULL, '/pay/reconcile', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:20:44', 1399985191002447872, '2024-05-05 01:20:54', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1786810890951020544, 'dax-pay', 1786808188825194496, '对账差异', 'ReconcileDiffList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/diff/ReconcileDiffList.vue', NULL, '/pay/reconcile/diff', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:31:28', 1399985191002447872, '2024-05-05 17:08:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1786811341285052416, 'dax-pay', 1786808188825194496, '外部交易明细', 'ReconcileDetailList', NULL, b'0', '', b'1', b'0', 'payment/reconcile/detail/ReconcileDetailList.vue', NULL, '/pay/reconcile/detail', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:33:16', 1399985191002447872, '2024-05-05 20:24:24', 2, 0); - --- ---------------------------- --- Table structure for iam_perm_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_path`; -CREATE TABLE `iam_perm_path` ( - `id` bigint(20) NOT NULL, - `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', - `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', - `enable` bit(1) NOT NULL COMMENT '启用状态', - `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL, - `create_time` datetime(6) NULL DEFAULT NULL, - `last_modifier` bigint(20) NULL DEFAULT NULL, - `last_modified_time` datetime(6) NULL DEFAULT NULL, - `deleted` bit(1) NOT NULL, - `version` int(11) NOT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_path --- ---------------------------- -INSERT INTO `iam_perm_path` VALUES (1789978117562556416, 'UserInfoController#existsUsername', '账号是否被使用', 'GET', '/user/existsUsername', '用户管理', b'1', b'1', '用户管理 账号是否被使用', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556417, 'FIleUpLoadController#page', '分页', 'GET', '/file/page', '文件上传', b'1', b'1', '文件上传 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556418, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '分账订单控制器', b'1', b'1', '分账订单控制器 分账重试', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556419, 'WeChatPayConfigController#toBase64', '将文件转换成base64', 'POST', '/wechat/pay/config/toBase64', '微信支付配置', b'1', b'1', '微信支付配置 将文件转换成base64', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556420, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556421, 'UserThirdController#unbind', '解绑第三方账号', 'POST', '/user/third/unbind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 解绑第三方账号', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556422, 'ChinaRegionController#findAllProvince', '获取一级行政区', 'GET', '/china/region/findAllProvince', '中国行政区划', b'1', b'1', '中国行政区划 获取一级行政区', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556423, 'AllocationGroupController#unbindReceivers', '批量取消绑定接收者', 'POST', '/allocation/group/unbindReceivers', '分账组', b'1', b'1', '分账组 批量取消绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556424, 'DataRoleController#findUsersByDataRoleId', '获取关联的用户列表', 'GET', '/data/role/findUsersByDataRoleId', '数据角色配置', b'1', b'1', '数据角色配置 获取关联的用户列表', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556425, 'AggregateController#getInfo', '获取聚合支付信息', 'GET', '/demo/aggregate/getInfo', '聚合支付', b'1', b'1', '聚合支付 获取聚合支付信息', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556426, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/uni/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556427, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556428, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556429, 'PayMethodInfoController#update', '更新', 'POST', '/pay/method/info/update', '支付方式管理', b'1', b'1', '支付方式管理 更新', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556430, 'CashierController#getUniCashierUrl', '获取手机收银台链接', 'GET', '/demo/cashier/getUniCashierUrl', '结算台演示', b'1', b'1', '结算台演示 获取手机收银台链接', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556431, 'ReconcileOrderController#pageDiff', '对账差异分页', 'GET', '/order/reconcile/diff/page', '对账控制器', b'1', b'1', '对账控制器 对账差异分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556432, 'OnlineUserController#page', '分页', 'GET', '/online/user/page', '在线用户', b'1', b'1', '在线用户 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556433, 'UserInfoController#existsPhone', '手机号是否被使用(不包含自己)', 'GET', '/user/existsPhoneNotId', '用户管理', b'1', b'1', '用户管理 手机号是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556434, 'DataRoleController#add', '添加', 'POST', '/data/role/add', '数据角色配置', b'1', b'1', '数据角色配置 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556435, 'PlatformConfigController#getConfig', '获取平台配置', 'GET', '/platform/config/getConfig', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 获取平台配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556436, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556437, 'DataRoleController#findById', '获取', 'GET', '/data/role/findById', '数据角色配置', b'1', b'1', '数据角色配置 获取', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556438, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556439, 'UserDataRoleController#saveAssign', '给用户分配数据角色', 'POST', '/user/data/role/saveAssign', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配数据角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556440, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556441, 'SystemParamController#findByParamKey', '根据键名获取键值', 'GET', '/system/param/findByParamKey', '系统参数', b'1', b'1', '系统参数 根据键名获取键值', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556442, 'UserInfoController#bindEmail', '绑定邮箱', 'POST', '/user/bindEmail', '用户管理', b'1', b'1', '用户管理 绑定邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556443, 'RoleMenuController#save', '保存请求权限关系', 'POST', '/role/menu/save', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 保存请求权限关系', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556444, 'RoleController#findAll', '查询所有的角色', 'GET', '/role/findAll', '角色管理', b'1', b'1', '角色管理 查询所有的角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556445, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556446, 'PermPathController#add', '添加权限', 'POST', '/perm/path/add', '请求权限管理', b'1', b'1', '请求权限管理 添加权限', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556447, 'AuthAssistController#sendSmsCaptcha', '发送短信验证码', 'POST', '/auth/sendSmsCaptcha', '认证支撑接口', b'1', b'1', '认证支撑接口 发送短信验证码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556448, 'CockpitReportController#getRefundAmount', '退款金额(分)', 'GET', '/report/cockpit/getRefundAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款金额(分)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556449, 'PermMenuController#existsByPermCode', '编码是否被使用', 'GET', '/perm/menu/existsByPermCode', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556450, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556451, 'UserInfoController#updateEmail', '修改邮箱', 'POST', '/user/updateEmail', '用户管理', b'1', b'1', '用户管理 修改邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556452, 'AggregateController#createUrl', '创建聚合支付码', 'POST', '/demo/aggregate/createUrl', '聚合支付', b'1', b'1', '聚合支付 创建聚合支付码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556453, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556454, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556455, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556456, 'SystemParamController#add', '添加', 'POST', '/system/param/add', '系统参数', b'1', b'1', '系统参数 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556457, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556458, 'QuartzJobController#findById', '单条', 'GET', '/quartz/findById', '定时任务', b'1', b'1', '定时任务 单条', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556459, 'RoleController#existsByName', '名称是否被使用', 'GET', '/role/existsByName', '角色管理', b'1', b'1', '角色管理 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750720, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750721, 'UserInfoController#existsEmail', '邮箱是否被使用(不包含自己)', 'GET', '/user/existsEmailNotId', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750722, 'UniPayController#syncPay', '支付同步接口', 'POST', '/unipay/syncPay', '统一支付接口', b'1', b'1', '统一支付接口 支付同步接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750723, 'PermPathController#page', '权限分页', 'GET', '/perm/path/page', '请求权限管理', b'1', b'1', '请求权限管理 权限分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750724, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750725, 'DeptController#findById', '获取', 'GET', '/dept/findById', '部门管理', b'1', b'1', '部门管理 获取', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750726, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750727, 'DictionaryController#add', '添加', 'POST', '/dict/add', '字典', b'1', b'1', '字典 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750728, 'RefundOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/refund/getTotalAmount', '支付退款控制器', b'1', b'1', '支付退款控制器 查询金额汇总', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750729, 'UserInfoController#getUserBaseInfo', '查询用户基础信息', 'GET', '/user/getUserBaseInfo', '用户管理', b'1', b'1', '用户管理 查询用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750730, 'CockpitReportController#getRefundOrderCount', '退款订单数量', 'GET', '/report/cockpit/getRefundOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款订单数量', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750731, 'UserAdminController#update', '修改用户', 'POST', '/user/admin/update', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 修改用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750732, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750733, 'WalletConfigController#update', '更新', 'POST', '/wallet/config/update', '钱包配置', b'1', b'1', '钱包配置 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750734, 'DeptController#deleteAndChildren', '强制级联删除', 'DELETE', '/dept/deleteAndChildren', '部门管理', b'1', b'1', '部门管理 强制级联删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750735, 'PermPathController#deleteBatch', '批量删除', 'DELETE', '/perm/path/deleteBatch', '请求权限管理', b'1', b'1', '请求权限管理 批量删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750736, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750737, 'DataRoleController#saveDeptAssign', '保存关联部门', 'POST', '/data/role/saveDeptAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存关联部门', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750738, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750739, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750740, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750741, 'WalletController#recharge', '充值', 'POST', '/wallet/recharge', '钱包管理', b'1', b'1', '钱包管理 充值', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750742, 'UniPayAssistController#getWxAccessToken', '获取微信AccessToken', 'POST', '/unipay/assist/getWxAccessToken', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信AccessToken', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750743, 'FIleUpLoadController#getFileDownloadUrl', '获取文件下载地址(流量会经过后端)', 'GET', '/file/getFileDownloadUrl', '文件上传', b'1', b'1', '文件上传 获取文件下载地址(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750744, 'AllocationGroupController#clearDefault', '清除默认分账组', 'POST', '/allocation/group/clearDefault', '分账组', b'1', b'1', '分账组 清除默认分账组', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750745, 'DictionaryController#findById', '根据id获取', 'GET', '/dict/findById', '字典', b'1', b'1', '字典 根据id获取', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750746, 'ReconcileOrderController#compare', '手动触发交易对账单比对', 'POST', '/order/reconcile/compare', '对账控制器', b'1', b'1', '对账控制器 手动触发交易对账单比对', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750747, 'TestController#lock1', '锁测试1', 'GET', '/test/lock1', '测试', b'1', b'1', '测试 锁测试1', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750748, 'UserInfoController#updatePhone', '修改手机号', 'POST', '/user/updatePhone', '用户管理', b'1', b'1', '用户管理 修改手机号', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750749, 'UserInfoController#getLoginAfterUserInfo', '登录后获取用户信息', 'GET', '/user/getLoginAfterUserInfo', '用户管理', b'1', b'1', '用户管理 登录后获取用户信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750750, 'ClientController#delete', '删除', 'DELETE', '/client/delete', '认证终端', b'1', b'1', '认证终端 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750751, 'PayChannelConfigController#findAll', '查询全部', 'GET', '/pay/channel/config/findAll', '支付通道信息', b'1', b'1', '支付通道信息 查询全部', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750752, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750753, 'PayCloseRecordController#page', '分页查询', 'GET', '/record/close/page', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750754, 'UserInfoController#bindPhone', '绑定手机', 'POST', '/user/bindPhone', '用户管理', b'1', b'1', '用户管理 绑定手机', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750755, 'DictionaryItemController#update', '修改字典项(返回字典项对象)', 'POST', '/dict/item/update', '字典项', b'1', b'1', '字典项 修改字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750756, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750757, 'ChinaRegionController#findAllProvinceAndCityAndArea', ' 获取省市区县三级联动列表', 'GET', '/china/region/findAllProvinceAndCityAndArea', '中国行政区划', b'1', b'1', '中国行政区划 获取省市区县三级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750758, 'WalletConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/wallet/config/findPayWays', '钱包配置', b'1', b'1', '钱包配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750759, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750760, 'ReconcileOrderController#upload', '手动上传交易对账单文件', 'POST', '/order/reconcile/upload', '对账控制器', b'1', b'1', '对账控制器 手动上传交易对账单文件', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750761, 'SystemParamController#update', '更新', 'POST', '/system/param/update', '系统参数', b'1', b'1', '系统参数 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750762, 'PayCallbackRecordController#page', '分页查询', 'GET', '/record/callback/page', '支付回调信息记录', b'1', b'1', '支付回调信息记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750763, 'RefundOrderController#findByRefundNo', '查询退款订单详情', 'GET', '/order/refund/findByOrderNo', '支付退款控制器', b'1', b'1', '支付退款控制器 查询退款订单详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750764, 'ClientController#page', '分页查询', 'GET', '/client/page', '认证终端', b'1', b'1', '认证终端 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750765, 'UserAssistController#sendPhoneForgetCaptcha', '发送找回密码手机验证码', 'POST', '/user/sendPhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码手机验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750766, 'CashierController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/cashier/wxAuthCallback', '结算台演示', b'1', b'1', '结算台演示 微信授权回调页面', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750767, 'UserInfoController#getUserSecurityInfo', '查询用户安全信息', 'GET', '/user/getUserSecurityInfo', '用户管理', b'1', b'1', '用户管理 查询用户安全信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750768, 'PaySyncRecordController#findById', '查询单条', 'GET', '/record/sync/findById', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 查询单条', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750769, 'DataRoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/data/role/existsByCodeNotId', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750770, 'DataRoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/data/role/existsByNameNotId', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750771, 'UniQueryController#queryPayOrder', '支付订单查询接口', 'POST', '/uni/query/payOrder', '统一查询接口', b'1', b'1', '统一查询接口 支付订单查询接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750772, 'QuartzJobController#delete', '删除', 'DELETE', '/quartz/delete', '定时任务', b'1', b'1', '定时任务 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750773, 'PermMenuController#add', '添加菜单权限', 'POST', '/perm/menu/add', '菜单和权限码', b'1', b'1', '菜单和权限码 添加菜单权限', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750774, 'ChinaRegionController#findAllProvinceAndCity', '获取省市二级联动列表', 'GET', '/china/region/findAllProvinceAndCity', '中国行政区划', b'1', b'1', '中国行政区划 获取省市二级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750775, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750776, 'PermPathController#findById', '获取详情', 'GET', '/perm/path/findById', '请求权限管理', b'1', b'1', '请求权限管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750777, 'QuartzJobController#stop', '停止', 'POST', '/quartz/stop', '定时任务', b'1', b'1', '定时任务 停止', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750778, 'UserAssistController#sendEmailChangeCaptcha', '发送更改/绑定邮箱验证码', 'POST', '/user/sendEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750779, 'DictionaryController#page', '分页', 'GET', '/dict/page', '字典', b'1', b'1', '字典 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750780, 'OnlineUserController#kickOut', '踢出用户', 'GET', '/online/user/kickOut', '在线用户', b'1', b'1', '在线用户 踢出用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750781, 'UniPayController#refund', '统一退款接口', 'POST', '/unipay/refund', '统一支付接口', b'1', b'1', '统一支付接口 统一退款接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750782, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750783, 'ReconcileOrderController#downLocalCsv', '下载系统对账单(CSV格式)', 'GET', '/order/reconcile/downLocalCsv', '对账控制器', b'1', b'1', '对账控制器 下载系统对账单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750784, 'DataRoleController#delete', '删除', 'DELETE', '/data/role/delete', '数据角色配置', b'1', b'1', '数据角色配置 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750785, 'DataRoleController#deleteUserAssigns', '批量删除数据角色关联用户', 'DELETE', '/data/role/deleteUserAssigns', '数据角色配置', b'1', b'1', '数据角色配置 批量删除数据角色关联用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750786, 'ClientController#findById', '通过ID查询', 'GET', '/client/findById', '认证终端', b'1', b'1', '认证终端 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750787, 'ClientController#existsByCode', '编码是否被使用', 'GET', '/client/existsByCode', '认证终端', b'1', b'1', '认证终端 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750788, 'FIleUpLoadController#local', '上传', 'POST', '/file/upload', '文件上传', b'1', b'1', '文件上传 上传', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750789, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750790, 'PermMenuController#menuAndPermCodeTree', '获取菜单和权限码树', 'GET', '/perm/menu/menuAndPermCodeTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单和权限码树', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750791, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750792, 'UserInfoController#updatePassword', '修改密码', 'POST', '/user/updatePassword', '用户管理', b'1', b'1', '用户管理 修改密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750793, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750794, 'LoginTypeController#superPage', '超级查询', 'POST', '/loginType/superPage', '登录方式管理', b'1', b'1', '登录方式管理 超级查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750795, 'WalletController#page', '钱包分页', 'GET', '/wallet/page', '钱包管理', b'1', b'1', '钱包管理 钱包分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750796, 'UserAdminController#getUserInfoWhole', '查询用户详情', 'GET', '/user/admin/getUserInfoWhole', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 查询用户详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750797, 'AlipayConfigController#update', '更新', 'POST', '/alipay/config/update', '支付宝配置', b'1', b'1', '支付宝配置 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750798, 'UniPayController#syncRefund', '退款同步接口', 'POST', '/unipay/syncRefund', '统一支付接口', b'1', b'1', '统一支付接口 退款同步接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750799, 'QuartzJobController#add', '添加', 'POST', '/quartz/add', '定时任务', b'1', b'1', '定时任务 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750800, 'OperateLogController#page', '分页', 'GET', '/log/operate/page', '操作日志', b'1', b'1', '操作日志 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750801, 'ClientNoticeTaskController#findRecordById', '查询单条', 'GET', '/task/notice/record/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750802, 'OpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750803, 'PayOrderController#findById', '查询订单详情', 'GET', '/order/pay/findById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750804, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750805, 'DeptController#tree', '树状展示', 'GET', '/dept/tree', '部门管理', b'1', b'1', '部门管理 树状展示', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750806, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750807, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750808, 'LoginLogController#deleteByDay', '清除指定天数之前的日志', 'DELETE', '/log/login/deleteByDay', '登录日志', b'1', b'1', '登录日志 清除指定天数之前的日志', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750809, 'PayOrderController#syncById', '同步支付状态', 'POST', '/order/pay/syncByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 同步支付状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750810, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750811, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750812, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750813, 'QuartzJobLogController#page', '分页', 'GET', '/quartz/log/page', '定时任务执行日志', b'1', b'1', '定时任务执行日志 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750814, 'UserInfoController#updateBaseInfo', '修改用户基础信息', 'POST', '/user/updateBaseInfo', '用户管理', b'1', b'1', '用户管理 修改用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750815, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750816, 'DataRoleController#existsByCode', '编码是否被使用', 'GET', '/data/role/existsByCode', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750817, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750818, 'LoginTypeController#findById', '通过ID查询登录方式', 'GET', '/loginType/findById', '登录方式管理', b'1', b'1', '登录方式管理 通过ID查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750819, 'ReconcileOrderController#page', '对账单分页', 'GET', '/order/reconcile/page', '对账控制器', b'1', b'1', '对账控制器 对账单分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750820, 'UnionPayConfigController#findPayWays', '支持的支付方式', 'GET', '/union/pay/config/findPayWays', '云闪付配置', b'1', b'1', '云闪付配置 支持的支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750821, 'DataRoleController#getDeptIds', '获取关联部门id', 'GET', '/data/role/getDeptIds', '数据角色配置', b'1', b'1', '数据角色配置 获取关联部门id', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750822, 'PayOrderController#close', '关闭支付记录', 'POST', '/order/pay/close', '支付订单控制器', b'1', b'1', '支付订单控制器 关闭支付记录', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750823, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750824, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750825, 'CaptchaController#imgCaptcha', '获取图片验证码', 'POST', '/captcha/imgCaptcha', '验证码服务', b'1', b'1', '验证码服务 获取图片验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750826, 'SystemParamController#delete', '删除', 'DELETE', '/system/param/delete', '系统参数', b'1', b'1', '系统参数 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750827, 'UserInfoController#register', '注册账号', 'POST', '/user/register', '用户管理', b'1', b'1', '用户管理 注册账号', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750828, 'DictionaryItemController#add', '添加字典项(返回字典项对象)', 'POST', '/dict/item/add', '字典项', b'1', b'1', '字典项 添加字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750829, 'UserAdminController#restartPassword', '重置密码', 'POST', '/user/admin/restartPassword', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 重置密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750830, 'ClientController#update', '修改', 'POST', '/client/update', '认证终端', b'1', b'1', '认证终端 修改', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750831, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750832, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750833, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945024, 'ReconcileOrderController#downAndSave', '手动触发对账文件下载', 'POST', '/order/reconcile/downAndSave', '对账控制器', b'1', b'1', '对账控制器 手动触发对账文件下载', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945025, 'ForwardFrontController#toH5', 'toH5', 'GET', '/front/', 'ForwardFrontController', b'1', b'1', 'ForwardFrontController toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945026, 'RoleController#page', '分页查询角色', 'GET', '/role/page', '角色管理', b'1', b'1', '角色管理 分页查询角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945027, 'TokenEndpoint#logout', '退出', 'POST', '/token/logout', '认证相关', b'1', b'1', '认证相关 退出', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945028, 'PayChannelConfigController#findById', '根据ID获取', 'GET', '/pay/channel/config/findById', '支付通道信息', b'1', b'1', '支付通道信息 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945029, 'ReconcileOrderController#pageDetail', '对账明细分页', 'GET', '/order/reconcile/detail/page', '对账控制器', b'1', b'1', '对账控制器 对账明细分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945030, 'PasswordSecurityConfigController#getDefault', '获取配置', 'GET', '/security/password/getDefault', '密码安全策略', b'1', b'1', '密码安全策略 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945031, 'DictionaryItemController#findById', '根据字典项ID查询', 'GET', '/dict/item/findById', '字典项', b'1', b'1', '字典项 根据字典项ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945032, 'DictionaryItemController#findByDictionaryId', '查询指定字典ID下的所有字典项', 'GET', '/dict/item/findByDictionaryId', '字典项', b'1', b'1', '字典项 查询指定字典ID下的所有字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945033, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945034, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945035, 'DictionaryController#update', '更新', 'POST', '/dict/update', '字典', b'1', b'1', '字典 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945036, 'FIleUpLoadController#download', '下载文件(流量会经过后端)', 'GET', '/file/download/{id}', '文件上传', b'1', b'1', '文件上传 下载文件(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945037, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945038, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945039, 'AlipayConfigController#readPem', '读取证书文件内容', 'POST', '/alipay/config/readPem', '支付宝配置', b'1', b'1', '支付宝配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945040, 'ClientNoticeReceiveController#refund', '退款消息(对象)', 'POST', '/demo/callback/refundObject', '回调测试', b'1', b'1', '回调测试 退款消息(对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945041, 'PermMenuController#update', '修改菜单权限', 'POST', '/perm/menu/update', '菜单和权限码', b'1', b'1', '菜单和权限码 修改菜单权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945042, 'QuartzJobController#update', '更新', 'POST', '/quartz/update', '定时任务', b'1', b'1', '定时任务 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945043, 'RoleController#dropdown', '角色下拉框', 'GET', '/role/dropdown', '角色管理', b'1', b'1', '角色管理 角色下拉框', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945044, 'AggregateController#aliH5Pay', '支付宝通过聚合支付码发起支付', 'POST', '/demo/aggregate/aliH5Pay', '聚合支付', b'1', b'1', '聚合支付 支付宝通过聚合支付码发起支付', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945045, 'UserRoleController#findRolesByUser', '根据用户ID获取到角色集合', 'GET', '/user/role/findRolesByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945046, 'UserInfoController#existsPhone', '手机号是否被使用', 'GET', '/user/existsPhone', '用户管理', b'1', b'1', '用户管理 手机号是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945047, 'ClientNoticeReceiveController#pay', '支付消息(对象接收)', 'POST', '/demo/callback/payObject', '回调测试', b'1', b'1', '回调测试 支付消息(对象接收)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945048, 'PayMethodInfoController#findAll', '获取全部', 'GET', '/pay/method/info/findAll', '支付方式管理', b'1', b'1', '支付方式管理 获取全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945049, 'LoginTypeController#page', '分页查询登录方式', 'GET', '/loginType/page', '登录方式管理', b'1', b'1', '登录方式管理 分页查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945050, 'DictionaryItemController#findAllByEnable', '获取启用的字典项列表', 'GET', '/dict/item/findAllByEnable', '字典项', b'1', b'1', '字典项 获取启用的字典项列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945051, 'RolePathController#save', '保存角色请求权限关联关系', 'POST', '/role/path/save', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 保存角色请求权限关联关系', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945052, 'WalletController#findById', '查询钱包详情', 'GET', '/wallet/findById', '钱包管理', b'1', b'1', '钱包管理 查询钱包详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945053, 'OnlineUserController#pageByLogin', '登录用户分页', 'GET', '/online/user/pageByLogin', '在线用户', b'1', b'1', '在线用户 登录用户分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945054, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945055, 'DictionaryController#delete', '根据id删除', 'DELETE', '/dict/delete', '字典', b'1', b'1', '字典 根据id删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945056, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945057, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945058, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945059, 'AlipayConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/alipay/config/findPayWays', '支付宝配置', b'1', b'1', '支付宝配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945060, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945061, 'ClientNoticeReceiveController#refund', '退款消息', 'POST', '/demo/callback/refund', '回调测试', b'1', b'1', '回调测试 退款消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945062, 'CashierController#getPayEnv', '获取支付环境', 'GET', '/demo/cashier/getPayEnv', '结算台演示', b'1', b'1', '结算台演示 获取支付环境', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945063, 'UserAdminController#banBatch', '批量封禁用户', 'POST', '/user/admin/banBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945064, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945065, 'DictionaryItemController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/item/existsByCodeNotId', '字典项', b'1', b'1', '字典项 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945066, 'DictionaryItemController#pageByDictionaryId', '分页查询指定字典下的字典项', 'GET', '/dict/item/pageByDictionaryId', '字典项', b'1', b'1', '字典项 分页查询指定字典下的字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945067, 'AggregateController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/aggregate/wxAuthCallback', '聚合支付', b'1', b'1', '聚合支付 微信授权回调页面', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945068, 'LoginTypeController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/loginType/existsByCodeNotId', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945069, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945070, 'FIleUpLoadController#getFilePreviewUrl', '获取文件预览地址(流量会经过后端)', 'GET', '/file/getFilePreviewUrl', '文件上传', b'1', b'1', '文件上传 获取文件预览地址(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945071, 'LoginTypeController#findByCode', '通过code查询登录方式', 'GET', '/loginType/findByCode', '登录方式管理', b'1', b'1', '登录方式管理 通过code查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945072, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945073, 'PayOrderController#findByOrderNo', '查询订单详情', 'GET', '/order/pay/findByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945074, 'ReconcileOrderController#findById', '对账单详情', 'GET', '/order/reconcile/findById', '对账控制器', b'1', b'1', '对账控制器 对账单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945075, 'UserAssistController#sendPhoneChangeCaptcha', '发送更改/绑定手机号验证码', 'POST', '/user/sendPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945076, 'MultipleOpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945077, 'PermMenuController#delete', '删除', 'DELETE', '/perm/menu/delete', '菜单和权限码', b'1', b'1', '菜单和权限码 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945078, 'AggregateController#barCodePay', '通过付款码发起支付', 'POST', '/demo/aggregate/barCodePay', '聚合支付', b'1', b'1', '聚合支付 通过付款码发起支付', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945079, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945080, 'ReconcileOrderController#downDiffCsv', '下载对账差异单(CSV格式)', 'GET', '/order/reconcile/downDiffCsv', '对账控制器', b'1', b'1', '对账控制器 下载对账差异单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945081, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945082, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945083, 'ThirdLoginController#toLoginUrl', '跳转到登陆页', 'GET', '/auth/third/toLoginUrl/{loginType}', '三方登录', b'1', b'1', '三方登录 跳转到登陆页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945084, 'AlipayConfigController#getConfig', '获取配置', 'GET', '/alipay/config/getConfig', '支付宝配置', b'1', b'1', '支付宝配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945085, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945086, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945087, 'CashierController#simplePayCashier', '创建支付订单并发起', 'POST', '/demo/cashier/simplePayCashier', '结算台演示', b'1', b'1', '结算台演示 创建支付订单并发起', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945088, 'ClientController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/client/existsByCodeNotId', '认证终端', b'1', b'1', '认证终端 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945089, 'UserInfoController#existsEmail', '邮箱是否被使用', 'GET', '/user/existsEmail', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945090, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945091, 'ClientNoticeReceiveController#pay', '支付消息(map接收)', 'POST', '/demo/callback/pay', '回调测试', b'1', b'1', '回调测试 支付消息(map接收)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945092, 'RoleMenuController#findTreeByRole', '获取当前角色下可见的菜单和权限码树(分配时用)', 'GET', '/role/menu/findTreeByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下可见的菜单和权限码树(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945093, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945094, 'WalletConfigController#getConfig', '获取配置', 'GET', '/wallet/config/getConfig', '钱包配置', b'1', b'1', '钱包配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945095, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945096, 'DictionaryController#existsByCode', '编码是否被使用', 'GET', '/dict/existsByCode', '字典', b'1', b'1', '字典 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945097, 'RoleMenuController#findMenuIds', '获取权限菜单id列表,不包含资源权限', 'GET', '/role/menu/findMenuIds', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取权限菜单id列表,不包含资源权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945098, 'PayRepairRecordController#findById', '查询单条', 'GET', '/record/repair/findById', '支付修复记录', b'1', b'1', '支付修复记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945099, 'RoleController#delete', '删除角色', 'DELETE', '/role/delete', '角色管理', b'1', b'1', '角色管理 删除角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945100, 'AllocationGroupController#page', '分页', 'GET', '/allocation/group/page', '分账组', b'1', b'1', '分账组 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945101, 'UserDeptController#findIdsByUser', '根据用户ID获取到部门id集合', 'GET', '/user/dept/findIdsByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门id集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945102, 'SwaggerWelcomeWebMvc#redirectToUi', 'redirectToUi', 'GET', '/swagger-ui.html', 'SwaggerWelcomeWebMvc', b'1', b'1', 'SwaggerWelcomeWebMvc redirectToUi', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945103, 'RoleController#update', '修改角色(返回角色对象)', 'POST', '/role/update', '角色管理', b'1', b'1', '角色管理 修改角色(返回角色对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945104, 'UniPayAssistController#getWxAuthUrl', '获取微信OAuth2授权链接', 'POST', '/unipay/assist/getWxAuthUrl', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信OAuth2授权链接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945105, 'PermMenuController#resourceList', '资源(权限码)列表', 'GET', '/perm/menu/resourceList', '菜单和权限码', b'1', b'1', '菜单和权限码 资源(权限码)列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945106, 'PasswordSecurityConfigController#addOrUpdate', '新增或添加密码安全配置', 'POST', '/security/password/addOrUpdate', '密码安全策略', b'1', b'1', '密码安全策略 新增或添加密码安全配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945107, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945108, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945109, 'PasswordSecurityConfigController#check', '登录后检查密码相关的情况', 'GET', '/security/password/check', '密码安全策略', b'1', b'1', '密码安全策略 登录后检查密码相关的情况', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945110, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945111, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945112, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945113, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945114, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945115, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945116, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945117, 'SystemParamController#existsByKeyNotId', '判断编码是否存在(不包含自己)', 'GET', '/system/param/existsByKeyNotId', '系统参数', b'1', b'1', '系统参数 判断编码是否存在(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945118, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945119, 'RoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/role/existsByCodeNotId', '角色管理', b'1', b'1', '角色管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945120, 'DataRoleController#page', '分页', 'GET', '/data/role/page', '数据角色配置', b'1', b'1', '数据角色配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945121, 'OperateLogController#deleteByDay', '清除指定天数的日志', 'DELETE', '/log/operate/deleteByDay', '操作日志', b'1', b'1', '操作日志 清除指定天数的日志', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945122, 'OnlineUserController#getSessionByUserId', '获取用户链接信息', 'GET', '/online/user/getSessionByUserId', '在线用户', b'1', b'1', '在线用户 获取用户链接信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945123, 'LoginTypeController#add', '添加登录方式', 'POST', '/loginType/add', '登录方式管理', b'1', b'1', '登录方式管理 添加登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945124, 'UnionPayConfigController#getConfig', '获取配置', 'GET', '/union/pay/config/getConfig', '云闪付配置', b'1', b'1', '云闪付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945125, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945126, 'BaseApiController#authEcho', '回声测试(必须要进行登录)', 'GET', '/auth/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试(必须要进行登录)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945127, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945128, 'FIleUpLoadController#delete', '删除', 'DELETE', '/file/delete', '文件上传', b'1', b'1', '文件上传 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945129, 'CockpitReportController#getRefundChannelInfo', '显示通道退款订单金额和订单数', 'GET', '/report/cockpit/getRefundChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道退款订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945130, 'RoleController#add', '添加角色(返回角色对象)', 'POST', '/role/add', '角色管理', b'1', b'1', '角色管理 添加角色(返回角色对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945131, 'ClientController#add', '添加', 'POST', '/client/add', '认证终端', b'1', b'1', '认证终端 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945132, 'UserInfoController#forgetPasswordByPhone', '通过手机号重置密码', 'POST', '/user/forgetPasswordByPhone', '用户管理', b'1', b'1', '用户管理 通过手机号重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945133, 'RolePathController#findPathsByRole', '获取当前用户角色下可见的请求权限列表(分配时用)', 'GET', '/role/path/findPathsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 获取当前用户角色下可见的请求权限列表(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945134, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945135, 'ClientController#findAll', '查询所有', 'GET', '/client/findAll', '认证终端', b'1', b'1', '认证终端 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945136, 'RefundOrderController#findExtraById', '查询扩展信息', 'GET', '/order/refund/findExtraById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945137, 'UserDataRoleController#saveAssignBatch', '给用户分配权限(批量)', 'POST', '/user/data/role/saveAssignBatch', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配权限(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945138, 'LoginLogController#page', '分页', 'GET', '/log/login/page', '登录日志', b'1', b'1', '登录日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945139, 'FIleUpLoadController#findById', '获取单条详情', 'GET', '/file/findById', '文件上传', b'1', b'1', '文件上传 获取单条详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945140, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945141, 'DataRoleController#saveUserAssign', '保存数据角色关联用户权限', 'POST', '/data/role/saveUserAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存数据角色关联用户权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945142, 'ThirdLoginController#callback', '扫码后回调', 'GET', '/auth/third/callback/{loginType}', '三方登录', b'1', b'1', '三方登录 扫码后回调', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945143, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945144, 'PayApiConfigController#findById', '根据ID获取', 'GET', '/pay/api/config/findById', '支付接口配置', b'1', b'1', '支付接口配置 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945145, 'DataVersionLogController#findById', '获取', 'GET', '/log/dataVersion/findById', '数据版本日志', b'1', b'1', '数据版本日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945146, 'PermPathController#update', '更新权限', 'POST', '/perm/path/update', '请求权限管理', b'1', b'1', '请求权限管理 更新权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945147, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945148, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945149, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945150, 'PayCloseRecordController#findById', '查询单条', 'GET', '/record/close/findById', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945151, 'DataVersionLogController#page', '分页', 'GET', '/log/dataVersion/page', '数据版本日志', b'1', b'1', '数据版本日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945152, 'OpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945153, 'PermPathController#findAll', '权限列表', 'GET', '/perm/path/findAll', '请求权限管理', b'1', b'1', '请求权限管理 权限列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945154, 'UserAdminController#add', '添加用户', 'POST', '/user/admin/add', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 添加用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945155, 'PayCallbackRecordController#findById', '查询单条', 'GET', '/record/callback/findById', '支付回调信息记录', b'1', b'1', '支付回调信息记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945156, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945157, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945158, 'TestController#lock2', '锁测试2', 'GET', '/test/lock2', '测试', b'1', b'1', '测试 锁测试2', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945159, 'DataRoleController#findAll', '查询全部', 'GET', '/data/role/findAll', '数据角色配置', b'1', b'1', '数据角色配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945160, 'UserInfoController#forgetPasswordByEmail', '通过邮箱重置密码', 'POST', '/user/forgetPasswordByEmail', '用户管理', b'1', b'1', '用户管理 通过邮箱重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945161, 'RefundOrderController#page', '分页查询', 'GET', '/order/refund/page', '支付退款控制器', b'1', b'1', '支付退款控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945162, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '分账订单控制器', b'1', b'1', '分账订单控制器 分账完结', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945163, 'PayApiConfigController#findAll', '获取全部', 'GET', '/pay/api/config/findAll', '支付接口配置', b'1', b'1', '支付接口配置 获取全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945164, 'ClientNoticeTaskController#resetSend', '重新发送消息通知', 'POST', '/task/notice/resetSend', '客户系统通知任务', b'1', b'1', '客户系统通知任务 重新发送消息通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945165, 'PlatformConfigController#update', '更新平台配置项', 'POST', '/platform/config/update', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 更新平台配置项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945166, 'UserRoleController#saveAssign', '给用户分配角色', 'POST', '/user/role/saveAssign', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945167, 'UniPayController#close', '支付关闭接口', 'POST', '/unipay/close', '统一支付接口', b'1', b'1', '统一支付接口 支付关闭接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945168, 'UserDataRoleController#findDataRoleIdByUser', '根据用户ID获取到数据角色Id', 'GET', '/user/data/role/findDataRoleIdByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色Id', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945169, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945170, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945171, 'WeChatPayConfigController#getConfig', '获取配置', 'GET', '/wechat/pay/config/getConfig', '微信支付配置', b'1', b'1', '微信支付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945172, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945173, 'UserAssistController#validateCurrentChangeEmailCaptcha', '验证当前用户发送更改邮箱验证码', 'GET', '/user/validateCurrentChangeEmailCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945174, 'UserRoleController#saveAssignBatch', '给用户分配角色(批量)', 'POST', '/user/role/saveAssignBatch', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945175, 'ClientNoticeTaskController#page', '分页查询', 'GET', '/task/notice/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945176, 'UserAdminController#getByEmail', '根据邮箱查询用户', 'GET', '/user/admin/getByEmail', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据邮箱查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945177, 'RefundOrderController#syncByRefundNo', '退款同步', 'POST', '/order/refund/syncByRefundNo', '支付退款控制器', b'1', b'1', '支付退款控制器 退款同步', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945178, 'DeptController#delete', '普通删除', 'DELETE', '/dept/delete', '部门管理', b'1', b'1', '部门管理 普通删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945179, 'SystemParamController#page', '分页', 'GET', '/system/param/page', '系统参数', b'1', b'1', '系统参数 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945180, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945181, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945182, 'AggregateController#qrPayPage', '聚合支付扫码跳转中间页', 'GET', '/demo/aggregate/qrPayPage/{code}', '聚合支付', b'1', b'1', '聚合支付 聚合支付扫码跳转中间页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945183, 'UserAdminController#getByPhone', '根据手机号查询用户', 'GET', '/user/admin/getByPhone', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据手机号查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945184, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945185, 'LoginLogController#findById', '获取', 'GET', '/log/login/findById', '登录日志', b'1', b'1', '登录日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945186, 'WalletController#existsByUserId', '判断用户是否开通了钱包', 'GET', '/wallet/existsByUserId', '钱包管理', b'1', b'1', '钱包管理 判断用户是否开通了钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945187, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945188, 'RoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/role/existsByNameNotId', '角色管理', b'1', b'1', '角色管理 名称是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945189, 'PayMethodInfoController#findById', '根据ID获取', 'GET', '/pay/method/info/findById', '支付方式管理', b'1', b'1', '支付方式管理 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945190, 'UserAdminController#restartPasswordBatch', '批量重置密码', 'POST', '/user/admin/restartPasswordBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945191, 'DictionaryItemController#existsByCode', '编码是否被使用', 'GET', '/dict/item/existsByCode', '字典项', b'1', b'1', '字典项 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945192, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '分账接收方控制器', b'1', b'1', '分账接收方控制器 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945193, 'UserDeptController#findAllByUser', '根据用户ID获取到部门集合', 'GET', '/user/dept/findAllByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945194, 'ClientNoticeTaskController#findById', '查询单条', 'GET', '/task/notice/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945195, 'UserThirdController#getThirdBindInfo', '获取绑定详情', 'GET', '/user/third/getThirdBindInfo', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取绑定详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945196, 'OperateLogController#findById', '获取', 'GET', '/log/operate/findById', '操作日志', b'1', b'1', '操作日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945197, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945198, 'AggregateController#getWxJsapiPay', '获取微信支付调起Jsapi支付的信息', 'POST', '/demo/aggregate/getWxJsapiPay', '聚合支付', b'1', b'1', '聚合支付 获取微信支付调起Jsapi支付的信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945199, 'PermPathController#delete', '删除权限', 'DELETE', '/perm/path/delete', '请求权限管理', b'1', b'1', '请求权限管理 删除权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945200, 'WeChatPayConfigController#findPayWays', '微信支持支付方式', 'GET', '/wechat/pay/config/findPayWays', '微信支付配置', b'1', b'1', '微信支付配置 微信支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945201, 'UserAssistController#validatePhoneChangeCaptcha', '验证改/绑定手机验证码', 'GET', '/user/validatePhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证改/绑定手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945202, 'UserAssistController#validateEmailForgetCaptcha', '验证找回密码邮箱验证码', 'GET', '/user/validateEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945203, 'ReconcileOrderController#downOriginal', '下载原始交易对账单文件', 'GET', '/order/reconcile/downOriginal', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单文件', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945204, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945205, 'LoginTypeController#delete', '删除登录方式', 'DELETE', '/loginType/delete', '登录方式管理', b'1', b'1', '登录方式管理 删除登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945206, 'DeptController#update', '更新', 'POST', '/dept/update', '部门管理', b'1', b'1', '部门管理 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945207, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945208, 'UserDeptController#saveAssignBatch', '给用户分配部门(批量)', 'POST', '/user/dept/saveAssignBatch', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945209, 'UserAdminController#unlockBatch', '批量解锁用户', 'POST', '/user/admin/unlockBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945210, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945211, 'WeChatPayConfigController#update', '更新', 'POST', '/wechat/pay/config/update', '微信支付配置', b'1', b'1', '微信支付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945212, 'UserThirdController#findById', '获取详情', 'POST', '/user/third/findById', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945213, 'RefundOrderController#resetRefund', '重新发起退款', 'POST', '/order/refund/resetRefund', '支付退款控制器', b'1', b'1', '支付退款控制器 重新发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945214, 'LoginTypeController#update', '修改登录方式(返回登录方式对象)', 'POST', '/loginType/update', '登录方式管理', b'1', b'1', '登录方式管理 修改登录方式(返回登录方式对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945215, 'ReconcileOrderController#findDetailById', '对账明细详情', 'GET', '/order/reconcile/detail/findById', '对账控制器', b'1', b'1', '对账控制器 对账明细详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945216, 'QuartzJobController#execute', '立即执行', 'POST', '/quartz/execute', '定时任务', b'1', b'1', '定时任务 立即执行', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945217, 'QuartzJobController#start', '启动', 'POST', '/quartz/start', '定时任务', b'1', b'1', '定时任务 启动', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945218, 'DictionaryController#findAll', '查询全部', 'GET', '/dict/findAll', '字典', b'1', b'1', '字典 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945219, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945220, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945221, 'DataRoleController#update', '更新', 'POST', '/data/role/update', '数据角色配置', b'1', b'1', '数据角色配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945222, 'UnionPayConfigController#toBase64', '读取证书文件内容', 'POST', '/union/pay/config/toBase64', '云闪付配置', b'1', b'1', '云闪付配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945223, 'LoginTypeController#findAll', '查询所有的登录方式', 'GET', '/loginType/findAll', '登录方式管理', b'1', b'1', '登录方式管理 查询所有的登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945224, 'UserInfoController#findUsernameByPhoneCaptcha', '根据手机验证码查询账号', 'GET', '/user/findUsernameByPhoneCaptcha', '用户管理', b'1', b'1', '用户管理 根据手机验证码查询账号', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945225, 'UserAssistController#sendCurrentPhoneChangeCaptcha', '给当前用户发送更改手机号验证码', 'POST', '/user/sendCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945226, 'DeptController#add', '添加', 'POST', '/dept/add', '部门管理', b'1', b'1', '部门管理 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945227, 'SystemParamController#findById', '获取单条', 'GET', '/system/param/findById', '系统参数', b'1', b'1', '系统参数 获取单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945228, 'QuartzJobLogController#findById', '单条', 'GET', '/quartz/log/findById', '定时任务执行日志', b'1', b'1', '定时任务执行日志 单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945229, 'RoleController#existsByCode', '编码是否被使用', 'GET', '/role/existsByCode', '角色管理', b'1', b'1', '角色管理 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945230, 'CockpitReportController#getPayChannelInfo', '显示通道支付订单金额和订单数', 'GET', '/report/cockpit/getPayChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道支付订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945231, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945232, 'UserAdminController#unlock', '解锁用户', 'POST', '/user/admin/unlock', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945233, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945234, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945235, 'UserAdminController#findById', '根据用户id查询用户', 'GET', '/user/admin/findById', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据用户id查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945236, 'PayRepairRecordController#page', '分页查询', 'GET', '/record/repair/page', '支付修复记录', b'1', b'1', '支付修复记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945237, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '分账订单控制器', b'1', b'1', '分账订单控制器 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945238, 'PasswordSecurityConfigController#isRecentlyUsed', '查看要修改的密码是否重复', 'GET', '/security/password/isRecentlyUsed', '密码安全策略', b'1', b'1', '密码安全策略 查看要修改的密码是否重复', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945239, 'WalletController#deduct', '扣减', 'POST', '/wallet/deduct', '钱包管理', b'1', b'1', '钱包管理 扣减', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945240, 'FIleUpLoadController#getFilePreviewUrlPrefix', '获取文件预览地址前缀', 'GET', '/file/getFilePreviewUrlPrefix', '文件上传', b'1', b'1', '文件上传 获取文件预览地址前缀', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945241, 'PermMenuController#existsByPermCode', '编码是否被使用(不包含自己)', 'GET', '/perm/menu/existsByPermCodeNotId', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945242, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945243, 'CashierController#queryPayOrder', '查询支付订单', 'GET', '/demo/cashier/queryPayOrderSuccess', '结算台演示', b'1', b'1', '结算台演示 查询支付订单', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945244, 'ReconcileOrderController#downOriginal2Csv', '下载原始交易对账单记录(CSV格式)', 'GET', '/order/reconcile/downOriginal2Csv', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单记录(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945245, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945246, 'RoleMenuController#getPermissions', '获取菜单和权限码(根据用户进行筛选)', 'GET', '/role/menu/getPermissions', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取菜单和权限码(根据用户进行筛选)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945247, 'UserRoleController#findRoleIdsByUser', '根据用户ID获取到角色id集合', 'GET', '/user/role/findRoleIdsByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色id集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945248, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945249, 'FIleUpLoadController#preview', '预览文件(流量会经过后端)', 'GET', '/file/preview/{id}', '文件上传', b'1', b'1', '文件上传 预览文件(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945250, 'QuartzJobController#judgeJobClass', '判断是否是定时任务类', 'GET', '/quartz/judgeJobClass', '定时任务', b'1', b'1', '定时任务 判断是否是定时任务类', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945251, 'PayOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/pay/getTotalAmount', '支付订单控制器', b'1', b'1', '支付订单控制器 查询金额汇总', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945252, 'UserAssistController#sendCurrentEmailChangeCaptcha', '给当前用户发送更改邮箱验证码', 'POST', '/user/sendCurrentEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945253, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945254, 'UserThirdController#bind', '绑定第三方账号', 'POST', '/user/third/bind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 绑定第三方账号', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945255, 'RoleController#tree', '角色树', 'GET', '/role/tree', '角色管理', b'1', b'1', '角色管理 角色树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945256, 'UniPayController#pay', '统一支付接口', 'POST', '/unipay/pay', '统一支付接口', b'1', b'1', '统一支付接口 统一支付接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945257, 'LoginTypeController#existsByCode', '编码是否被使用', 'GET', '/loginType/existsByCode', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945258, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '分账订单控制器', b'1', b'1', '分账订单控制器 同步分账结果', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945259, 'UserAdminController#page', '分页', 'GET', '/user/admin/page', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945260, 'RolePathController#findIdsByRole', '根据角色id获取关联权限id', 'GET', '/role/path/findIdsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 根据角色id获取关联权限id', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945261, 'MultipleOpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945262, 'UserThirdController#page', '分页', 'GET', '/user/third/page', '用户三方登录管理', b'1', b'1', '用户三方登录管理 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945263, 'RoleController#findById', '通过ID查询角色', 'GET', '/role/findById', '角色管理', b'1', b'1', '角色管理 通过ID查询角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945264, 'ReconcileOrderController#create', '手动创建对账订单', 'POST', '/order/reconcile/create', '对账控制器', b'1', b'1', '对账控制器 手动创建对账订单', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945265, 'PayApiConfigController#update', '更新', 'POST', '/pay/api/config/update', '支付接口配置', b'1', b'1', '支付接口配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945266, 'PayOrderController#page', '分页查询', 'GET', '/order/pay/page', '支付订单控制器', b'1', b'1', '支付订单控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945267, 'UserInfoController#existsUsername', '账号是否被使用(不包含自己)', 'GET', '/user/existsUsernameNotId', '用户管理', b'1', b'1', '用户管理 账号是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945268, 'UserDeptController#saveAssign', '给用户分配部门', 'POST', '/user/dept/saveAssign', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945269, 'CockpitReportController#getPayOrderCount', '支付订单数量', 'GET', '/report/cockpit/getPayOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付订单数量', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945270, 'UserAssistController#sendEmailForgetCaptcha', '发送找回密码邮箱验证码', 'POST', '/user/sendEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945271, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945272, 'ClientNoticeTaskController#recordPage', '分页查询', 'GET', '/task/notice/record/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945273, 'RefundOrderController#findById', '查询单条', 'GET', '/order/refund/findById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945274, 'UserDataRoleController#findDataRoleByUser', '根据用户ID获取到数据角色列表', 'GET', '/user/data/role/findDataRoleByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945275, 'ChinaRegionController#findAllRegionByParentCode', '根据编码获取下一级行政区划的列表', 'GET', '/china/region/findAllRegionByParentCode', '中国行政区划', b'1', b'1', '中国行政区划 根据编码获取下一级行政区划的列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945276, 'DataRoleController#existsByName', '名称是否被使用', 'GET', '/data/role/existsByName', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945277, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945278, 'UserAssistController#validatePhoneForgetCaptcha', '验证找回密码手机验证码', 'GET', '/user/validatePhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945279, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945280, 'DictionaryController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/existsByCodeNotId', '字典', b'1', b'1', '字典 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945281, 'PermMenuController#menuTree', '获取菜单树', 'GET', '/perm/menu/menuTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945282, 'DictionaryItemController#delete', '删除字典项', 'DELETE', '/dict/item/delete', '字典项', b'1', b'1', '字典项 删除字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945283, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945284, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945285, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945286, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945287, 'UserAssistController#validateCurrentPhoneChangeCaptcha', '验证当前用户发送更改手机号验证码', 'GET', '/user/validateCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945288, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945289, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945290, 'PermPathController#batchUpdateEnable', '批量更新状态', 'POST', '/perm/path/batchUpdateEnable', '请求权限管理', b'1', b'1', '请求权限管理 批量更新状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945291, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945292, 'QuartzJobController#syncJobStatus', '同步定时任务状态', 'POST', '/quartz/syncJobStatus', '定时任务', b'1', b'1', '定时任务 同步定时任务状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945293, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945294, 'DictionaryItemController#findAll', '获取全部字典项', 'GET', '/dict/item/findAll', '字典项', b'1', b'1', '字典项 获取全部字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945295, 'UserAssistController#validateEmailCaptcha', '验证更改/绑定邮箱验证码', 'GET', '/user/validateEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945296, 'PermMenuController#findById', '根据id查询', 'GET', '/perm/menu/findById', '菜单和权限码', b'1', b'1', '菜单和权限码 根据id查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945297, 'RoleMenuController#findPermissionIdsByRole', '获取当前角色下关联权限id集合(包含权限码和菜单)', 'GET', '/role/menu/findPermissionIdsByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下关联权限id集合(包含权限码和菜单)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945298, 'SwaggerConfigResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/swagger-config', 'SwaggerConfigResource', b'1', b'1', 'SwaggerConfigResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945299, 'UnionPayConfigController#update', '更新', 'POST', '/union/pay/config/update', '云闪付配置', b'1', b'1', '云闪付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945300, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945301, 'TokenEndpoint#login', '普通登录', 'POST', '/token/login', '认证相关', b'1', b'1', '认证相关 普通登录', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945302, 'RefundOrderController#refund', '手动发起退款', 'POST', '/order/refund/refund', '支付退款控制器', b'1', b'1', '支付退款控制器 手动发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945303, 'QuartzJobController#page', '分页', 'GET', '/quartz/page', '定时任务', b'1', b'1', '定时任务 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945304, 'CockpitReportController#getPayAmount', '支付金额(分)', 'GET', '/report/cockpit/getPayAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付金额(分)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945305, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945306, 'UserAdminController#ban', '封禁用户', 'POST', '/user/admin/ban', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945307, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945308, 'WalletController#create', '创建钱包', 'POST', '/wallet/create', '钱包管理', b'1', b'1', '钱包管理 创建钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945309, 'PermPathController#syncSystem', '同步系统请求资源', 'POST', '/perm/path/syncSystem', '请求权限管理', b'1', b'1', '请求权限管理 同步系统请求资源', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945310, 'SystemParamController#existsByKey', '判断编码是否存在', 'GET', '/system/param/existsByKey', '系统参数', b'1', b'1', '系统参数 判断编码是否存在', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945311, 'BaseApiController#echo', '回声测试', 'GET', '/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945312, 'ReconcileOrderController#findDiffById', '对账差异详情', 'GET', '/order/reconcile/diff/findById', '对账控制器', b'1', b'1', '对账控制器 对账差异详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945313, 'PaySyncRecordController#page', '分页查询', 'GET', '/record/sync/page', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945314, 'CashierController#getWxAuthUrl', '获取微信授权链接', 'GET', '/demo/cashier/getWxAuthUrl', '结算台演示', b'1', b'1', '结算台演示 获取微信授权链接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); - --- ---------------------------- --- Table structure for iam_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_role`; -CREATE TABLE `iam_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `pid` bigint(20) NULL DEFAULT NULL COMMENT '父ID', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role --- ---------------------------- -INSERT INTO `iam_role` VALUES (1757297023118462976, 'daxpayAdmin', NULL, '支付网关管理员', b'0', '', 1399985191002447872, '2024-02-13 14:53:54', 1399985191002447872, '2024-02-13 14:53:54', 0, 0); -INSERT INTO `iam_role` VALUES (1757298887092326400, 'daxpayDemo', 1757297023118462976, '支付演示角色', b'0', '用于进行演示的角色, 没有修改和删除的权限', 1399985191002447872, '2024-02-13 15:01:18', 1399985191002447872, '2024-02-13 15:01:18', 0, 0); - --- ---------------------------- --- Table structure for iam_role_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_menu`; -CREATE TABLE `iam_role_menu` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', - `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_menu --- ---------------------------- -INSERT INTO `iam_role_menu` VALUES (1757298674730520576, 1757297023118462976, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298674730520577, 1757297023118462976, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298674730520578, 1757297023118462976, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298674730520579, 1757297023118462976, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520580, 1757297023118462976, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520582, 1757297023118462976, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298674730520583, 1757297023118462976, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298674730520584, 1757297023118462976, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298674730520585, 1757297023118462976, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298674730520586, 1757297023118462976, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298674730520587, 1757297023118462976, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298674730520588, 1757297023118462976, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298674730520589, 1757297023118462976, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298674730520590, 1757297023118462976, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059200, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059201, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059202, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059203, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059204, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059205, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059206, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059207, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059208, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059209, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059210, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059212, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059213, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059214, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059215, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059216, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059217, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059218, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059219, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059220, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059221, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059222, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059223, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059224, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059225, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059227, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059228, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059229, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059230, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059231, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059232, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059233, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059234, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059235, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059236, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059237, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059238, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059239, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059240, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059242, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059243, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059244, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059245, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059246, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059247, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059248, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059249, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059250, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059251, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059252, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059253, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059254, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059255, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059257, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059258, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059259, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1762112282006073350, 1757297023118462976, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073351, 1757297023118462976, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282006073352, 1757297023118462976, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073353, 1757297023118462976, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1762112282232565766, 1757298887092326400, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565767, 1757298887092326400, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282232565768, 1757298887092326400, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565769, 1757298887092326400, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1780416732268605440, 1757297023118462976, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732268605441, 1757297023118462976, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732268605442, 1757297023118462976, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732268605443, 1757297023118462976, 'dax-pay', 1777688382748700672); -INSERT INTO `iam_role_menu` VALUES (1780416732574789632, 1757298887092326400, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732574789633, 1757298887092326400, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732574789634, 1757298887092326400, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732574789635, 1757298887092326400, 'dax-pay', 1777688382748700672); -INSERT INTO `iam_role_menu` VALUES (1789979742020689920, 1757297023118462976, 'dax-pay', 1786808188825194496); -INSERT INTO `iam_role_menu` VALUES (1789979742020689921, 1757297023118462976, 'dax-pay', 1786810890951020544); -INSERT INTO `iam_role_menu` VALUES (1789979742020689922, 1757297023118462976, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1789979742314291200, 1757298887092326400, 'dax-pay', 1786808188825194496); -INSERT INTO `iam_role_menu` VALUES (1789979742314291201, 1757298887092326400, 'dax-pay', 1786810890951020544); -INSERT INTO `iam_role_menu` VALUES (1789979742314291202, 1757298887092326400, 'dax-pay', 1744930046228017152); - --- ---------------------------- --- Table structure for iam_role_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_path`; -CREATE TABLE `iam_role_path` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_path --- ---------------------------- -INSERT INTO `iam_role_path` VALUES (1789979321814343680, 1757297023118462976, 1789978117570945313); -INSERT INTO `iam_role_path` VALUES (1789979321814343681, 1757297023118462976, 1789978117566750768); -INSERT INTO `iam_role_path` VALUES (1789979321814343682, 1757297023118462976, 1789978117570945312); -INSERT INTO `iam_role_path` VALUES (1789979321814343683, 1757297023118462976, 1789978117570945264); -INSERT INTO `iam_role_path` VALUES (1789979321814343684, 1757297023118462976, 1789978117570945244); -INSERT INTO `iam_role_path` VALUES (1789979321814343685, 1757297023118462976, 1789978117570945215); -INSERT INTO `iam_role_path` VALUES (1789979321814343686, 1757297023118462976, 1789978117570945203); -INSERT INTO `iam_role_path` VALUES (1789979321814343687, 1757297023118462976, 1789978117570945080); -INSERT INTO `iam_role_path` VALUES (1789979321814343688, 1757297023118462976, 1789978117570945074); -INSERT INTO `iam_role_path` VALUES (1789979321814343689, 1757297023118462976, 1789978117570945029); -INSERT INTO `iam_role_path` VALUES (1789979321814343690, 1757297023118462976, 1789978117570945024); -INSERT INTO `iam_role_path` VALUES (1789979321814343691, 1757297023118462976, 1789978117566750819); -INSERT INTO `iam_role_path` VALUES (1789979321814343692, 1757297023118462976, 1789978117566750783); -INSERT INTO `iam_role_path` VALUES (1789979321814343693, 1757297023118462976, 1789978117566750760); -INSERT INTO `iam_role_path` VALUES (1789979321814343694, 1757297023118462976, 1789978117566750746); -INSERT INTO `iam_role_path` VALUES (1789979321814343695, 1757297023118462976, 1789978117562556431); -INSERT INTO `iam_role_path` VALUES (1789979321814343696, 1757297023118462976, 1789978117570945311); -INSERT INTO `iam_role_path` VALUES (1789979321814343697, 1757297023118462976, 1789978117570945126); -INSERT INTO `iam_role_path` VALUES (1789979321814343698, 1757297023118462976, 1789978117570945304); -INSERT INTO `iam_role_path` VALUES (1789979321814343699, 1757297023118462976, 1789978117570945269); -INSERT INTO `iam_role_path` VALUES (1789979321814343700, 1757297023118462976, 1789978117570945230); -INSERT INTO `iam_role_path` VALUES (1789979321814343701, 1757297023118462976, 1789978117570945129); -INSERT INTO `iam_role_path` VALUES (1789979321814343702, 1757297023118462976, 1789978117566750730); -INSERT INTO `iam_role_path` VALUES (1789979321814343703, 1757297023118462976, 1789978117562556448); -INSERT INTO `iam_role_path` VALUES (1789979321814343704, 1757297023118462976, 1789978117570945302); -INSERT INTO `iam_role_path` VALUES (1789979321814343705, 1757297023118462976, 1789978117570945273); -INSERT INTO `iam_role_path` VALUES (1789979321814343706, 1757297023118462976, 1789978117570945213); -INSERT INTO `iam_role_path` VALUES (1789979321814343707, 1757297023118462976, 1789978117570945177); -INSERT INTO `iam_role_path` VALUES (1789979321814343708, 1757297023118462976, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979321814343709, 1757297023118462976, 1789978117570945136); -INSERT INTO `iam_role_path` VALUES (1789979321814343710, 1757297023118462976, 1789978117566750763); -INSERT INTO `iam_role_path` VALUES (1789979321814343711, 1757297023118462976, 1789978117566750728); -INSERT INTO `iam_role_path` VALUES (1789979321814343712, 1757297023118462976, 1789978117570945299); -INSERT INTO `iam_role_path` VALUES (1789979321814343713, 1757297023118462976, 1789978117570945222); -INSERT INTO `iam_role_path` VALUES (1789979321814343714, 1757297023118462976, 1789978117570945124); -INSERT INTO `iam_role_path` VALUES (1789979321814343715, 1757297023118462976, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979321814343716, 1757297023118462976, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979321814343717, 1757297023118462976, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979321814343718, 1757297023118462976, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979321814343719, 1757297023118462976, 1789978117570945279); -INSERT INTO `iam_role_path` VALUES (1789979321814343720, 1757297023118462976, 1789978117570945028); -INSERT INTO `iam_role_path` VALUES (1789979321814343721, 1757297023118462976, 1789978117566750751); -INSERT INTO `iam_role_path` VALUES (1789979321814343722, 1757297023118462976, 1789978117570945277); -INSERT INTO `iam_role_path` VALUES (1789979321814343723, 1757297023118462976, 1789978117570945248); -INSERT INTO `iam_role_path` VALUES (1789979321814343724, 1757297023118462976, 1789978117570945234); -INSERT INTO `iam_role_path` VALUES (1789979321814343725, 1757297023118462976, 1789978117570945170); -INSERT INTO `iam_role_path` VALUES (1789979321814343726, 1757297023118462976, 1789978117570945111); -INSERT INTO `iam_role_path` VALUES (1789979321814343727, 1757297023118462976, 1789978117570945100); -INSERT INTO `iam_role_path` VALUES (1789979321814343728, 1757297023118462976, 1789978117570945038); -INSERT INTO `iam_role_path` VALUES (1789979321814343729, 1757297023118462976, 1789978117566750807); -INSERT INTO `iam_role_path` VALUES (1789979321814343730, 1757297023118462976, 1789978117566750789); -INSERT INTO `iam_role_path` VALUES (1789979321814343731, 1757297023118462976, 1789978117566750759); -INSERT INTO `iam_role_path` VALUES (1789979321814343732, 1757297023118462976, 1789978117566750744); -INSERT INTO `iam_role_path` VALUES (1789979321814343733, 1757297023118462976, 1789978117562556423); -INSERT INTO `iam_role_path` VALUES (1789979321814343734, 1757297023118462976, 1789978117570945266); -INSERT INTO `iam_role_path` VALUES (1789979321814343735, 1757297023118462976, 1789978117570945251); -INSERT INTO `iam_role_path` VALUES (1789979321814343736, 1757297023118462976, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979321814343737, 1757297023118462976, 1789978117570945056); -INSERT INTO `iam_role_path` VALUES (1789979321814343738, 1757297023118462976, 1789978117566750822); -INSERT INTO `iam_role_path` VALUES (1789979321814343739, 1757297023118462976, 1789978117566750809); -INSERT INTO `iam_role_path` VALUES (1789979321814343740, 1757297023118462976, 1789978117566750803); -INSERT INTO `iam_role_path` VALUES (1789979321814343741, 1757297023118462976, 1789978117566750726); -INSERT INTO `iam_role_path` VALUES (1789979321814343742, 1757297023118462976, 1789978117570945265); -INSERT INTO `iam_role_path` VALUES (1789979321814343743, 1757297023118462976, 1789978117570945163); -INSERT INTO `iam_role_path` VALUES (1789979321814343744, 1757297023118462976, 1789978117570945144); -INSERT INTO `iam_role_path` VALUES (1789979321814343745, 1757297023118462976, 1789978117570945258); -INSERT INTO `iam_role_path` VALUES (1789979321814343746, 1757297023118462976, 1789978117570945237); -INSERT INTO `iam_role_path` VALUES (1789979321814343747, 1757297023118462976, 1789978117570945184); -INSERT INTO `iam_role_path` VALUES (1789979321814343748, 1757297023118462976, 1789978117570945162); -INSERT INTO `iam_role_path` VALUES (1789979321814343749, 1757297023118462976, 1789978117570945116); -INSERT INTO `iam_role_path` VALUES (1789979321814343750, 1757297023118462976, 1789978117570945115); -INSERT INTO `iam_role_path` VALUES (1789979321814343751, 1757297023118462976, 1789978117570945085); -INSERT INTO `iam_role_path` VALUES (1789979321814343752, 1757297023118462976, 1789978117562556418); -INSERT INTO `iam_role_path` VALUES (1789979321814343753, 1757297023118462976, 1789978117570945236); -INSERT INTO `iam_role_path` VALUES (1789979321814343754, 1757297023118462976, 1789978117570945098); -INSERT INTO `iam_role_path` VALUES (1789979321814343755, 1757297023118462976, 1789978117570945231); -INSERT INTO `iam_role_path` VALUES (1789979321814343756, 1757297023118462976, 1789978117570945192); -INSERT INTO `iam_role_path` VALUES (1789979321814343757, 1757297023118462976, 1789978117570945181); -INSERT INTO `iam_role_path` VALUES (1789979321814343758, 1757297023118462976, 1789978117570945172); -INSERT INTO `iam_role_path` VALUES (1789979321814343759, 1757297023118462976, 1789978117570945114); -INSERT INTO `iam_role_path` VALUES (1789979321814343760, 1757297023118462976, 1789978117570945082); -INSERT INTO `iam_role_path` VALUES (1789979321814343761, 1757297023118462976, 1789978117566750740); -INSERT INTO `iam_role_path` VALUES (1789979321814343762, 1757297023118462976, 1789978117562556428); -INSERT INTO `iam_role_path` VALUES (1789979321814343763, 1757297023118462976, 1789978117562556420); -INSERT INTO `iam_role_path` VALUES (1789979321814343764, 1757297023118462976, 1789978117570945198); -INSERT INTO `iam_role_path` VALUES (1789979321814343765, 1757297023118462976, 1789978117570945182); -INSERT INTO `iam_role_path` VALUES (1789979321814343766, 1757297023118462976, 1789978117570945078); -INSERT INTO `iam_role_path` VALUES (1789979321814343767, 1757297023118462976, 1789978117570945067); -INSERT INTO `iam_role_path` VALUES (1789979321814343768, 1757297023118462976, 1789978117570945044); -INSERT INTO `iam_role_path` VALUES (1789979321814343769, 1757297023118462976, 1789978117562556452); -INSERT INTO `iam_role_path` VALUES (1789979321814343770, 1757297023118462976, 1789978117562556425); -INSERT INTO `iam_role_path` VALUES (1789979321814343771, 1757297023118462976, 1789978117570945211); -INSERT INTO `iam_role_path` VALUES (1789979321814343772, 1757297023118462976, 1789978117570945200); -INSERT INTO `iam_role_path` VALUES (1789979321814343773, 1757297023118462976, 1789978117570945171); -INSERT INTO `iam_role_path` VALUES (1789979321814343774, 1757297023118462976, 1789978117562556419); -INSERT INTO `iam_role_path` VALUES (1789979321814343775, 1757297023118462976, 1789978117570945189); -INSERT INTO `iam_role_path` VALUES (1789979321814343776, 1757297023118462976, 1789978117570945048); -INSERT INTO `iam_role_path` VALUES (1789979321814343777, 1757297023118462976, 1789978117562556429); -INSERT INTO `iam_role_path` VALUES (1789979321814343778, 1757297023118462976, 1789978117570945165); -INSERT INTO `iam_role_path` VALUES (1789979321814343779, 1757297023118462976, 1789978117562556435); -INSERT INTO `iam_role_path` VALUES (1789979321814343780, 1757297023118462976, 1789978117570945155); -INSERT INTO `iam_role_path` VALUES (1789979321814343781, 1757297023118462976, 1789978117566750762); -INSERT INTO `iam_role_path` VALUES (1789979321814343782, 1757297023118462976, 1789978117570945150); -INSERT INTO `iam_role_path` VALUES (1789979321814343783, 1757297023118462976, 1789978117566750753); -INSERT INTO `iam_role_path` VALUES (1789979321814343784, 1757297023118462976, 1789978117570945107); -INSERT INTO `iam_role_path` VALUES (1789979321814343785, 1757297023118462976, 1789978117566750736); -INSERT INTO `iam_role_path` VALUES (1789979321814343786, 1757297023118462976, 1789978117570945104); -INSERT INTO `iam_role_path` VALUES (1789979321814343787, 1757297023118462976, 1789978117566750742); -INSERT INTO `iam_role_path` VALUES (1789979322187636736, 1757298887092326400, 1789978117570945313); -INSERT INTO `iam_role_path` VALUES (1789979322187636737, 1757298887092326400, 1789978117566750768); -INSERT INTO `iam_role_path` VALUES (1789979322187636738, 1757298887092326400, 1789978117570945312); -INSERT INTO `iam_role_path` VALUES (1789979322187636739, 1757298887092326400, 1789978117570945264); -INSERT INTO `iam_role_path` VALUES (1789979322187636740, 1757298887092326400, 1789978117570945244); -INSERT INTO `iam_role_path` VALUES (1789979322187636741, 1757298887092326400, 1789978117570945215); -INSERT INTO `iam_role_path` VALUES (1789979322187636742, 1757298887092326400, 1789978117570945203); -INSERT INTO `iam_role_path` VALUES (1789979322187636743, 1757298887092326400, 1789978117570945080); -INSERT INTO `iam_role_path` VALUES (1789979322187636744, 1757298887092326400, 1789978117570945074); -INSERT INTO `iam_role_path` VALUES (1789979322187636745, 1757298887092326400, 1789978117570945029); -INSERT INTO `iam_role_path` VALUES (1789979322187636746, 1757298887092326400, 1789978117570945024); -INSERT INTO `iam_role_path` VALUES (1789979322187636747, 1757298887092326400, 1789978117566750819); -INSERT INTO `iam_role_path` VALUES (1789979322187636748, 1757298887092326400, 1789978117566750783); -INSERT INTO `iam_role_path` VALUES (1789979322187636749, 1757298887092326400, 1789978117566750760); -INSERT INTO `iam_role_path` VALUES (1789979322187636750, 1757298887092326400, 1789978117566750746); -INSERT INTO `iam_role_path` VALUES (1789979322187636751, 1757298887092326400, 1789978117562556431); -INSERT INTO `iam_role_path` VALUES (1789979322187636752, 1757298887092326400, 1789978117570945311); -INSERT INTO `iam_role_path` VALUES (1789979322187636753, 1757298887092326400, 1789978117570945126); -INSERT INTO `iam_role_path` VALUES (1789979322187636754, 1757298887092326400, 1789978117570945304); -INSERT INTO `iam_role_path` VALUES (1789979322187636755, 1757298887092326400, 1789978117570945269); -INSERT INTO `iam_role_path` VALUES (1789979322187636756, 1757298887092326400, 1789978117570945230); -INSERT INTO `iam_role_path` VALUES (1789979322187636757, 1757298887092326400, 1789978117570945129); -INSERT INTO `iam_role_path` VALUES (1789979322187636758, 1757298887092326400, 1789978117566750730); -INSERT INTO `iam_role_path` VALUES (1789979322187636759, 1757298887092326400, 1789978117562556448); -INSERT INTO `iam_role_path` VALUES (1789979322187636760, 1757298887092326400, 1789978117570945302); -INSERT INTO `iam_role_path` VALUES (1789979322187636761, 1757298887092326400, 1789978117570945273); -INSERT INTO `iam_role_path` VALUES (1789979322187636762, 1757298887092326400, 1789978117570945213); -INSERT INTO `iam_role_path` VALUES (1789979322187636763, 1757298887092326400, 1789978117570945177); -INSERT INTO `iam_role_path` VALUES (1789979322187636764, 1757298887092326400, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979322187636765, 1757298887092326400, 1789978117570945136); -INSERT INTO `iam_role_path` VALUES (1789979322187636766, 1757298887092326400, 1789978117566750763); -INSERT INTO `iam_role_path` VALUES (1789979322187636767, 1757298887092326400, 1789978117566750728); -INSERT INTO `iam_role_path` VALUES (1789979322187636769, 1757298887092326400, 1789978117570945222); -INSERT INTO `iam_role_path` VALUES (1789979322187636771, 1757298887092326400, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979322187636772, 1757298887092326400, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979322187636773, 1757298887092326400, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979322187636774, 1757298887092326400, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979322187636775, 1757298887092326400, 1789978117570945279); -INSERT INTO `iam_role_path` VALUES (1789979322187636776, 1757298887092326400, 1789978117570945028); -INSERT INTO `iam_role_path` VALUES (1789979322187636777, 1757298887092326400, 1789978117566750751); -INSERT INTO `iam_role_path` VALUES (1789979322187636778, 1757298887092326400, 1789978117570945277); -INSERT INTO `iam_role_path` VALUES (1789979322187636783, 1757298887092326400, 1789978117570945100); -INSERT INTO `iam_role_path` VALUES (1789979322187636786, 1757298887092326400, 1789978117566750789); -INSERT INTO `iam_role_path` VALUES (1789979322187636790, 1757298887092326400, 1789978117570945266); -INSERT INTO `iam_role_path` VALUES (1789979322187636791, 1757298887092326400, 1789978117570945251); -INSERT INTO `iam_role_path` VALUES (1789979322187636792, 1757298887092326400, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979322187636793, 1757298887092326400, 1789978117570945056); -INSERT INTO `iam_role_path` VALUES (1789979322187636794, 1757298887092326400, 1789978117566750822); -INSERT INTO `iam_role_path` VALUES (1789979322187636795, 1757298887092326400, 1789978117566750809); -INSERT INTO `iam_role_path` VALUES (1789979322187636796, 1757298887092326400, 1789978117566750803); -INSERT INTO `iam_role_path` VALUES (1789979322187636797, 1757298887092326400, 1789978117566750726); -INSERT INTO `iam_role_path` VALUES (1789979322187636799, 1757298887092326400, 1789978117570945163); -INSERT INTO `iam_role_path` VALUES (1789979322187636800, 1757298887092326400, 1789978117570945144); -INSERT INTO `iam_role_path` VALUES (1789979322187636801, 1757298887092326400, 1789978117570945258); -INSERT INTO `iam_role_path` VALUES (1789979322187636802, 1757298887092326400, 1789978117570945237); -INSERT INTO `iam_role_path` VALUES (1789979322187636803, 1757298887092326400, 1789978117570945184); -INSERT INTO `iam_role_path` VALUES (1789979322187636804, 1757298887092326400, 1789978117570945162); -INSERT INTO `iam_role_path` VALUES (1789979322187636805, 1757298887092326400, 1789978117570945116); -INSERT INTO `iam_role_path` VALUES (1789979322187636806, 1757298887092326400, 1789978117570945115); -INSERT INTO `iam_role_path` VALUES (1789979322187636807, 1757298887092326400, 1789978117570945085); -INSERT INTO `iam_role_path` VALUES (1789979322187636808, 1757298887092326400, 1789978117562556418); -INSERT INTO `iam_role_path` VALUES (1789979322187636809, 1757298887092326400, 1789978117570945236); -INSERT INTO `iam_role_path` VALUES (1789979322187636810, 1757298887092326400, 1789978117570945098); -INSERT INTO `iam_role_path` VALUES (1789979322187636811, 1757298887092326400, 1789978117570945231); -INSERT INTO `iam_role_path` VALUES (1789979322187636812, 1757298887092326400, 1789978117570945192); -INSERT INTO `iam_role_path` VALUES (1789979322187636813, 1757298887092326400, 1789978117570945181); -INSERT INTO `iam_role_path` VALUES (1789979322187636814, 1757298887092326400, 1789978117570945172); -INSERT INTO `iam_role_path` VALUES (1789979322187636815, 1757298887092326400, 1789978117570945114); -INSERT INTO `iam_role_path` VALUES (1789979322187636816, 1757298887092326400, 1789978117570945082); -INSERT INTO `iam_role_path` VALUES (1789979322187636817, 1757298887092326400, 1789978117566750740); -INSERT INTO `iam_role_path` VALUES (1789979322187636818, 1757298887092326400, 1789978117562556428); -INSERT INTO `iam_role_path` VALUES (1789979322187636819, 1757298887092326400, 1789978117562556420); -INSERT INTO `iam_role_path` VALUES (1789979322187636820, 1757298887092326400, 1789978117570945198); -INSERT INTO `iam_role_path` VALUES (1789979322187636821, 1757298887092326400, 1789978117570945182); -INSERT INTO `iam_role_path` VALUES (1789979322187636822, 1757298887092326400, 1789978117570945078); -INSERT INTO `iam_role_path` VALUES (1789979322187636823, 1757298887092326400, 1789978117570945067); -INSERT INTO `iam_role_path` VALUES (1789979322187636824, 1757298887092326400, 1789978117570945044); -INSERT INTO `iam_role_path` VALUES (1789979322187636825, 1757298887092326400, 1789978117562556452); -INSERT INTO `iam_role_path` VALUES (1789979322187636826, 1757298887092326400, 1789978117562556425); -INSERT INTO `iam_role_path` VALUES (1789979322187636828, 1757298887092326400, 1789978117570945200); -INSERT INTO `iam_role_path` VALUES (1789979322187636829, 1757298887092326400, 1789978117570945171); -INSERT INTO `iam_role_path` VALUES (1789979322187636830, 1757298887092326400, 1789978117562556419); -INSERT INTO `iam_role_path` VALUES (1789979322187636831, 1757298887092326400, 1789978117570945189); -INSERT INTO `iam_role_path` VALUES (1789979322187636832, 1757298887092326400, 1789978117570945048); -INSERT INTO `iam_role_path` VALUES (1789979322187636835, 1757298887092326400, 1789978117562556435); -INSERT INTO `iam_role_path` VALUES (1789979322187636836, 1757298887092326400, 1789978117570945155); -INSERT INTO `iam_role_path` VALUES (1789979322187636837, 1757298887092326400, 1789978117566750762); -INSERT INTO `iam_role_path` VALUES (1789979322187636838, 1757298887092326400, 1789978117570945150); -INSERT INTO `iam_role_path` VALUES (1789979322187636839, 1757298887092326400, 1789978117566750753); -INSERT INTO `iam_role_path` VALUES (1789979322187636840, 1757298887092326400, 1789978117570945107); -INSERT INTO `iam_role_path` VALUES (1789979322187636841, 1757298887092326400, 1789978117566750736); -INSERT INTO `iam_role_path` VALUES (1789979322187636842, 1757298887092326400, 1789978117570945104); -INSERT INTO `iam_role_path` VALUES (1789979322187636843, 1757298887092326400, 1789978117566750742); -INSERT INTO `iam_role_path` VALUES (1789979908043825152, 1757297023118462976, 1789978117570945084); -INSERT INTO `iam_role_path` VALUES (1789979908043825153, 1757297023118462976, 1789978117570945059); -INSERT INTO `iam_role_path` VALUES (1789979908043825154, 1757297023118462976, 1789978117570945039); -INSERT INTO `iam_role_path` VALUES (1789979908043825155, 1757297023118462976, 1789978117566750797); -INSERT INTO `iam_role_path` VALUES (1789979908324843520, 1757298887092326400, 1789978117570945084); -INSERT INTO `iam_role_path` VALUES (1789979908324843521, 1757298887092326400, 1789978117570945059); -INSERT INTO `iam_role_path` VALUES (1789979908324843522, 1757298887092326400, 1789978117570945039); -INSERT INTO `iam_role_path` VALUES (1789982023252303872, 1757297023118462976, 1789978117570945308); -INSERT INTO `iam_role_path` VALUES (1789982023252303873, 1757297023118462976, 1789978117570945239); -INSERT INTO `iam_role_path` VALUES (1789982023252303874, 1757297023118462976, 1789978117570945186); -INSERT INTO `iam_role_path` VALUES (1789982023252303875, 1757297023118462976, 1789978117570945052); -INSERT INTO `iam_role_path` VALUES (1789982023252303876, 1757297023118462976, 1789978117566750795); -INSERT INTO `iam_role_path` VALUES (1789982023252303877, 1757297023118462976, 1789978117566750741); -INSERT INTO `iam_role_path` VALUES (1789982023252303878, 1757297023118462976, 1789978117570945094); -INSERT INTO `iam_role_path` VALUES (1789982023252303879, 1757297023118462976, 1789978117566750758); -INSERT INTO `iam_role_path` VALUES (1789982023252303880, 1757297023118462976, 1789978117566750733); -INSERT INTO `iam_role_path` VALUES (1789982023529127937, 1757298887092326400, 1789978117570945239); -INSERT INTO `iam_role_path` VALUES (1789982023529127938, 1757298887092326400, 1789978117570945186); -INSERT INTO `iam_role_path` VALUES (1789982023529127939, 1757298887092326400, 1789978117570945052); -INSERT INTO `iam_role_path` VALUES (1789982023529127940, 1757298887092326400, 1789978117566750795); -INSERT INTO `iam_role_path` VALUES (1789982023529127941, 1757298887092326400, 1789978117566750741); -INSERT INTO `iam_role_path` VALUES (1789982023529127942, 1757298887092326400, 1789978117570945094); -INSERT INTO `iam_role_path` VALUES (1789982023529127943, 1757298887092326400, 1789978117566750758); -INSERT INTO `iam_role_path` VALUES (1789986071959429120, 1757298887092326400, 1789978117570945124); -INSERT INTO `iam_role_path` VALUES (1790355320001957888, 1757297023118462976, 1789978117570945272); -INSERT INTO `iam_role_path` VALUES (1790355320001957889, 1757297023118462976, 1789978117570945194); -INSERT INTO `iam_role_path` VALUES (1790355320001957890, 1757297023118462976, 1789978117570945175); -INSERT INTO `iam_role_path` VALUES (1790355320001957891, 1757297023118462976, 1789978117570945164); -INSERT INTO `iam_role_path` VALUES (1790355320001957892, 1757297023118462976, 1789978117566750801); -INSERT INTO `iam_role_path` VALUES (1790355320102621184, 1757298887092326400, 1789978117570945272); -INSERT INTO `iam_role_path` VALUES (1790355320102621185, 1757298887092326400, 1789978117570945194); -INSERT INTO `iam_role_path` VALUES (1790355320102621186, 1757298887092326400, 1789978117570945175); -INSERT INTO `iam_role_path` VALUES (1790355320102621187, 1757298887092326400, 1789978117570945164); -INSERT INTO `iam_role_path` VALUES (1790355320102621188, 1757298887092326400, 1789978117566750801); - --- ---------------------------- --- Table structure for iam_user_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_data_role`; -CREATE TABLE `iam_user_data_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '数据角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_dept`; -CREATE TABLE `iam_user_dept` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_expand_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_expand_info`; -CREATE TABLE `iam_user_expand_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `sex` int(4) NULL DEFAULT NULL COMMENT '性别', - `birthday` date NULL DEFAULT NULL COMMENT '生日', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `last_login_time` datetime NULL DEFAULT NULL COMMENT '上次登录时间', - `current_login_time` datetime NULL DEFAULT NULL COMMENT '本次登录时间', - `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', - `expire_password` bit(1) NOT NULL COMMENT '密码是否过期', - `last_change_password_time` datetime NULL DEFAULT NULL COMMENT '上次修改密码时间', - `register_time` datetime NOT NULL COMMENT '注册时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_expand_info --- ---------------------------- -INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', NULL, '2024-05-13 19:48:06', '2024-05-13 19:48:37', b'0', b'0', '2023-10-19 14:14:08', '2021-08-01 18:52:37', 1, '2021-06-02 15:04:15', 0, '2024-05-13 19:48:37', 453, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757299137932677120, 1, '2024-02-13', NULL, '2024-05-13 19:32:55', '2024-05-13 19:48:45', b'0', b'0', NULL, '2024-02-13 15:02:18', 1399985191002447872, '2024-02-13 15:02:18', 0, '2024-05-13 19:48:45', 6, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757317255899869184, NULL, NULL, NULL, '2024-04-25 22:10:31', '2024-04-26 09:22:54', b'0', b'0', NULL, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, '2024-04-26 09:22:54', 9, b'0'); - --- ---------------------------- --- Table structure for iam_user_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_info`; -CREATE TABLE `iam_user_info` ( - `id` bigint(20) NOT NULL, - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', - `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', - `client_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '关联终端ds', - `administrator` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', - `status` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_info --- ---------------------------- -INSERT INTO `iam_user_info` VALUES (1399985191002447872, 'Bootx', 'bootx', 'f52020dca765fd3943ed40a615dc2c5c', '13333333333', 'bootx@bootx.cn', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', b'1', 'normal', 1, '2021-06-02 15:04:15', 1399985191002447872, '2024-04-11 18:55:34', 65, 0); -INSERT INTO `iam_user_info` VALUES (1757299137932677120, 'DaxPay演示', 'daxpay', 'f52020dca765fd3943ed40a615dc2c5c', '14443332251', 'daxpay@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 15:02:18', 1757299137932677120, '2024-02-13 16:09:44', 2, 0); -INSERT INTO `iam_user_info` VALUES (1757317255899869184, 'DaxPay管理员', 'daxpayadmin', '1e9e3c3deaa4a06d08326e82a49d1b63', '12222333223', 'daxpayadmin@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, 0); - --- ---------------------------- --- Table structure for iam_user_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_role`; -CREATE TABLE `iam_user_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_role --- ---------------------------- -INSERT INTO `iam_user_role` VALUES (1757299293314863104, 1757299137932677120, 1757298887092326400); -INSERT INTO `iam_user_role` VALUES (1757317495407210496, 1757317255899869184, 1757297023118462976); - --- ---------------------------- --- Table structure for iam_user_third --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third`; -CREATE TABLE `iam_user_third` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', - `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', - `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', - `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', - `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', - `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', - `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_third_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third_info`; -CREATE TABLE `iam_user_third_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', - `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third_info --- ---------------------------- - --- ---------------------------- --- Table structure for notice_mail_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_mail_config`; -CREATE TABLE `notice_mail_config` ( - `id` bigint(20) NOT NULL, - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', - `port` int(5) NOT NULL COMMENT '邮箱服务器 port', - `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', - `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', - `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', - `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', - `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', - `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_mail_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_message_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_message_template`; -CREATE TABLE `notice_message_template` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_message_template --- ---------------------------- -INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); - --- ---------------------------- --- Table structure for notice_site_message --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message`; -CREATE TABLE `notice_site_message` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', - `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', - `sender_time` datetime NULL DEFAULT NULL COMMENT '发送时间', - `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', - `efficient_time` datetime NULL DEFAULT NULL COMMENT '截至有效期', - `cancel_time` datetime NULL DEFAULT NULL COMMENT '撤回时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message --- ---------------------------- - --- ---------------------------- --- Table structure for notice_site_message_user --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message_user`; -CREATE TABLE `notice_site_message_user` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `message_id` bigint(20) NOT NULL COMMENT '消息id', - `receive_id` bigint(20) NOT NULL COMMENT '接收者id', - `have_read` bit(1) NOT NULL COMMENT '已读/未读', - `read_time` datetime NULL DEFAULT NULL COMMENT '已读时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', - INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message_user --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_channel_config`; -CREATE TABLE `notice_sms_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', - `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', - `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', - `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_channel_config --- ---------------------------- -INSERT INTO `notice_sms_channel_config` VALUES (1688432603289337856, 'alibaba', '阿里云短信', 'normal', '1', '{\"accessKeyId\":\"1231231231232111\",\"accessKeySecret\":\"12312312321111\",\"signature\":\"1231\",\"templateId\":\"2312313\",\"templateName\":\"123\",\"requestUrl\":\"五千二无二\",\"action\":\"SendSms\",\"version\":\"11\",\"regionId\":\"cn-hangzhou\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 14:11:17', 1414143554414059520, '2023-08-07 15:35:34', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688456604610953216, 'huawei', '华为云短信', 'normal', '1', '{\"appKey\":\"1231231231232\",\"appSecret\":\"1111\",\"signature\":\"1\",\"sender\":\"1\",\"templateId\":\"12\",\"statusCallBack\":\"1\",\"url\":\"1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 15:46:39', 1414143554414059520, '2023-08-07 15:46:49', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688461302302732288, 'yunpian', '云片短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"callbackUrl\":null,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 16:05:19', 1414143554414059520, '2023-08-08 14:12:23', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788784751001600, 'tencent', '腾讯短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"sdkAppId\":null,\"territory\":\"ap-guangzhou\",\"connTimeout\":60,\"requestUrl\":\"sms.tencentcloudapi.com\",\"action\":\"SendSms\",\"version\":\"2021-01-11\",\"service\":\"sms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:37', 1414143554414059520, '2023-08-08 13:46:37', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788807228276736, 'uni_sms', '合一短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"isSimple\":true,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:42', 1414143554414059520, '2023-08-08 13:46:43', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788823900635136, 'netease', '网易云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"templateUrl\":\"https://api.netease.im/sms/sendtemplate.action\",\"codeUrl\":\"https://api.netease.im/sms/sendcode.action\",\"verifyUrl\":\"https://api.netease.im/sms/verifycode.action\",\"needUp\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:46', 1414143554414059520, '2023-08-08 13:46:47', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788846944141312, 'ctyun', '天翼云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"requestUrl\":\"https://sms-global.ctapi.ctyun.cn/sms/api/v1\",\"action\":\"SendSms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:52', 1414143554414059520, '2023-08-08 13:46:52', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788862987354112, 'emay', '亿美短信', 'normal', '1', '{\"appId\":\"1\",\"secretKey\":\"1\",\"requestUrl\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:56', 1414143554414059520, '2023-08-08 14:03:04', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788885141667840, 'cloopen', '容联短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"appId\":null,\"baseUrl\":\"https://app.cloopen.com:8883/2013-12-26\",\"serverIp\":null,\"serverPort\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:01', 1414143554414059520, '2023-08-08 13:47:01', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788904481603584, 'jd_cloud', '京东短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"region\":\"cn-north-1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:06', 1414143554414059520, '2023-08-08 13:47:06', 0, b'0'); - --- ---------------------------- --- Table structure for notice_sms_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_config`; -CREATE TABLE `notice_sms_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', - `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_template`; -CREATE TABLE `notice_sms_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `supplier_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板名称', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '短信模板配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_template --- ---------------------------- - --- ---------------------------- --- Table structure for notice_wechat_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_wechat_config`; -CREATE TABLE `notice_wechat_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_wechat_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_config`; -CREATE TABLE `pay_alipay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知页面路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `auth_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', - `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', - `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', - `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', - `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', - `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_config --- ---------------------------- -INSERT INTO `pay_alipay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-05-07 19:06:38', 32, b'0'); - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_detail`; -CREATE TABLE `pay_alipay_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间', - `end_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完成时间', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `operator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作员', - `terminal_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端号', - `other_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对方账户', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `real_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `alipay_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝红包(元)', - `jfb_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '集分宝(元)', - `alipay_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `coupon_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券核销金额(元)', - `coupon_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券名称', - `coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家红包消费金额(元)', - `card_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `batch_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款批次号/请求号', - `service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `split_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_total`; -CREATE TABLE `pay_alipay_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单总笔数', - `total_refund_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款订单总笔数', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `total_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `total_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `total_consume_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `total_service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `total_share_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `total_net_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实收净额(元)', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务汇总对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group`; -CREATE TABLE `pay_allocation_group` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group_receiver`; -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order`; -CREATE TABLE `pay_allocation_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `biz_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户分账单号', - `out_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道分账号', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账处理结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_detail`; -CREATE TABLE `pay_allocation_order_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_receiver`; -CREATE TABLE `pay_allocation_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '账号别名', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', - `sync` bit(1) NULL DEFAULT NULL COMMENT '是否已经同步到网关', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收方' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_api_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_api_config`; -CREATE TABLE `pay_api_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `api` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口地址', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `notice_support` bit(1) NULL DEFAULT NULL COMMENT '支持回调通知', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notice` bit(1) NULL DEFAULT NULL COMMENT '是否开启回调通知', - `notice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '默认通知地址', - `req_sign` bit(1) NULL DEFAULT NULL COMMENT '请求参数是否签名', - `res_sign` bit(1) NULL DEFAULT NULL COMMENT '响应参数是否签名', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调信息是否签名', - `record` bit(1) NULL DEFAULT NULL COMMENT '是否记录请求的信息', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付接口配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_api_config --- ---------------------------- -INSERT INTO `pay_api_config` VALUES (1, 'pay', '/uniPay/pay', '统一支付接口 ', b'1', b'1', b'1', 'https://daxpay.demo.bootx.cn/server/demo/callback/payObject', b'1', b'0', b'1', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (3, 'close', '/uniPay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (4, 'refund', '/uniPay/refund', '统一退款接口', b'1', b'1', b'1', 'https://daxpay.demo.bootx.cn/server/demo/callback/refundObject', b'1', b'0', b'1', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (6, 'syncPay', '/uniPay/syncPay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (7, 'syncRefund', '/uniPay/syncRefund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (8, 'transfer', '/uniPay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (9, 'allocation', '/uniPay/allocation', '统一分账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (10, 'queryPayOrder', '/uniPay/queryPayOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (11, 'queryRefundOrder', '/uniPay/queryRefundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (12, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (13, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); - --- ---------------------------- --- Table structure for pay_callback_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_callback_record`; -CREATE TABLE `pay_callback_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `callback_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调类型', - `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '通知消息', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调处理状态', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网关回调通知' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_callback_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_channel_config`; -CREATE TABLE `pay_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `icon_id` bigint(20) NULL DEFAULT NULL COMMENT 'ICON图片', - `bg_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡牌背景色', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付通道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_channel_config --- ---------------------------- -INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1757299137932677120, '2024-05-13 19:46:19', 12, b'0'); -INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); -INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); -INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); - --- ---------------------------- --- Table structure for pay_client_notice_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_record`; -CREATE TABLE `pay_client_notice_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `task_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID', - `req_count` int(11) NULL DEFAULT NULL COMMENT '请求次数', - `success` bit(1) NULL DEFAULT NULL COMMENT '发送是否成功', - `send_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送类型', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误编码', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_client_notice_task --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_task`; -CREATE TABLE `pay_client_notice_task` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否发送成功', - `send_count` int(11) NULL DEFAULT NULL COMMENT '发送次数', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送地址', - `latest_time` datetime NULL DEFAULT NULL COMMENT '最后发送时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `notice_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地交易ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_task --- ---------------------------- - --- ---------------------------- --- Table structure for pay_close_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_close_record`; -CREATE TABLE `pay_close_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关闭的支付通道', - `closed` bit(1) NULL DEFAULT NULL COMMENT '是否关闭成功', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付关闭记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_close_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_method_info --- ---------------------------- -DROP TABLE IF EXISTS `pay_method_info`; -CREATE TABLE `pay_method_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_method_info --- ---------------------------- -INSERT INTO `pay_method_info` VALUES (1, 'normal', '常规支付', '同步支付使用这个', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:39:16', 1, b'0'); -INSERT INTO `pay_method_info` VALUES (2, 'wap', 'wap支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (3, 'app', '应用支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (4, 'web', 'web支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (6, 'barcode', '付款码', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (7, 'jsapi', '公众号/小程序支付', '主要是微信使用', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:38:57', 1, b'0'); - --- ---------------------------- --- Table structure for pay_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_order`; -CREATE TABLE `pay_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步支付通道', - `method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', - `pay_time` datetime NULL DEFAULT NULL COMMENT '支付时间', - `close_time` datetime NULL DEFAULT NULL COMMENT '关闭时间', - `expired_time` datetime NULL DEFAULT NULL COMMENT '过期时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `auto_allocation` bit(1) NULL DEFAULT NULL COMMENT '自动分账', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户订单号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_order_extra`; -CREATE TABLE `pay_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳,以最后一次为准', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_platform_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_platform_config`; -CREATE TABLE `pay_platform_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `website_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网站地址', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通知地址', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', - `order_timeout` int(11) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付平台配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_platform_config --- ---------------------------- -INSERT INTO `pay_platform_config` VALUES (0, 'http://localhost/', 'HMAC_SHA256', '123456', 'http://localhost/h5/#/result/success', 'http://localhost/h5/#/result/success', 30, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-03-24 11:34:20', 13, b'0', 20000); - --- ---------------------------- --- Table structure for pay_reconcile_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_detail`; -CREATE TABLE `pay_reconcile_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_diff_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_diff_record`; -CREATE TABLE `pay_reconcile_diff_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `detail_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单明细ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', - `diff_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', - `diffs` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '差异内容', - `amount` int(11) NULL DEFAULT NULL COMMENT '本地交易金额', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `out_amount` int(11) NULL DEFAULT NULL COMMENT '通道交易金额', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `reconcile_date` date NULL DEFAULT NULL COMMENT '对账日期', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账差异单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_diff_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_file --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_file`; -CREATE TABLE `pay_reconcile_file` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单文件', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '原始对账单文件,' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_file --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_order`; -CREATE TABLE `pay_reconcile_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `date` date NULL DEFAULT NULL COMMENT '日期', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `compare` bit(1) NULL DEFAULT NULL COMMENT '明细对账单比对', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `down_or_upload` bit(1) NULL DEFAULT NULL COMMENT '明细对账单下载', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账单订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_trade_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_trade_detail`; -CREATE TABLE `pay_reconcile_trade_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账-第三方交易明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_trade_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order`; -CREATE TABLE `pay_refund_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付标题', - `refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款号', - `biz_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款号', - `out_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '三方支付系统退款交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '退款完成时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order_extra`; -CREATE TABLE `pay_refund_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_repair_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_repair_record`; -CREATE TABLE `pay_repair_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复号', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `repair_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复类型', - `repair_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复来源', - `repair_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复方式', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复的通道', - `before_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复前状态', - `after_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复后状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付修复记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_repair_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_sync_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_sync_record`; -CREATE TABLE `pay_sync_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `out_trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', - `sync_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步的异步通道', - `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '同步消息', - `repair` bit(1) NULL DEFAULT NULL COMMENT '是否进行修复', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付同步订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_sync_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_transfer_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_transfer_order`; -CREATE TABLE `pay_transfer_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `amount` int(11) NULL DEFAULT NULL, - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `success_time` datetime NULL DEFAULT NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '转账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_transfer_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_union_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_pay_config`; -CREATE TABLE `pay_union_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `mach_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `seller` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户收款账号', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', - `cert_sign` bit(1) NULL DEFAULT NULL COMMENT '是否为证书签名', - `key_private_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用私钥证书', - `key_private_cert_pwd` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '私钥证书对应的密码', - `acp_middle_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '中级证书', - `acp_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_pay_config --- ---------------------------- -INSERT INTO `pay_union_pay_config` VALUES (0, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2024-03-06 22:56:22', 1399985191002447872, '2024-03-23 23:15:20', 12, b'0'); - --- ---------------------------- --- Table structure for pay_union_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_reconcile_bill_detail`; -CREATE TABLE `pay_union_reconcile_bill_detail` ( - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易代码', - `txn_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易传输时间', - `txn_amt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易金额', - `query_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '查询流水号', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID' -) ENGINE = InnoDB AUTO_INCREMENT = 128 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet`; -CREATE TABLE `pay_wallet` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联用户id', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钱包名称', - `balance` int(11) NULL DEFAULT NULL COMMENT '余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - INDEX `用户ID索引`(`user_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_config`; -CREATE TABLE `pay_wallet_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_config --- ---------------------------- -INSERT INTO `pay_wallet_config` VALUES (0, b'0', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); - --- ---------------------------- --- Table structure for pay_wallet_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_record`; -CREATE TABLE `pay_wallet_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wallet_id` bigint(20) NULL DEFAULT NULL COMMENT '钱包id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `old_amount` int(11) NULL DEFAULT NULL COMMENT '变动之前的金额', - `new_amount` int(11) NULL DEFAULT NULL COMMENT '变动之后的金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `wallet_id`(`wallet_id`) USING BTREE COMMENT '钱包ID' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_notice_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_notice_config`; -CREATE TABLE `pay_wechat_notice_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用id', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用秘钥', - `qr_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众号二维码', - `oauth2_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'OAuth2地址', - `verify_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件名称', - `verify_file_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件内容', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息Id', - `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息内容', - `template_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息通知相关配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_notice_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_config`; -CREATE TABLE `pay_wechat_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wx_mch_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', - `wx_app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知路径', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `api_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口版本', - `api_key_v2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv2 密钥', - `api_key_v3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv3 密钥', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APPID对应的接口密码', - `p12` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'API证书中p12证书Base64', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_config --- ---------------------------- -INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0'); - --- ---------------------------- --- Table structure for pay_wechat_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_record`; -CREATE TABLE `pay_wechat_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `gateway_time` datetime NULL DEFAULT NULL COMMENT '网关完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_detail`; -CREATE TABLE `pay_wechat_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `transaction_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易时间', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众账号ID', - `merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `sub_merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '特约商户号', - `wei_xin_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信订单号', - `mch_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户标识', - `device_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备号', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - `bank` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '付款银行', - `currency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货币种类', - `amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单金额', - `envelope_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代金券金额', - `wx_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信退款单号', - `mch_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款单号', - `refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款金额', - `coupon_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款金额', - `refund_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款类型', - `refund_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `mch_data_packet` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户数据包', - `premium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费', - `rates` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额', - `apply_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款金额', - `rates_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_total`; -CREATE TABLE `pay_wechat_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '总交易单数', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单总金额', - `total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款总金额', - `total_refund_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款总金额', - `total_fee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费总金额', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单总金额', - `apply_total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款总金额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单汇总' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_blob_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_blob_triggers`; -CREATE TABLE `qrtz_blob_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `BLOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_blob_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_calendars --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_calendars`; -CREATE TABLE `qrtz_calendars` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR` blob NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_calendars --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_cron_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_cron_triggers`; -CREATE TABLE `qrtz_cron_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_cron_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_fired_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_fired_triggers`; -CREATE TABLE `qrtz_fired_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `FIRED_TIME` bigint(13) NOT NULL, - `SCHED_TIME` bigint(13) NOT NULL, - `PRIORITY` int(11) NOT NULL, - `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, - INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, - INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, - INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_fired_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_job_details --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_job_details`; -CREATE TABLE `qrtz_job_details` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_job_details --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_locks --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_locks`; -CREATE TABLE `qrtz_locks` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_locks --- ---------------------------- -INSERT INTO `qrtz_locks` VALUES ('quartzScheduler', 'TRIGGER_ACCESS'); - --- ---------------------------- --- Table structure for qrtz_paused_trigger_grps --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; -CREATE TABLE `qrtz_paused_trigger_grps` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_paused_trigger_grps --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_scheduler_state --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_scheduler_state`; -CREATE TABLE `qrtz_scheduler_state` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LAST_CHECKIN_TIME` bigint(13) NOT NULL, - `CHECKIN_INTERVAL` bigint(13) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_scheduler_state --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simple_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simple_triggers`; -CREATE TABLE `qrtz_simple_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REPEAT_COUNT` bigint(7) NOT NULL, - `REPEAT_INTERVAL` bigint(12) NOT NULL, - `TIMES_TRIGGERED` bigint(10) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simple_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simprop_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simprop_triggers`; -CREATE TABLE `qrtz_simprop_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `INT_PROP_1` int(11) NULL DEFAULT NULL, - `INT_PROP_2` int(11) NULL DEFAULT NULL, - `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, - `LONG_PROP_2` bigint(20) NULL DEFAULT NULL, - `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL, - `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL, - `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simprop_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_triggers`; -CREATE TABLE `qrtz_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PRIORITY` int(11) NULL DEFAULT NULL, - `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `START_TIME` bigint(13) NOT NULL, - `END_TIME` bigint(13) NULL DEFAULT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_data_version --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_data_version`; -CREATE TABLE `starter_audit_data_version` ( - `id` bigint(20) NOT NULL, - `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', - `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', - `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', - `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', - `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', - `version` int(10) NOT NULL COMMENT '版本', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_data_version --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_login_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_login_log`; -CREATE TABLE `starter_audit_login_log` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', - `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', - `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', - `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', - `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', - `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', - `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', - `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', - `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', - `login_time` datetime NULL DEFAULT NULL COMMENT '访问时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_login_log --- ---------------------------- -INSERT INTO `starter_audit_login_log` VALUES (1789981400523988992, 1757299137932677120, 'daxpay', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:29:57'); -INSERT INTO `starter_audit_login_log` VALUES (1789981854330904576, 1399985191002447872, 'bootx', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:31:45'); -INSERT INTO `starter_audit_login_log` VALUES (1789982145977638912, 1757299137932677120, 'daxpay', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:32:55'); -INSERT INTO `starter_audit_login_log` VALUES (1789985967902941184, 1399985191002447872, 'bootx', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:48:06'); -INSERT INTO `starter_audit_login_log` VALUES (1789986099583115264, 1399985191002447872, 'bootx', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:48:37'); -INSERT INTO `starter_audit_login_log` VALUES (1789986131078144000, 1757299137932677120, 'daxpay', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:48:45'); - --- ---------------------------- --- Table structure for starter_audit_operate_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_operate_log`; -CREATE TABLE `starter_audit_operate_log` ( - `id` bigint(20) NOT NULL, - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', - `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', - `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', - `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', - `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', - `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', - `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', - `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', - `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', - `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', - `operate_time` datetime NULL DEFAULT NULL COMMENT '操作时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_operate_log --- ---------------------------- -INSERT INTO `starter_audit_operate_log` VALUES (1764663811019894784, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-04 22:46:53'); -INSERT INTO `starter_audit_operate_log` VALUES (1764932301155672064, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-05 16:33:46'); -INSERT INTO `starter_audit_operate_log` VALUES (1764932527790702592, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-05 16:34:39'); -INSERT INTO `starter_audit_operate_log` VALUES (1764933649263722496, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-05 16:39:06'); -INSERT INTO `starter_audit_operate_log` VALUES (1768219996095213568, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-14 18:17:54'); -INSERT INTO `starter_audit_operate_log` VALUES (1772446742462001152, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-26 10:13:29'); -INSERT INTO `starter_audit_operate_log` VALUES (1780216506568273920, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-16 20:47:45'); -INSERT INTO `starter_audit_operate_log` VALUES (1780417659281174528, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:07:03'); -INSERT INTO `starter_audit_operate_log` VALUES (1780417857529147392, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:07:50'); -INSERT INTO `starter_audit_operate_log` VALUES (1780418146982260736, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:08:59'); -INSERT INTO `starter_audit_operate_log` VALUES (1780418343170830336, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:09:46'); -INSERT INTO `starter_audit_operate_log` VALUES (1789978119609376768, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-05-13 19:16:55'); - --- ---------------------------- --- Table structure for starter_ding_media_md5 --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_media_md5`; -CREATE TABLE `starter_ding_media_md5` ( - `id` bigint(20) NOT NULL, - `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', - `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_media_md5 --- ---------------------------- - --- ---------------------------- --- Table structure for starter_ding_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_robot_config`; -CREATE TABLE `starter_ding_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', - `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_data --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_data`; -CREATE TABLE `starter_file_data` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', - `data` longblob NULL COMMENT '数据方式存储', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_data --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_upload_info --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_upload_info`; -CREATE TABLE `starter_file_upload_info` ( - `id` bigint(20) NOT NULL COMMENT '文件id', - `url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件访问地址', - `size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小,单位字节', - `filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名称', - `original_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原始文件名', - `base_path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础存储路径', - `path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储路径', - `ext` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件扩展名', - `content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'MIME类型', - `platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储平台', - `th_url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图访问路径', - `th_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图名称', - `th_size` bigint(20) NULL DEFAULT NULL COMMENT '缩略图大小,单位字节', - `th_content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图MIME类型', - `object_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象id', - `object_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象类型,例如用户头像,评价图片', - `metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件元数据', - `user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件用户元数据', - `th_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图元数据', - `th_user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图用户元数据', - `attr` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '附加属性', - `file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件ACL', - `th_file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图文件ACL', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '文件记录表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_upload_info --- ---------------------------- - --- ---------------------------- --- Table structure for starter_quartz_job --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job`; -CREATE TABLE `starter_quartz_job` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', - `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', - `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', - `state` int(4) NULL DEFAULT NULL COMMENT '状态', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job --- ---------------------------- -INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.platform.starter.quartz.task.TestTask', '0/3 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2024-02-24 23:57:57', 29, 0); -INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.daxpay.single.service.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 0, '检测超时的支付单, 超时后调用同步事件状态修复', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2024-05-09 17:13:10', 7, 0); -INSERT INTO `starter_quartz_job` VALUES (1761419490908958720, '客户系统通知重发任务', 'cn.daxpay.single.service.task.ClientNoticeSendTask', '0/1 * * * * ? *', '', 0, '每秒调用一下当前需要进行通知的任务', 1399985191002447872, '2024-02-24 23:55:07', 1399985191002447872, '2024-05-09 17:13:10', 5, 0); -INSERT INTO `starter_quartz_job` VALUES (1764664552203743232, '支付宝定时对账', 'cn.daxpay.single.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"ali_pay\",\"n\":1}', 0, '', 1399985191002447872, '2024-03-04 22:49:50', 1399985191002447872, '2024-05-09 17:13:10', 6, 0); -INSERT INTO `starter_quartz_job` VALUES (1764667388106887168, '微信支付定时对账', 'cn.daxpay.single.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"wechat_pay\",\"n\":1}', 0, '', 1399985191002447872, '2024-03-04 23:01:06', 1399985191002447872, '2024-05-09 17:13:10', 6, 0); -INSERT INTO `starter_quartz_job` VALUES (1767553847839141888, '退款订单定时同步', 'cn.daxpay.single.service.task.RefundSyncTask', '0 * * * * ? *', '', 0, '', 1399985191002447872, '2024-03-12 22:10:52', 1399985191002447872, '2024-05-09 17:13:10', 4, 0); -INSERT INTO `starter_quartz_job` VALUES (1787464504578744320, '自动分账定时任务', 'cn.daxpay.single.service.task.AllocationAutoStartTask', '0/10 * * * * ? *', '', 0, '', 1399985191002447872, '2024-05-06 20:48:42', 1399985191002447872, '2024-05-09 17:13:10', 2, 0); -INSERT INTO `starter_quartz_job` VALUES (1787470450809954304, '自动分账信息同步和完结接口', 'cn.daxpay.single.service.task.AllocationSyncTask', '0/10 * * * * ? *', '', 0, '', 1399985191002447872, '2024-05-06 21:12:20', 1399985191002447872, '2024-05-09 17:13:10', 2, 0); - --- ---------------------------- --- Table structure for starter_quartz_job_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job_log`; -CREATE TABLE `starter_quartz_job_log` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', - `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', - `success` bit(1) NOT NULL COMMENT '是否执行成功', - `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', - `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wecom_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_wecom_robot_config`; -CREATE TABLE `starter_wecom_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wecom_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_fans --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_fans`; -CREATE TABLE `starter_wx_fans` ( - `id` bigint(20) NOT NULL, - `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', - `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', - `subscribe_time` datetime NULL DEFAULT NULL COMMENT '订阅时间', - `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', - `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', - `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', - `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', - `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', - `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_fans --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_menu --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_menu`; -CREATE TABLE `starter_wx_menu` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `publish` bit(1) NOT NULL COMMENT '是否发布', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_menu --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_template --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_template`; -CREATE TABLE `starter_wx_template` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `enable` bit(1) NOT NULL COMMENT '是否启用', - `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', - `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', - `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', - `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', - `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', - `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_template --- ---------------------------- - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.6/2.0.6.update.data.sql b/_config/mysql/2.0.6/2.0.6.update.data.sql deleted file mode 100644 index 57626726..00000000 --- a/_config/mysql/2.0.6/2.0.6.update.data.sql +++ /dev/null @@ -1,287 +0,0 @@ -SET FOREIGN_KEY_CHECKS = 0; - -INSERT INTO `base_dict` (`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797179034383134720, 'TradeFlowRecordType', '交易流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-06-02 16:10:46', 1399985191002447872, '2024-06-02 16:10:46', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795722875761156096, 1780163691808391168, 'AllocDetailResult', 'ignore', '忽略分账', b'1', 3.00, '', 1399985191002447872, '2024-05-29 15:44:31', 1399985191002447872, '2024-05-29 15:44:31', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795722956774137856, 1777697358802530304, 'AllocOrderStatus', 'ignore', '忽略分账', b'1', 7.00, '', 1399985191002447872, '2024-05-29 15:44:50', 1399985191002447872, '2024-05-29 15:44:50', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795730634367918080, 1751603996496453632, 'PaymentType', 'transfer', '转账', b'1', 3.00, '', 1399985191002447872, '2024-05-29 16:15:21', 1399985191002447872, '2024-05-29 16:15:21', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795730676084465664, 1751603996496453632, 'PaymentType', 'allocation', '分账', b'1', 4.00, '', 1399985191002447872, '2024-05-29 16:15:31', 1399985191002447872, '2024-05-29 16:15:31', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797179153430065152, 1797179034383134720, 'TradeFlowRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-06-02 16:11:15', 1399985191002447872, '2024-06-02 16:11:15', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797179194613936128, 1797179034383134720, 'TradeFlowRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-06-02 16:11:25', 1399985191002447872, '2024-06-02 16:11:25', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797524426741882880, 1761434095349624832, 'ClientNoticeType', 'allocation', '分账', b'1', 3.00, '', 1399985191002447872, '2024-06-03 15:03:14', 1399985191002447872, '2024-06-03 15:03:14', 0, 0); - -UPDATE `base_dict_item` SET `dict_id` = 1777697358802530304, `dict_code` = 'AllocOrderStatus', `code` = 'waiting', `name` = '待分账', `enable` = b'1', `sort_no` = 1.00, `remark` = '', `creator` = 1399985191002447872, `create_time` = '2024-04-09 22:10:53', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-29 15:45:15', `deleted` = 1, `version` = 0 WHERE `id` = 1777700713809522688; - -UPDATE `base_dict_item` SET `dict_id` = 1777697358802530304, `dict_code` = 'AllocOrderStatus', `code` = 'finish', `name` = '完结', `enable` = b'1', `sort_no` = 5.00, `remark` = '', `creator` = 1399985191002447872, `create_time` = '2024-04-09 22:11:30', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-29 15:46:08', `deleted` = 0, `version` = 2 WHERE `id` = 1777700870613577728; - -UPDATE `base_dict_item` SET `dict_id` = 1777697358802530304, `dict_code` = 'AllocOrderStatus', `code` = 'finish_failed', `name` = '完结失败', `enable` = b'1', `sort_no` = 6.00, `remark` = '', `creator` = 1399985191002447872, `create_time` = '2024-04-09 22:11:53', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-29 15:45:51', `deleted` = 0, `version` = 2 WHERE `id` = 1777700964087836672; - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1629039360928075776, 'dax-pay', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1399985191002447872, '2024-05-09 19:26:57', 1, 1); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1635274568758435840, 'dax-pay', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1399985191002447872, '2024-05-09 19:27:24', 3, 1); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1703665090038800384, 'dax-pay', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1399985191002447872, '2024-05-09 19:27:29', 0, 1); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1797178029448867840, 'dax-pay', 1744643265142165504, '交易流水', 'TradeFlowRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/flow/TradeFlowRecordList', NULL, '/pay/record/flow', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-02 16:06:47', 1399985191002447872, '2024-06-02 16:06:47', 0, 0); - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1775089099078553600, `title` = '分账订单', `name` = 'AllocationOrderList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'0', `hide_children_in_menu` = b'0', `component` = 'payment/allocation/order/AllocationOrderList', `component_name` = NULL, `path` = '/pay/allocation/order', `redirect` = '', `sort_no` = -1, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `internal` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-04-09 21:21:53', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-31 11:16:55', `version` = 5, `deleted` = 0 WHERE `id` = 1777688382748700672; - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066176, 'PayNoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/callback/notice/wechat', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066177, 'AllocationReceiverController#existsByReceiverNo', '编码是否存在', 'GET', '/allocation/receiver/existsByReceiverNo', '分账接收方控制器', b'1', b'1', '分账接收方控制器 编码是否存在', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066178, 'UniAllocationController#start', '发起分账接口', 'POST', '/unipay/allocation/start', '分账控制器', b'1', b'1', '分账控制器 发起分账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066179, 'UniPayController#transfer', '统一转账接口', 'POST', '/unipay/transfer', '统一支付接口', b'1', b'1', '统一支付接口 统一转账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066180, 'UniQueryController#transferOrder', '转账订单查询接口', 'POST', '/unipay/query/transferOrder', '统一查询接口', b'1', b'1', '统一查询接口 转账订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066181, 'AllocationGroupController#existsByGroupNo', '编码是否存在', 'GET', '/allocation/group/existsByGroupNo', '分账组', b'1', b'1', '分账组 编码是否存在', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066182, 'UniQueryController#queryPayOrder', '支付订单查询接口', 'POST', '/unipay/query/payOrder', '统一查询接口', b'1', b'1', '统一查询接口 支付订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066183, 'UniQueryController#queryAllocationOrder', '分账订单查询接口', 'POST', '/unipay/query/allocationOrder', '统一查询接口', b'1', b'1', '统一查询接口 分账订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066184, 'AllocationOrderController#findByAllocNo', '查询扩展信息', 'GET', '/order/allocation/findByAllocNo', '分账订单控制器', b'1', b'1', '分账订单控制器 查询扩展信息', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066185, 'UniAllocationController#receiverAdd', '分账接收方添加接口', 'POST', '/unipay/allocation/receiver/add', '分账控制器', b'1', b'1', '分账控制器 分账接收方添加接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066186, 'UniPaySyncController#allocation', '分账同步接口', 'POST', '/unipay/sync/allocation', '统一同步接口', b'1', b'1', '统一同步接口 分账同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066187, 'UniReconcileController#down', '下载指定日期的资金流水', 'POST', '/unipay/reconcile/pay', '对账接口处理器', b'1', b'1', '对账接口处理器 下载指定日期的资金流水', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066188, 'RefundOrderController#findByRefundNo', '查询退款订单详情', 'GET', '/order/refund/findByRefundNo', '支付退款控制器', b'1', b'1', '支付退款控制器 查询退款订单详情', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066189, 'TradeFlowRecordController#findById', '查询单条', 'GET', '/record/flow/findById', '交易流水记录控制器', b'1', b'1', '交易流水记录控制器 查询单条', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066190, 'ClientNoticeReceiveController#allocation', '分账消息(对象)', 'POST', '/demo/callback/allocationObject', '回调测试', b'1', b'1', '回调测试 分账消息(对象)', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066191, 'UniPaySyncController#pay', '支付同步接口', 'POST', '/unipay/sync/pay', '统一同步接口', b'1', b'1', '统一同步接口 支付同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066192, 'UniPaySyncController#refund', '退款同步接口', 'POST', '/unipay/sync/refund', '统一同步接口', b'1', b'1', '统一同步接口 退款同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066193, 'UniPaySyncController#transfer', '转账同步接口', 'POST', '/unipay/sync/transfer', '统一同步接口', b'1', b'1', '统一同步接口 转账同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066194, 'ClientNoticeReceiveController#allocation', '分账消息', 'POST', '/demo/callback/allocation', '回调测试', b'1', b'1', '回调测试 分账消息', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066195, 'UniQueryController#queryAllocReceive', '分账接收方查询接口', 'POST', '/unipay/query/allocationReceiver', '统一查询接口', b'1', b'1', '统一查询接口 分账接收方查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066196, 'UniAllocationController#finish', '分账完结接口', 'POST', '/unipay/allocation/finish', '分账控制器', b'1', b'1', '分账控制器 分账完结接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066197, 'PayNoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/callback/notice/alipay', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066198, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/unipay/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066199, 'TradeFlowRecordController#page', '分页查询', 'GET', '/record/flow/page', '交易流水记录控制器', b'1', b'1', '交易流水记录控制器 分页查询', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066200, 'UniAllocationController#receiverRemove', '分账接收方删除接口', 'POST', '/unipay/allocation/receiver/remove', '分账控制器', b'1', b'1', '分账控制器 分账接收方删除接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -UPDATE `iam_perm_path` SET `code` = 'AllocationReceiverController#removeByGateway', `name` = '从三方支付系统中删除', `request_type` = 'POST', `path` = '/allocation/receiver/removeByGateway', `group_name` = '分账接收方控制器', `enable` = b'1', `generate` = b'1', `remark` = '分账接收方控制器 从三方支付系统中删除', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.069000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117562556420; - -UPDATE `iam_perm_path` SET `code` = 'UniQueryController#queryRefundOrder', `name` = '退款订单查询接口', `request_type` = 'POST', `path` = '/uni/query/refundOrder', `group_name` = '统一查询接口', `enable` = b'1', `generate` = b'1', `remark` = '统一查询接口 退款订单查询接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.069000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117562556426; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#syncPay', `name` = '支付同步接口', `request_type` = 'POST', `path` = '/unipay/syncPay', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 支付同步接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750722; - -UPDATE `iam_perm_path` SET `code` = 'PayGatewayNoticeController#wechatPayNotice', `name` = '微信消息通知', `request_type` = 'POST', `path` = '/gateway/notice/wechat', `group_name` = '三方支付网关消息通知', `enable` = b'1', `generate` = b'1', `remark` = '三方支付网关消息通知 微信消息通知', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750736; - -UPDATE `iam_perm_path` SET `code` = 'AllocationReceiverController#registerByGateway', `name` = '同步到三方支付系统中', `request_type` = 'POST', `path` = '/allocation/receiver/registerByGateway', `group_name` = '分账接收方控制器', `enable` = b'1', `generate` = b'1', `remark` = '分账接收方控制器 同步到三方支付系统中', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750740; - -UPDATE `iam_perm_path` SET `code` = 'RefundOrderController#findByRefundNo', `name` = '查询退款订单详情', `request_type` = 'GET', `path` = '/order/refund/findByOrderNo', `group_name` = '支付退款控制器', `enable` = b'1', `generate` = b'1', `remark` = '支付退款控制器 查询退款订单详情', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750763; - -UPDATE `iam_perm_path` SET `code` = 'UniQueryController#queryPayOrder', `name` = '支付订单查询接口', `request_type` = 'POST', `path` = '/uni/query/payOrder', `group_name` = '统一查询接口', `enable` = b'1', `generate` = b'1', `remark` = '统一查询接口 支付订单查询接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750771; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#syncRefund', `name` = '退款同步接口', `request_type` = 'POST', `path` = '/unipay/syncRefund', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 退款同步接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750798; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#allocation', `name` = '开启分账接口', `request_type` = 'POST', `path` = '/unipay/allocation', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 开启分账接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.722000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750833; - -UPDATE `iam_perm_path` SET `code` = 'PayGatewayNoticeController#aliPayNotice', `name` = '支付宝消息通知', `request_type` = 'POST', `path` = '/gateway/notice/alipay', `group_name` = '三方支付网关消息通知', `enable` = b'1', `generate` = b'1', `remark` = '三方支付网关消息通知 支付宝消息通知', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.071000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.722000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117570945107; - -UPDATE `iam_perm_path` SET `code` = 'AllocationReceiverController#update', `name` = '修改', `request_type` = 'POST', `path` = '/allocation/receiver/update', `group_name` = '分账接收方控制器', `enable` = b'1', `generate` = b'1', `remark` = '分账接收方控制器 修改', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.071000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.722000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117570945181; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#allocationFinish', `name` = '分账完结接口', `request_type` = 'POST', `path` = '/unipay/allocationFinish', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 分账完结接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.071000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.716000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117570945220; - -INSERT INTO `iam_role_menu` (`id`, `role_id`, `client_code`, `permission_id`) VALUES (1797522085254897664, 1757297023118462976, 'dax-pay', 1797178029448867840); - -INSERT INTO `iam_role_menu` (`id`, `role_id`, `client_code`, `permission_id`) VALUES (1797522085414281216, 1757298887092326400, 'dax-pay', 1797178029448867840); - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343710; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343757; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343761; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343763; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343784; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343785; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636766; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636813; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636817; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636819; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636840; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636841; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957888; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957889; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957890; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957891; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957892; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621184; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621185; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621186; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621187; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621188; - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786944, 1757297023118462976, 1797521957446066199); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786945, 1757297023118462976, 1797521957446066189); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786946, 1757297023118462976, 1797521957446066197); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786947, 1757297023118462976, 1797521957446066176); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786948, 1757297023118462976, 1797521957446066187); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095552, 1757298887092326400, 1797521957446066199); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095553, 1757298887092326400, 1797521957446066189); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095554, 1757298887092326400, 1797521957446066197); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095555, 1757298887092326400, 1797521957446066176); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095556, 1757298887092326400, 1797521957446066187); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038569865216, 1757297023118462976, 1797521957446066184); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038569865217, 1757297023118462976, 1797521957446066181); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038733443072, 1757298887092326400, 1797521957446066184); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038733443073, 1757298887092326400, 1797521957446066181); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523166064123904, 1757297023118462976, 1797521957446066177); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523166223507456, 1757298887092326400, 1797521957446066177); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293184, 1757297023118462976, 1789978117570945272); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293185, 1757297023118462976, 1789978117570945194); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293186, 1757297023118462976, 1789978117570945175); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293187, 1757297023118462976, 1789978117570945164); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293188, 1757297023118462976, 1789978117566750801); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093824, 1757298887092326400, 1789978117570945272); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093825, 1757298887092326400, 1789978117570945194); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093826, 1757298887092326400, 1789978117570945175); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093827, 1757298887092326400, 1789978117570945164); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093828, 1757298887092326400, 1789978117566750801); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523482968956928, 1757297023118462976, 1797521957446066188); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523483111563264, 1757298887092326400, 1797521957446066188); - -DELETE FROM `pay_api_config` WHERE `id` = 1; - -DELETE FROM `pay_api_config` WHERE `id` = 3; - -DELETE FROM `pay_api_config` WHERE `id` = 4; - -DELETE FROM `pay_api_config` WHERE `id` = 6; - -DELETE FROM `pay_api_config` WHERE `id` = 7; - -DELETE FROM `pay_api_config` WHERE `id` = 8; - -DELETE FROM `pay_api_config` WHERE `id` = 9; - -DELETE FROM `pay_api_config` WHERE `id` = 10; - -DELETE FROM `pay_api_config` WHERE `id` = 11; - -DELETE FROM `pay_api_config` WHERE `id` = 12; - -DELETE FROM `pay_api_config` WHERE `id` = 13; - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (100, 'pay', '/unipay/pay', '统一支付接口 ', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/payObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-03-11 17:31:41', 11, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (200, 'close', '/unipay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (300, 'refund', '/unipay/refund', '统一退款接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/refundObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-16 21:59:19', 7, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (400, 'allocation', '/unipay/allocation/start', '统一分账接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/allocationObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-30 19:36:35', 1, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (450, 'allocationFinish', '/unipay/allocation/finish', '分账完结接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (451, 'allocationReceiverAdd', '/unipay/allocation/receiver/add', '分账接收方添加接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (452, 'allocationReceiverRemove', '/unipay/allocation/receiver/remove', '分账接收方删除接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (500, 'transfer', '/unipay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (600, 'syncPay', '/unipay/sync/pay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (700, 'syncRefund', '/unipay/sync/refund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (801, 'syncTransfer', '/unipay/sync/transfer', '转账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (805, 'syncAllocation', '/unipay/sync/allocation', '分账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1000, 'queryPayOrder', '/unipay/query/payOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1100, 'queryRefundOrder', '/unipay/query/refundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1150, 'queryAllocationOrder', '/unipay/query/allocationOrder', '分账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1175, 'queryAllocationReceiver', '/unipay/query/allocationReceiver', '分账接收方查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1176, 'queryTransferOrder', '/unipay/query/transferOrder', '转账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1200, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1300, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `starter_quartz_job` (`id`, `name`, `job_class_name`, `cron`, `parameter`, `state`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1797588916837670912, '支付单超时检测(数据库)', 'cn.daxpay.single.service.task.PayExpiredByDbTimeTask', '0/20 * * * * ? *', '', 0, '检测超时的支付单, 超时后调用同步事件状态修复', 1399985191002447872, '2024-06-03 19:19:30', 1399985191002447872, '2024-06-03 19:22:28', 5, 0); - -UPDATE `starter_quartz_job` SET `name` = '支付单超时检测(Redis)', `job_class_name` = 'cn.daxpay.single.service.task.PayExpiredTimeTask', `cron` = '0/5 * * * * ? *', `parameter` = NULL, `state` = 0, `remark` = '检测超时的支付单, 超时后调用同步事件状态修复', `creator` = 1399985191002447872, `create_time` = '2022-07-12 22:00:39', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 19:18:14', `version` = 9, `deleted` = 0 WHERE `id` = 1546857070483939328; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.6/2.0.6.update.table.sql b/_config/mysql/2.0.6/2.0.6.update.table.sql deleted file mode 100644 index 5e232d57..00000000 --- a/_config/mysql/2.0.6/2.0.6.update.table.sql +++ /dev/null @@ -1,85 +0,0 @@ -SET FOREIGN_KEY_CHECKS=0; - -ALTER TABLE `iam_perm_menu` - CHANGE COLUMN `admin` `internal` bit(1) NOT NULL COMMENT '系统菜单' AFTER `hidden_header_content`; - -ALTER TABLE `pay_allocation_group` ADD COLUMN `group_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账组编码' AFTER `id`; - -ALTER TABLE `pay_allocation_group` MODIFY COLUMN `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组' AFTER `channel`; - -ALTER TABLE `pay_allocation_order` MODIFY COLUMN `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单标题' AFTER `out_order_no`; - -ALTER TABLE `pay_allocation_order` MODIFY COLUMN `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理结果' AFTER `status`; - -ALTER TABLE `pay_allocation_order_detail` ADD COLUMN `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号' AFTER `receiver_id`; - -CREATE TABLE `pay_allocation_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单扩展' ROW_FORMAT = Dynamic; - -ALTER TABLE `pay_allocation_receiver` ADD COLUMN `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号' AFTER `id`; - -ALTER TABLE `pay_allocation_receiver` DROP COLUMN `name`; - -ALTER TABLE `pay_allocation_receiver` DROP COLUMN `sync`; - -ALTER TABLE `pay_allocation_receiver` DROP COLUMN `remark`; - -ALTER TABLE `pay_api_config` DROP COLUMN `res_sign`; - -ALTER TABLE `pay_api_config` DROP COLUMN `notice_sign`; - -ALTER TABLE `pay_api_config` DROP COLUMN `record`; - -CREATE TABLE `pay_reconcile_out_trade` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账-通道交易明细' ROW_FORMAT = Dynamic; - -ALTER TABLE `pay_refund_order` MODIFY COLUMN `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号' AFTER `biz_order_no`; - -ALTER TABLE `pay_refund_order` MODIFY COLUMN `out_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道退款交易号' AFTER `biz_refund_no`; - -CREATE TABLE `pay_trade_flow_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '资金流水记录' ROW_FORMAT = Dynamic; - -ALTER TABLE `pay_union_pay_config` MODIFY COLUMN `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额' AFTER `seller`; - -ALTER TABLE `pay_wechat_pay_config` MODIFY COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账' AFTER `sandbox`; - -ALTER TABLE `pay_wechat_pay_config` MODIFY COLUMN `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额' AFTER `pay_ways`; - -DROP TABLE IF EXISTS `pay_reconcile_trade_detail`; - -SET FOREIGN_KEY_CHECKS=1; diff --git a/_config/mysql/dax-pay.sql b/_config/mysql/dax-pay.sql index c47f349b..f4d43c3a 100644 --- a/_config/mysql/dax-pay.sql +++ b/_config/mysql/dax-pay.sql @@ -4,7 +4,6 @@ Source Server : 阿里-mysql5.7 Source Server Type : MySQL Source Server Version : 50743 (5.7.43-log) - Source Host : mysql.dev.bootx.cn:3306 Source Schema : dax-pay Target Server Type : MySQL diff --git a/_doc/ChangeLog.md b/_doc/ChangeLog.md index a18a1511..0bf3cb84 100644 --- a/_doc/ChangeLog.md +++ b/_doc/ChangeLog.md @@ -1,4 +1,6 @@ # CHANGELOG +## [v2.0.8] + ## [v2.0.7] - 新增: 资金流水记录功能 - 新增: 分账功能支持分账组分账和自己传接收方进行分账 diff --git a/_doc/Task.md b/_doc/Task.md index febb18b1..c6d2b959 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -3,7 +3,7 @@ - [x] 支持撤销接口 - [x] 增加转账接口功能 - [x] 转账订单前端页面 -- [ ] DEMO增加转账演示功能 +- [x] DEMO增加转账演示功能 - [x] DEMO增加获取OpenID功能 - [x] 手动发起分账重试参数修正 - [x] 细分各种支付异常类和编码(部分+初版) @@ -47,15 +47,16 @@ - [x] 退款回调消息字段不一致导致验签不通过问题 2.0.9: 消息通知改版和系统优化 -- [ ] 增加类似支付宝应用通知的方式, 先支持http方式通信 +- [ ] 增加类似支付宝应用通知的方式, 首先支持http方式通信 - [ ] 优化前端各种状态颜色展示 - [ ] 修复功能优化, 更改为交易调整单 -- [ ] 增加分账修复功能 +- [ ] 增加分账订单调整功能 - [ ] 增加验签调试等功能的页面 - [ ] 聚合支付UA在前端判断, 提高响应速度 - [ ] 增加分账回调处理(支付宝) - [ ] 请求权限改版, 使用专用配置类 - [ ] 转账同步接口 +- [ ] 支持微信V3版本支付接口 **任务池** - [ ] 增加收单收银台功能 @@ -67,7 +68,6 @@ - [ ] 特殊退款接口 - [ ] 统计报表功能 - [ ] 微信新增V3版本接口 -- [ ] 支付宝新增V3版本接口 - [ ] 增加各类日志记录,例如钱包的各项操作 - [ ] 针对同步/对账等出现脏数据导致阻塞的问题, 进行优化 - [ ] 同步接口 diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java index 5d515d4b..752c6afe 100644 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java @@ -8,9 +8,6 @@ public interface CommonErrorCode { /** 系统错误 */ int SYSTEM_ERROR = 10001; - /** 远程调用错误 */ - int REMOTE_CALL_ERROR = 10002; - /** 认证失败 */ int AUTHENTICATION_FAIL = 10004; @@ -38,7 +35,4 @@ public interface CommonErrorCode { /** 危险SQL异常, */ int DANGER_SQL = 10012; - // 未知异常 - int UNKNOWN_ERROR = -1; - } diff --git a/daxpay-single-demo/pom.xml b/daxpay-single-demo/pom.xml index 7bd84281..ca5a0a3e 100644 --- a/daxpay-single-demo/pom.xml +++ b/daxpay-single-demo/pom.xml @@ -21,7 +21,7 @@ <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> - <daxpay.version>2.0.7</daxpay.version> + <daxpay.version>2.0.8</daxpay.version> </properties> <dependencies> diff --git a/daxpay-single-sdk/pom.xml b/daxpay-single-sdk/pom.xml index 179a61b5..e93ef03d 100644 --- a/daxpay-single-sdk/pom.xml +++ b/daxpay-single-sdk/pom.xml @@ -6,7 +6,7 @@ <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single-sdk</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> <packaging>jar</packaging> <!-- 项目信息 --> @@ -88,7 +88,7 @@ <dependency> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single-core</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> <scope>compile</scope> </dependency> </dependencies> diff --git a/daxpay-single-start/pom.xml b/daxpay-single-start/pom.xml index 8a4983c8..5fa532e1 100644 --- a/daxpay-single-start/pom.xml +++ b/daxpay-single-start/pom.xml @@ -17,7 +17,7 @@ <properties> <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> - <daxpay.version>2.0.7</daxpay.version> + <daxpay.version>2.0.8</daxpay.version> </properties> <dependencies> diff --git a/daxpay-single-start/src/main/resources/application-dev.yml b/daxpay-single-start/src/main/resources/application-dev.yml index 098f2d96..696f1c73 100644 --- a/daxpay-single-start/src/main/resources/application-dev.yml +++ b/daxpay-single-start/src/main/resources/application-dev.yml @@ -67,7 +67,7 @@ bootx: swagger: enabled: true author: bootx - version: 2.0.7 + version: 2.0.8 title: 开源支付平台-单商户 description: 开源支付平台-单商户版 # 多模块扫码 diff --git a/daxpay-single-start/src/main/resources/application-prod.yml b/daxpay-single-start/src/main/resources/application-prod.yml index 281bd89f..c5f0d217 100644 --- a/daxpay-single-start/src/main/resources/application-prod.yml +++ b/daxpay-single-start/src/main/resources/application-prod.yml @@ -63,7 +63,7 @@ bootx: swagger: enabled: false author: bootx - version: 2.0.7 + version: 2.0.8 title: 开源支付平台-单商户 description: 开源支付平台-单商户版 # 缓存 diff --git a/daxpay-single/daxpay-single-admin/pom.xml b/daxpay-single/daxpay-single-admin/pom.xml index 497e06ba..ee49931b 100644 --- a/daxpay-single/daxpay-single-admin/pom.xml +++ b/daxpay-single/daxpay-single-admin/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-admin</artifactId> diff --git a/daxpay-single/daxpay-single-core/pom.xml b/daxpay-single/daxpay-single-core/pom.xml index b65ca622..f42fae8a 100644 --- a/daxpay-single/daxpay-single-core/pom.xml +++ b/daxpay-single/daxpay-single-core/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-core</artifactId> diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java index d8fac561..b2064340 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java @@ -46,10 +46,7 @@ public interface DaxPayErrorCode { int TRADE_STATUS_ERROR = 20044; /** 交易失败 */ - int TRADE_FAILE = 20045; - - /** 参数校验未通过 */ - int PARAM_VALIDATION_FAIL = 20051; + int TRADE_FAIL = 20045; /** 验签失败 */ int VERIFY_SIGN_FAILED = 20052; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java deleted file mode 100644 index 3290aeb4..00000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ParamValidationFailException.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.daxpay.single.core.exception; - -import cn.daxpay.single.core.code.DaxPayErrorCode; - -/** - * 参数校验未通过 - * @author xxm - * @since 2024/6/17 - */ -public class ParamValidationFailException extends PayFailureException{ - - public ParamValidationFailException(String message) { - super(DaxPayErrorCode.PARAM_VALIDATION_FAIL,message); - } - - public ParamValidationFailException() { - super(DaxPayErrorCode.PARAM_VALIDATION_FAIL,"参数校验未通过"); - } -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailException.java similarity index 39% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailException.java index b7b3f601..14b44a6c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFaileException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailException.java @@ -7,13 +7,13 @@ import cn.daxpay.single.core.code.DaxPayErrorCode; * @author xxm * @since 2024/6/17 */ -public class TradeFaileException extends PayFailureException{ +public class TradeFailException extends PayFailureException{ - public TradeFaileException(String message) { - super(DaxPayErrorCode.TRADE_FAILE,message); + public TradeFailException(String message) { + super(DaxPayErrorCode.TRADE_FAIL,message); } - public TradeFaileException() { - super(DaxPayErrorCode.TRADE_FAILE,"交易失败"); + public TradeFailException() { + super(DaxPayErrorCode.TRADE_FAIL,"交易失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java index b9b20c06..b65ad765 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java @@ -6,6 +6,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.Size; + /** * 获取微信AccessToken参数 * @author xxm @@ -18,5 +20,6 @@ import lombok.experimental.Accessors; public class WxAccessTokenParam extends PaymentCommonParam { @Schema(description = "微信认证code") + @Size(max = 64, message = "微信认证code不可超过100位") private String code; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java index 5829aa68..24936ccb 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java @@ -6,6 +6,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.Size; + /** * 构造微信OAuth2授权的url链接 * @author xxm @@ -18,11 +20,13 @@ import lombok.experimental.Accessors; public class WxAuthUrlParam extends PaymentCommonParam { @Schema(description = "回调地址") + @Size(max = 200, message = "回调地址不可超过200位") private String url; /** * 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 */ @Schema(description = "重定向后原样带回,可以为空") + @Size(max = 128, message = "state值最大为128位") private String state; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java index 36124939..3ee6174b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java @@ -6,8 +6,8 @@ import lombok.experimental.Accessors; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; /** * 分账接收方列表 @@ -22,6 +22,7 @@ public class AllocReceiverParam { /** 分账接收方编号 */ @Schema(description = "分账接收方编号") @NotBlank(message = "分账接收方编号必填") + @Size(max = 32, message = "分账接收方编号不可超过32位") private String receiverNo; /** 分账金额 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java index d5e8c7b1..0b1ea54e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 分账同步请求参数 * @author xxm @@ -16,8 +18,10 @@ import lombok.EqualsAndHashCode; public class AllocSyncParam extends PaymentCommonParam { @Schema(description = "分账号") + @Size(max = 32, message = "分账号不可超过32位") private String allocNo; @Schema(description = "商户分账号") + @Size(max = 100, message = "商户分账号不可超过100位") private String bizAllocNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java index 50472bf6..e5fd51df 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付订单撤销 * 并不是所有的订单都可以被撤销,只有部分类型的支持撤销,主要是当面付 @@ -18,9 +20,11 @@ public class PayCancelParam extends PaymentCommonParam { /** 订单号 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; /** 商户订单号 */ @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java index 93155397..61cb86ec 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付关闭参数 * @author xxm @@ -17,9 +19,11 @@ public class PayCloseParam extends PaymentCommonParam { /** 订单号 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; /** 商户订单号 */ @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java index af0b3b76..13f96588 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付状态同步参数 * @author xxm @@ -17,10 +19,12 @@ public class PaySyncParam extends PaymentCommonParam { /** 订单号 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; /** 商户订单号 */ @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java index de0e5d3c..9974397d 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付单查询参数 * @author xxm @@ -16,8 +18,10 @@ import lombok.EqualsAndHashCode; public class QueryPayParam extends PaymentCommonParam { @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNoeNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java index 59f555f9..5e702848 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 查询退款订单参数类 * @author xxm @@ -17,9 +19,11 @@ public class QueryRefundParam extends PaymentCommonParam { /** 退款号 */ @Schema(description = "退款号") + @Size(max = 100, message = "退款号不可超过100位") private String refundNo; /** 商户退款号 */ @Schema(description = "商户退款号") + @Size(max = 100, message = "商户退款号不可超过100位") private String bizRefundNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java index f80ce88b..2075669c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 退款状态同步参数 * @author xxm @@ -17,10 +19,12 @@ public class RefundSyncParam extends PaymentCommonParam { /** 退款号 */ @Schema(description = "退款号") + @Size(max = 100, message = "退款号不可超过100位") private String refundNo; /** 商户退款号 */ @Schema(description = "商户退款号") + @Size(max = 100, message = "商户退款号不可超过100位") private String bizRefundNo; } diff --git a/daxpay-single/daxpay-single-gateway/pom.xml b/daxpay-single/daxpay-single-gateway/pom.xml index 00a48dba..98c5ce7d 100644 --- a/daxpay-single/daxpay-single-gateway/pom.xml +++ b/daxpay-single/daxpay-single-gateway/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-gateway</artifactId> diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java index 98e54785..b39c3a81 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java @@ -72,7 +72,7 @@ public class CallbackReceiverController { return weChatPayCallbackService.callback(params); } - @Operation(summary = "微信宝认证授权回调") + @Operation(summary = "微信认证授权回调") @GetMapping("/wechat/auth/{code}") public ModelAndView wxAuthCallback(@RequestParam("code") String authCode, @PathVariable("code") String code){ wechatAuthService.authCallback(authCode, code); diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java index dda60705..99cb21d3 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java @@ -2,7 +2,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.core.code.PaymentApiCode; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; import cn.daxpay.single.core.param.payment.pay.QueryPayParam; @@ -87,7 +87,7 @@ public class UniQueryController { @PostMapping("/allocationReceiver") public DaxResult<AllocReceiversResult> queryAllocReceive(@RequestBody QueryAllocReceiverParam param){ if (StrUtil.isAllBlank(param.getChannel(), param.getReceiverNo())){ - throw new ParamValidationFailException("所属通道和接收方编号不可同时为空"); + throw new ValidationFailedException("所属通道和接收方编号不可同时为空"); } return DaxRes.ok(allocationReceiverService.queryAllocReceive(param)); } diff --git a/daxpay-single/daxpay-single-service/pom.xml b/daxpay-single/daxpay-single-service/pom.xml index cfc91d96..a1ba489e 100644 --- a/daxpay-single/daxpay-single-service/pom.xml +++ b/daxpay-single/daxpay-single-service/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-service</artifactId> diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java index 9343c499..e309fb4b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; import cn.daxpay.single.core.code.AllocDetailResultEnum; -import cn.daxpay.single.core.exception.TradeFaileException; +import cn.daxpay.single.core.exception.TradeFailException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; @@ -155,7 +155,7 @@ public class AliPayAllocationService { errorMsg = alipayResponse.getMsg(); } log.error("分账处理失败 {}", errorMsg); - throw new TradeFaileException(errorMsg); + throw new TradeFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index 75b14ebe..edb11447 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -142,7 +142,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝手机支付失败", e); - throw new TradeFaileException("支付宝手机支付失败"); + throw new TradeFailException("支付宝手机支付失败"); } } @@ -177,7 +177,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝APP支付失败", e); - throw new TradeFaileException("支付宝APP支付失败"); + throw new TradeFailException("支付宝APP支付失败"); } } @@ -218,7 +218,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝PC支付失败", e); - throw new TradeFaileException("支付宝PC支付失败"); + throw new TradeFailException("支付宝PC支付失败"); } } @@ -254,7 +254,7 @@ public class AliPayService { return response.getTradeNo(); } catch (AlipayApiException e) { log.error("支付宝JsApi支付失败", e); - throw new TradeFaileException("支付宝JsApi支付失败"); + throw new TradeFailException("支付宝JsApi支付失败"); } } @@ -288,7 +288,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("支付宝手机支付失败", e); - throw new TradeFaileException("支付宝手机支付失败"); + throw new TradeFailException("支付宝手机支付失败"); } } @@ -334,7 +334,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("主动扫码支付失败", e); - throw new TradeFaileException("主动扫码支付失败"); + throw new TradeFailException("主动扫码支付失败"); } } @@ -348,7 +348,7 @@ public class AliPayService { errorMsg = alipayResponse.getMsg(); } log.error("支付失败 {}", errorMsg); - throw new TradeFaileException(errorMsg); + throw new TradeFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index 9d1864b1..c7164425 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.TransferPayeeTypeEnum; import cn.daxpay.single.core.code.TransferStatusEnum; -import cn.daxpay.single.core.exception.TradeFaileException; +import cn.daxpay.single.core.exception.TradeFailException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.context.TransferLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -92,7 +92,7 @@ public class AliPayTransferService { AlipayFundTransUniTransferResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("网关返回退款失败: {}", response.getSubMsg()); - throw new TradeFaileException(response.getSubMsg()); + throw new TradeFailException(response.getSubMsg()); } TransferLocal transferInfo = PaymentContextLocal.get().getTransferInfo(); // 通道转账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java index a2ecb535..455fabe2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.channel.union.service; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.code.PayMethodEnum; import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.channel.UnionPayParam; @@ -151,7 +152,7 @@ public class UnionPayService { if (!(Objects.equals(resultCode, UnionPayCode.RESP_SUCCESS))) { log.warn("云闪付支付失败:{}", result); String errMsg = MapUtil.getStr(result, UnionPayCode.RESP_MSG); - throw new TradeFaileException(errMsg); + throw new TradeFailException(errMsg); } return MapUtil.getStr(result, UnionPayCode.PAY_APP_TN); @@ -187,7 +188,7 @@ public class UnionPayService { if (!unionPayKit.verify(new NoticeParams(result))) { log.warn("云闪付支付验签失败:{}", result); - throw new ParamValidationFailException("云闪付支付验签失败"); + throw new ValidationFailedException("云闪付支付验签失败"); } String resultCode = MapUtil.getStr(result, UnionPayCode.RESP_CODE); @@ -196,7 +197,7 @@ public class UnionPayService { if (!(Objects.equals(resultCode, UnionPayCode.RESP_SUCCESS))) { log.warn("云闪付支付失败:{}", result); String errMsg = MapUtil.getStr(result, UnionPayCode.RESP_MSG); - throw new TradeFaileException(errMsg); + throw new TradeFailException(errMsg); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java index 0a6f9c41..c237f569 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.core.exception.ConfigErrorException; -import cn.daxpay.single.core.exception.TradeFaileException; +import cn.daxpay.single.core.exception.TradeFailException; import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -84,10 +84,10 @@ public class WeChatPayRefundService { errorMsg = result.get(RETURN_MSG); } log.error("订单退款失败 {}", errorMsg); - TradeFaileException tradeFaileException = new TradeFaileException(errorMsg); + TradeFailException tradeFailException = new TradeFailException(errorMsg); ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); - errorInfo.setException(tradeFaileException); - throw tradeFaileException; + errorInfo.setException(tradeFailException); + throw tradeFailException; } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java index f43766d1..ecad1cd0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java @@ -203,7 +203,7 @@ public class WeChatPayService { // 支付失败 if (!WxPayKit.codeIsOk(returnCode)) { String errorMsg = result.get(WeChatPayCode.ERR_CODE_DES); - throw new TradeFaileException(errorMsg); + throw new TradeFailException(errorMsg); } String resultCode = result.get(WeChatPayCode.RESULT_CODE); @@ -232,7 +232,7 @@ public class WeChatPayService { if (Objects.equals(resultCode, WeChatPayCode.TRADE_PAYERROR) || Objects.equals(resultCode, WeChatPayCode.PAY_FAIL)) { String errorMsg = result.get(WeChatPayCode.ERR_CODE_DES); - throw new TradeFaileException(errorMsg); + throw new TradeFailException(errorMsg); } } @@ -269,7 +269,7 @@ public class WeChatPayService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("支付失败 {}", errorMsg); - throw new TradeFaileException(errorMsg); + throw new TradeFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java index 4697f565..91ca2255 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.core.order.allocation.service; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.code.AllocDetailResultEnum; import cn.daxpay.single.core.code.AllocOrderResultEnum; import cn.daxpay.single.core.code.AllocOrderStatusEnum; import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.core.exception.ParamValidationFailException; import cn.daxpay.single.core.param.payment.allocation.AllocReceiverParam; import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.core.util.OrderNoGenerateUtil; @@ -97,7 +97,7 @@ public class AllocOrderService { .distinct() .collect(Collectors.toList()); if (receiverNos.size() != param.getReceivers().size()){ - throw new ParamValidationFailException("分账接收方编号重复"); + throw new ValidationFailedException("分账接收方编号重复"); } Map<String, Integer> receiverNoMap = param.getReceivers() .stream() @@ -105,13 +105,13 @@ public class AllocOrderService { // 查询分账接收方信息 List<AllocationReceiver> receivers = receiverManager.findAllByReceiverNos(receiverNos); if (receivers.size() != receiverNos.size()){ - throw new ParamValidationFailException("分账接收方列表存在重复或无效的数据"); + throw new ValidationFailedException("分账接收方列表存在重复或无效的数据"); } // 判断分账接收方类型是否都与分账订单类型匹配 boolean anyMatch = receivers.stream() .anyMatch(o -> !Objects.equals(o.getChannel(), payOrder.getChannel())); if (anyMatch){ - throw new ParamValidationFailException("分账接收方列表存在非本通道的数据"); + throw new ValidationFailedException("分账接收方列表存在非本通道的数据"); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java index 968d57ee..f34f3133 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.order.pay.service; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.pay.QueryPayParam; import cn.daxpay.single.core.result.order.PayOrderResult; @@ -80,7 +80,7 @@ public class PayOrderQueryService { public PayOrderResult queryPayOrder(QueryPayParam param) { // 校验参数 if (StrUtil.isBlank(param.getBizOrderNoeNo()) && Objects.isNull(param.getOrderNo())){ - throw new ParamValidationFailException("业务号或支付单ID不能都为空"); + throw new ValidationFailedException("业务号或支付单ID不能都为空"); } // 查询支付单 PayOrder payOrder = this.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNoeNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java index 3043f1e5..862baf38 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java @@ -1,11 +1,10 @@ package cn.daxpay.single.service.core.order.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.core.exception.ParamValidationFailException; -import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.refund.QueryRefundParam; import cn.daxpay.single.core.result.order.RefundOrderResult; @@ -78,7 +77,7 @@ public class RefundOrderQueryService { public RefundOrderResult queryRefundOrder(QueryRefundParam param) { // 校验参数 if (StrUtil.isBlank(param.getRefundNo()) && Objects.isNull(param.getBizRefundNo())){ - throw new ParamValidationFailException("退款号或商户退款号不能都为空"); + throw new ValidationFailedException("退款号或商户退款号不能都为空"); } // 查询退款单 RefundOrder refundOrder = this.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java index 89adc745..83d817c2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java @@ -4,7 +4,7 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.param.payment.transfer.QueryTransferParam; import cn.daxpay.single.core.result.order.TransferOrderResult; @@ -86,7 +86,7 @@ public class TransferOrderQueryService { public TransferOrderResult queryTransferOrder(QueryTransferParam param) { // 校验参数 if (StrUtil.isBlank(param.getTransferNo()) && Objects.isNull(param.getBizTransferNo())){ - throw new ParamValidationFailException("转账号或商户转账号不能都为空"); + throw new ValidationFailedException("转账号或商户转账号不能都为空"); } // 查询转账单 TransferOrder transferOrder = this.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo()) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java index 04ec99bd..f2b9321c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java @@ -2,11 +2,10 @@ package cn.daxpay.single.service.core.payment.allocation.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.service.core.payment.allocation.convert.AllocationGroupConvert; -import cn.daxpay.single.service.dto.allocation.AllocationGroupDto; import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.table.modify.annotation.DbTable; +import cn.daxpay.single.service.core.payment.allocation.convert.AllocationGroupConvert; +import cn.daxpay.single.service.dto.allocation.AllocationGroupDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -27,15 +26,15 @@ import lombok.experimental.Accessors; public class AllocationGroup extends MpBaseEntity implements EntityBaseFunction<AllocationGroupDto> { /** 分账组编码 */ - @DbColumn(comment = "分账组编码") + @DbColumn(comment = "分账组编码", length = 20, isNull = false) private String groupNo; /** 名称 */ - @DbComment("名称") + @DbColumn(comment = "名称", length = 50) private String name; /** 通道 */ - @DbColumn(comment = "通道") + @DbColumn(comment = "通道", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String channel; @@ -44,11 +43,11 @@ public class AllocationGroup extends MpBaseEntity implements EntityBaseFunction< private boolean defaultGroup; /** 总分账比例(万分之多少) */ - @DbColumn(comment = "总分账比例(万分之多少)") + @DbColumn(comment = "总分账比例(万分之多少)", length = 5) private Integer totalRate; /** 备注 */ - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java index 4578e0ab..caae1ed5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java @@ -2,13 +2,16 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.daxpay.single.core.code.PayChannelEnum; -import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.exception.DataErrorException; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.OperationProcessingException; import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; @@ -124,7 +127,7 @@ public class AllocationReceiverService { // 校验 receiverStrategy.setAllocationReceiver(receiver); if (!receiverStrategy.validation()){ - throw new ParamValidationFailException("接收方信息校验失败"); + throw new ValidationFailedException("接收方信息校验失败"); } // 先添加到三方支付系统中, 然后保存到本地 receiverStrategy.doBeforeHandler(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index e34d8006..604f5e84 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -2,13 +2,17 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.spring.util.WebServletUtil; import cn.daxpay.single.core.code.AllocDetailResultEnum; import cn.daxpay.single.core.code.AllocOrderResultEnum; import cn.daxpay.single.core.code.AllocOrderStatusEnum; import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.exception.DataErrorException; +import cn.daxpay.single.core.exception.OperationUnsupportedException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; @@ -297,7 +301,7 @@ public class AllocationService { } // 判断通道类型是否一致 if (!Objects.equals(allocationGroup.getChannel(), payOrder.getChannel())){ - throw new ParamValidationFailException("分账接收方列表存在非本通道的数据"); + throw new ValidationFailedException("分账接收方列表存在非本通道的数据"); } List<AllocationGroupReceiverResult> receiversByGroups = allocationGroupService.findReceiversByGroups(allocationGroup.getId()); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java index b30cdb27..4e7fe0c9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.core.exception.ConfigNotEnableException; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -67,7 +67,7 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat @Override public void bind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new ParamValidationFailException("分账接收者参数未通过校验"); + throw new ValidationFailedException("分账接收者参数未通过校验"); } receiverService.bind(this.getAllocationReceiver(), this.aliPayConfig); } @@ -78,7 +78,7 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat @Override public void unbind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new ParamValidationFailException("分账参数未通过校验"); + throw new ValidationFailedException("分账参数未通过校验"); } receiverService.unbind(this.getAllocationReceiver(), this.aliPayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java index fdff32dd..8b1ca503 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.core.exception.ConfigNotEnableException; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -67,7 +67,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt @Override public void bind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new ParamValidationFailException("分账接收者参数未通过校验"); + throw new ValidationFailedException("分账接收者参数未通过校验"); } receiverService.bind(this.getAllocationReceiver(),this.weChatPayConfig); } @@ -78,7 +78,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt @Override public void unbind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new ParamValidationFailException("分账参数未通过校验"); + throw new ValidationFailedException("分账参数未通过校验"); } receiverService.unbind(this.getAllocationReceiver(),this.weChatPayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java index 01424c0e..c68acce0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.common.aop; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.core.param.PaymentCommonParam; import cn.daxpay.single.core.result.PaymentCommonResult; @@ -35,7 +35,7 @@ public class PaymentVerifyAop { public Object beforeMethod(ProceedingJoinPoint pjp, @SuppressWarnings("unused") PaymentVerify paymentVerify) throws Throwable { Object[] args = pjp.getArgs(); if (args.length == 0){ - throw new ParamValidationFailException("支付方法至少有一个参数,并且需要签名支付参数需要放在第一位"); + throw new ValidationFailedException("支付方法至少有一个参数,并且需要签名支付参数需要放在第一位"); } Object param = args[0]; if (param instanceof PaymentCommonParam){ @@ -49,7 +49,7 @@ public class PaymentVerifyAop { paymentAssistService.reqTimeoutVerify((PaymentCommonParam) param); } else { - throw new ParamValidationFailException("支付参数需要继承PayCommonParam"); + throw new ValidationFailedException("支付参数需要继承PayCommonParam"); } Object proceed; try { @@ -69,10 +69,10 @@ public class PaymentVerifyAop { if (data instanceof PaymentCommonResult){ paymentAssistService.sign((PaymentCommonResult) data); } else { - throw new ParamValidationFailException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); + throw new ValidationFailedException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); } } else { - throw new ParamValidationFailException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); + throw new ValidationFailedException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); } return proceed; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java index 18fb1992..ecf6943b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.common.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.daxpay.single.core.code.PaySignTypeEnum; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.exception.VerifySignFailedException; import cn.daxpay.single.core.param.PaymentCommonParam; import cn.daxpay.single.core.result.PaymentCommonResult; @@ -86,12 +86,12 @@ public class PaymentAssistService { if (LocalDateTimeUtil.lt(now, param.getReqTime())){ // 请求时间比服务器时间晚, 超过一分钟直接打回 if (durationSeconds > 60){ - throw new ParamValidationFailException("请求时间晚于服务器接收到的时间,请检查"); + throw new ValidationFailedException("请求时间晚于服务器接收到的时间,请检查"); } } else { // 请求时间比服务器时间早, 超过配置时间直接打回 if (durationSeconds > platformInfo.getReqTimeout()){ - throw new ParamValidationFailException("请求已过期,请重新发送!"); + throw new ValidationFailedException("请求已过期,请重新发送!"); } } @@ -113,7 +113,7 @@ public class PaymentAssistService { } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ result.setSign(PaySignUtil.md5Sign(result, platformInfo.getSignSecret())); } else { - throw new ParamValidationFailException("未获取到签名方式,请检查"); + throw new ValidationFailedException("未获取到签名方式,请检查"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java index b9f37804..b23eb04c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.strategy; import cn.daxpay.single.core.code.PayChannelEnum; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.param.channel.AliPayParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -58,7 +58,7 @@ public class AliPayStrategy extends AbsPayStrategy { } } catch (JSONException e) { - throw new ParamValidationFailException("支付参数错误"); + throw new ValidationFailedException("支付参数错误"); } // 检查并获取支付宝支付配置 this.alipayConfig = alipayConfigService.getAndCheckConfig(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java index c92d519c..266d9d66 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.pay.strategy; import cn.daxpay.single.core.code.PayChannelEnum; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.param.channel.UnionPayParam; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; @@ -60,7 +60,7 @@ public class UnionPayStrategy extends AbsPayStrategy { } } catch (JSONException e) { - throw new ParamValidationFailException("支付参数错误"); + throw new ValidationFailedException("支付参数错误"); } // 检查并获取云闪付支付配置 this.unionPayConfig = unionPayConfigService.getAndCheckConfig(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java index f0de3c92..7339ca23 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.core.payment.pay.strategy; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.core.exception.*; import cn.daxpay.single.core.param.channel.WalletPayParam; @@ -59,7 +60,7 @@ public class WalletPayStrategy extends AbsPayStrategy { walletPayParam = BeanUtil.toBean(channelParam, WalletPayParam.class); } } catch (JSONException e) { - throw new ParamValidationFailException("支付参数错误"); + throw new ValidationFailedException("支付参数错误"); } WalletConfig walletConfig = walletConfigService.getAndCheckConfig(); @@ -67,7 +68,7 @@ public class WalletPayStrategy extends AbsPayStrategy { // 获取钱包 this.wallet = walletQueryService.getWallet(walletPayParam); if (Objects.isNull(this.wallet)){ - throw new TradeFaileException("钱包不存在"); + throw new TradeFailException("钱包不存在"); } // 是否被禁用 if (Objects.equals(WalletCode.STATUS_FORBIDDEN, this.wallet.getStatus())) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 1714ad01..31e5bb87 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -4,7 +4,7 @@ import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; import cn.daxpay.single.core.code.PaySignTypeEnum; import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.core.code.RefundStatusEnum; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.refund.RefundParam; import cn.daxpay.single.core.result.pay.RefundResult; @@ -61,12 +61,12 @@ public class RefundAssistService { } // 退款号唯一校验 if (StrUtil.isNotBlank(param.getBizRefundNo()) && refundOrderManager.existsByRefundNo(param.getBizRefundNo())){ - throw new ParamValidationFailException("退款单号已存在"); + throw new ValidationFailedException("退款单号已存在"); } // 金额判断 if (param.getAmount() > payOrder.getRefundableBalance()){ - throw new ParamValidationFailException("退款金额不能大于支付金额"); + throw new ValidationFailedException("退款金额不能大于支付金额"); } } @@ -145,7 +145,7 @@ public class RefundAssistService { } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ refundResult.setSign(PaySignUtil.md5Sign(refundOrder, platformInfo.getSignSecret())); } else { - throw new ParamValidationFailException("未获取到签名方式,请检查"); + throw new ValidationFailedException("未获取到签名方式,请检查"); } return refundResult; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index 0170835e..8e8c3d4b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; import cn.daxpay.single.core.code.PayChannelEnum; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -47,7 +47,7 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { // 转账接收方类型校验 String payeeType = transferParam.getPayeeType(); if (!Arrays.asList(ALI_USER_ID.getCode(), ALI_OPEN_ID.getCode(), ALI_LOGIN_NAME.getCode()).contains(payeeType)){ - throw new ParamValidationFailException("支付宝不支持该类型收款人"); + throw new ValidationFailedException("支付宝不支持该类型收款人"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java index 8d31de80..f0967f75 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; import cn.daxpay.single.core.code.PayChannelEnum; -import cn.daxpay.single.core.exception.ParamValidationFailException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -48,7 +48,7 @@ public class WeChatTransferStrategy extends AbsTransferStrategy { // 转账接收方类型校验 String payeeType = transferParam.getPayeeType(); if (!Objects.equals(WX_PERSONAL.getCode(), payeeType)){ - throw new ParamValidationFailException("微信不支持该类型收款人"); + throw new ValidationFailedException("微信不支持该类型收款人"); } } diff --git a/daxpay-single/pom.xml b/daxpay-single/pom.xml index 16625393..67fdb648 100644 --- a/daxpay-single/pom.xml +++ b/daxpay-single/pom.xml @@ -13,7 +13,7 @@ <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> <packaging>pom</packaging> - <version>2.0.7</version> + <version>2.0.8</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> @@ -22,7 +22,7 @@ <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> - <daxpay.version>2.0.7</daxpay.version> + <daxpay.version>2.0.8</daxpay.version> <!-- 三方库 --> <slf4j.version>1.7.30</slf4j.version> <redisson.version>3.16.8</redisson.version> diff --git a/pom.xml b/pom.xml index d975eea4..23ef6173 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ <groupId>cn.daxpay.single</groupId> <artifactId>dax-pay</artifactId> <packaging>pom</packaging> - <version>2.0.7</version> + <version>2.0.8</version> <modules> <module>daxpay-single</module> -- Gitee From 5c274aa293358827d0a1ba6f8ba19febf6265409 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Tue, 25 Jun 2024 19:37:36 +0800 Subject: [PATCH 30/34] =?UTF-8?q?ref=20=E5=88=A0=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/annotation/TableFieldConvert.java | 18 ------- .../annotation/TableFieldConvertModel.java | 18 ------- .../common/core/annotation/Translate.java | 50 ------------------- .../core/annotation/TranslationResult.java | 46 ----------------- 4 files changed, 132 deletions(-) delete mode 100644 bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvert.java delete mode 100644 bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvertModel.java delete mode 100644 bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/Translate.java delete mode 100644 bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TranslationResult.java diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvert.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvert.java deleted file mode 100644 index 390dc9ea..00000000 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvert.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.bootx.platform.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 数据库表字段翻译注解 - * - * @author xxm - * @since 2022/12/14 - */ -@Target(ElementType.FIELD) -@Retention(RetentionPolicy.RUNTIME) -public @interface TableFieldConvert { - -} diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvertModel.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvertModel.java deleted file mode 100644 index 64ebf42f..00000000 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvertModel.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.bootx.platform.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 字典转换标示注解, 标注此注解会对对应对象进行字典值转换处理 - * - * @author xxm - * @since 2022/12/15 - */ -@Target({ ElementType.METHOD, ElementType.TYPE, ElementType.FIELD }) -@Retention(RetentionPolicy.RUNTIME) -public @interface TableFieldConvertModel { - -} diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/Translate.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/Translate.java deleted file mode 100644 index b1d151b5..00000000 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/Translate.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.bootx.platform.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 翻译注解 - * - * @author xxm - * @since 2022/12/14 - */ -@Target(ElementType.FIELD) -@Retention(RetentionPolicy.RUNTIME) -public @interface Translate { - - /** - * 翻译类型 - */ - Type type(); - - /** - * 字典编码 - */ - String dicCode() default ""; - - /** - * 来源字段 默认为自身 - */ - String source() default ""; - - /** - * 目标字段 默认为自身 - */ - String target() default ""; - - /** - * 翻译类型 - */ - enum Type { - - /** 字典 */ - DICT, - /** 数据表 暂未实现 */ - TABLE - - } - -} diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TranslationResult.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TranslationResult.java deleted file mode 100644 index 3e98d247..00000000 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TranslationResult.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.bootx.platform.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 字典翻译标识注解, 1. 标注在字段上, 在翻译的时候会对这个字段进行递归翻译 2. 标注在方法上, 会对返回值进行翻译转换处理, 推荐只在 Controller 层配合 - * ResResult 使用, 其他场合使用 FieldTranslationService 进行手动处理 - * - * @author xxm - * @since 2022/12/15 - */ -@Target({ ElementType.METHOD, ElementType.FIELD }) -@Retention(RetentionPolicy.RUNTIME) -public @interface TranslationResult { - - /** - * 是否启用 - */ - boolean enable() default true; - - /** - * 翻译类型, 只可以用在方法上, 在字段上标注不发生效果 - */ - ConvertType convertType() default ConvertType.OBJECT; - - /** - * 翻译类型 - */ - enum ConvertType { - - /** - * 将目标对象转换成MAP, 限定只能使用在类似 ResResult 容器情况下, 可以处理翻译值前后类型不一致问题, 但会导致字段元信息的丢失, - * 导致后续的处理出问题 - */ - MAP, - /** - * 不对目标对象的类型进行修改, 只对字典值进行翻译, 但遇到注解标注的字段出现字典项code与name类型不一致, 会进行忽略 - */ - OBJECT - - } - -} -- Gitee From 3770a85a78c8f6fcc60ea102e34a141ffebd2999 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Wed, 26 Jun 2024 19:43:37 +0800 Subject: [PATCH 31/34] =?UTF-8?q?perf=20=E4=B8=80=E4=BA=9B=E5=BE=AE?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java | 4 ++-- .../controller/allocation/AllocationReceiverController.java | 3 +++ .../cn/daxpay/single/core/code/AllocReceiverTypeEnum.java | 2 +- .../core/channel/alipay/service/AliPayCallbackService.java | 2 +- .../core/channel/alipay/service/AliPayCloseService.java | 2 +- .../service/core/notice/entity/ClientNoticeRecord.java | 2 +- .../strategy/receiver/AliPayAllocationReceiverStrategy.java | 2 +- .../service/core/payment/close/service/PayCloseService.java | 5 +++++ 8 files changed, 15 insertions(+), 7 deletions(-) diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java index 71334526..c67b33d8 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java @@ -16,9 +16,9 @@ import java.util.List; @AllArgsConstructor public enum AllocReceiverTypeEnum { /** 个人 */ - WX_PERSONAL("wx_personal", "个人"), + WX_PERSONAL("wx_personal", "openId"), /** 商户 */ - WX_MERCHANT("wx_merchant", "商户"), + WX_MERCHANT("wx_merchant", "商户号"), /** userId 以2088开头的纯16位数字 */ ALI_USER_ID("ali_user_id", "用户ID"), diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java index dad0fcb7..07b3903b 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java @@ -18,6 +18,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.List; /** @@ -67,6 +68,7 @@ public class AllocationReceiverController { @Operation(summary = "添加") @PostMapping("/add") public ResResult<Void> add(@RequestBody AllocReceiverAddParam param){ + param.setReqTime(LocalDateTime.now()); ValidationUtil.validateParam(param); receiverService.addAndSync(param); return Res.ok(); @@ -76,6 +78,7 @@ public class AllocationReceiverController { @Operation(summary = "删除") @PostMapping("/delete") public ResResult<Void> delete(@RequestBody AllocReceiverRemoveParam param){ + param.setReqTime(LocalDateTime.now()); ValidationUtil.validateParam(param); receiverService.remove(param); return Res.ok(); diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java index d7db9374..444a779e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java @@ -19,7 +19,7 @@ public enum AllocReceiverTypeEnum { /** 个人 */ WX_PERSONAL("wx_personal","PERSONAL_OPENID", "个人"), /** 商户 */ - WX_MERCHANT("wx_merchant","MERCHANT_ID", "商户"), + WX_MERCHANT("wx_merchant","MERCHANT_ID", "商户号"), /** userId 以2088开头的纯16位数字 */ ALI_USER_ID("ali_user_id","userId", "用户ID"), diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java index d14b948c..2288f2c4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java @@ -157,7 +157,7 @@ public class AliPayCallbackService { public void resolveRefundData() { CallbackLocal callback = PaymentContextLocal.get().getCallbackInfo(); Map<String, String> callbackParam = callback.getCallbackParam(); - // 退款订单Id + // 退款订单号 callback.setTradeNo(callbackParam.get(OUT_BIZ_NO)); // 退款状态 callback.setOutStatus(callbackParam.get(TRADE_STATUS)); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java index a55ad665..81822a7d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java @@ -122,7 +122,7 @@ public class AliPayCloseService { } // 其他状态 else { - throw new TradeStatusErrorException("当前交易状态不支持关闭操作, 请对订单同步状态后再进行操作"); + throw new TradeStatusErrorException("当前交易无法关闭操作, 请对订单同步状态后再进行操作"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java index cba2d2c2..fd2e97b1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java @@ -31,7 +31,7 @@ public class ClientNoticeRecord extends MpCreateEntity implements EntityBaseFunc private Long taskId; /** 请求次数 */ - @DbColumn(comment = "请求次数", length = 3, isNull = false) + @DbColumn(comment = "请求次数", length = 3) private Integer reqCount; /** 发送是否成功 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java index 4e7fe0c9..607e48e8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java @@ -38,7 +38,7 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat */ @Override public String getChannel() { - return PayChannelEnum.WECHAT.getCode(); + return PayChannelEnum.ALI.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index 04ded5b0..4ec6175b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -3,6 +3,7 @@ package cn.daxpay.single.service.core.payment.close.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.core.exception.TradeNotExistException; import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.core.param.payment.pay.PayCloseParam; @@ -85,6 +86,10 @@ public class PayCloseService { log.error("关闭订单失败:", e); // 记录关闭失败的记录 this.saveRecord(payOrder, false, e.getMessage()); + result.setCode(1).setMsg(e.getMessage()); + if (e instanceof PayFailureException){ + throw e; + } throw new OperationFailException("关闭订单失败"); } } -- Gitee From 23af7c88f25fbef03722959a12022d1f1505a854 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Wed, 26 Jun 2024 20:54:12 +0800 Subject: [PATCH 32/34] =?UTF-8?q?build=20=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config/mysql/dax-pay.sql | 1128 ++++++++++++++++---------------- _config/postgresql/dax-pay.sql | 64 +- _doc/ChangeLog.md | 28 + _doc/Task.md | 46 -- 4 files changed, 600 insertions(+), 666 deletions(-) diff --git a/_config/mysql/dax-pay.sql b/_config/mysql/dax-pay.sql index f4d43c3a..1ecc06d6 100644 --- a/_config/mysql/dax-pay.sql +++ b/_config/mysql/dax-pay.sql @@ -4,13 +4,11 @@ Source Server : 阿里-mysql5.7 Source Server Type : MySQL Source Server Version : 50743 (5.7.43-log) - Source Schema : dax-pay Target Server Type : MySQL Target Server Version : 50743 (5.7.43-log) File Encoding : 65001 - Date: 03/06/2024 19:37:29 */ SET NAMES utf8mb4; @@ -167,9 +165,14 @@ INSERT INTO `base_dict` VALUES (1775122632706805760, 'AllocRelationType', '分 INSERT INTO `base_dict` VALUES (1777697358802530304, 'AllocOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-05-14 16:40:04', 0, 2); INSERT INTO `base_dict` VALUES (1780163691808391168, 'AllocDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-05-14 16:39:57', 0, 3); INSERT INTO `base_dict` VALUES (1780165499633106944, 'AllocOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-05-14 16:39:36', 0, 1); -INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); +INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-06-08 23:19:51', 0, 1); INSERT INTO `base_dict` VALUES (1786399552686465024, 'ReconcileResult', '对账结果', b'1', '支付', '', 1399985191002447872, '2024-05-03 22:16:58', 1399985191002447872, '2024-05-03 22:16:58', 0, 0); INSERT INTO `base_dict` VALUES (1797179034383134720, 'TradeFlowRecordType', '交易流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-06-02 16:10:46', 1399985191002447872, '2024-06-02 16:10:46', 0, 0); +INSERT INTO `base_dict` VALUES (1798321710043836416, 'PayCloseType', '订单关闭类型', b'1', '支付', '', 1399985191002447872, '2024-06-05 19:51:22', 1399985191002447872, '2024-06-05 19:51:22', 0, 0); +INSERT INTO `base_dict` VALUES (1799457546670387200, 'PayOrderRefundStatus', '退款状态', b'1', '支付', '支付订单的退款状态', 1399985191002447872, '2024-06-08 23:04:46', 1399985191002447872, '2024-06-08 23:04:46', 0, 0); +INSERT INTO `base_dict` VALUES (1804799534471016448, 'TransferPayeeType', '转账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-06-23 16:51:55', 1399985191002447872, '2024-06-23 16:51:55', 0, 0); +INSERT INTO `base_dict` VALUES (1804800732808835072, 'TransferStatus', '转账状态', b'1', '支付', '', 1399985191002447872, '2024-06-23 16:56:41', 1399985191002447872, '2024-06-23 16:56:41', 0, 0); +INSERT INTO `base_dict` VALUES (1804801011272871936, 'TransferType', '转账类型', b'1', '支付', '微信使用', 1399985191002447872, '2024-06-23 16:57:47', 1399985191002447872, '2024-06-23 16:57:47', 0, 0); -- ---------------------------- -- Table structure for base_dict_item @@ -282,8 +285,8 @@ INSERT INTO `base_dict_item` VALUES (1744997501033979904, 1744996913667842048, ' INSERT INTO `base_dict_item` VALUES (1744997541811003392, 1744996913667842048, 'PayStatus', 'success', '成功', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:20:09', 1399985191002447872, '2024-01-10 16:20:09', 0, 0); INSERT INTO `base_dict_item` VALUES (1744997578863484928, 1744996913667842048, 'PayStatus', 'close', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:20:18', 1399985191002447872, '2024-01-10 16:20:18', 0, 0); INSERT INTO `base_dict_item` VALUES (1744997619665674240, 1744996913667842048, 'PayStatus', 'fail', '失败', b'1', 7.00, '', 1399985191002447872, '2024-01-10 16:20:28', 1399985191002447872, '2024-01-27 00:52:05', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-01-10 16:20:44', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-01-10 16:20:58', 0, 0); +INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-06-08 23:04:15', 1, 1); +INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-06-08 23:04:17', 1, 0); INSERT INTO `base_dict_item` VALUES (1745085949967278080, 1744996611615039488, 'AsyncPayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:11:27', 1399985191002447872, '2024-01-10 22:11:27', 0, 0); INSERT INTO `base_dict_item` VALUES (1745085991767711744, 1744996611615039488, 'AsyncPayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:11:37', 1399985191002447872, '2024-01-10 22:11:37', 0, 0); INSERT INTO `base_dict_item` VALUES (1745086048852189184, 1744996611615039488, 'AsyncPayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:11:51', 1399985191002447872, '2024-01-11 00:13:03', 0, 1); @@ -322,7 +325,7 @@ INSERT INTO `base_dict_item` VALUES (1749612758531256320, 1749612665392541696, ' INSERT INTO `base_dict_item` VALUES (1749612797680889856, 1749612665392541696, 'ReconcileTrade', 'revoked', '撤销', b'1', 3.00, '', 1399985191002447872, '2024-01-23 09:59:32', 1399985191002447872, '2024-01-23 09:59:32', 0, 0); INSERT INTO `base_dict_item` VALUES (1750924188674404352, 1745748188122554368, 'RefundStatus', 'progress', '退款中', b'1', 0.00, '接口调用成功不代表成功', 1399985191002447872, '2024-01-27 00:50:32', 1399985191002447872, '2024-01-27 00:50:32', 0, 0); INSERT INTO `base_dict_item` VALUES (1750924286401687552, 1745748188122554368, 'RefundStatus', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-01-27 00:50:55', 1399985191002447872, '2024-01-27 00:50:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-01-27 00:52:10', 0, 1); +INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-06-08 23:04:13', 1, 1); INSERT INTO `base_dict_item` VALUES (1751528739035111424, 1751603996496453632, 'PaymentType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-28 16:52:48', 1399985191002447872, '2024-01-28 16:52:48', 0, 0); INSERT INTO `base_dict_item` VALUES (1751528773260632064, 1751603996496453632, 'PaymentType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-28 16:52:56', 1399985191002447872, '2024-01-28 16:52:56', 0, 0); INSERT INTO `base_dict_item` VALUES (1751613076980039680, 1751613032260370432, 'PayCallbackType', 'pay', '支付回调', b'1', 1.00, '', 1399985191002447872, '2024-01-28 22:27:56', 1399985191002447872, '2024-01-28 22:27:56', 0, 0); @@ -370,10 +373,10 @@ INSERT INTO `base_dict_item` VALUES (1763588174695878656, 1763588034467713024, ' INSERT INTO `base_dict_item` VALUES (1766713657021157376, 1766713545981153280, 'UnionPaySignType', 'RSA2', 'RSA2', b'1', 0.00, '', 1399985191002447872, '2024-03-10 14:32:14', 1399985191002447872, '2024-03-10 14:32:14', 0, 0); INSERT INTO `base_dict_item` VALUES (1768206502721449984, 1768206399071809536, 'UnionPayRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-03-14 17:24:17', 1399985191002447872, '2024-03-14 17:24:17', 0, 0); INSERT INTO `base_dict_item` VALUES (1768206547285929984, 1768206399071809536, 'UnionPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-03-14 17:24:27', 1399985191002447872, '2024-03-14 17:24:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); +INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocReceiverType', 'wx_personal', 'OpenId', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-06-26 19:34:26', 0, 1); +INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocReceiverType', 'wx_merchant', '商户号', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-06-26 19:34:18', 0, 1); INSERT INTO `base_dict_item` VALUES (1775122227956469760, 1775112798259302400, 'AllocReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); +INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocReceiverType', 'ali_open_id', 'OpenId', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-06-26 19:34:37', 0, 1); INSERT INTO `base_dict_item` VALUES (1775122427802472448, 1775112798259302400, 'AllocReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); INSERT INTO `base_dict_item` VALUES (1775122672623996928, 1775122632706805760, 'AllocRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); INSERT INTO `base_dict_item` VALUES (1775122710884438016, 1775122632706805760, 'AllocRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); @@ -401,8 +404,8 @@ INSERT INTO `base_dict_item` VALUES (1780165545665593344, 1780165499633106944, ' INSERT INTO `base_dict_item` VALUES (1780165581623361536, 1780165499633106944, 'AllocOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); INSERT INTO `base_dict_item` VALUES (1780165617413357568, 1780165499633106944, 'AllocOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); INSERT INTO `base_dict_item` VALUES (1780165653350154240, 1780165499633106944, 'AllocOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); +INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); +INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); INSERT INTO `base_dict_item` VALUES (1786399594956660736, 1786399552686465024, 'ReconcileResult', 'consistent', '一致', b'1', 0.00, '', 1399985191002447872, '2024-05-03 22:17:08', 1399985191002447872, '2024-05-03 22:17:08', 0, 0); INSERT INTO `base_dict_item` VALUES (1786399681275437056, 1786399552686465024, 'ReconcileResult', 'inconsistent', '不一致', b'1', 1.00, '', 1399985191002447872, '2024-05-03 22:17:28', 1399985191002447872, '2024-05-03 22:17:28', 0, 0); INSERT INTO `base_dict_item` VALUES (1795722875761156096, 1780163691808391168, 'AllocDetailResult', 'ignore', '忽略分账', b'1', 3.00, '', 1399985191002447872, '2024-05-29 15:44:31', 1399985191002447872, '2024-05-29 15:44:31', 0, 0); @@ -412,6 +415,24 @@ INSERT INTO `base_dict_item` VALUES (1795730676084465664, 1751603996496453632, ' INSERT INTO `base_dict_item` VALUES (1797179153430065152, 1797179034383134720, 'TradeFlowRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-06-02 16:11:15', 1399985191002447872, '2024-06-02 16:11:15', 0, 0); INSERT INTO `base_dict_item` VALUES (1797179194613936128, 1797179034383134720, 'TradeFlowRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-06-02 16:11:25', 1399985191002447872, '2024-06-02 16:11:25', 0, 0); INSERT INTO `base_dict_item` VALUES (1797524426741882880, 1761434095349624832, 'ClientNoticeType', 'allocation', '分账', b'1', 3.00, '', 1399985191002447872, '2024-06-03 15:03:14', 1399985191002447872, '2024-06-03 15:03:14', 0, 0); +INSERT INTO `base_dict_item` VALUES (1798321426844430336, 1744996913667842048, 'PayStatus', 'cancel', '撤销', b'1', 4.00, '', 1399985191002447872, '2024-06-05 19:50:14', 1399985191002447872, '2024-06-08 23:04:25', 0, 1); +INSERT INTO `base_dict_item` VALUES (1798321777865732096, 1798321710043836416, 'PayCloseType', 'close', '订单关闭', b'1', 1.00, '', 1399985191002447872, '2024-06-05 19:51:38', 1399985191002447872, '2024-06-05 19:51:38', 0, 0); +INSERT INTO `base_dict_item` VALUES (1798321814024826880, 1798321710043836416, 'PayCloseType', 'cancel', '订单撤销', b'1', 2.00, '', 1399985191002447872, '2024-06-05 19:51:46', 1399985191002447872, '2024-06-05 19:51:46', 0, 0); +INSERT INTO `base_dict_item` VALUES (1799457614165127168, 1799457546670387200, 'PayOrderRefundStatus', 'no_refund', '未退款', b'1', 1.00, '', 1399985191002447872, '2024-06-08 23:05:02', 1399985191002447872, '2024-06-08 23:05:02', 0, 0); +INSERT INTO `base_dict_item` VALUES (1799457660700930048, 1799457546670387200, 'PayOrderRefundStatus', 'refunding', '退款中', b'1', 2.00, '', 1399985191002447872, '2024-06-08 23:05:13', 1399985191002447872, '2024-06-08 23:05:19', 0, 1); +INSERT INTO `base_dict_item` VALUES (1799457731333009408, 1799457546670387200, 'PayOrderRefundStatus', 'partial_refund', '部分退款', b'1', 3.00, '', 1399985191002447872, '2024-06-08 23:05:30', 1399985191002447872, '2024-06-08 23:05:30', 0, 0); +INSERT INTO `base_dict_item` VALUES (1799457774345596928, 1799457546670387200, 'PayOrderRefundStatus', 'refunded', '全部退款', b'1', 4.00, '', 1399985191002447872, '2024-06-08 23:05:40', 1399985191002447872, '2024-06-08 23:05:40', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804799960331284480, 1804799534471016448, 'TransferPayeeType', 'wx_personal', 'OpenId', b'1', 0.00, '微信 个人OpenId', 1399985191002447872, '2024-06-23 16:53:37', 1399985191002447872, '2024-06-23 16:53:37', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800027989602304, 1804799534471016448, 'TransferPayeeType', 'ali_user_id', '支付宝 userId', b'1', 1.00, '支付宝 userId 以2088开头的纯16位数字', 1399985191002447872, '2024-06-23 16:53:53', 1399985191002447872, '2024-06-23 16:53:53', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800166745567232, 1804799534471016448, 'TransferPayeeType', 'ali_open_id', 'OpenId', b'1', 2.00, '支付宝 openId', 1399985191002447872, '2024-06-23 16:54:26', 1399985191002447872, '2024-06-23 16:54:26', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800247297175552, 1804799534471016448, 'TransferPayeeType', 'ali_login_name', '账号', b'1', 3.00, '支付宝 账号 支持邮箱和手机号格式', 1399985191002447872, '2024-06-23 16:54:45', 1399985191002447872, '2024-06-23 16:54:45', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800779944423424, 1804800732808835072, 'TransferStatus', 'transferring', '转账中', b'1', 0.00, '', 1399985191002447872, '2024-06-23 16:56:52', 1399985191002447872, '2024-06-23 16:56:52', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800811951157248, 1804800732808835072, 'TransferStatus', 'success', '转账成功', b'1', 1.00, '', 1399985191002447872, '2024-06-23 16:57:00', 1399985191002447872, '2024-06-23 16:57:00', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800866774904832, 1804800732808835072, 'TransferStatus', 'fail', '转账失败', b'1', 2.00, '', 1399985191002447872, '2024-06-23 16:57:13', 1399985191002447872, '2024-06-23 16:57:13', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802129923108864, 1804801011272871936, 'TransferType', 'user', '转账给用户', b'1', 0.00, '', 1399985191002447872, '2024-06-23 17:02:14', 1399985191002447872, '2024-06-23 17:02:14', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802176354054144, 1804801011272871936, 'TransferType', 'employee', '转账给员工', b'1', 1.00, '', 1399985191002447872, '2024-06-23 17:02:25', 1399985191002447872, '2024-06-23 17:02:25', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802221438627840, 1804801011272871936, 'TransferType', 'partner', '转账给合作伙', b'1', 2.00, '', 1399985191002447872, '2024-06-23 17:02:36', 1399985191002447872, '2024-06-23 17:02:36', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802255336992768, 1804801011272871936, 'TransferType', 'other', '转账给其他对象', b'1', 0.00, '', 1399985191002447872, '2024-06-23 17:02:44', 1399985191002447872, '2024-06-23 17:02:44', 0, 0); -- ---------------------------- -- Table structure for base_dynamic_data_source @@ -854,8 +875,8 @@ INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'dax-pay', 158074045063 INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'dax-pay', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'dax-pay', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'dax-pay', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1399985191002447872, '2024-06-09 15:39:07', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1399985191002447872, '2024-06-09 15:39:58', 1, 1); INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'dax-pay', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'dax-pay', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'dax-pay', 1582249924602580992, '请求权限', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1399985191002447872, '2023-11-29 13:57:56', 2, 0); @@ -866,46 +887,46 @@ INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'dax-pay', 158225315290 INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'dax-pay', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'dax-pay', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'dax-pay', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1399985191002447872, '2024-06-09 15:40:38', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1399985191002447872, '2024-06-09 15:40:32', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1399985191002447872, '2024-06-09 15:40:28', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9000/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1399985191002447872, '2024-06-09 15:50:45', 3, 0); INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'dax-pay', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'dax-pay', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'dax-pay', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'dax-pay', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1399985191002447872, '2024-06-09 15:39:18', 3, 1); +INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1399985191002447872, '2024-06-09 15:39:24', 0, 1); INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'dax-pay', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'dax-pay', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1399985191002447872, '2024-06-09 15:39:05', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1399985191002447872, '2024-06-09 15:39:03', 2, 1); +INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1399985191002447872, '2024-06-09 15:39:00', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1399985191002447872, '2024-06-09 15:39:55', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1399985191002447872, '2024-06-09 15:39:46', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1399985191002447872, '2024-06-09 15:39:40', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1399985191002447872, '2024-06-09 15:39:53', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1399985191002447872, '2024-06-09 15:39:51', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1399985191002447872, '2024-06-09 15:39:49', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1399985191002447872, '2024-06-09 15:39:45', 3, 1); +INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1399985191002447872, '2024-06-09 15:39:38', 6, 1); INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'dax-pay', NULL, '关于', '', NULL, b'0', 'ant-design:info-circle-outlined', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1399985191002447872, '2024-01-14 23:09:56', 6, 0); INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'dax-pay', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'dax-pay', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1399985191002447872, '2024-05-09 19:26:57', 1, 1); INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'dax-pay', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'dax-pay', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1399985191002447872, '2024-05-09 19:27:24', 3, 1); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1399985191002447872, '2024-06-09 15:38:56', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1399985191002447872, '2024-06-09 15:38:55', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1399985191002447872, '2024-06-09 15:38:51', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1399985191002447872, '2024-06-05 19:49:10', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1399985191002447872, '2024-06-09 15:40:26', 3, 1); INSERT INTO `iam_perm_menu` VALUES (1703665090038800384, 'dax-pay', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1399985191002447872, '2024-05-09 19:27:29', 0, 1); INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'dax-pay', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1733829906427682816, 'dax-pay', 1582275875424129024, '在线用户', 'OnlineUserList', NULL, b'0', '', b'0', b'0', '/modules/monitor/user/online/OnlineUserList', NULL, '/monitor/user/online', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-12-10 20:43:57', 1399985191002447872, '2023-12-10 20:43:57', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1744271715476684800, 'dax-pay', NULL, '支付配置', 'PayConfig', NULL, b'0', 'ant-design:setting-filled', b'0', b'0', 'Layout', NULL, '/pay/config', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:15:59', 1399985191002447872, '2024-01-09 15:38:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1744271715476684800, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-01-18 14:49:15', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1744271715476684800, '支付方式', 'PayMethodInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/method/PayMethodInfoList', NULL, '/pay/config/method', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-05-01 22:53:13', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1744271715476684800, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-01-10 11:52:20', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1800350813995446272, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-06-11 10:15:06', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1800350813995446272, '支付方式', 'PayMethodInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/method/PayMethodInfoList', NULL, '/pay/config/method', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-06-11 10:15:17', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1800350813995446272, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-06-21 17:46:36', 3, 0); INSERT INTO `iam_perm_menu` VALUES (1744642856348520448, 'dax-pay', NULL, '订单管理', 'PayOrder', NULL, b'0', 'ant-design:wallet-outlined', b'0', b'0', 'Layout', NULL, '/pay/order', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:50:46', 1399985191002447872, '2024-01-09 16:53:35', 3, 0); INSERT INTO `iam_perm_menu` VALUES (1744643265142165504, 'dax-pay', NULL, '数据记录', 'PayRecord', NULL, b'0', 'ant-design:profile-outlined', b'0', b'0', 'Layout', NULL, '/pay/record', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:52:23', 1399985191002447872, '2024-01-09 16:53:50', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1744930046228017152, 'dax-pay', 1744643265142165504, '回调记录', 'PayCallbackRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/callback/PayCallbackRecordList', NULL, '/pay/record/callback', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-10 11:51:57', 1399985191002447872, '2024-05-01 23:15:23', 10, 0); @@ -915,7 +936,7 @@ INSERT INTO `iam_perm_menu` VALUES (1745143528663781376, 'dax-pay', 174464326514 INSERT INTO `iam_perm_menu` VALUES (1745457623493496832, 'dax-pay', 1744642856348520448, '支付订单', 'PayOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/pay/PayOrderList', NULL, '/pay/order/pay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:21', 1399985191002447872, '2024-01-11 22:48:21', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1745457746529210368, 'dax-pay', 1744642856348520448, '退款订单', 'RefundOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/refund/RefundOrderList.vue', NULL, '/pay/order/refund', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:50', 1399985191002447872, '2024-01-21 22:50:29', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1745822093382230016, 'dax-pay', 1744271715476684800, '通道配置', 'ChannelPayConfigList', NULL, b'0', '', b'0', b'0', 'payment/channel/config/ChannelPayConfigList', NULL, '/pay/config/channelpay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-12 22:56:38', 1399985191002447872, '2024-02-06 14:32:08', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-01-13 23:38:00', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-06-11 10:15:00', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1749262518385082368, 'dax-pay', 1786808188825194496, '对账单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/reconcile/order', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-22 10:47:39', 1399985191002447872, '2024-05-05 17:09:14', 9, 0); INSERT INTO `iam_perm_menu` VALUES (1759768820429352960, 'dax-pay', NULL, '演示模块', '', NULL, b'0', 'ant-design:crown-outlined', b'0', b'0', 'Layout', NULL, '/pay/demo', '', 9, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:35:56', 1399985191002447872, '2024-02-20 10:35:56', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1759769092698402816, 'dax-pay', 1759768820429352960, '收银台演示', '', NULL, b'0', '', b'0', b'0', '', NULL, 'outside:///cashier', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:37:01', 1399985191002447872, '2024-02-20 10:37:01', 0, 0); @@ -929,6 +950,10 @@ INSERT INTO `iam_perm_menu` VALUES (1786808188825194496, 'dax-pay', NULL, '对 INSERT INTO `iam_perm_menu` VALUES (1786810890951020544, 'dax-pay', 1786808188825194496, '对账差异', 'ReconcileDiffList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/diff/ReconcileDiffList.vue', NULL, '/pay/reconcile/diff', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:31:28', 1399985191002447872, '2024-05-05 17:08:38', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1786811341285052416, 'dax-pay', 1786808188825194496, '外部交易明细', 'ReconcileDetailList', NULL, b'0', '', b'1', b'0', 'payment/reconcile/detail/ReconcileDetailList.vue', NULL, '/pay/reconcile/detail', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:33:16', 1399985191002447872, '2024-05-05 20:24:24', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1797178029448867840, 'dax-pay', 1744643265142165504, '交易流水', 'TradeFlowRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/flow/TradeFlowRecordList', NULL, '/pay/record/flow', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-02 16:06:47', 1399985191002447872, '2024-06-02 16:06:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1800350813995446272, 'dax-pay', 1744271715476684800, '基础数据', '', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/pay/config/base', '', -2, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-11 10:14:18', 1399985191002447872, '2024-06-11 10:14:45', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1804041752999993344, 'dax-pay', 1759768820429352960, 'OpenId获取', 'OpenIdDemo', NULL, b'0', '', b'0', b'0', 'demo/openid/OpenIdDemo.vue', NULL, '/pay/demo/openId', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-21 14:40:46', 1399985191002447872, '2024-06-21 14:40:46', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1804799253230350336, 'dax-pay', 1744642856348520448, '转账订单', 'TransferOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/transfer/TransferOrderList', NULL, '/pay/order/transfer', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-23 16:50:48', 1399985191002447872, '2024-06-23 16:50:48', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1805115884940374016, 'dax-pay', 1759768820429352960, '转账演示', 'TransferDemo', NULL, b'0', '', b'0', b'0', 'demo/transfer/TransferDemo.vue', NULL, '/pay/demo/transfer', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-24 13:48:59', 1399985191002447872, '2024-06-24 13:48:59', 0, 0); -- ---------------------------- -- Table structure for iam_perm_path @@ -967,7 +992,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117562556423, 'AllocationGroupControl INSERT INTO `iam_perm_path` VALUES (1789978117562556424, 'DataRoleController#findUsersByDataRoleId', '获取关联的用户列表', 'GET', '/data/role/findUsersByDataRoleId', '数据角色配置', b'1', b'1', '数据角色配置 获取关联的用户列表', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556425, 'AggregateController#getInfo', '获取聚合支付信息', 'GET', '/demo/aggregate/getInfo', '聚合支付', b'1', b'1', '聚合支付 获取聚合支付信息', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556426, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/uni/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556427, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556427, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556428, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556429, 'PayMethodInfoController#update', '更新', 'POST', '/pay/method/info/update', '支付方式管理', b'1', b'1', '支付方式管理 更新', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556430, 'CashierController#getUniCashierUrl', '获取手机收银台链接', 'GET', '/demo/cashier/getUniCashierUrl', '结算台演示', b'1', b'1', '结算台演示 获取手机收银台链接', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); @@ -976,35 +1001,35 @@ INSERT INTO `iam_perm_path` VALUES (1789978117562556432, 'OnlineUserController#p INSERT INTO `iam_perm_path` VALUES (1789978117562556433, 'UserInfoController#existsPhone', '手机号是否被使用(不包含自己)', 'GET', '/user/existsPhoneNotId', '用户管理', b'1', b'1', '用户管理 手机号是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556434, 'DataRoleController#add', '添加', 'POST', '/data/role/add', '数据角色配置', b'1', b'1', '数据角色配置 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556435, 'PlatformConfigController#getConfig', '获取平台配置', 'GET', '/platform/config/getConfig', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 获取平台配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556436, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556436, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556437, 'DataRoleController#findById', '获取', 'GET', '/data/role/findById', '数据角色配置', b'1', b'1', '数据角色配置 获取', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556438, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556438, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556439, 'UserDataRoleController#saveAssign', '给用户分配数据角色', 'POST', '/user/data/role/saveAssign', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配数据角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556440, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556440, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556441, 'SystemParamController#findByParamKey', '根据键名获取键值', 'GET', '/system/param/findByParamKey', '系统参数', b'1', b'1', '系统参数 根据键名获取键值', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556442, 'UserInfoController#bindEmail', '绑定邮箱', 'POST', '/user/bindEmail', '用户管理', b'1', b'1', '用户管理 绑定邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556443, 'RoleMenuController#save', '保存请求权限关系', 'POST', '/role/menu/save', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 保存请求权限关系', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556444, 'RoleController#findAll', '查询所有的角色', 'GET', '/role/findAll', '角色管理', b'1', b'1', '角色管理 查询所有的角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556445, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556445, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556446, 'PermPathController#add', '添加权限', 'POST', '/perm/path/add', '请求权限管理', b'1', b'1', '请求权限管理 添加权限', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556447, 'AuthAssistController#sendSmsCaptcha', '发送短信验证码', 'POST', '/auth/sendSmsCaptcha', '认证支撑接口', b'1', b'1', '认证支撑接口 发送短信验证码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556448, 'CockpitReportController#getRefundAmount', '退款金额(分)', 'GET', '/report/cockpit/getRefundAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款金额(分)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556449, 'PermMenuController#existsByPermCode', '编码是否被使用', 'GET', '/perm/menu/existsByPermCode', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556450, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556450, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556451, 'UserInfoController#updateEmail', '修改邮箱', 'POST', '/user/updateEmail', '用户管理', b'1', b'1', '用户管理 修改邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556452, 'AggregateController#createUrl', '创建聚合支付码', 'POST', '/demo/aggregate/createUrl', '聚合支付', b'1', b'1', '聚合支付 创建聚合支付码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556453, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556454, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556455, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556453, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556454, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556455, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556456, 'SystemParamController#add', '添加', 'POST', '/system/param/add', '系统参数', b'1', b'1', '系统参数 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556457, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556457, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556458, 'QuartzJobController#findById', '单条', 'GET', '/quartz/findById', '定时任务', b'1', b'1', '定时任务 单条', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556459, 'RoleController#existsByName', '名称是否被使用', 'GET', '/role/existsByName', '角色管理', b'1', b'1', '角色管理 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750720, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750720, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750721, 'UserInfoController#existsEmail', '邮箱是否被使用(不包含自己)', 'GET', '/user/existsEmailNotId', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750722, 'UniPayController#syncPay', '支付同步接口', 'POST', '/unipay/syncPay', '统一支付接口', b'1', b'1', '统一支付接口 支付同步接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750723, 'PermPathController#page', '权限分页', 'GET', '/perm/path/page', '请求权限管理', b'1', b'1', '请求权限管理 权限分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750724, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750724, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750725, 'DeptController#findById', '获取', 'GET', '/dept/findById', '部门管理', b'1', b'1', '部门管理 获取', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750726, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750727, 'DictionaryController#add', '添加', 'POST', '/dict/add', '字典', b'1', b'1', '字典 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1012,14 +1037,14 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750728, 'RefundOrderController# INSERT INTO `iam_perm_path` VALUES (1789978117566750729, 'UserInfoController#getUserBaseInfo', '查询用户基础信息', 'GET', '/user/getUserBaseInfo', '用户管理', b'1', b'1', '用户管理 查询用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750730, 'CockpitReportController#getRefundOrderCount', '退款订单数量', 'GET', '/report/cockpit/getRefundOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款订单数量', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750731, 'UserAdminController#update', '修改用户', 'POST', '/user/admin/update', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 修改用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750732, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750732, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750733, 'WalletConfigController#update', '更新', 'POST', '/wallet/config/update', '钱包配置', b'1', b'1', '钱包配置 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750734, 'DeptController#deleteAndChildren', '强制级联删除', 'DELETE', '/dept/deleteAndChildren', '部门管理', b'1', b'1', '部门管理 强制级联删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750735, 'PermPathController#deleteBatch', '批量删除', 'DELETE', '/perm/path/deleteBatch', '请求权限管理', b'1', b'1', '请求权限管理 批量删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750736, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750737, 'DataRoleController#saveDeptAssign', '保存关联部门', 'POST', '/data/role/saveDeptAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存关联部门', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750738, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750739, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750738, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750739, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750740, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750741, 'WalletController#recharge', '充值', 'POST', '/wallet/recharge', '钱包管理', b'1', b'1', '钱包管理 充值', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750742, 'UniPayAssistController#getWxAccessToken', '获取微信AccessToken', 'POST', '/unipay/assist/getWxAccessToken', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信AccessToken', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1032,11 +1057,11 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750748, 'UserInfoController#upd INSERT INTO `iam_perm_path` VALUES (1789978117566750749, 'UserInfoController#getLoginAfterUserInfo', '登录后获取用户信息', 'GET', '/user/getLoginAfterUserInfo', '用户管理', b'1', b'1', '用户管理 登录后获取用户信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750750, 'ClientController#delete', '删除', 'DELETE', '/client/delete', '认证终端', b'1', b'1', '认证终端 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750751, 'PayChannelConfigController#findAll', '查询全部', 'GET', '/pay/channel/config/findAll', '支付通道信息', b'1', b'1', '支付通道信息 查询全部', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750752, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750752, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750753, 'PayCloseRecordController#page', '分页查询', 'GET', '/record/close/page', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750754, 'UserInfoController#bindPhone', '绑定手机', 'POST', '/user/bindPhone', '用户管理', b'1', b'1', '用户管理 绑定手机', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750755, 'DictionaryItemController#update', '修改字典项(返回字典项对象)', 'POST', '/dict/item/update', '字典项', b'1', b'1', '字典项 修改字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750756, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750756, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750757, 'ChinaRegionController#findAllProvinceAndCityAndArea', ' 获取省市区县三级联动列表', 'GET', '/china/region/findAllProvinceAndCityAndArea', '中国行政区划', b'1', b'1', '中国行政区划 获取省市区县三级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750758, 'WalletConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/wallet/config/findPayWays', '钱包配置', b'1', b'1', '钱包配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750759, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1055,14 +1080,14 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750771, 'UniQueryController#que INSERT INTO `iam_perm_path` VALUES (1789978117566750772, 'QuartzJobController#delete', '删除', 'DELETE', '/quartz/delete', '定时任务', b'1', b'1', '定时任务 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750773, 'PermMenuController#add', '添加菜单权限', 'POST', '/perm/menu/add', '菜单和权限码', b'1', b'1', '菜单和权限码 添加菜单权限', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750774, 'ChinaRegionController#findAllProvinceAndCity', '获取省市二级联动列表', 'GET', '/china/region/findAllProvinceAndCity', '中国行政区划', b'1', b'1', '中国行政区划 获取省市二级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750775, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750775, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750776, 'PermPathController#findById', '获取详情', 'GET', '/perm/path/findById', '请求权限管理', b'1', b'1', '请求权限管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750777, 'QuartzJobController#stop', '停止', 'POST', '/quartz/stop', '定时任务', b'1', b'1', '定时任务 停止', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750778, 'UserAssistController#sendEmailChangeCaptcha', '发送更改/绑定邮箱验证码', 'POST', '/user/sendEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750779, 'DictionaryController#page', '分页', 'GET', '/dict/page', '字典', b'1', b'1', '字典 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750780, 'OnlineUserController#kickOut', '踢出用户', 'GET', '/online/user/kickOut', '在线用户', b'1', b'1', '在线用户 踢出用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750781, 'UniPayController#refund', '统一退款接口', 'POST', '/unipay/refund', '统一支付接口', b'1', b'1', '统一支付接口 统一退款接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750782, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750782, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750783, 'ReconcileOrderController#downLocalCsv', '下载系统对账单(CSV格式)', 'GET', '/order/reconcile/downLocalCsv', '对账控制器', b'1', b'1', '对账控制器 下载系统对账单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750784, 'DataRoleController#delete', '删除', 'DELETE', '/data/role/delete', '数据角色配置', b'1', b'1', '数据角色配置 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750785, 'DataRoleController#deleteUserAssigns', '批量删除数据角色关联用户', 'DELETE', '/data/role/deleteUserAssigns', '数据角色配置', b'1', b'1', '数据角色配置 批量删除数据角色关联用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1071,9 +1096,9 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750787, 'ClientController#exist INSERT INTO `iam_perm_path` VALUES (1789978117566750788, 'FIleUpLoadController#local', '上传', 'POST', '/file/upload', '文件上传', b'1', b'1', '文件上传 上传', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750789, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750790, 'PermMenuController#menuAndPermCodeTree', '获取菜单和权限码树', 'GET', '/perm/menu/menuAndPermCodeTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单和权限码树', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750791, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750791, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750792, 'UserInfoController#updatePassword', '修改密码', 'POST', '/user/updatePassword', '用户管理', b'1', b'1', '用户管理 修改密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750793, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750793, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750794, 'LoginTypeController#superPage', '超级查询', 'POST', '/loginType/superPage', '登录方式管理', b'1', b'1', '登录方式管理 超级查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750795, 'WalletController#page', '钱包分页', 'GET', '/wallet/page', '钱包管理', b'1', b'1', '钱包管理 钱包分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750796, 'UserAdminController#getUserInfoWhole', '查询用户详情', 'GET', '/user/admin/getUserInfoWhole', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 查询用户详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1084,35 +1109,35 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750800, 'OperateLogController#p INSERT INTO `iam_perm_path` VALUES (1789978117566750801, 'ClientNoticeTaskController#findRecordById', '查询单条', 'GET', '/task/notice/record/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750802, 'OpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750803, 'PayOrderController#findById', '查询订单详情', 'GET', '/order/pay/findById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750804, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750804, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750805, 'DeptController#tree', '树状展示', 'GET', '/dept/tree', '部门管理', b'1', b'1', '部门管理 树状展示', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750806, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750806, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750807, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750808, 'LoginLogController#deleteByDay', '清除指定天数之前的日志', 'DELETE', '/log/login/deleteByDay', '登录日志', b'1', b'1', '登录日志 清除指定天数之前的日志', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750809, 'PayOrderController#syncById', '同步支付状态', 'POST', '/order/pay/syncByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 同步支付状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750810, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750811, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750812, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750810, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750811, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750812, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750813, 'QuartzJobLogController#page', '分页', 'GET', '/quartz/log/page', '定时任务执行日志', b'1', b'1', '定时任务执行日志 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750814, 'UserInfoController#updateBaseInfo', '修改用户基础信息', 'POST', '/user/updateBaseInfo', '用户管理', b'1', b'1', '用户管理 修改用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750815, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750815, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750816, 'DataRoleController#existsByCode', '编码是否被使用', 'GET', '/data/role/existsByCode', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750817, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750817, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750818, 'LoginTypeController#findById', '通过ID查询登录方式', 'GET', '/loginType/findById', '登录方式管理', b'1', b'1', '登录方式管理 通过ID查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750819, 'ReconcileOrderController#page', '对账单分页', 'GET', '/order/reconcile/page', '对账控制器', b'1', b'1', '对账控制器 对账单分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750820, 'UnionPayConfigController#findPayWays', '支持的支付方式', 'GET', '/union/pay/config/findPayWays', '云闪付配置', b'1', b'1', '云闪付配置 支持的支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750821, 'DataRoleController#getDeptIds', '获取关联部门id', 'GET', '/data/role/getDeptIds', '数据角色配置', b'1', b'1', '数据角色配置 获取关联部门id', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750822, 'PayOrderController#close', '关闭支付记录', 'POST', '/order/pay/close', '支付订单控制器', b'1', b'1', '支付订单控制器 关闭支付记录', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750823, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750824, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750823, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750824, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750825, 'CaptchaController#imgCaptcha', '获取图片验证码', 'POST', '/captcha/imgCaptcha', '验证码服务', b'1', b'1', '验证码服务 获取图片验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750826, 'SystemParamController#delete', '删除', 'DELETE', '/system/param/delete', '系统参数', b'1', b'1', '系统参数 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750827, 'UserInfoController#register', '注册账号', 'POST', '/user/register', '用户管理', b'1', b'1', '用户管理 注册账号', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750828, 'DictionaryItemController#add', '添加字典项(返回字典项对象)', 'POST', '/dict/item/add', '字典项', b'1', b'1', '字典项 添加字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750829, 'UserAdminController#restartPassword', '重置密码', 'POST', '/user/admin/restartPassword', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 重置密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750830, 'ClientController#update', '修改', 'POST', '/client/update', '认证终端', b'1', b'1', '认证终端 修改', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750831, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750832, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750831, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750832, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750833, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.722000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945024, 'ReconcileOrderController#downAndSave', '手动触发对账文件下载', 'POST', '/order/reconcile/downAndSave', '对账控制器', b'1', b'1', '对账控制器 手动触发对账文件下载', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945025, 'ForwardFrontController#toH5', 'toH5', 'GET', '/front/', 'ForwardFrontController', b'1', b'1', 'ForwardFrontController toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1123,11 +1148,11 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945029, 'ReconcileOrderControll INSERT INTO `iam_perm_path` VALUES (1789978117570945030, 'PasswordSecurityConfigController#getDefault', '获取配置', 'GET', '/security/password/getDefault', '密码安全策略', b'1', b'1', '密码安全策略 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945031, 'DictionaryItemController#findById', '根据字典项ID查询', 'GET', '/dict/item/findById', '字典项', b'1', b'1', '字典项 根据字典项ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945032, 'DictionaryItemController#findByDictionaryId', '查询指定字典ID下的所有字典项', 'GET', '/dict/item/findByDictionaryId', '字典项', b'1', b'1', '字典项 查询指定字典ID下的所有字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945033, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945034, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945033, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945034, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945035, 'DictionaryController#update', '更新', 'POST', '/dict/update', '字典', b'1', b'1', '字典 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945036, 'FIleUpLoadController#download', '下载文件(流量会经过后端)', 'GET', '/file/download/{id}', '文件上传', b'1', b'1', '文件上传 下载文件(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945037, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945037, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945038, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945039, 'AlipayConfigController#readPem', '读取证书文件内容', 'POST', '/alipay/config/readPem', '支付宝配置', b'1', b'1', '支付宝配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945040, 'ClientNoticeReceiveController#refund', '退款消息(对象)', 'POST', '/demo/callback/refundObject', '回调测试', b'1', b'1', '回调测试 退款消息(对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1144,48 +1169,48 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945050, 'DictionaryItemControll INSERT INTO `iam_perm_path` VALUES (1789978117570945051, 'RolePathController#save', '保存角色请求权限关联关系', 'POST', '/role/path/save', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 保存角色请求权限关联关系', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945052, 'WalletController#findById', '查询钱包详情', 'GET', '/wallet/findById', '钱包管理', b'1', b'1', '钱包管理 查询钱包详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945053, 'OnlineUserController#pageByLogin', '登录用户分页', 'GET', '/online/user/pageByLogin', '在线用户', b'1', b'1', '在线用户 登录用户分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945054, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945054, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945055, 'DictionaryController#delete', '根据id删除', 'DELETE', '/dict/delete', '字典', b'1', b'1', '字典 根据id删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945056, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945057, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945058, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945056, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945057, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945058, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945059, 'AlipayConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/alipay/config/findPayWays', '支付宝配置', b'1', b'1', '支付宝配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945060, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945060, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945061, 'ClientNoticeReceiveController#refund', '退款消息', 'POST', '/demo/callback/refund', '回调测试', b'1', b'1', '回调测试 退款消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945062, 'CashierController#getPayEnv', '获取支付环境', 'GET', '/demo/cashier/getPayEnv', '结算台演示', b'1', b'1', '结算台演示 获取支付环境', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945063, 'UserAdminController#banBatch', '批量封禁用户', 'POST', '/user/admin/banBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945064, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945064, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945065, 'DictionaryItemController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/item/existsByCodeNotId', '字典项', b'1', b'1', '字典项 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945066, 'DictionaryItemController#pageByDictionaryId', '分页查询指定字典下的字典项', 'GET', '/dict/item/pageByDictionaryId', '字典项', b'1', b'1', '字典项 分页查询指定字典下的字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945067, 'AggregateController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/aggregate/wxAuthCallback', '聚合支付', b'1', b'1', '聚合支付 微信授权回调页面', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945068, 'LoginTypeController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/loginType/existsByCodeNotId', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945069, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945069, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945070, 'FIleUpLoadController#getFilePreviewUrl', '获取文件预览地址(流量会经过后端)', 'GET', '/file/getFilePreviewUrl', '文件上传', b'1', b'1', '文件上传 获取文件预览地址(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945071, 'LoginTypeController#findByCode', '通过code查询登录方式', 'GET', '/loginType/findByCode', '登录方式管理', b'1', b'1', '登录方式管理 通过code查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945072, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945072, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945073, 'PayOrderController#findByOrderNo', '查询订单详情', 'GET', '/order/pay/findByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945074, 'ReconcileOrderController#findById', '对账单详情', 'GET', '/order/reconcile/findById', '对账控制器', b'1', b'1', '对账控制器 对账单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945075, 'UserAssistController#sendPhoneChangeCaptcha', '发送更改/绑定手机号验证码', 'POST', '/user/sendPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945076, 'MultipleOpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945077, 'PermMenuController#delete', '删除', 'DELETE', '/perm/menu/delete', '菜单和权限码', b'1', b'1', '菜单和权限码 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945078, 'AggregateController#barCodePay', '通过付款码发起支付', 'POST', '/demo/aggregate/barCodePay', '聚合支付', b'1', b'1', '聚合支付 通过付款码发起支付', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945079, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945079, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945080, 'ReconcileOrderController#downDiffCsv', '下载对账差异单(CSV格式)', 'GET', '/order/reconcile/downDiffCsv', '对账控制器', b'1', b'1', '对账控制器 下载对账差异单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945081, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945081, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945082, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945083, 'ThirdLoginController#toLoginUrl', '跳转到登陆页', 'GET', '/auth/third/toLoginUrl/{loginType}', '三方登录', b'1', b'1', '三方登录 跳转到登陆页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945084, 'AlipayConfigController#getConfig', '获取配置', 'GET', '/alipay/config/getConfig', '支付宝配置', b'1', b'1', '支付宝配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945085, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945086, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945086, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945087, 'CashierController#simplePayCashier', '创建支付订单并发起', 'POST', '/demo/cashier/simplePayCashier', '结算台演示', b'1', b'1', '结算台演示 创建支付订单并发起', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945088, 'ClientController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/client/existsByCodeNotId', '认证终端', b'1', b'1', '认证终端 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945089, 'UserInfoController#existsEmail', '邮箱是否被使用', 'GET', '/user/existsEmail', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945090, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945090, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945091, 'ClientNoticeReceiveController#pay', '支付消息(map接收)', 'POST', '/demo/callback/pay', '回调测试', b'1', b'1', '回调测试 支付消息(map接收)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945092, 'RoleMenuController#findTreeByRole', '获取当前角色下可见的菜单和权限码树(分配时用)', 'GET', '/role/menu/findTreeByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下可见的菜单和权限码树(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945093, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945093, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945094, 'WalletConfigController#getConfig', '获取配置', 'GET', '/wallet/config/getConfig', '钱包配置', b'1', b'1', '钱包配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945095, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945095, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945096, 'DictionaryController#existsByCode', '编码是否被使用', 'GET', '/dict/existsByCode', '字典', b'1', b'1', '字典 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945097, 'RoleMenuController#findMenuIds', '获取权限菜单id列表,不包含资源权限', 'GET', '/role/menu/findMenuIds', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取权限菜单id列表,不包含资源权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945098, 'PayRepairRecordController#findById', '查询单条', 'GET', '/record/repair/findById', '支付修复记录', b'1', b'1', '支付修复记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1198,56 +1223,56 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945104, 'UniPayAssistController INSERT INTO `iam_perm_path` VALUES (1789978117570945105, 'PermMenuController#resourceList', '资源(权限码)列表', 'GET', '/perm/menu/resourceList', '菜单和权限码', b'1', b'1', '菜单和权限码 资源(权限码)列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945106, 'PasswordSecurityConfigController#addOrUpdate', '新增或添加密码安全配置', 'POST', '/security/password/addOrUpdate', '密码安全策略', b'1', b'1', '密码安全策略 新增或添加密码安全配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945107, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-03 14:53:25.722000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945108, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945108, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945109, 'PasswordSecurityConfigController#check', '登录后检查密码相关的情况', 'GET', '/security/password/check', '密码安全策略', b'1', b'1', '密码安全策略 登录后检查密码相关的情况', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945110, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945111, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945112, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945113, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945113, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945114, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945115, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945116, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945117, 'SystemParamController#existsByKeyNotId', '判断编码是否存在(不包含自己)', 'GET', '/system/param/existsByKeyNotId', '系统参数', b'1', b'1', '系统参数 判断编码是否存在(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945118, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945118, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945119, 'RoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/role/existsByCodeNotId', '角色管理', b'1', b'1', '角色管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945120, 'DataRoleController#page', '分页', 'GET', '/data/role/page', '数据角色配置', b'1', b'1', '数据角色配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945121, 'OperateLogController#deleteByDay', '清除指定天数的日志', 'DELETE', '/log/operate/deleteByDay', '操作日志', b'1', b'1', '操作日志 清除指定天数的日志', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945122, 'OnlineUserController#getSessionByUserId', '获取用户链接信息', 'GET', '/online/user/getSessionByUserId', '在线用户', b'1', b'1', '在线用户 获取用户链接信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945123, 'LoginTypeController#add', '添加登录方式', 'POST', '/loginType/add', '登录方式管理', b'1', b'1', '登录方式管理 添加登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945124, 'UnionPayConfigController#getConfig', '获取配置', 'GET', '/union/pay/config/getConfig', '云闪付配置', b'1', b'1', '云闪付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945125, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945125, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945126, 'BaseApiController#authEcho', '回声测试(必须要进行登录)', 'GET', '/auth/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试(必须要进行登录)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945127, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945127, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945128, 'FIleUpLoadController#delete', '删除', 'DELETE', '/file/delete', '文件上传', b'1', b'1', '文件上传 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945129, 'CockpitReportController#getRefundChannelInfo', '显示通道退款订单金额和订单数', 'GET', '/report/cockpit/getRefundChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道退款订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945130, 'RoleController#add', '添加角色(返回角色对象)', 'POST', '/role/add', '角色管理', b'1', b'1', '角色管理 添加角色(返回角色对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945131, 'ClientController#add', '添加', 'POST', '/client/add', '认证终端', b'1', b'1', '认证终端 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945132, 'UserInfoController#forgetPasswordByPhone', '通过手机号重置密码', 'POST', '/user/forgetPasswordByPhone', '用户管理', b'1', b'1', '用户管理 通过手机号重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945133, 'RolePathController#findPathsByRole', '获取当前用户角色下可见的请求权限列表(分配时用)', 'GET', '/role/path/findPathsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 获取当前用户角色下可见的请求权限列表(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945134, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945134, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945135, 'ClientController#findAll', '查询所有', 'GET', '/client/findAll', '认证终端', b'1', b'1', '认证终端 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945136, 'RefundOrderController#findExtraById', '查询扩展信息', 'GET', '/order/refund/findExtraById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945136, 'RefundOrderController#findExtraById', '查询扩展信息', 'GET', '/order/refund/findExtraById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945137, 'UserDataRoleController#saveAssignBatch', '给用户分配权限(批量)', 'POST', '/user/data/role/saveAssignBatch', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配权限(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945138, 'LoginLogController#page', '分页', 'GET', '/log/login/page', '登录日志', b'1', b'1', '登录日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945139, 'FIleUpLoadController#findById', '获取单条详情', 'GET', '/file/findById', '文件上传', b'1', b'1', '文件上传 获取单条详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945140, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945140, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945141, 'DataRoleController#saveUserAssign', '保存数据角色关联用户权限', 'POST', '/data/role/saveUserAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存数据角色关联用户权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945142, 'ThirdLoginController#callback', '扫码后回调', 'GET', '/auth/third/callback/{loginType}', '三方登录', b'1', b'1', '三方登录 扫码后回调', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945143, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945143, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945144, 'PayApiConfigController#findById', '根据ID获取', 'GET', '/pay/api/config/findById', '支付接口配置', b'1', b'1', '支付接口配置 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945145, 'DataVersionLogController#findById', '获取', 'GET', '/log/dataVersion/findById', '数据版本日志', b'1', b'1', '数据版本日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945146, 'PermPathController#update', '更新权限', 'POST', '/perm/path/update', '请求权限管理', b'1', b'1', '请求权限管理 更新权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945147, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945148, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945149, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945147, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945148, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945149, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945150, 'PayCloseRecordController#findById', '查询单条', 'GET', '/record/close/findById', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945151, 'DataVersionLogController#page', '分页', 'GET', '/log/dataVersion/page', '数据版本日志', b'1', b'1', '数据版本日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945152, 'OpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945153, 'PermPathController#findAll', '权限列表', 'GET', '/perm/path/findAll', '请求权限管理', b'1', b'1', '请求权限管理 权限列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945154, 'UserAdminController#add', '添加用户', 'POST', '/user/admin/add', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 添加用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945155, 'PayCallbackRecordController#findById', '查询单条', 'GET', '/record/callback/findById', '支付回调信息记录', b'1', b'1', '支付回调信息记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945156, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945157, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945156, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945157, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945158, 'TestController#lock2', '锁测试2', 'GET', '/test/lock2', '测试', b'1', b'1', '测试 锁测试2', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945159, 'DataRoleController#findAll', '查询全部', 'GET', '/data/role/findAll', '数据角色配置', b'1', b'1', '数据角色配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945160, 'UserInfoController#forgetPasswordByEmail', '通过邮箱重置密码', 'POST', '/user/forgetPasswordByEmail', '用户管理', b'1', b'1', '用户管理 通过邮箱重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1259,7 +1284,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945165, 'PlatformConfigControll INSERT INTO `iam_perm_path` VALUES (1789978117570945166, 'UserRoleController#saveAssign', '给用户分配角色', 'POST', '/user/role/saveAssign', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945167, 'UniPayController#close', '支付关闭接口', 'POST', '/unipay/close', '统一支付接口', b'1', b'1', '统一支付接口 支付关闭接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945168, 'UserDataRoleController#findDataRoleIdByUser', '根据用户ID获取到数据角色Id', 'GET', '/user/data/role/findDataRoleIdByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色Id', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945169, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945169, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945170, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945171, 'WeChatPayConfigController#getConfig', '获取配置', 'GET', '/wechat/pay/config/getConfig', '微信支付配置', b'1', b'1', '微信支付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945172, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1270,14 +1295,14 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945176, 'UserAdminController#ge INSERT INTO `iam_perm_path` VALUES (1789978117570945177, 'RefundOrderController#syncByRefundNo', '退款同步', 'POST', '/order/refund/syncByRefundNo', '支付退款控制器', b'1', b'1', '支付退款控制器 退款同步', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945178, 'DeptController#delete', '普通删除', 'DELETE', '/dept/delete', '部门管理', b'1', b'1', '部门管理 普通删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945179, 'SystemParamController#page', '分页', 'GET', '/system/param/page', '系统参数', b'1', b'1', '系统参数 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945180, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945180, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945181, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-03 14:53:25.722000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945182, 'AggregateController#qrPayPage', '聚合支付扫码跳转中间页', 'GET', '/demo/aggregate/qrPayPage/{code}', '聚合支付', b'1', b'1', '聚合支付 聚合支付扫码跳转中间页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945183, 'UserAdminController#getByPhone', '根据手机号查询用户', 'GET', '/user/admin/getByPhone', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据手机号查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945184, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945185, 'LoginLogController#findById', '获取', 'GET', '/log/login/findById', '登录日志', b'1', b'1', '登录日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945186, 'WalletController#existsByUserId', '判断用户是否开通了钱包', 'GET', '/wallet/existsByUserId', '钱包管理', b'1', b'1', '钱包管理 判断用户是否开通了钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945187, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945187, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945188, 'RoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/role/existsByNameNotId', '角色管理', b'1', b'1', '角色管理 名称是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945189, 'PayMethodInfoController#findById', '根据ID获取', 'GET', '/pay/method/info/findById', '支付方式管理', b'1', b'1', '支付方式管理 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945190, 'UserAdminController#restartPasswordBatch', '批量重置密码', 'POST', '/user/admin/restartPasswordBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1287,20 +1312,20 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945193, 'UserDeptController#fin INSERT INTO `iam_perm_path` VALUES (1789978117570945194, 'ClientNoticeTaskController#findById', '查询单条', 'GET', '/task/notice/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945195, 'UserThirdController#getThirdBindInfo', '获取绑定详情', 'GET', '/user/third/getThirdBindInfo', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取绑定详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945196, 'OperateLogController#findById', '获取', 'GET', '/log/operate/findById', '操作日志', b'1', b'1', '操作日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945197, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945197, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945198, 'AggregateController#getWxJsapiPay', '获取微信支付调起Jsapi支付的信息', 'POST', '/demo/aggregate/getWxJsapiPay', '聚合支付', b'1', b'1', '聚合支付 获取微信支付调起Jsapi支付的信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945199, 'PermPathController#delete', '删除权限', 'DELETE', '/perm/path/delete', '请求权限管理', b'1', b'1', '请求权限管理 删除权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945200, 'WeChatPayConfigController#findPayWays', '微信支持支付方式', 'GET', '/wechat/pay/config/findPayWays', '微信支付配置', b'1', b'1', '微信支付配置 微信支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945201, 'UserAssistController#validatePhoneChangeCaptcha', '验证改/绑定手机验证码', 'GET', '/user/validatePhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证改/绑定手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945202, 'UserAssistController#validateEmailForgetCaptcha', '验证找回密码邮箱验证码', 'GET', '/user/validateEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945203, 'ReconcileOrderController#downOriginal', '下载原始交易对账单文件', 'GET', '/order/reconcile/downOriginal', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单文件', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945204, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945204, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945205, 'LoginTypeController#delete', '删除登录方式', 'DELETE', '/loginType/delete', '登录方式管理', b'1', b'1', '登录方式管理 删除登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945206, 'DeptController#update', '更新', 'POST', '/dept/update', '部门管理', b'1', b'1', '部门管理 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945207, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945207, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945208, 'UserDeptController#saveAssignBatch', '给用户分配部门(批量)', 'POST', '/user/dept/saveAssignBatch', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945209, 'UserAdminController#unlockBatch', '批量解锁用户', 'POST', '/user/admin/unlockBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945210, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945210, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945211, 'WeChatPayConfigController#update', '更新', 'POST', '/wechat/pay/config/update', '微信支付配置', b'1', b'1', '微信支付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945212, 'UserThirdController#findById', '获取详情', 'POST', '/user/third/findById', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945213, 'RefundOrderController#resetRefund', '重新发起退款', 'POST', '/order/refund/resetRefund', '支付退款控制器', b'1', b'1', '支付退款控制器 重新发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1309,7 +1334,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945215, 'ReconcileOrderControll INSERT INTO `iam_perm_path` VALUES (1789978117570945216, 'QuartzJobController#execute', '立即执行', 'POST', '/quartz/execute', '定时任务', b'1', b'1', '定时任务 立即执行', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945217, 'QuartzJobController#start', '启动', 'POST', '/quartz/start', '定时任务', b'1', b'1', '定时任务 启动', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945218, 'DictionaryController#findAll', '查询全部', 'GET', '/dict/findAll', '字典', b'1', b'1', '字典 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945219, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945219, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945220, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-03 14:53:25.716000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945221, 'DataRoleController#update', '更新', 'POST', '/data/role/update', '数据角色配置', b'1', b'1', '数据角色配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945222, 'UnionPayConfigController#toBase64', '读取证书文件内容', 'POST', '/union/pay/config/toBase64', '云闪付配置', b'1', b'1', '云闪付配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1323,7 +1348,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945229, 'RoleController#existsB INSERT INTO `iam_perm_path` VALUES (1789978117570945230, 'CockpitReportController#getPayChannelInfo', '显示通道支付订单金额和订单数', 'GET', '/report/cockpit/getPayChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道支付订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945231, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945232, 'UserAdminController#unlock', '解锁用户', 'POST', '/user/admin/unlock', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945233, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945233, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945234, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945235, 'UserAdminController#findById', '根据用户id查询用户', 'GET', '/user/admin/findById', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据用户id查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945236, 'PayRepairRecordController#page', '分页查询', 'GET', '/record/repair/page', '支付修复记录', b'1', b'1', '支付修复记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1332,10 +1357,10 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945238, 'PasswordSecurityConfig INSERT INTO `iam_perm_path` VALUES (1789978117570945239, 'WalletController#deduct', '扣减', 'POST', '/wallet/deduct', '钱包管理', b'1', b'1', '钱包管理 扣减', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945240, 'FIleUpLoadController#getFilePreviewUrlPrefix', '获取文件预览地址前缀', 'GET', '/file/getFilePreviewUrlPrefix', '文件上传', b'1', b'1', '文件上传 获取文件预览地址前缀', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945241, 'PermMenuController#existsByPermCode', '编码是否被使用(不包含自己)', 'GET', '/perm/menu/existsByPermCodeNotId', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945242, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945242, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945243, 'CashierController#queryPayOrder', '查询支付订单', 'GET', '/demo/cashier/queryPayOrderSuccess', '结算台演示', b'1', b'1', '结算台演示 查询支付订单', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945244, 'ReconcileOrderController#downOriginal2Csv', '下载原始交易对账单记录(CSV格式)', 'GET', '/order/reconcile/downOriginal2Csv', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单记录(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945245, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945245, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945246, 'RoleMenuController#getPermissions', '获取菜单和权限码(根据用户进行筛选)', 'GET', '/role/menu/getPermissions', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取菜单和权限码(根据用户进行筛选)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945247, 'UserRoleController#findRoleIdsByUser', '根据用户ID获取到角色id集合', 'GET', '/user/role/findRoleIdsByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色id集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945248, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1343,7 +1368,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945249, 'FIleUpLoadController#p INSERT INTO `iam_perm_path` VALUES (1789978117570945250, 'QuartzJobController#judgeJobClass', '判断是否是定时任务类', 'GET', '/quartz/judgeJobClass', '定时任务', b'1', b'1', '定时任务 判断是否是定时任务类', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945251, 'PayOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/pay/getTotalAmount', '支付订单控制器', b'1', b'1', '支付订单控制器 查询金额汇总', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945252, 'UserAssistController#sendCurrentEmailChangeCaptcha', '给当前用户发送更改邮箱验证码', 'POST', '/user/sendCurrentEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945253, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945253, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945254, 'UserThirdController#bind', '绑定第三方账号', 'POST', '/user/third/bind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 绑定第三方账号', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945255, 'RoleController#tree', '角色树', 'GET', '/role/tree', '角色管理', b'1', b'1', '角色管理 角色树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945256, 'UniPayController#pay', '统一支付接口', 'POST', '/unipay/pay', '统一支付接口', b'1', b'1', '统一支付接口 统一支付接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1361,7 +1386,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945267, 'UserInfoController#exi INSERT INTO `iam_perm_path` VALUES (1789978117570945268, 'UserDeptController#saveAssign', '给用户分配部门', 'POST', '/user/dept/saveAssign', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945269, 'CockpitReportController#getPayOrderCount', '支付订单数量', 'GET', '/report/cockpit/getPayOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付订单数量', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945270, 'UserAssistController#sendEmailForgetCaptcha', '发送找回密码邮箱验证码', 'POST', '/user/sendEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945271, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945271, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945272, 'ClientNoticeTaskController#recordPage', '分页查询', 'GET', '/task/notice/record/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945273, 'RefundOrderController#findById', '查询单条', 'GET', '/order/refund/findById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945274, 'UserDataRoleController#findDataRoleByUser', '根据用户ID获取到数据角色列表', 'GET', '/user/data/role/findDataRoleByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1369,35 +1394,35 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945275, 'ChinaRegionController# INSERT INTO `iam_perm_path` VALUES (1789978117570945276, 'DataRoleController#existsByName', '名称是否被使用', 'GET', '/data/role/existsByName', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945277, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945278, 'UserAssistController#validatePhoneForgetCaptcha', '验证找回密码手机验证码', 'GET', '/user/validatePhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945279, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945279, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945280, 'DictionaryController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/existsByCodeNotId', '字典', b'1', b'1', '字典 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945281, 'PermMenuController#menuTree', '获取菜单树', 'GET', '/perm/menu/menuTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945282, 'DictionaryItemController#delete', '删除字典项', 'DELETE', '/dict/item/delete', '字典项', b'1', b'1', '字典项 删除字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945283, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945284, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945285, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945286, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945283, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945284, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945285, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945286, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945287, 'UserAssistController#validateCurrentPhoneChangeCaptcha', '验证当前用户发送更改手机号验证码', 'GET', '/user/validateCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945288, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945289, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945288, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945289, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945290, 'PermPathController#batchUpdateEnable', '批量更新状态', 'POST', '/perm/path/batchUpdateEnable', '请求权限管理', b'1', b'1', '请求权限管理 批量更新状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945291, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945291, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.915000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945292, 'QuartzJobController#syncJobStatus', '同步定时任务状态', 'POST', '/quartz/syncJobStatus', '定时任务', b'1', b'1', '定时任务 同步定时任务状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945293, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945293, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.915000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945294, 'DictionaryItemController#findAll', '获取全部字典项', 'GET', '/dict/item/findAll', '字典项', b'1', b'1', '字典项 获取全部字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945295, 'UserAssistController#validateEmailCaptcha', '验证更改/绑定邮箱验证码', 'GET', '/user/validateEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945296, 'PermMenuController#findById', '根据id查询', 'GET', '/perm/menu/findById', '菜单和权限码', b'1', b'1', '菜单和权限码 根据id查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945297, 'RoleMenuController#findPermissionIdsByRole', '获取当前角色下关联权限id集合(包含权限码和菜单)', 'GET', '/role/menu/findPermissionIdsByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下关联权限id集合(包含权限码和菜单)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945298, 'SwaggerConfigResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/swagger-config', 'SwaggerConfigResource', b'1', b'1', 'SwaggerConfigResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945299, 'UnionPayConfigController#update', '更新', 'POST', '/union/pay/config/update', '云闪付配置', b'1', b'1', '云闪付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945300, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945300, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.915000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945301, 'TokenEndpoint#login', '普通登录', 'POST', '/token/login', '认证相关', b'1', b'1', '认证相关 普通登录', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945302, 'RefundOrderController#refund', '手动发起退款', 'POST', '/order/refund/refund', '支付退款控制器', b'1', b'1', '支付退款控制器 手动发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945303, 'QuartzJobController#page', '分页', 'GET', '/quartz/page', '定时任务', b'1', b'1', '定时任务 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945304, 'CockpitReportController#getPayAmount', '支付金额(分)', 'GET', '/report/cockpit/getPayAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付金额(分)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945305, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945305, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.914000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945306, 'UserAdminController#ban', '封禁用户', 'POST', '/user/admin/ban', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945307, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945307, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.914000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945308, 'WalletController#create', '创建钱包', 'POST', '/wallet/create', '钱包管理', b'1', b'1', '钱包管理 创建钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945309, 'PermPathController#syncSystem', '同步系统请求资源', 'POST', '/perm/path/syncSystem', '请求权限管理', b'1', b'1', '请求权限管理 同步系统请求资源', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945310, 'SystemParamController#existsByKey', '判断编码是否存在', 'GET', '/system/param/existsByKey', '系统参数', b'1', b'1', '系统参数 判断编码是否存在', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1405,7 +1430,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945311, 'BaseApiController#echo INSERT INTO `iam_perm_path` VALUES (1789978117570945312, 'ReconcileOrderController#findDiffById', '对账差异详情', 'GET', '/order/reconcile/diff/findById', '对账控制器', b'1', b'1', '对账控制器 对账差异详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945313, 'PaySyncRecordController#page', '分页查询', 'GET', '/record/sync/page', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945314, 'CashierController#getWxAuthUrl', '获取微信授权链接', 'GET', '/demo/cashier/getWxAuthUrl', '结算台演示', b'1', b'1', '结算台演示 获取微信授权链接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1797521957446066176, 'PayNoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/callback/notice/wechat', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1797521957446066176, 'PayNoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/callback/notice/wechat', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-26 20:32:23.914000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066177, 'AllocationReceiverController#existsByReceiverNo', '编码是否存在', 'GET', '/allocation/receiver/existsByReceiverNo', '分账接收方控制器', b'1', b'1', '分账接收方控制器 编码是否存在', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066178, 'UniAllocationController#start', '发起分账接口', 'POST', '/unipay/allocation/start', '分账控制器', b'1', b'1', '分账控制器 发起分账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066179, 'UniPayController#transfer', '统一转账接口', 'POST', '/unipay/transfer', '统一支付接口', b'1', b'1', '统一支付接口 统一转账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); @@ -1426,10 +1451,39 @@ INSERT INTO `iam_perm_path` VALUES (1797521957446066193, 'UniPaySyncController#t INSERT INTO `iam_perm_path` VALUES (1797521957446066194, 'ClientNoticeReceiveController#allocation', '分账消息', 'POST', '/demo/callback/allocation', '回调测试', b'1', b'1', '回调测试 分账消息', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066195, 'UniQueryController#queryAllocReceive', '分账接收方查询接口', 'POST', '/unipay/query/allocationReceiver', '统一查询接口', b'1', b'1', '统一查询接口 分账接收方查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066196, 'UniAllocationController#finish', '分账完结接口', 'POST', '/unipay/allocation/finish', '分账控制器', b'1', b'1', '分账控制器 分账完结接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1797521957446066197, 'PayNoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/callback/notice/alipay', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1797521957446066197, 'PayNoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/callback/notice/alipay', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-26 20:32:23.913000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066198, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/unipay/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066199, 'TradeFlowRecordController#page', '分页查询', 'GET', '/record/flow/page', '交易流水记录控制器', b'1', b'1', '交易流水记录控制器 分页查询', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066200, 'UniAllocationController#receiverRemove', '分账接收方删除接口', 'POST', '/unipay/allocation/receiver/remove', '分账控制器', b'1', b'1', '分账控制器 分账接收方删除接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153792, 'WeChatPayConfigController#generateReturnUrl', '生成同步通知地址', 'GET', '/wechat/pay/config/generateReturnUrl', '微信支付配置', b'1', b'1', '微信支付配置 生成同步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153793, 'TransferOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/transfer/getTotalAmount', '转账订单控制器', b'1', b'1', '转账订单控制器 查询金额汇总', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153794, 'UnionPayConfigController#generateReturnUrl', '生成同步通知地址', 'GET', '/union/pay/config/generateReturnUrl', '云闪付配置', b'1', b'1', '云闪付配置 生成同步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153795, 'AlipayConfigController#generateReturnUrl', '生成同步通知地址', 'GET', '/alipay/config/generateReturnUrl', '支付宝配置', b'1', b'1', '支付宝配置 生成同步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153796, 'AliPayAuthController#queryOpenId', '根据标识码查询OpenId', 'GET', '/alipay/auth/queryOpenId', '支付宝认证控制器', b'1', b'1', '支付宝认证控制器 根据标识码查询OpenId', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153797, 'CallbackReceiverController#wechatPayNotify', '微信支付信息回调', 'POST', '/unipay/callback/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153798, 'TransferOrderController#page', '分页查询', 'GET', '/order/transfer/page', '转账订单控制器', b'1', b'1', '转账订单控制器 分页查询', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153799, 'AlipayConfigController#generateNotifyUrl', '生成异步通知地址', 'GET', '/alipay/config/generateNotifyUrl', '支付宝配置', b'1', b'1', '支付宝配置 生成异步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153800, 'UnionPayConfigController#generateNotifyUrl', '生成异步通知地址', 'GET', '/union/pay/config/generateNotifyUrl', '云闪付配置', b'1', b'1', '云闪付配置 生成异步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153801, 'UniPayController#cancel', '支付撤销接口', 'POST', '/unipay/cancel', '统一支付接口', b'1', b'1', '统一支付接口 支付撤销接口', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153802, 'NoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/unipay/notice/alipay', '支付通道网关消息通知', b'1', b'1', '支付通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153803, 'WechatAuthController#generateAuthUrl', '返回获取OpenId授权页面地址和标识码', 'POST', '/wechat/auth/generateAuthUrl', '微信认证控制器', b'1', b'1', '微信认证控制器 返回获取OpenId授权页面地址和标识码', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153804, 'TransferOrderController#findByBizTransferNo', '根据商户转账号查询', 'GET', '/order/transfer/findByBizTransferNo', '转账订单控制器', b'1', b'1', '转账订单控制器 根据商户转账号查询', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153805, 'TransferOrderController#findByTransferNo', '根据转账号查询', 'GET', '/order/transfer/findByTransferNo', '转账订单控制器', b'1', b'1', '转账订单控制器 根据转账号查询', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153806, 'NoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/unipay/notice/wechat', '支付通道网关消息通知', b'1', b'1', '支付通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153807, 'CallbackReceiverController#wechatCallback', '支付宝认证授权回调', 'GET', '/unipay/callback/alipay/auth/{code}', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝认证授权回调', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153808, 'WechatAuthController#queryOpenId', '根据标识码查询OpenId', 'GET', '/wechat/auth/queryOpenId', '微信认证控制器', b'1', b'1', '微信认证控制器 根据标识码查询OpenId', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153809, 'TransferOrderController#syncByTransferNo', '手动转账同步', 'POST', '/order/transfer/syncByTransferNo', '转账订单控制器', b'1', b'1', '转账订单控制器 手动转账同步', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153810, 'CallbackReceiverController#aliPayNotify', '支付宝信息回调', 'POST', '/unipay/callback/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348096, 'CallbackReceiverController#wxAuthCallback', '微信认证授权回调', 'GET', '/unipay/callback/wechat/auth/{code}', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信认证授权回调', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348097, 'WeChatPayConfigController#generateNotifyUrl', '生成异步通知地址', 'GET', '/wechat/pay/config/generateNotifyUrl', '微信支付配置', b'1', b'1', '微信支付配置 生成异步通知地址', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348098, 'TransferOrderController#findById', '查询单条', 'GET', '/order/transfer/findById', '转账订单控制器', b'1', b'1', '转账订单控制器 查询单条', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348099, 'PayReturnController#union', '云闪付同步跳转通知', 'POST', '/unipay/return/pay/union', '同步通知跳转控制器', b'1', b'1', '同步通知跳转控制器 云闪付同步跳转通知', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348100, 'TransferOrderController#resetTransfer', '重新发起转账', 'POST', '/order/transfer/resetTransfer', '转账订单控制器', b'1', b'1', '转账订单控制器 重新发起转账', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348101, 'AliPayAuthController#generateAuthUrl', '返回获取OpenId授权页面地址和标识码', 'POST', '/alipay/auth/generateAuthUrl', '支付宝认证控制器', b'1', b'1', '支付宝认证控制器 返回获取OpenId授权页面地址和标识码', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348102, 'TransferOrderController#transfer', '手动发起转账', 'POST', '/order/transfer/transfer', '转账订单控制器', b'1', b'1', '转账订单控制器 手动发起转账', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348103, 'PayReturnController#wechat', '微信同步跳转通知', 'GET', '/unipay/return/pay/wechat', '同步通知跳转控制器', b'1', b'1', '同步通知跳转控制器 微信同步跳转通知', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348104, 'CallbackReceiverController#unionPayNotify', '云闪付支付信息回调', 'POST', '/unipay/callback/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348105, 'PayReturnController#alipay', '支付宝同步跳转通知', 'GET', '/unipay/return/pay/alipay', '同步通知跳转控制器', b'1', b'1', '同步通知跳转控制器 支付宝同步跳转通知', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); -- ---------------------------- -- Table structure for iam_role @@ -1483,13 +1537,9 @@ INSERT INTO `iam_role_menu` VALUES (1757298674730520584, 1757297023118462976, 'd INSERT INTO `iam_role_menu` VALUES (1757298674730520585, 1757297023118462976, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298674730520586, 1757297023118462976, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298674730520587, 1757297023118462976, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298674730520588, 1757297023118462976, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298674730520589, 1757297023118462976, 'dax-pay', 1744276101384880128); INSERT INTO `iam_role_menu` VALUES (1757298674730520590, 1757297023118462976, 'dax-pay', 1746194891925561344); INSERT INTO `iam_role_menu` VALUES (1757298924107059200, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059201, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059202, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059203, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059204, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059205, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059206, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1502,8 +1552,6 @@ INSERT INTO `iam_role_menu` VALUES (1757298924107059213, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1757298924107059214, 1757298887092326400, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298924107059215, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059216, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059217, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059218, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059219, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059220, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059221, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1516,8 +1564,6 @@ INSERT INTO `iam_role_menu` VALUES (1757298924107059228, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1757298924107059229, 1757298887092326400, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298924107059230, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059231, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059232, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059233, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059234, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059235, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059236, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1530,8 +1576,6 @@ INSERT INTO `iam_role_menu` VALUES (1757298924107059243, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1757298924107059244, 1757298887092326400, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298924107059245, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059246, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059247, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059248, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059249, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059250, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059251, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1566,6 +1610,20 @@ INSERT INTO `iam_role_menu` VALUES (1789979742314291201, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1789979742314291202, 1757298887092326400, 'dax-pay', 1744930046228017152); INSERT INTO `iam_role_menu` VALUES (1797522085254897664, 1757297023118462976, 'dax-pay', 1797178029448867840); INSERT INTO `iam_role_menu` VALUES (1797522085414281216, 1757298887092326400, 'dax-pay', 1797178029448867840); +INSERT INTO `iam_role_menu` VALUES (1805942450893099008, 1757297023118462976, 'dax-pay', 1786811341285052416); +INSERT INTO `iam_role_menu` VALUES (1805942450893099009, 1757297023118462976, 'dax-pay', 1804041752999993344); +INSERT INTO `iam_role_menu` VALUES (1805942450893099010, 1757297023118462976, 'dax-pay', 1805115884940374016); +INSERT INTO `iam_role_menu` VALUES (1805942450893099011, 1757297023118462976, 'dax-pay', 1804799253230350336); +INSERT INTO `iam_role_menu` VALUES (1805942450893099012, 1757297023118462976, 'dax-pay', 1800350813995446272); +INSERT INTO `iam_role_menu` VALUES (1805942450893099013, 1757297023118462976, 'dax-pay', 1744372631231995904); +INSERT INTO `iam_role_menu` VALUES (1805942450893099014, 1757297023118462976, 'dax-pay', 1744276101384880128); +INSERT INTO `iam_role_menu` VALUES (1805942451052482560, 1757298887092326400, 'dax-pay', 1786811341285052416); +INSERT INTO `iam_role_menu` VALUES (1805942451052482561, 1757298887092326400, 'dax-pay', 1804041752999993344); +INSERT INTO `iam_role_menu` VALUES (1805942451052482562, 1757298887092326400, 'dax-pay', 1805115884940374016); +INSERT INTO `iam_role_menu` VALUES (1805942451052482563, 1757298887092326400, 'dax-pay', 1804799253230350336); +INSERT INTO `iam_role_menu` VALUES (1805942451052482564, 1757298887092326400, 'dax-pay', 1800350813995446272); +INSERT INTO `iam_role_menu` VALUES (1805942451052482565, 1757298887092326400, 'dax-pay', 1744372631231995904); +INSERT INTO `iam_role_menu` VALUES (1805942451052482566, 1757298887092326400, 'dax-pay', 1744276101384880128); -- ---------------------------- -- Table structure for iam_role_path @@ -1610,16 +1668,11 @@ INSERT INTO `iam_role_path` VALUES (1789979321814343705, 1757297023118462976, 17 INSERT INTO `iam_role_path` VALUES (1789979321814343706, 1757297023118462976, 1789978117570945213); INSERT INTO `iam_role_path` VALUES (1789979321814343707, 1757297023118462976, 1789978117570945177); INSERT INTO `iam_role_path` VALUES (1789979321814343708, 1757297023118462976, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979321814343709, 1757297023118462976, 1789978117570945136); INSERT INTO `iam_role_path` VALUES (1789979321814343711, 1757297023118462976, 1789978117566750728); INSERT INTO `iam_role_path` VALUES (1789979321814343712, 1757297023118462976, 1789978117570945299); INSERT INTO `iam_role_path` VALUES (1789979321814343713, 1757297023118462976, 1789978117570945222); INSERT INTO `iam_role_path` VALUES (1789979321814343714, 1757297023118462976, 1789978117570945124); INSERT INTO `iam_role_path` VALUES (1789979321814343715, 1757297023118462976, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979321814343716, 1757297023118462976, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979321814343717, 1757297023118462976, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979321814343718, 1757297023118462976, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979321814343719, 1757297023118462976, 1789978117570945279); INSERT INTO `iam_role_path` VALUES (1789979321814343720, 1757297023118462976, 1789978117570945028); INSERT INTO `iam_role_path` VALUES (1789979321814343721, 1757297023118462976, 1789978117566750751); INSERT INTO `iam_role_path` VALUES (1789979321814343722, 1757297023118462976, 1789978117570945277); @@ -1637,7 +1690,6 @@ INSERT INTO `iam_role_path` VALUES (1789979321814343733, 1757297023118462976, 17 INSERT INTO `iam_role_path` VALUES (1789979321814343734, 1757297023118462976, 1789978117570945266); INSERT INTO `iam_role_path` VALUES (1789979321814343735, 1757297023118462976, 1789978117570945251); INSERT INTO `iam_role_path` VALUES (1789979321814343736, 1757297023118462976, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979321814343737, 1757297023118462976, 1789978117570945056); INSERT INTO `iam_role_path` VALUES (1789979321814343738, 1757297023118462976, 1789978117566750822); INSERT INTO `iam_role_path` VALUES (1789979321814343739, 1757297023118462976, 1789978117566750809); INSERT INTO `iam_role_path` VALUES (1789979321814343740, 1757297023118462976, 1789978117566750803); @@ -1796,8 +1848,6 @@ INSERT INTO `iam_role_path` VALUES (1789982023529127943, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1789986071959429120, 1757298887092326400, 1789978117570945124); INSERT INTO `iam_role_path` VALUES (1797522413752786944, 1757297023118462976, 1797521957446066199); INSERT INTO `iam_role_path` VALUES (1797522413752786945, 1757297023118462976, 1797521957446066189); -INSERT INTO `iam_role_path` VALUES (1797522413752786946, 1757297023118462976, 1797521957446066197); -INSERT INTO `iam_role_path` VALUES (1797522413752786947, 1757297023118462976, 1797521957446066176); INSERT INTO `iam_role_path` VALUES (1797522413752786948, 1757297023118462976, 1797521957446066187); INSERT INTO `iam_role_path` VALUES (1797522723091095552, 1757298887092326400, 1797521957446066199); INSERT INTO `iam_role_path` VALUES (1797522723091095553, 1757298887092326400, 1797521957446066189); @@ -1822,6 +1872,22 @@ INSERT INTO `iam_role_path` VALUES (1797523264022093827, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1797523264022093828, 1757298887092326400, 1789978117566750801); INSERT INTO `iam_role_path` VALUES (1797523482968956928, 1757297023118462976, 1797521957446066188); INSERT INTO `iam_role_path` VALUES (1797523483111563264, 1757298887092326400, 1797521957446066188); +INSERT INTO `iam_role_path` VALUES (1805942783757258752, 1757297023118462976, 1805942182969348102); +INSERT INTO `iam_role_path` VALUES (1805942783757258753, 1757297023118462976, 1805942182969348100); +INSERT INTO `iam_role_path` VALUES (1805942783757258754, 1757297023118462976, 1805942182969348098); +INSERT INTO `iam_role_path` VALUES (1805942783757258755, 1757297023118462976, 1805942182965153809); +INSERT INTO `iam_role_path` VALUES (1805942783757258756, 1757297023118462976, 1805942182965153805); +INSERT INTO `iam_role_path` VALUES (1805942783757258757, 1757297023118462976, 1805942182965153804); +INSERT INTO `iam_role_path` VALUES (1805942783757258758, 1757297023118462976, 1805942182965153798); +INSERT INTO `iam_role_path` VALUES (1805942783757258759, 1757297023118462976, 1805942182965153793); +INSERT INTO `iam_role_path` VALUES (1805942783757258760, 1757297023118462976, 1805942182965153796); +INSERT INTO `iam_role_path` VALUES (1805942783757258761, 1757297023118462976, 1805942182969348101); +INSERT INTO `iam_role_path` VALUES (1805942783757258762, 1757297023118462976, 1805942182965153808); +INSERT INTO `iam_role_path` VALUES (1805942783757258763, 1757297023118462976, 1805942182965153803); +INSERT INTO `iam_role_path` VALUES (1805942783757258764, 1757297023118462976, 1805942182965153800); +INSERT INTO `iam_role_path` VALUES (1805942783757258765, 1757297023118462976, 1805942182965153794); +INSERT INTO `iam_role_path` VALUES (1805942783757258766, 1757297023118462976, 1805942182965153799); +INSERT INTO `iam_role_path` VALUES (1805942783757258767, 1757297023118462976, 1805942182965153795); -- ---------------------------- -- Table structure for iam_user_data_role @@ -1984,6 +2050,27 @@ CREATE TABLE `iam_user_third_info` ( -- Records of iam_user_third_info -- ---------------------------- +-- ---------------------------- +-- Table structure for mtm_table +-- ---------------------------- +DROP TABLE IF EXISTS `mtm_table`; +CREATE TABLE `mtm_table` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `h1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `date` date NULL DEFAULT NULL, + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = 'actable测试' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of mtm_table +-- ---------------------------- + -- ---------------------------- -- Table structure for notice_mail_config -- ---------------------------- @@ -2210,20 +2297,21 @@ CREATE TABLE `notice_wechat_config` ( DROP TABLE IF EXISTS `pay_alipay_config`; CREATE TABLE `pay_alipay_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', + `app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知页面路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `auth_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知接收路径', + `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', + `server_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', + `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', + `auth_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', + `sign_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', + `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', @@ -2240,7 +2328,7 @@ CREATE TABLE `pay_alipay_config` ( -- ---------------------------- -- Records of pay_alipay_config -- ---------------------------- -INSERT INTO `pay_alipay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-05-07 19:06:38', 32, b'0'); +INSERT INTO `pay_alipay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-05-07 19:06:38', 32, b'0'); -- ---------------------------- -- Table structure for pay_alipay_reconcile_bill_detail @@ -2308,69 +2396,68 @@ CREATE TABLE `pay_alipay_reconcile_bill_total` ( -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_group +-- Table structure for pay_alloc_order -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group`; -CREATE TABLE `pay_allocation_group` ( +DROP TABLE IF EXISTS `pay_alloc_order`; +CREATE TABLE `pay_alloc_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `group_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账组编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `alloc_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账单号', + `biz_alloc_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户分账单号', + `out_alloc_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道分账号', + `order_id` bigint(20) NOT NULL COMMENT '支付订单ID', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户支付订单号', + `out_order_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道支付订单号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付标题', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属通道', + `amount` int(8) NOT NULL COMMENT '总分账金额', + `description` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', + `status` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态', + `result` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '处理结果', + `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group_receiver`; -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; + PRIMARY KEY (`id`) USING BTREE, + INDEX `alloc_no`(`alloc_no`) USING BTREE COMMENT '分账单号索引', + INDEX `biz_alloc_no`(`biz_alloc_no`) USING BTREE COMMENT '商户分账单号索引', + INDEX `out_alloc_no`(`out_alloc_no`) USING BTREE COMMENT '通道分账号索引', + INDEX `order_id`(`order_id`) USING BTREE COMMENT '支付订单ID索引', + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户支付订单号索引', + INDEX `out_order_no`(`out_order_no`) USING BTREE COMMENT '通道支付订单号索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_group_receiver +-- Records of pay_alloc_order -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_order +-- Table structure for pay_alloc_order_detail -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order`; -CREATE TABLE `pay_allocation_order` ( +DROP TABLE IF EXISTS `pay_alloc_order_detail`; +CREATE TABLE `pay_alloc_order_detail` ( `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `biz_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户分账单号', - `out_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道分账号', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单标题', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', + `allocation_id` bigint(20) NOT NULL COMMENT '分账订单ID', + `receiver_id` bigint(20) NOT NULL COMMENT '接收者ID', + `receiver_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方编号', + `rate` int(5) NOT NULL COMMENT '分账比例(万分之多少)', + `amount` int(8) NOT NULL COMMENT '分账金额', + `receiver_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方类型', + `receiver_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '接收方账号', + `receiver_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', + `result` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账结果', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -2378,31 +2465,26 @@ CREATE TABLE `pay_allocation_order` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; + PRIMARY KEY (`id`) USING BTREE, + INDEX `allocation_id`(`allocation_id`) USING BTREE COMMENT '分账订单ID索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_order +-- Records of pay_alloc_order_detail -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_order_detail +-- Table structure for pay_allocation_group -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_detail`; -CREATE TABLE `pay_allocation_order_detail` ( +DROP TABLE IF EXISTS `pay_allocation_group`; +CREATE TABLE `pay_allocation_group` ( `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', + `group_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账组编码', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道', + `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', + `total_rate` int(5) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2410,33 +2492,28 @@ CREATE TABLE `pay_allocation_order_detail` ( `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_order_detail +-- Records of pay_allocation_group -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_order_extra +-- Table structure for pay_allocation_group_receiver -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_extra`; -CREATE TABLE `pay_allocation_order_extra` ( +DROP TABLE IF EXISTS `pay_allocation_group_receiver`; +CREATE TABLE `pay_allocation_group_receiver` ( `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `group_id` bigint(20) NOT NULL COMMENT '分账组ID', + `receiver_id` bigint(20) NOT NULL COMMENT '接收者ID', + `rate` int(5) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单扩展' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_order_extra +-- Records of pay_allocation_group_receiver -- ---------------------------- -- ---------------------------- @@ -2445,13 +2522,13 @@ CREATE TABLE `pay_allocation_order_extra` ( DROP TABLE IF EXISTS `pay_allocation_receiver`; CREATE TABLE `pay_allocation_receiver` ( `id` bigint(20) NOT NULL COMMENT '主键', - `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', + `receiver_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方编号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属通道', + `receiver_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方类型', + `receiver_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '接收方账号', + `receiver_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', + `relation_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账关系类型', + `relation_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2471,15 +2548,11 @@ CREATE TABLE `pay_allocation_receiver` ( DROP TABLE IF EXISTS `pay_api_config`; CREATE TABLE `pay_api_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `api` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口地址', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `notice_support` bit(1) NULL DEFAULT NULL COMMENT '支持回调通知', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notice` bit(1) NULL DEFAULT NULL COMMENT '是否开启回调通知', - `notice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '默认通知地址', - `req_sign` bit(1) NULL DEFAULT NULL COMMENT '请求参数是否签名', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', + `api` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '接口地址', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `enable` bit(1) NOT NULL COMMENT '是否启用', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2492,25 +2565,26 @@ CREATE TABLE `pay_api_config` ( -- ---------------------------- -- Records of pay_api_config -- ---------------------------- -INSERT INTO `pay_api_config` VALUES (100, 'pay', '/unipay/pay', '统一支付接口 ', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/payObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-03-11 17:31:41', 11, b'0'); -INSERT INTO `pay_api_config` VALUES (200, 'close', '/unipay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (300, 'refund', '/unipay/refund', '统一退款接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/refundObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-16 21:59:19', 7, b'0'); -INSERT INTO `pay_api_config` VALUES (400, 'allocation', '/unipay/allocation/start', '统一分账接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/allocationObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-30 19:36:35', 1, b'0'); -INSERT INTO `pay_api_config` VALUES (450, 'allocationFinish', '/unipay/allocation/finish', '分账完结接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (451, 'allocationReceiverAdd', '/unipay/allocation/receiver/add', '分账接收方添加接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (452, 'allocationReceiverRemove', '/unipay/allocation/receiver/remove', '分账接收方删除接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (500, 'transfer', '/unipay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (600, 'syncPay', '/unipay/sync/pay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (700, 'syncRefund', '/unipay/sync/refund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (801, 'syncTransfer', '/unipay/sync/transfer', '转账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (805, 'syncAllocation', '/unipay/sync/allocation', '分账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1000, 'queryPayOrder', '/unipay/query/payOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1100, 'queryRefundOrder', '/unipay/query/refundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1150, 'queryAllocationOrder', '/unipay/query/allocationOrder', '分账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1175, 'queryAllocationReceiver', '/unipay/query/allocationReceiver', '分账接收方查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1176, 'queryTransferOrder', '/unipay/query/transferOrder', '转账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1200, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1300, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (100, 'pay', '/unipay/pay', '统一支付接口 ', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-11 09:44:20', 17, b'0'); +INSERT INTO `pay_api_config` VALUES (200, 'close', '/unipay/close', '支付关闭接口', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-11 09:44:20', 10, b'0'); +INSERT INTO `pay_api_config` VALUES (250, 'cancel', '/unipay/cancel', '支付撤销接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (300, 'refund', '/unipay/refund', '统一退款接口', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-09 16:51:19', 9, b'0'); +INSERT INTO `pay_api_config` VALUES (400, 'allocation', '/unipay/allocation/start', '统一分账接口', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-09 16:51:20', 3, b'0'); +INSERT INTO `pay_api_config` VALUES (500, 'allocationFinish', '/unipay/allocation/finish', '分账完结接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (600, 'allocationReceiverAdd', '/unipay/allocation/receiver/add', '分账接收方添加接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (700, 'allocationReceiverRemove', '/unipay/allocation/receiver/remove', '分账接收方删除接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (800, 'transfer', '/unipay/transfer', '统一转账接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (900, 'syncPay', '/unipay/sync/pay', '支付同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1000, 'syncRefund', '/unipay/sync/refund', '退款同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1100, 'syncTransfer', '/unipay/sync/transfer', '转账同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1200, 'syncAllocation', '/unipay/sync/allocation', '分账同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1300, 'queryPayOrder', '/unipay/query/payOrder', '支付订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1400, 'queryRefundOrder', '/unipay/query/refundOrder', '退款订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1500, 'queryAllocationOrder', '/unipay/query/allocationOrder', '分账订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1600, 'queryAllocationReceiver', '/unipay/query/allocationReceiver', '分账接收方查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1700, 'queryTransferOrder', '/unipay/query/transferOrder', '转账订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1800, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1900, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -- ---------------------------- -- Table structure for pay_callback_record @@ -2518,18 +2592,20 @@ INSERT INTO `pay_api_config` VALUES (1300, 'getWxAccessToken', '/unipay/assist/g DROP TABLE IF EXISTS `pay_callback_record`; CREATE TABLE `pay_callback_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `callback_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调类型', - `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '通知消息', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调处理状态', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道交易号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `callback_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回调类型', + `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通知消息', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回调处理状态', + `repair_order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复号', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引', + INDEX `out_trade_no`(`out_trade_no`) USING BTREE COMMENT '通道交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网关回调通知' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2542,12 +2618,9 @@ CREATE TABLE `pay_callback_record` ( DROP TABLE IF EXISTS `pay_channel_config`; CREATE TABLE `pay_channel_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `icon_id` bigint(20) NULL DEFAULT NULL COMMENT 'ICON图片', - `bg_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡牌背景色', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '代码', + `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2560,10 +2633,10 @@ CREATE TABLE `pay_channel_config` ( -- ---------------------------- -- Records of pay_channel_config -- ---------------------------- -INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1757299137932677120, '2024-05-13 19:46:19', 12, b'0'); -INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); -INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); -INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); +INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', '', 0, '2024-01-08 16:47:07', 1757299137932677120, '2024-05-13 19:46:19', 12, b'0'); +INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); +INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); +INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); -- ---------------------------- -- Table structure for pay_client_notice_record @@ -2571,15 +2644,16 @@ INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, DROP TABLE IF EXISTS `pay_client_notice_record`; CREATE TABLE `pay_client_notice_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `task_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID', - `req_count` int(11) NULL DEFAULT NULL COMMENT '请求次数', - `success` bit(1) NULL DEFAULT NULL COMMENT '发送是否成功', - `send_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送类型', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `task_id` bigint(20) NOT NULL COMMENT '任务ID', + `req_count` int(3) NULL DEFAULT NULL COMMENT '请求次数', + `success` bit(1) NOT NULL COMMENT '发送是否成功', + `send_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发送类型', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误编码', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `task_id`(`task_id`) USING BTREE COMMENT '任务ID索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2592,10 +2666,14 @@ CREATE TABLE `pay_client_notice_record` ( DROP TABLE IF EXISTS `pay_client_notice_task`; CREATE TABLE `pay_client_notice_task` ( `id` bigint(20) NOT NULL COMMENT '主键', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否发送成功', - `send_count` int(11) NULL DEFAULT NULL COMMENT '发送次数', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送地址', + `trade_id` bigint(20) NOT NULL COMMENT '本地交易ID', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `notice_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息类型', + `trade_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易状态', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息内容', + `success` bit(1) NOT NULL COMMENT '是否发送成功', + `send_count` int(3) NOT NULL COMMENT '发送次数', + `url` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发送地址', `latest_time` datetime NULL DEFAULT NULL COMMENT '最后发送时间', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -2603,11 +2681,8 @@ CREATE TABLE `pay_client_notice_task` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `notice_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地交易ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2620,16 +2695,19 @@ CREATE TABLE `pay_client_notice_task` ( DROP TABLE IF EXISTS `pay_close_record`; CREATE TABLE `pay_close_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关闭的支付通道', - `closed` bit(1) NULL DEFAULT NULL COMMENT '是否关闭成功', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户支付订单号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `close_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '关闭类型', + `closed` bit(1) NOT NULL COMMENT '是否关闭成功', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户支付订单号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付关闭记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2642,9 +2720,9 @@ CREATE TABLE `pay_close_record` ( DROP TABLE IF EXISTS `pay_method_info`; CREATE TABLE `pay_method_info` ( `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '代码', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2670,111 +2748,76 @@ INSERT INTO `pay_method_info` VALUES (7, 'jsapi', '公众号/小程序支付', ' DROP TABLE IF EXISTS `pay_order`; CREATE TABLE `pay_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户订单号', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `out_order_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题', + `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步支付通道', - `method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', + `auto_allocation` bit(1) NULL DEFAULT NULL COMMENT '自动分账', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '异步支付通道', + `method` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付方式', + `amount` int(8) NOT NULL COMMENT '金额', + `refundable_balance` int(8) NOT NULL COMMENT '可退款余额', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付状态', + `refund_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '退款状态', + `alloc_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', `pay_time` datetime NULL DEFAULT NULL COMMENT '支付时间', `close_time` datetime NULL DEFAULT NULL COMMENT '关闭时间', `expired_time` datetime NULL DEFAULT NULL COMMENT '过期时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `extra_param` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `auto_allocation` bit(1) NULL DEFAULT NULL COMMENT '自动分账', PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户订单号索引' + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户订单号索引', + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `out_order_no`(`out_order_no`) USING BTREE COMMENT '通道支付订单索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_order -- ---------------------------- --- ---------------------------- --- Table structure for pay_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_order_extra`; -CREATE TABLE `pay_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳,以最后一次为准', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order_extra --- ---------------------------- - -- ---------------------------- -- Table structure for pay_platform_config -- ---------------------------- DROP TABLE IF EXISTS `pay_platform_config`; CREATE TABLE `pay_platform_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `website_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网站地址', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通知地址', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', - `order_timeout` int(11) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', + `website_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网站地址', + `sign_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', + `sign_secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', + `notify_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知方式', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知地址', + `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', + `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', + `order_timeout` int(8) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', + `req_sign` bit(1) NOT NULL COMMENT '是否对请求进行验签', + `req_timeout` int(10) NOT NULL COMMENT '请求有效时长(秒)', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付平台配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_platform_config -- ---------------------------- -INSERT INTO `pay_platform_config` VALUES (0, 'http://pay1.bootx.cn/', 'HMAC_SHA256', '123456', 'http://pay1.bootx.cn/h5/#/result/success', 'http://pay1.bootx.cn/h5/#/result/success', 30, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-03-24 11:34:20', 13, b'0', 20000); - --- ---------------------------- --- Table structure for pay_reconcile_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_detail`; -CREATE TABLE `pay_reconcile_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_detail --- ---------------------------- +INSERT INTO `pay_platform_config` VALUES (0, 'http://www.daxpay.cn/server', 'HMAC_SHA256', '123456', NULL, '', '', 19911, 30, b'1', 10, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-06-21 17:59:41', 25, b'0'); -- ---------------------------- -- Table structure for pay_reconcile_diff_record @@ -2782,26 +2825,26 @@ CREATE TABLE `pay_reconcile_detail` ( DROP TABLE IF EXISTS `pay_reconcile_diff_record`; CREATE TABLE `pay_reconcile_diff_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `detail_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单明细ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', - `diff_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', + `reconcile_id` bigint(20) NOT NULL COMMENT '对账单ID', + `reconcile_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '对账号', + `detail_id` bigint(20) NOT NULL COMMENT '对账单明细ID', + `reconcile_date` date NOT NULL COMMENT '对账日期', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `trade_time` datetime NOT NULL COMMENT '交易时间', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道', + `amount` int(15) NULL DEFAULT NULL COMMENT '本地交易金额', + `out_amount` int(15) NULL DEFAULT NULL COMMENT '通道交易金额', + `trade_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', + `diff_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', `diffs` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '差异内容', - `amount` int(11) NULL DEFAULT NULL COMMENT '本地交易金额', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `out_amount` int(11) NULL DEFAULT NULL COMMENT '通道交易金额', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `reconcile_date` date NULL DEFAULT NULL COMMENT '对账日期', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账差异单' ROW_FORMAT = DYNAMIC; @@ -2815,11 +2858,12 @@ CREATE TABLE `pay_reconcile_diff_record` ( DROP TABLE IF EXISTS `pay_reconcile_file`; CREATE TABLE `pay_reconcile_file` ( `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单文件', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '原始对账单文件,' ROW_FORMAT = DYNAMIC; + `reconcile_id` bigint(20) NOT NULL COMMENT '对账单ID', + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', + `file_id` bigint(20) NOT NULL COMMENT '对账单文件', + PRIMARY KEY (`id`) USING BTREE, + INDEX `reconcile_id`(`reconcile_id`) USING BTREE COMMENT '对账单ID索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '原始对账单文件' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_reconcile_file @@ -2831,17 +2875,22 @@ CREATE TABLE `pay_reconcile_file` ( DROP TABLE IF EXISTS `pay_reconcile_order`; CREATE TABLE `pay_reconcile_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `date` date NULL DEFAULT NULL COMMENT '日期', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `compare` bit(1) NULL DEFAULT NULL COMMENT '明细对账单比对', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `reconcile_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '对账号', + `date` date NOT NULL COMMENT '日期', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道', + `down_or_upload` bit(1) NOT NULL COMMENT '明细对账单下载', + `compare` bit(1) NOT NULL COMMENT '明细对账单比对', + `result` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账结果', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `down_or_upload` bit(1) NULL DEFAULT NULL COMMENT '明细对账单下载', - PRIMARY KEY (`id`) USING BTREE + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE, + INDEX `reconcile_no`(`reconcile_no`) USING BTREE COMMENT '对账号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账单订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2854,16 +2903,17 @@ CREATE TABLE `pay_reconcile_order` ( DROP TABLE IF EXISTS `pay_reconcile_out_trade`; CREATE TABLE `pay_reconcile_out_trade` ( `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', + `reconcile_id` bigint(20) NOT NULL COMMENT '关联对账订单ID', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商品名称', + `amount` int(8) NOT NULL COMMENT '交易金额', + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易类型', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `trade_time` datetime NOT NULL COMMENT '交易时间', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `reconcile_id`(`reconcile_id`) USING BTREE COMMENT '对账单ID索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账-通道交易明细' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2876,77 +2926,66 @@ CREATE TABLE `pay_reconcile_out_trade` ( DROP TABLE IF EXISTS `pay_refund_order`; CREATE TABLE `pay_refund_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付标题', - `refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款号', - `biz_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款号', - `out_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道退款交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', + `order_id` bigint(20) NOT NULL COMMENT '支付订单ID', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户支付订单号', + `out_order_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道支付订单号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付标题', + `refund_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '退款号', + `biz_refund_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户退款号', + `out_refund_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道退款交易号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `order_amount` int(8) NOT NULL COMMENT '订单金额', + `amount` int(8) NOT NULL COMMENT '退款金额', + `reason` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', `finish_time` datetime NULL DEFAULT NULL COMMENT '退款完成时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '退款状态', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `extra_param` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `order_id`(`order_id`) USING BTREE COMMENT '支付订单ID索引', + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户支付订单号索引', + INDEX `out_order_no`(`out_order_no`) USING BTREE COMMENT '通道支付订单号索引', + INDEX `refund_no`(`refund_no`) USING BTREE COMMENT '退款号索引', + INDEX `biz_refund_no`(`biz_refund_no`) USING BTREE COMMENT '商户退款号索引', + INDEX `out_refund_no`(`out_refund_no`) USING BTREE COMMENT '通道退款交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_refund_order -- ---------------------------- --- ---------------------------- --- Table structure for pay_refund_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order_extra`; -CREATE TABLE `pay_refund_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order_extra --- ---------------------------- - -- ---------------------------- -- Table structure for pay_repair_record -- ---------------------------- DROP TABLE IF EXISTS `pay_repair_record`; CREATE TABLE `pay_repair_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复号', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `repair_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复类型', - `repair_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复来源', - `repair_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复方式', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复的通道', - `before_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复前状态', - `after_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复后状态', + `repair_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复号', + `trade_id` bigint(20) NOT NULL COMMENT '本地订单ID', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `repair_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复类型', + `repair_source` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复来源', + `repair_way` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复方式', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复的通道', + `before_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复前状态', + `after_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复后状态', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付修复记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2959,21 +2998,24 @@ CREATE TABLE `pay_repair_record` ( DROP TABLE IF EXISTS `pay_sync_record`; CREATE TABLE `pay_sync_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `out_trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', - `sync_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步的异步通道', - `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '同步消息', - `repair` bit(1) NULL DEFAULT NULL COMMENT '是否进行修复', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `biz_trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `out_trade_status` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', + `sync_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步类型', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步的异步通道', + `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步消息', + `repair` bit(1) NOT NULL COMMENT '是否进行修复', + `repair_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引', + INDEX `biz_trade_no`(`biz_trade_no`) USING BTREE COMMENT '商户交易号索引', + INDEX `out_trade_no`(`out_trade_no`) USING BTREE COMMENT '通道交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付同步订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2986,16 +3028,19 @@ CREATE TABLE `pay_sync_record` ( DROP TABLE IF EXISTS `pay_trade_flow_record`; CREATE TABLE `pay_trade_flow_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题', + `amount` int(8) NOT NULL COMMENT '金额', + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `biz_trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引', + INDEX `biz_trade_no`(`biz_trade_no`) USING BTREE COMMENT '商户交易号索引', + INDEX `out_trade_no`(`out_trade_no`) USING BTREE COMMENT '通道交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '资金流水记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -3008,20 +3053,35 @@ CREATE TABLE `pay_trade_flow_record` ( DROP TABLE IF EXISTS `pay_transfer_order`; CREATE TABLE `pay_transfer_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `amount` int(11) NULL DEFAULT NULL, - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `success_time` datetime NULL DEFAULT NULL, + `biz_transfer_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户转账号', + `transfer_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '转账号', + `out_transfer_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道转账号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `amount` int(8) NOT NULL COMMENT '转账金额', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', + `reason` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转账原因/备注', + `transfer_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转账类型, 微信使用', + `payee_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人类型', + `payee_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人账号', + `payee_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人姓名', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态', + `success_time` datetime NULL DEFAULT NULL COMMENT '成功时间', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `biz_transfer_no`(`biz_transfer_no`) USING BTREE COMMENT '商户转账号索引', + INDEX `transfer_no`(`transfer_no`) USING BTREE COMMENT '转账号索引', + INDEX `out_transfer_no`(`out_transfer_no`) USING BTREE COMMENT '通道转账号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '转账订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -3041,7 +3101,7 @@ CREATE TABLE `pay_union_pay_config` ( `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `seller` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户收款账号', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', + `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', `cert_sign` bit(1) NULL DEFAULT NULL COMMENT '是否为证书签名', `key_private_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用私钥证书', @@ -3112,7 +3172,6 @@ DROP TABLE IF EXISTS `pay_wallet_config`; CREATE TABLE `pay_wallet_config` ( `id` bigint(20) NOT NULL COMMENT '主键', `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', @@ -3121,13 +3180,14 @@ CREATE TABLE `pay_wallet_config` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', + `limit_amount` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_wallet_config -- ---------------------------- -INSERT INTO `pay_wallet_config` VALUES (0, b'0', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); +INSERT INTO `pay_wallet_config` VALUES (0, b'0', 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0', NULL); -- ---------------------------- -- Table structure for pay_wallet_record @@ -3154,45 +3214,18 @@ CREATE TABLE `pay_wallet_record` ( -- Records of pay_wallet_record -- ---------------------------- --- ---------------------------- --- Table structure for pay_wechat_notice_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_notice_config`; -CREATE TABLE `pay_wechat_notice_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用id', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用秘钥', - `qr_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众号二维码', - `oauth2_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'OAuth2地址', - `verify_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件名称', - `verify_file_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件内容', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息Id', - `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息内容', - `template_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息通知相关配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_notice_config --- ---------------------------- - -- ---------------------------- -- Table structure for pay_wechat_pay_config -- ---------------------------- DROP TABLE IF EXISTS `pay_wechat_pay_config`; CREATE TABLE `pay_wechat_pay_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `wx_mch_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', - `wx_app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', + `wx_mch_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', + `wx_app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知路径', + `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', `api_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口版本', `api_key_v2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv2 密钥', `api_key_v3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv3 密钥', @@ -3201,7 +3234,7 @@ CREATE TABLE `pay_wechat_pay_config` ( `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', + `limit_amount` int(8) NULL DEFAULT NULL COMMENT '支付限额', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -3215,28 +3248,7 @@ CREATE TABLE `pay_wechat_pay_config` ( -- ---------------------------- -- Records of pay_wechat_pay_config -- ---------------------------- -INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0'); - --- ---------------------------- --- Table structure for pay_wechat_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_record`; -CREATE TABLE `pay_wechat_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `gateway_time` datetime NULL DEFAULT NULL COMMENT '网关完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_record --- ---------------------------- +INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0'); -- ---------------------------- -- Table structure for pay_wechat_reconcile_bill_detail diff --git a/_config/postgresql/dax-pay.sql b/_config/postgresql/dax-pay.sql index bd740922..ae46a8d5 100644 --- a/_config/postgresql/dax-pay.sql +++ b/_config/postgresql/dax-pay.sql @@ -3670,14 +3670,14 @@ comment on column pay_client_notice_record.error_code is '错误编码'; INSERT INTO pay_client_notice_record (id, task_id, req_count, success, send_type, error_msg, creator, create_time, error_code) VALUES (1796526918107570176, 1796526917679751168, 1, false, 'auto', e'<!DOCTYPE html> <html lang="zh-CN"> <head> - + <meta charset="UTF-8" /> <link rel="', 1399985191002447872, '2024-05-31 20:59:29.789000', null); INSERT INTO pay_client_notice_record (id, task_id, req_count, success, send_type, error_msg, creator, create_time, error_code) VALUES (1796528223580495872, 1796528223437889536, 1, false, 'auto', e'<!DOCTYPE html> <html lang="zh-CN"> <head> - + <meta charset="UTF-8" /> <link rel="', 1399985191002447872, '2024-05-31 21:04:41.039000', null); @@ -4769,66 +4769,6 @@ create index wallet_id comment on index wallet_id is '钱包ID'; - ------ -create table pay_wechat_notice_config -( - id bigint not null - primary key, - app_id varchar(255), - app_secret varchar(255), - qr_url varchar(255), - oauth2_url varchar(255), - verify_file_name varchar(255), - verify_file_content varchar(255), - template_id varchar(255), - template_content varchar(255), - template_remark varchar(255), - creator bigint, - create_time timestamp(6), - last_modifier bigint, - last_modified_time timestamp(6), - version integer not null, - deleted boolean not null -); - -comment on table pay_wechat_notice_config is '微信消息通知相关配置'; - -comment on column pay_wechat_notice_config.id is '主键'; - -comment on column pay_wechat_notice_config.app_id is '应用id'; - -comment on column pay_wechat_notice_config.app_secret is '应用秘钥'; - -comment on column pay_wechat_notice_config.qr_url is '公众号二维码'; - -comment on column pay_wechat_notice_config.oauth2_url is 'OAuth2地址'; - -comment on column pay_wechat_notice_config.verify_file_name is '微信校验文件名称'; - -comment on column pay_wechat_notice_config.verify_file_content is '微信校验文件内容'; - -comment on column pay_wechat_notice_config.template_id is '模板消息Id'; - -comment on column pay_wechat_notice_config.template_content is '模板消息内容'; - -comment on column pay_wechat_notice_config.template_remark is '模板消息备注'; - -comment on column pay_wechat_notice_config.creator is '创建者ID'; - -comment on column pay_wechat_notice_config.create_time is '创建时间'; - -comment on column pay_wechat_notice_config.last_modifier is '最后修者ID'; - -comment on column pay_wechat_notice_config.last_modified_time is '最后修改时间'; - -comment on column pay_wechat_notice_config.version is '乐观锁'; - -comment on column pay_wechat_notice_config.deleted is '删除标志'; - - - - ----- create table pay_wechat_pay_config ( diff --git a/_doc/ChangeLog.md b/_doc/ChangeLog.md index 0bf3cb84..1b159308 100644 --- a/_doc/ChangeLog.md +++ b/_doc/ChangeLog.md @@ -1,5 +1,33 @@ # CHANGELOG ## [v2.0.8] +- 新增: 撤销接口 +- 新增: 转账功能 +- 新增: DEMO增加转账演示功能 +- 新增: DEMO增加获取OpenID功能 +- 新增: 支付宝支持JSAPI方式支付 +- 新增: 绑定对账接收方增加扫码获取微信OpenID和支付宝OpenId功能 +- 新增: 支付宝微信等消息通知地址支持一键生成 +- 新增: 请求IP参数增加正则校验 +- 优化: 手动发起分账重试参数修正 +- 优化: 细分各种支付异常类和编码 +- 优化: 支付宝SDK修改为官方SDK +- 优化: 界面金额统一调整为元 +- 优化: 上下文对象进行优化精简 +- 优化: 支付接口公共参数添加随机数字段, 预防重放问题 +- 优化: 请求接口增加有效期校验, 超时后失效 +- 优化: 数据库表进行规则, 字段设置长度, 增加索引, 对应请求参数添加校验 +- 优化: 订单和扩展信息进行合并 +- 优化: 支付通道两个独立的配置进行合并为一个 +- 优化: 平台配置增加接口请求有效时长配置 +- 优化: 平台配置和接口配置删除回调地址配置 +- 优化: 接口配置删除是否验签配置和回调地址 +- 优化: 分账订单相关命名统一为Alloc +- 优化: 支付订单拆分退款状态为单独的字段 +- 优化: 策略工厂修改为统一的通用策略工厂 +- 优化: 支付和退款达到终态不可以再回退回之前的状态 +- 优化: 优化认证授权地址配置, 拆分为支持单独配置 +- fix: 修复支付关闭参数名称不正确问题 +- fix: 退款回调消息字段不一致导致验签不通过问题 ## [v2.0.7] - 新增: 资金流水记录功能 diff --git a/_doc/Task.md b/_doc/Task.md index c6d2b959..ad24a05d 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,50 +1,4 @@ ## 单商户 -2.0.8: 转账/撤销接口和系统优化 -- [x] 支持撤销接口 -- [x] 增加转账接口功能 -- [x] 转账订单前端页面 -- [x] DEMO增加转账演示功能 -- [x] DEMO增加获取OpenID功能 -- [x] 手动发起分账重试参数修正 -- [x] 细分各种支付异常类和编码(部分+初版) -- [x] 支付宝支持JSAPI方式支付 -- [x] 支付宝SDK修改为官方SDK -- [x] 增加扫码获取微信OpenID和支付宝OpenId功能 - - [x] 微信 - - [x] 支付宝 -- [x] 支付宝微信等消息通知地址支持一键生成 -- [x] 管理端界面支持扫码绑定对账接收方功能 - - [x] 微信 - - [x] 支付宝 -- [x] 界面金额统一显示为分 -- [ ] 上下文对象进行优化精简 -- [x] 请求IP参数增加正则校验 -- [x] 支付接口公共参数添加随机数字段, 预防重放问题 -- [x] 请求接口增加有效期校验, 超时后失效 -- [x] 数据库表进行规则, 字段设置长度, 增加索引, 对应请求参数添加校验 - - [x] 订单 - - [x] 记录 - - [x] 配置 -- [x] 订单和扩展信息进行合并 -- [x] 支付通道两个独立的配置进行合并为一个 - - [X] 去除有效, icon, 颜色等字段 - - [x] 通道配置设置默认ICON -- [x] 平台配置改版 - - [x] 增加接口请求有效时长配置 - - [x] 平台配置和接口配置删除回调地址配置 - - [X] 删除回调地址配置, 更换为消息通知地址和消息通知类型 -- [X] 接口配置改版 - - [x] 删除是否验签配置和回调地址 - - [x] 去掉上下文相关类 - - [x] 回调通知固定为读取参数传递的数据 -- [x] 分账字段统一为Alloc, 不包括接口名称 -- [x] 支付订单拆分退款状态为单独的字段 -- [x] 策略工厂修改为通用策略工厂 -- [x] 支付和退款达到终态不可以再回退回之前的状态 -- [x] 修复支付关闭参数名称不正确问题 -- [X] 去除消息通知模块 -- [x] 优化认证授权地址配置, 拆分为支持单独配置 -- [x] 退款回调消息字段不一致导致验签不通过问题 2.0.9: 消息通知改版和系统优化 - [ ] 增加类似支付宝应用通知的方式, 首先支持http方式通信 -- Gitee From 46d04530d98013170b8ee97a944a5874de7bc1d1 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Thu, 27 Jun 2024 16:04:45 +0800 Subject: [PATCH 33/34] =?UTF-8?q?fix=20=E5=A4=84=E7=90=86=E7=BA=BF?= =?UTF-8?q?=E4=B8=8A=E9=81=87=E5=88=B0=E9=97=AE=E9=A2=98:=20=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=AE=9D=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF;=E4=BA=91=E9=97=AA=E4=BB=98=E7=A9=BA=E6=8C=87?= =?UTF-8?q?=E9=92=88=E9=97=AE=E9=A2=98;=E4=BC=98=E5=8C=96=E5=90=84?= =?UTF-8?q?=E7=B1=BB=E7=BD=91=E5=9D=80=E9=85=8D=E7=BD=AE,=20=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E7=BB=93=E5=B0=BE=E5=B8=A6/=E5=92=8C=E4=B8=8D?= =?UTF-8?q?=E5=B8=A6/;=E9=94=99=E8=AF=AF=E5=AD=97=E6=AE=B5=E9=95=BF?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config/mysql/dax-pay.sql | 91 +++++++++---------- _doc/ChangeLog.md | 2 + _doc/Task.md | 1 + .../configuration/DaxPayDemoProperties.java | 16 ++++ .../single/demo/service/AggregateService.java | 3 +- .../single/demo/service/CashierService.java | 2 +- .../src/main/resources/application-dev.yml | 6 +- .../configuration/DaxPayProperties.java | 5 + .../channel/alipay/entity/AliPayConfig.java | 12 ++- .../service/UnionPayReconcileService.java | 7 +- .../wechat/entity/WeChatPayConfig.java | 20 ++-- .../service/core/extra/AliPayAuthService.java | 21 +++-- .../notice/entity/ClientNoticeRecord.java | 2 +- .../order/allocation/entity/AllocOrder.java | 2 +- .../core/order/pay/entity/PayOrder.java | 2 +- .../reconcile/entity/ReconcileOrder.java | 2 +- .../core/order/refund/entity/RefundOrder.java | 2 +- .../order/transfer/entity/TransferOrder.java | 2 +- .../callback/entity/PayCallbackRecord.java | 4 +- .../record/close/entity/PayCloseRecord.java | 2 +- .../record/sync/entity/PaySyncRecord.java | 2 +- .../system/config/entity/PlatformConfig.java | 5 + .../dto/record/close/PayCloseRecordDto.java | 2 +- 23 files changed, 131 insertions(+), 82 deletions(-) diff --git a/_config/mysql/dax-pay.sql b/_config/mysql/dax-pay.sql index 1ecc06d6..630715d2 100644 --- a/_config/mysql/dax-pay.sql +++ b/_config/mysql/dax-pay.sql @@ -2291,38 +2291,35 @@ CREATE TABLE `notice_wechat_config` ( -- Records of notice_wechat_config -- ---------------------------- --- ---------------------------- --- Table structure for pay_alipay_config --- ---------------------------- DROP TABLE IF EXISTS `pay_alipay_config`; CREATE TABLE `pay_alipay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知接收路径', - `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `server_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', - `auth_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', - `sign_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', - `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', - `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', - `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', - `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', - `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE + `id` bigint(20) NOT NULL COMMENT '主键', + `app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', + `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知接收路径', + `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', + `server_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', + `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', + `auth_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', + `sign_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', + `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', + `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', + `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', + `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', + `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', + `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', + `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', + `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', + `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', + `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝支付配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2420,7 +2417,7 @@ CREATE TABLE `pay_alloc_order` ( `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2593,14 +2590,14 @@ DROP TABLE IF EXISTS `pay_callback_record`; CREATE TABLE `pay_callback_record` ( `id` bigint(20) NOT NULL COMMENT '主键', `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', - `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', `callback_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回调类型', `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通知消息', `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回调处理状态', `repair_order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复号', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, @@ -2649,7 +2646,7 @@ CREATE TABLE `pay_client_notice_record` ( `success` bit(1) NOT NULL COMMENT '发送是否成功', `send_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发送类型', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, @@ -2701,7 +2698,7 @@ CREATE TABLE `pay_close_record` ( `close_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '关闭类型', `closed` bit(1) NOT NULL COMMENT '是否关闭成功', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -2766,7 +2763,7 @@ CREATE TABLE `pay_order` ( `close_time` datetime NULL DEFAULT NULL COMMENT '关闭时间', `expired_time` datetime NULL DEFAULT NULL COMMENT '过期时间', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', `extra_param` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', @@ -2798,26 +2795,26 @@ CREATE TABLE `pay_platform_config` ( `website_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网站地址', `sign_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', `sign_secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', - `notify_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知方式', `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知地址', `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', - `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', `order_timeout` int(8) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', - `req_sign` bit(1) NOT NULL COMMENT '是否对请求进行验签', - `req_timeout` int(10) NOT NULL COMMENT '请求有效时长(秒)', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', + `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', + `req_sign` bit(1) NOT NULL COMMENT '是否对请求进行验签', + `notify_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知方式', + `req_timeout` int(10) NOT NULL COMMENT '请求有效时长(秒)', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付平台配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_platform_config -- ---------------------------- -INSERT INTO `pay_platform_config` VALUES (0, 'http://www.daxpay.cn/server', 'HMAC_SHA256', '123456', NULL, '', '', 19911, 30, b'1', 10, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-06-21 17:59:41', 25, b'0'); +INSERT INTO `pay_platform_config` VALUES (0, 'http://www.daxpay.cn/server', 'HMAC_SHA256', '123456', '', '', 30, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-06-21 17:59:41', 25, b'0', 19911, b'1', NULL, 10); -- ---------------------------- -- Table structure for pay_reconcile_diff_record @@ -2882,7 +2879,7 @@ CREATE TABLE `pay_reconcile_order` ( `compare` bit(1) NOT NULL COMMENT '明细对账单比对', `result` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账结果', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2946,7 +2943,7 @@ CREATE TABLE `pay_refund_order` ( `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -3008,7 +3005,7 @@ CREATE TABLE `pay_sync_record` ( `repair` bit(1) NOT NULL COMMENT '是否进行修复', `repair_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -3071,7 +3068,7 @@ CREATE TABLE `pay_transfer_order` ( `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -3225,7 +3222,6 @@ CREATE TABLE `pay_wechat_pay_config` ( `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知路径', - `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', `api_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口版本', `api_key_v2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv2 密钥', `api_key_v3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv3 密钥', @@ -3242,13 +3238,14 @@ CREATE TABLE `pay_wechat_pay_config` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', + `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_wechat_pay_config -- ---------------------------- -INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0'); +INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0', NULL); -- ---------------------------- -- Table structure for pay_wechat_reconcile_bill_detail diff --git a/_doc/ChangeLog.md b/_doc/ChangeLog.md index 1b159308..30bc0cfa 100644 --- a/_doc/ChangeLog.md +++ b/_doc/ChangeLog.md @@ -26,8 +26,10 @@ - 优化: 策略工厂修改为统一的通用策略工厂 - 优化: 支付和退款达到终态不可以再回退回之前的状态 - 优化: 优化认证授权地址配置, 拆分为支持单独配置 +- 优化: 优化各类网址配置, 兼容结尾带/和不带/ - fix: 修复支付关闭参数名称不正确问题 - fix: 退款回调消息字段不一致导致验签不通过问题 +- fix: 云闪付空指针问题 ## [v2.0.7] - 新增: 资金流水记录功能 diff --git a/_doc/Task.md b/_doc/Task.md index ad24a05d..d2344b36 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -11,6 +11,7 @@ - [ ] 请求权限改版, 使用专用配置类 - [ ] 转账同步接口 - [ ] 支持微信V3版本支付接口 +- [ ] 平台配置拆分出接口地址配置项 **任务池** - [ ] 增加收单收银台功能 diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java index 832a8875..93895867 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java @@ -1,6 +1,7 @@ package cn.daxpay.single.demo.configuration; import cn.daxpay.single.sdk.code.SignTypeEnum; +import cn.hutool.core.util.StrUtil; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -17,6 +18,9 @@ public class DaxPayDemoProperties { /** 服务地址 */ private String serverUrl; + /** 微信授权回调地址 */ + private String wxRedirectUrl; + /** 前端地址(h5) */ private String frontH5Url; @@ -28,4 +32,16 @@ public class DaxPayDemoProperties { /** 请求超时时间 */ private int reqTimeout = 30000; + + public String getServerUrl() { + return StrUtil.removeSuffix(serverUrl, "/"); + } + + public String getWxRedirectUrl() { + return StrUtil.removeSuffix(wxRedirectUrl, "/"); + } + + public String getFrontH5Url() { + return StrUtil.removeSuffix(frontH5Url, "/"); + } } diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java index 6c54d730..38c384ca 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java @@ -114,7 +114,7 @@ public class AggregateService { WxAuthUrlParam wxAuthUrlParam = new WxAuthUrlParam(); wxAuthUrlParam.setState(code); - String url = StrUtil.format("{}/demo/aggregate/wxAuthCallback", daxPayDemoProperties.getServerUrl()); + String url = StrUtil.format("{}/demo/aggregate/wxAuthCallback", daxPayDemoProperties.getWxRedirectUrl()); wxAuthUrlParam.setUrl(url); wxAuthUrlParam.setState(code); DaxPayResult<WxAuthUrlModel> execute = DaxPayKit.execute(wxAuthUrlParam); @@ -292,5 +292,4 @@ public class AggregateService { } return result.getData().getOpenId(); } - } diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java index db8741b4..f1714d58 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java @@ -168,7 +168,7 @@ public class CashierService { public String getWxAuthUrl() { // 回调地址为 结算台微信jsapi支付的回调地址 WxAuthUrlParam wxAuthUrlParam = new WxAuthUrlParam(); - String url = StrUtil.format("{}/demo/cashier/wxAuthCallback", daxPayDemoProperties.getServerUrl()); + String url = StrUtil.format("{}/demo/cashier/wxAuthCallback", daxPayDemoProperties.getWxRedirectUrl()); wxAuthUrlParam.setUrl(url); DaxPayResult<WxAuthUrlModel> execute = DaxPayKit.execute(wxAuthUrlParam); if (execute.getCode() != 0){ diff --git a/daxpay-single-start/src/main/resources/application-dev.yml b/daxpay-single-start/src/main/resources/application-dev.yml index 696f1c73..20fa4a36 100644 --- a/daxpay-single-start/src/main/resources/application-dev.yml +++ b/daxpay-single-start/src/main/resources/application-dev.yml @@ -159,7 +159,7 @@ dromara: # 支付系统配置 dax-pay: # h5访问地址 - front-h5-url: http://pay1.bootx.cn/h5/# + front-h5-url: https://localhost:9000/h5/# # 机器号码 machine-no: 63 # 当前环境,会影响订单号的生成 @@ -168,8 +168,10 @@ dax-pay: demo: # 网关地址 server-url: http://localhost:9000 + # 微信授权回调地址 + wx-redirect-url: https://localhost:9000/ # 前端h5地址 - front-h5-url: http://pay1.bootx.cn/h5/# + front-h5-url: https://localhost:9000/h5/# # 签名秘钥, 需要与系统中配置一致 sign-secret: 123456 # 签名方式 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java index 9f0e34a1..ce7a7efa 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.configuration; import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.hutool.core.util.StrUtil; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -33,4 +34,8 @@ public class DaxPayProperties { this.env = env; OrderNoGenerateUtil.setEnv(env); } + + public String getFrontH5Url() { + return StrUtil.removeSuffix(frontH5Url, "/"); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java index 6f59e5d7..6dda7b26 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java @@ -12,6 +12,7 @@ import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -143,6 +144,12 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali @DbColumn(comment = "备注") private String remark; + @Override + public AliPayConfigDto toDto() { + return AlipayConvert.CONVERT.convert(this); + } + + public Boolean getAllocation() { return Objects.equals(allocation,true); } @@ -151,9 +158,8 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali return Objects.equals(enable,true); } - @Override - public AliPayConfigDto toDto() { - return AlipayConvert.CONVERT.convert(this); + public String getRedirectUrl() { + return StrUtil.removeSuffix(redirectUrl, "/"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java index 8fc40194..beefe16c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java @@ -59,7 +59,12 @@ public class UnionPayReconcileService { public void downAndSave(ReconcileOrder reconcileOrder, Date date, UnionPayKit unionPayKit){ // 下载对账单 Map<String, Object> map = unionPayKit.downloadBill(date, RECONCILE_BILL_TYPE); - String fileContent = map.get(FILE_CONTENT).toString(); + Object o = map.get(FILE_CONTENT); + if (o == null) { + log.warn("云闪付获取对账文件失败"); + throw new OperationFailException("云闪付获取对账文件失败"); + } + String fileContent = o.toString(); // 判断是否成功 if (!SDKConstants.OK_RESP_CODE.equals(map.get(SDKConstants.param_respCode))) { log.warn("云闪付获取对账文件失败"); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java index 0f0385e5..1e9fc9a3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java @@ -4,14 +4,15 @@ import cn.bootx.platform.common.core.annotation.BigField; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.common.mybatisplus.handler.StringListTypeHandler; -import cn.daxpay.single.service.code.WeChatPayCode; -import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; -import cn.daxpay.single.service.core.channel.wechat.convert.WeChatConvert; -import cn.daxpay.single.service.dto.channel.wechat.WeChatPayConfigDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; +import cn.daxpay.single.service.code.WeChatPayCode; +import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; +import cn.daxpay.single.service.core.channel.wechat.convert.WeChatConvert; +import cn.daxpay.single.service.dto.channel.wechat.WeChatPayConfigDto; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -122,6 +123,11 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< @DbColumn(comment = "备注") private String remark; + @Override + public WeChatPayConfigDto toDto() { + return WeChatConvert.CONVERT.convert(this); + } + public Boolean getAllocation() { return Objects.equals(allocation,true); } @@ -130,9 +136,7 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< return Objects.equals(enable,true); } - - @Override - public WeChatPayConfigDto toDto() { - return WeChatConvert.CONVERT.convert(this); + public String getRedirectUrl() { + return StrUtil.removeSuffix(redirectUrl, "/"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java index fe3f142a..75972fa5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java @@ -52,10 +52,10 @@ public class AliPayAuthService { serverUrl = platformConfig.getWebsiteUrl(); } // 构建出授权成功后重定向页面链接 - String redirectUrl = StrUtil.format("{}/unipay/callback/alipay/auth/{}", platformConfig.getWebsiteUrl(), code); + String redirectUrl = StrUtil.format("{}/unipay/callback/alipay/auth/{}", serverUrl, code); // 构造出授权页地址 String authUrl = StrUtil.format("{}/h5/alipayAuth.html?appId={}&redirectUrl={}", - platformConfig.getWebsiteUrl(), aliPayConfig.getAppId(), redirectUrl); + serverUrl, aliPayConfig.getAppId(), redirectUrl); // 写入Redis, 五分钟有效期 redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, "", 5*60*1000L); return new AuthUrlResult() @@ -64,19 +64,19 @@ public class AliPayAuthService { } /** - * 微信授权回调页面, 通过获取到authCode获取到OpenId, 存到到Redis中对应code关联的键值对中 + * 支付宝权回调页面, 通过获取到authCode获取到OpenId, 存到到Redis中对应code关联的键值对中 * @param authCode 微信返回的授权码 * @param code 标识码 */ public void authCallback(String authCode, String code) { - // 获取OpenId - String openId = this.getOpenId(authCode); + // 获取OpenId或UserId + String openId = this.getOpenIdOrUserId(authCode); // 写入Redis redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, openId, 60*1000L); } /** - * 通过标识码轮训获取OpenId + * 通过标识码轮训获取OpenId或UserId */ public OpenIdResult queryOpenId(String code) { // 从redis中获取 @@ -94,8 +94,11 @@ public class AliPayAuthService { } + /** + * 获取OpenId或者userid用户标识 + */ @SneakyThrows - public String getOpenId(String authCode) { + public String getOpenIdOrUserId(String authCode) { // 初始化SDK AlipayClient alipayClient = aliPayConfigService.getAlipayClient(); // 构造请求参数以调用接口 @@ -109,6 +112,10 @@ public class AliPayAuthService { log.warn("获取支付宝OpenId失败,原因:{}", response.getSubMsg()); throw new BizException("获取支付宝OpenId失败"); } + // 如果未申请 OpenId 方式, 则获取的是UserId + if (StrUtil.isBlank(response.getOpenId())) { + return response.getUserId(); + } return response.getOpenId(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java index fd2e97b1..830f5453 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java @@ -50,7 +50,7 @@ public class ClientNoticeRecord extends MpCreateEntity implements EntityBaseFunc private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java index 5df1c4ae..e7858086 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java @@ -135,7 +135,7 @@ public class AllocOrder extends MpBaseEntity implements EntityBaseFunction<Alloc private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index d5747c48..a5c82fe1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -128,7 +128,7 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java index 5caf0c2f..b18dcf84 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java @@ -67,7 +67,7 @@ public class ReconcileOrder extends MpBaseEntity implements EntityBaseFunction<R private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java index c2b18d51..127aa233 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java @@ -134,7 +134,7 @@ public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<Refu private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; @Override diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index 668af2b2..c8abb6d9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -122,7 +122,7 @@ public class TransferOrder extends MpBaseEntity implements EntityBaseFunction<Tr private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; @Override diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java index 78ce0c22..2f1ff338 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java @@ -36,7 +36,7 @@ public class PayCallbackRecord extends MpCreateEntity implements EntityBaseFunct /** 通道交易号 */ @DbMySqlIndex(comment = "通道交易号索引") - @DbColumn(comment = "通道交易号", length = 150, isNull = false) + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; /** @@ -73,7 +73,7 @@ public class PayCallbackRecord extends MpCreateEntity implements EntityBaseFunct private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java index 5d02c342..bd587b90 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java @@ -61,7 +61,7 @@ public class PayCloseRecord extends MpCreateEntity implements EntityBaseFunction private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** 终端ip */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java index f4b452c2..0d84ad0f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java @@ -87,7 +87,7 @@ public class PaySyncRecord extends MpCreateEntity implements EntityBaseFunction< private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** 终端ip */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java index 0bc4602b..9c991739 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java @@ -8,6 +8,7 @@ import cn.daxpay.single.service.core.system.config.convert.PlatformConfigConvert import cn.daxpay.single.service.dto.system.config.PlatformConfigDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -89,4 +90,8 @@ public class PlatformConfig extends MpBaseEntity implements EntityBaseFunction<P public PlatformConfigDto toDto() { return PlatformConfigConvert.CONVERT.convert(this); } + + public String getWebsiteUrl() { + return StrUtil.removeSuffix(websiteUrl, "/"); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java index 443cb8a3..4c740946 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java @@ -53,7 +53,7 @@ public class PayCloseRecordDto extends BaseDto { private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息", length = 150) + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** 终端ip */ -- Gitee From 7737c7efc2de6a36c22246832392b55f17f9e890 Mon Sep 17 00:00:00 2001 From: DaxPay <xxm1995@outlook.com> Date: Thu, 27 Jun 2024 16:29:27 +0800 Subject: [PATCH 34/34] =?UTF-8?q?build=20=E8=AE=BF=E9=97=AE=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=88=86=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config/mysql/dax-pay.sql | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/_config/mysql/dax-pay.sql b/_config/mysql/dax-pay.sql index 630715d2..c6c5d176 100644 --- a/_config/mysql/dax-pay.sql +++ b/_config/mysql/dax-pay.sql @@ -1625,15 +1625,16 @@ INSERT INTO `iam_role_menu` VALUES (1805942451052482564, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1805942451052482565, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1805942451052482566, 1757298887092326400, 'dax-pay', 1744276101384880128); + -- ---------------------------- -- Table structure for iam_role_path -- ---------------------------- DROP TABLE IF EXISTS `iam_role_path`; CREATE TABLE `iam_role_path` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', - PRIMARY KEY (`id`) USING BTREE + `id` bigint(20) NOT NULL, + `role_id` bigint(20) NOT NULL COMMENT '角色id', + `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -1764,14 +1765,9 @@ INSERT INTO `iam_role_path` VALUES (1789979322187636761, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1789979322187636762, 1757298887092326400, 1789978117570945213); INSERT INTO `iam_role_path` VALUES (1789979322187636763, 1757298887092326400, 1789978117570945177); INSERT INTO `iam_role_path` VALUES (1789979322187636764, 1757298887092326400, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979322187636765, 1757298887092326400, 1789978117570945136); INSERT INTO `iam_role_path` VALUES (1789979322187636767, 1757298887092326400, 1789978117566750728); INSERT INTO `iam_role_path` VALUES (1789979322187636769, 1757298887092326400, 1789978117570945222); INSERT INTO `iam_role_path` VALUES (1789979322187636771, 1757298887092326400, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979322187636772, 1757298887092326400, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979322187636773, 1757298887092326400, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979322187636774, 1757298887092326400, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979322187636775, 1757298887092326400, 1789978117570945279); INSERT INTO `iam_role_path` VALUES (1789979322187636776, 1757298887092326400, 1789978117570945028); INSERT INTO `iam_role_path` VALUES (1789979322187636777, 1757298887092326400, 1789978117566750751); INSERT INTO `iam_role_path` VALUES (1789979322187636778, 1757298887092326400, 1789978117570945277); @@ -1780,7 +1776,6 @@ INSERT INTO `iam_role_path` VALUES (1789979322187636786, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1789979322187636790, 1757298887092326400, 1789978117570945266); INSERT INTO `iam_role_path` VALUES (1789979322187636791, 1757298887092326400, 1789978117570945251); INSERT INTO `iam_role_path` VALUES (1789979322187636792, 1757298887092326400, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979322187636793, 1757298887092326400, 1789978117570945056); INSERT INTO `iam_role_path` VALUES (1789979322187636794, 1757298887092326400, 1789978117566750822); INSERT INTO `iam_role_path` VALUES (1789979322187636795, 1757298887092326400, 1789978117566750809); INSERT INTO `iam_role_path` VALUES (1789979322187636796, 1757298887092326400, 1789978117566750803); @@ -1851,8 +1846,6 @@ INSERT INTO `iam_role_path` VALUES (1797522413752786945, 1757297023118462976, 17 INSERT INTO `iam_role_path` VALUES (1797522413752786948, 1757297023118462976, 1797521957446066187); INSERT INTO `iam_role_path` VALUES (1797522723091095552, 1757298887092326400, 1797521957446066199); INSERT INTO `iam_role_path` VALUES (1797522723091095553, 1757298887092326400, 1797521957446066189); -INSERT INTO `iam_role_path` VALUES (1797522723091095554, 1757298887092326400, 1797521957446066197); -INSERT INTO `iam_role_path` VALUES (1797522723091095555, 1757298887092326400, 1797521957446066176); INSERT INTO `iam_role_path` VALUES (1797522723091095556, 1757298887092326400, 1797521957446066187); INSERT INTO `iam_role_path` VALUES (1797523038569865216, 1757297023118462976, 1797521957446066184); INSERT INTO `iam_role_path` VALUES (1797523038569865217, 1757297023118462976, 1797521957446066181); @@ -1888,6 +1881,16 @@ INSERT INTO `iam_role_path` VALUES (1805942783757258764, 1757297023118462976, 18 INSERT INTO `iam_role_path` VALUES (1805942783757258765, 1757297023118462976, 1805942182965153794); INSERT INTO `iam_role_path` VALUES (1805942783757258766, 1757297023118462976, 1805942182965153799); INSERT INTO `iam_role_path` VALUES (1805942783757258767, 1757297023118462976, 1805942182965153795); +INSERT INTO `iam_role_path` VALUES (1806242872311390208, 1757298887092326400, 1805942182965153808); +INSERT INTO `iam_role_path` VALUES (1806242872311390209, 1757298887092326400, 1805942182965153803); +INSERT INTO `iam_role_path` VALUES (1806242872311390210, 1757298887092326400, 1805942182969348101); +INSERT INTO `iam_role_path` VALUES (1806242872311390211, 1757298887092326400, 1805942182965153796); +INSERT INTO `iam_role_path` VALUES (1806242872311390212, 1757298887092326400, 1805942182969348098); +INSERT INTO `iam_role_path` VALUES (1806242872311390213, 1757298887092326400, 1805942182965153805); +INSERT INTO `iam_role_path` VALUES (1806242872311390214, 1757298887092326400, 1805942182965153804); +INSERT INTO `iam_role_path` VALUES (1806242872311390215, 1757298887092326400, 1805942182965153798); +INSERT INTO `iam_role_path` VALUES (1806242872311390216, 1757298887092326400, 1805942182965153793); +INSERT INTO `iam_role_path` VALUES (1806242872311390217, 1757298887092326400, 1805942182965153809); -- ---------------------------- -- Table structure for iam_user_data_role -- Gitee