diff --git a/pay-service-project/pay-service-app/pom.xml b/pay-service-project/pay-service-app/pom.xml index f719ac414..06966ea3f 100644 --- a/pay-service-project/pay-service-app/pom.xml +++ b/pay-service-project/pay-service-app/pom.xml @@ -59,6 +59,14 @@ spring-boot-starter-actuator + + + Pingplusplus + pingpp-java + 2.2.4 + jar + + org.springframework.boot @@ -105,4 +113,15 @@ + + + + false + + central + bintray + http://jcenter.bintray.com + + + diff --git a/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/package-info.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/package-info.java new file mode 100644 index 000000000..e211ca48a --- /dev/null +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/package-info.java @@ -0,0 +1 @@ +package cn.iocoder.mall.payservice.client; diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/AbstractPaySDK.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/AbstractThirdPayClient.java similarity index 70% rename from pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/AbstractPaySDK.java rename to pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/AbstractThirdPayClient.java index 28f29475e..3d6bbe3bb 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/AbstractPaySDK.java +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/AbstractThirdPayClient.java @@ -1,13 +1,18 @@ -package cn.iocoder.mall.pay.biz.client; +package cn.iocoder.mall.payservice.client.thirdpay; import cn.iocoder.common.framework.vo.CommonResult; -import cn.iocoder.mall.pay.biz.dataobject.PayRefundDO; -import cn.iocoder.mall.pay.biz.dataobject.PayTransactionDO; -import cn.iocoder.mall.pay.biz.dataobject.PayTransactionExtensionDO; +import cn.iocoder.mall.payservice.client.thirdpay.dto.ThirdPayRefundSuccessRespDTO; +import cn.iocoder.mall.payservice.client.thirdpay.dto.ThirdPayTransactionSuccessRespDTO; +import cn.iocoder.mall.payservice.dal.mysql.dataobject.refund.PayRefundDO; +import cn.iocoder.mall.payservice.dal.mysql.dataobject.transaction.PayTransactionDO; +import cn.iocoder.mall.payservice.dal.mysql.dataobject.transaction.PayTransactionExtensionDO; import java.util.Map; -public abstract class AbstractPaySDK { +/** + * 三方支付平台的 Client 抽象类 + */ +public abstract class AbstractThirdPayClient { /** * 提交支付请求给支付平台,并返回请求结果 @@ -28,7 +33,7 @@ public abstract class AbstractPaySDK { * @return 解析结果 */ // TODO 芋艿,理论来说不会出现解析失败的情况,先返回这个参数列。等后面封装支付宝和微信支付的时候,在看看。 - public abstract CommonResult parseTransactionSuccessParams(String params); + public abstract CommonResult parseTransactionSuccessParams(String params); /** * 提交退款请求给支付平台,并返回请求结果 @@ -49,6 +54,6 @@ public abstract class AbstractPaySDK { * @return 解析结果 */ // TODO 芋艿,理论来说不会出现解析失败的情况,先返回这个参数列。等后面封装支付宝和微信支付的时候,在看看。 - public abstract CommonResult parseRefundSuccessParams(String params); + public abstract CommonResult parseRefundSuccessParams(String params); } diff --git a/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/PaySDKFactory.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/PaySDKFactory.java new file mode 100644 index 000000000..46d0b449c --- /dev/null +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/PaySDKFactory.java @@ -0,0 +1,24 @@ +package cn.iocoder.mall.payservice.client.thirdpay; + +import cn.iocoder.mall.payservice.enums.PayChannelEnum; + +import java.util.HashMap; +import java.util.Map; + +public class PaySDKFactory { + + private static Map CLIENTS = new HashMap<>(); + + static { + CLIENTS.put(PayChannelEnum.PINGXX.getId(), new PingxxThirdPayClient()); + } + + public static AbstractThirdPayClient getSDK(Integer payChannel) { + AbstractThirdPayClient client = CLIENTS.get(payChannel); + if (client == null) { + throw new NullPointerException("找不到合适的 ThirdPayClient :" + payChannel); + } + return client; + } + +} diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PingxxPaySDK.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/PingxxThirdPayClient.java similarity index 85% rename from pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PingxxPaySDK.java rename to pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/PingxxThirdPayClient.java index 9cbbe1102..e58012caf 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PingxxPaySDK.java +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/PingxxThirdPayClient.java @@ -1,9 +1,11 @@ -package cn.iocoder.mall.pay.biz.client; +package cn.iocoder.mall.payservice.client.thirdpay; import cn.iocoder.common.framework.vo.CommonResult; -import cn.iocoder.mall.pay.biz.dataobject.PayRefundDO; -import cn.iocoder.mall.pay.biz.dataobject.PayTransactionDO; -import cn.iocoder.mall.pay.biz.dataobject.PayTransactionExtensionDO; +import cn.iocoder.mall.payservice.client.thirdpay.dto.ThirdPayRefundSuccessRespDTO; +import cn.iocoder.mall.payservice.client.thirdpay.dto.ThirdPayTransactionSuccessRespDTO; +import cn.iocoder.mall.payservice.dal.mysql.dataobject.refund.PayRefundDO; +import cn.iocoder.mall.payservice.dal.mysql.dataobject.transaction.PayTransactionDO; +import cn.iocoder.mall.payservice.dal.mysql.dataobject.transaction.PayTransactionExtensionDO; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.ImmutableMap; @@ -17,7 +19,7 @@ import java.util.HashMap; import java.util.Map; // TODO 代码略乱,后面重构下 -public class PingxxPaySDK extends AbstractPaySDK { +public class PingxxThirdPayClient extends AbstractThirdPayClient { static { Pingpp.privateKeyPath = "/Users/yunai/Downloads/pingxx.pem"; @@ -65,14 +67,14 @@ public class PingxxPaySDK extends AbstractPaySDK { } @Override - public CommonResult parseTransactionSuccessParams(String params) { + public CommonResult parseTransactionSuccessParams(String params) { JSONObject paramsObj = JSON.parseObject(params); JSONObject chargeObj = paramsObj.getJSONObject("data").getJSONObject("object"); - TransactionSuccessBO transactionPaySuccessBO = new TransactionSuccessBO() + ThirdPayTransactionSuccessRespDTO successRespDTO = new ThirdPayTransactionSuccessRespDTO() .setTransactionCode(chargeObj.getString("order_no")) .setPaymentTime(new Date(chargeObj.getLong("time_paid") * 1000)) .setTradeNo(chargeObj.getString("transaction_no")); - return CommonResult.success(transactionPaySuccessBO); + return CommonResult.success(successRespDTO); } @Override @@ -99,16 +101,16 @@ public class PingxxPaySDK extends AbstractPaySDK { // {"id":"evt_400190427005305341228202","created":1556297585,"livemode":false,"type":"refund.succeeded","data":{"object":{"id":"re_HO0m9GOGOi50KCmX104ufHe1","object":"refund","order_no":"HO0m9GOGOi50KCmX104ufHe1","amount":1,"created":1556297585,"succeed":true,"status":"succeeded","time_succeed":1556297585,"description":"测试下退款","failure_code":null,"failure_msg":null,"metadata":{},"charge":"ch_y1iXjLnDS4G4OO4uT4a5C4W1","charge_order_no":"20190427004410165545","transaction_no":"201904270053053608824","extra":{}}},"object":"event","request":"iar_Oa188KCiHC40iLibbHX5WrHC","pending_webhooks":0} @Override - public CommonResult parseRefundSuccessParams(String params) { + public CommonResult parseRefundSuccessParams(String params) { JSONObject paramsObj = JSON.parseObject(params); JSONObject chargeObj = paramsObj.getJSONObject("data").getJSONObject("object"); - RefundSuccessBO refundSuccessBO = new RefundSuccessBO() + ThirdPayRefundSuccessRespDTO successRespDTO = new ThirdPayRefundSuccessRespDTO() .setRefundCode(chargeObj.getJSONObject("metadata").getString("refundCode")) .setRefundTime(new Date(chargeObj.getLong("time_succeed") * 1000)) .setTradeNo(chargeObj.getString("transaction_no")) // TODO 芋艿,需要测试下,退款失败 .setSuccess(chargeObj.containsValue("failure_code") || chargeObj.containsValue("failure_msg")); - return CommonResult.success(refundSuccessBO); + return CommonResult.success(successRespDTO); } private Map createRefundRequest(PayRefundDO refund, String chargeId, String orderDescription, Integer price) { @@ -123,7 +125,7 @@ public class PingxxPaySDK extends AbstractPaySDK { } public static void main(String[] args) { - if (false) { // 测试支付请求 + if (true) { // 测试支付请求 PayTransactionDO transaction = new PayTransactionDO(); transaction.setOrderSubject("测试商品"); transaction.setOrderDescription("测试描述"); @@ -133,14 +135,14 @@ public class PingxxPaySDK extends AbstractPaySDK { extension.setTransactionCode(System.currentTimeMillis() + ""); extension.setCreateIp("127.0.0.1"); - new PingxxPaySDK().submitTransaction(transaction, extension, null); + new PingxxThirdPayClient().submitTransaction(transaction, extension, null); } - if (true) { // 测试退款请求 + if (false) { // 测试退款请求 PayRefundDO refund = new PayRefundDO().setPrice(9999999).setOrderDescription("测试描述"); PayTransactionExtensionDO transactionExtension = new PayTransactionExtensionDO() .setExtensionData("{\"id\":\"evt_400190423100354205607502\",\"created\":1555985033,\"livemode\":false,\"type\":\"charge.succeeded\",\"data\":{\"object\":{\"id\":\"ch_DCGyXTmDGuHKb1C0yTzjPOGC\",\"object\":\"charge\",\"created\":1555985032,\"livemode\":false,\"paid\":true,\"refunded\":false,\"reversed\":false,\"app\":\"app_aTyfXDjrvzDSbLuz\",\"channel\":\"wx_pub\",\"order_no\":\"20190423100352158401\",\"client_ip\":\"114.87.158.59\",\"amount\":10,\"amount_settle\":10,\"currency\":\"cny\",\"subject\":\"kafka 实战\",\"body\":\"测试描述\",\"extra\":{\"open_id\":\"just_for_test\",\"bank_type\":\"your bank type\"},\"time_paid\":1555985033,\"time_expire\":1555992232,\"time_settle\":null,\"transaction_no\":\"1244341374201904238178164740\",\"refunds\":{\"object\":\"list\",\"url\":\"/v1/charges/ch_DCGyXTmDGuHKb1C0yTzjPOGC/refunds\",\"has_more\":false,\"data\":[]},\"amount_refunded\":0,\"failure_code\":null,\"failure_msg\":null,\"metadata\":{},\"credential\":{},\"description\":\"测试备注\"}},\"object\":\"event\",\"request\":\"iar_4e9mPODW5ujPqLen5OOmvL8S\",\"pending_webhooks\":0}"); - new PingxxPaySDK().submitRefund(refund, transactionExtension, null); + new PingxxThirdPayClient().submitRefund(refund, transactionExtension, null); } } diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/RefundSuccessBO.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/dto/ThirdPayRefundSuccessRespDTO.java similarity index 75% rename from pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/RefundSuccessBO.java rename to pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/dto/ThirdPayRefundSuccessRespDTO.java index 64624df22..ce2233449 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/RefundSuccessBO.java +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/dto/ThirdPayRefundSuccessRespDTO.java @@ -1,4 +1,4 @@ -package cn.iocoder.mall.pay.biz.client; +package cn.iocoder.mall.payservice.client.thirdpay.dto; import lombok.Data; import lombok.experimental.Accessors; @@ -6,11 +6,11 @@ import lombok.experimental.Accessors; import java.util.Date; /** - * 交易退款成功结果 + * 三方平台的交易退款成功 Response DTO */ @Data @Accessors(chain = true) -public class RefundSuccessBO { +public class ThirdPayRefundSuccessRespDTO { /** * 生成传输给第三方的订单号 diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/TransactionSuccessBO.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/dto/ThirdPayTransactionSuccessRespDTO.java similarity index 72% rename from pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/TransactionSuccessBO.java rename to pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/dto/ThirdPayTransactionSuccessRespDTO.java index 038791f95..1bfae7509 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/TransactionSuccessBO.java +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/client/thirdpay/dto/ThirdPayTransactionSuccessRespDTO.java @@ -1,4 +1,4 @@ -package cn.iocoder.mall.pay.biz.client; +package cn.iocoder.mall.payservice.client.thirdpay.dto; import lombok.Data; import lombok.experimental.Accessors; @@ -6,11 +6,11 @@ import lombok.experimental.Accessors; import java.util.Date; /** - * 交易支付成功结果 + * 三方平台的交易支付成功 Response DTO */ @Data @Accessors(chain = true) -public class TransactionSuccessBO { +public class ThirdPayTransactionSuccessRespDTO { /** * 生成传输给第三方的订单号 diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayRefundDO.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/refund/PayRefundDO.java similarity index 85% rename from pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayRefundDO.java rename to pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/refund/PayRefundDO.java index e66cec676..92268f848 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayRefundDO.java +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/refund/PayRefundDO.java @@ -1,7 +1,9 @@ -package cn.iocoder.mall.pay.biz.dataobject; +package cn.iocoder.mall.payservice.dal.mysql.dataobject.refund; -import cn.iocoder.common.framework.dataobject.BaseDO; +import cn.iocoder.mall.mybatis.core.dataobject.DeletableDO; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.util.Date; @@ -9,9 +11,11 @@ import java.util.Date; /** * 退款单 DO */ +@TableName("pay_refund") @Data +@EqualsAndHashCode(callSuper = true) @Accessors(chain = true) -public class PayRefundDO extends BaseDO { +public class PayRefundDO extends DeletableDO { /** * 编号,自增 diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayRepeatTransactionDO.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/transaction/PayRepeatTransactionDO.java similarity index 77% rename from pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayRepeatTransactionDO.java rename to pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/transaction/PayRepeatTransactionDO.java index 2452db36b..813e680b8 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayRepeatTransactionDO.java +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/transaction/PayRepeatTransactionDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.mall.pay.biz.dataobject; +package cn.iocoder.mall.payservice.dal.mysql.dataobject.transaction; import lombok.Data; import lombok.experimental.Accessors; diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayTransactionExtensionDO.java b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/transaction/PayTransactionExtensionDO.java similarity index 69% rename from pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayTransactionExtensionDO.java rename to pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/transaction/PayTransactionExtensionDO.java index f6071043b..d63b43f61 100644 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayTransactionExtensionDO.java +++ b/pay-service-project/pay-service-app/src/main/java/cn/iocoder/mall/payservice/dal/mysql/dataobject/transaction/PayTransactionExtensionDO.java @@ -1,13 +1,17 @@ -package cn.iocoder.mall.pay.biz.dataobject; +package cn.iocoder.mall.payservice.dal.mysql.dataobject.transaction; -import cn.iocoder.common.framework.dataobject.DeletableDO; +import cn.iocoder.mall.mybatis.core.dataobject.DeletableDO; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * 交易扩展表 */ +@TableName("pay_transaction_extension") @Data +@EqualsAndHashCode(callSuper = true) @Accessors(chain = true) public class PayTransactionExtensionDO extends DeletableDO { @@ -42,7 +46,7 @@ public class PayTransactionExtensionDO extends DeletableDO { /** * 状态 * - * @see cn.iocoder.mall.pay.api.constant.PayTransactionStatusEnum + * @see cn.iocoder.mall.payservice.enums.transaction.PayTransactionStatusEnum * 注意,只包含上述枚举的 WAITING 和 SUCCESS */ private Integer status; diff --git a/pay/pay-application/pom.xml b/pay/pay-application/pom.xml deleted file mode 100644 index f7b70d7b4..000000000 --- a/pay/pay-application/pom.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - pay - cn.iocoder.mall - 1.0-SNAPSHOT - - 4.0.0 - - pay-application - - - - - cn.iocoder.mall - common-framework - 1.0-SNAPSHOT - - - cn.iocoder.mall - mall-spring-boot - 1.0-SNAPSHOT - - - cn.iocoder.mall - pay-service-impl - 1.0-SNAPSHOT - - - cn.iocoder.mall - system-sdk - 1.0-SNAPSHOT - - - cn.iocoder.mall - user-sdk - 1.0-SNAPSHOT - - - - - org.springframework.boot - spring-boot-starter-web - - - - io.springfox - springfox-swagger2 - - - com.github.xiaoymin - swagger-bootstrap-ui - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-sentinel - - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - de.codecentric - spring-boot-admin-starter-client - - - - org.springframework.boot - spring-boot-starter-actuator - - - - io.micrometer - micrometer-registry-prometheus - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - - diff --git a/pay/pay-application/src/main/resources/application-test.yaml b/pay/pay-application/src/main/resources/application-test.yaml deleted file mode 100644 index fe7f43541..000000000 --- a/pay/pay-application/src/main/resources/application-test.yaml +++ /dev/null @@ -1,6 +0,0 @@ -swagger: - enable: true - title: 支付子系统 - description: 支付子系统 - version: 1.0.0 - base-package: cn.iocoder.mall.pay.application.controller diff --git a/pay/pay-application/src/main/resources/application.yaml b/pay/pay-application/src/main/resources/application.yaml deleted file mode 100644 index 4fce75138..000000000 --- a/pay/pay-application/src/main/resources/application.yaml +++ /dev/null @@ -1,32 +0,0 @@ -spring: - application: - name: pay-application - - # Spring Cloud 配置项 - cloud: - # Spring Cloud Sentinel 配置项 - sentinel: - transport: - dashboard: s1.iocoder.cn:12088 # Sentinel Dashboard 服务地址 - eager: true # 项目启动时,直接连接到 Sentinel - -# server -server: - port: 18084 - servlet: - context-path: /pay-api/ - -swagger: - enable: true - title: 支付子系统 - description: 支付子系统 - version: 1.0.0 - base-package: cn.iocoder.mall.pay.application.controller - -management: - endpoints: - web: - exposure: - include: health,info,env,metrics,prometheus - metrics: - enabled: true diff --git a/pay/pay-service-api/pom.xml b/pay/pay-service-api/pom.xml deleted file mode 100644 index d862a0d36..000000000 --- a/pay/pay-service-api/pom.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - pay - cn.iocoder.mall - 1.0-SNAPSHOT - - 4.0.0 - - pay-service-api - - - - - cn.iocoder.mall - common-framework - 1.0-SNAPSHOT - - - - - org.mapstruct - mapstruct - - - org.mapstruct - mapstruct-jdk8 - - - - org.projectlombok - lombok - - - - - diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PaySDKFactory.java b/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PaySDKFactory.java deleted file mode 100644 index 1efbebfcf..000000000 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/client/PaySDKFactory.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.iocoder.mall.pay.biz.client; - -import cn.iocoder.mall.pay.api.constant.PayChannelEnum; - -import java.util.HashMap; -import java.util.Map; - -public class PaySDKFactory { - - private static Map SDKS = new HashMap<>(); - - static { - SDKS.put(PayChannelEnum.PINGXX.getId(), new PingxxPaySDK()); - } - - public static AbstractPaySDK getSDK(Integer payChannel) { - AbstractPaySDK sdk = SDKS.get(payChannel); - if (sdk == null) { - throw new NullPointerException("找不到合适的 PaySDK :" + payChannel); - } - return sdk; - } - -} \ No newline at end of file diff --git a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayTransactionDO.java b/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayTransactionDO.java deleted file mode 100644 index a7eeabb7f..000000000 --- a/pay/pay-service-impl/src/main/java/cn/iocoder/mall/pay/biz/dataobject/PayTransactionDO.java +++ /dev/null @@ -1,112 +0,0 @@ -package cn.iocoder.mall.pay.biz.dataobject; - -import cn.iocoder.common.framework.dataobject.DeletableDO; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.Date; - -/** - * 支付交易 DO - */ -@Data -@Accessors(chain = true) -public class PayTransactionDO extends DeletableDO { - - /** - * 编号,自增 - */ - private Integer id; - /** - * 应用编号 - * - * 不同业务线分配不同的 appId - * 举个例子, - * 1. 电商系统的订单,appId = 1024 - * 2. 活动系统的订单,appId = 2048 - */ - private String appId; - /** - * 业务线的订单编号 - * - * 1. 使用 String 的原因是,业务线可能使用 String 做为编号 - * 2. 每个 appId 下,orderId 唯一 - */ - private String orderId; - /** - * 发起交易的 IP - */ - private String createIp; - /** - * 订单商品名 - */ - private String orderSubject; - /** - * 订单商品描述 - */ - private String orderDescription; - /** - * 订单备注 - */ - private String orderMemo; - /** - * 支付金额,单位:分。 - * - * TODO 暂时不考虑货币类型。 - */ - private Integer price; - /** - * 支付状态 - * - * @see cn.iocoder.mall.pay.api.constant.PayTransactionStatusEnum - */ - private Integer status; - /** - * 交易过期时间 - */ - private Date expireTime; - /** - * 回调业务线完成时间 - */ - private Date finishTime; - /** - * 异步通知地址 - */ - private String notifyUrl; - // TODO return url - - /** - * 成功支付的交易拓展编号 - * - * @see PayTransactionExtensionDO#getId() - */ - private Integer extensionId; - /** - * 支付成功的支付渠道 - * - * @see cn.iocoder.mall.pay.api.constant.PayChannelEnum - */ - private Integer payChannel; - /** - * 第三方支付成功的时间 - */ - private Date paymentTime; - /** - * 收到第三方系统通知的时间 - * - * 一般情况下,即第三方系统的异步通知 - */ - private Date notifyTime; - /** - * 第三方的流水号 - */ - private String tradeNo; - - // ========== 退款相关 ========== - - /** - * 退款总金额 - */ - private Integer refundTotal; - -} diff --git a/pom.xml b/pom.xml index 56004b0e7..2227b0297 100644 --- a/pom.xml +++ b/pom.xml @@ -14,10 +14,7 @@ onemall 1.0-SNAPSHOT - common - - mall-dependencies user-service-project user-web-app