diff --git a/.vscode/settings.json b/.vscode/settings.json
index 9e26dfe..7b016a8 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1 +1,3 @@
-{}
\ No newline at end of file
+{
+ "java.compile.nullAnalysis.mode": "automatic"
+}
\ No newline at end of file
diff --git a/wfc-modules/pom.xml b/wfc-modules/pom.xml
index c70acdf..99acaf2 100644
--- a/wfc-modules/pom.xml
+++ b/wfc-modules/pom.xml
@@ -14,6 +14,7 @@
wfc-job
wfc-file
wfc-modules-user
+ wfc-pay
wfc-modules
diff --git a/wfc-modules/wfc-pay/pom.xml b/wfc-modules/wfc-payment/pom.xml
similarity index 97%
rename from wfc-modules/wfc-pay/pom.xml
rename to wfc-modules/wfc-payment/pom.xml
index da16a79..204e7b6 100644
--- a/wfc-modules/wfc-pay/pom.xml
+++ b/wfc-modules/wfc-payment/pom.xml
@@ -9,10 +9,10 @@
4.0.0
- wfc-modules-pay
+ wfc-modules-payment
- wfc-modules-pay
+ wfc-modules-payment
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/WfcPayApplication.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/WfcPayApplication.java
similarity index 65%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/WfcPayApplication.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/WfcPayApplication.java
index 32e746a..0ef2751 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/WfcPayApplication.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/WfcPayApplication.java
@@ -1,10 +1,12 @@
-package org.wfc.pay;
+package org.wfc.payment;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.wfc.common.security.annotation.EnableCustomConfig;
import org.wfc.common.security.annotation.EnableRyFeignClients;
import org.wfc.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
/**
* Pay module
@@ -17,6 +19,14 @@ import org.wfc.common.swagger.annotation.EnableCustomSwagger2;
@SpringBootApplication
public class WfcPayApplication
{
+ // @Autowired
+ // private LocaleMessageUtil localeMessageUtil;
+
+ // @GetMapping("/greeting")
+ // public String greeting() {
+ // return localeMessageUtil.getMessage("greeting.message");
+ // }
+
public static void main(String[] args)
{
SpringApplication.run(WfcPayApplication.class, args);
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/controller/CreditCardController.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/controller/CreditCardController.java
similarity index 75%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/controller/CreditCardController.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/controller/CreditCardController.java
index 0ce9643..4ad5b89 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/controller/CreditCardController.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/controller/CreditCardController.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.controller;
+package org.wfc.payment.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,8 +17,11 @@ import org.wfc.common.core.web.page.TableDataInfo;
import org.wfc.common.log.annotation.Log;
import org.wfc.common.log.enums.BusinessType;
import org.wfc.common.security.annotation.RequiresPermissions;
-import org.wfc.pay.domain.CreditCard;
-import org.wfc.pay.service.ICreditCardService;
+import org.wfc.payment.domain.CreditCard;
+import org.wfc.payment.domain.PaymentRequest;
+import org.wfc.payment.service.ICreditCardService;
+import org.springframework.http.ResponseEntity;
+import org.wfc.common.core.constant.HttpStatus;
/**
* Credit card pay controller
@@ -26,12 +29,23 @@ import org.wfc.pay.service.ICreditCardService;
* @author simon
*/
@RestController
-@RequestMapping("/creditCard")
+@RequestMapping("/payments")
public class CreditCardController extends BaseController
{
@Autowired
private ICreditCardService ccPayService;
+ @PostMapping("/creditCard")
+ public ResponseEntity processPayment(@RequestBody PaymentRequest paymentRequest) {
+ // 调用支付服务处理支付请求
+ boolean paymentResult = ccPayService.processPayment(paymentRequest);
+ if (paymentResult) {
+ return ResponseEntity.ok("Payment successful");
+ } else {
+ return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Payment failed");
+ }
+ }
+
/**
* 根据参数编号获取详细信息
*/
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/controller/PayPalController.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/controller/PayPalController.java
similarity index 94%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/controller/PayPalController.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/controller/PayPalController.java
index 881762f..999d5f3 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/controller/PayPalController.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/controller/PayPalController.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.controller;
+package org.wfc.payment.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -13,8 +13,8 @@ import org.wfc.common.core.web.domain.AjaxResult;
import org.wfc.common.log.annotation.Log;
import org.wfc.common.log.enums.BusinessType;
import org.wfc.common.security.annotation.RequiresPermissions;
-import org.wfc.pay.domain.PayPal;
-import org.wfc.pay.service.IPayPalService;
+import org.wfc.payment.domain.PayPal;
+import org.wfc.payment.service.IPayPalService;
/**
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/CreditCard.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/CreditCard.java
similarity index 98%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/CreditCard.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/CreditCard.java
index cb3a6d9..790daf7 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/CreditCard.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/CreditCard.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.domain;
+package org.wfc.payment.domain;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/PayPal.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/PayPal.java
similarity index 99%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/PayPal.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/PayPal.java
index 079c1a7..22cc027 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/PayPal.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/PayPal.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.domain;
+package org.wfc.payment.domain;
import org.wfc.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
diff --git a/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/PaymentRequest.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/PaymentRequest.java
new file mode 100644
index 0000000..e57ac9c
--- /dev/null
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/PaymentRequest.java
@@ -0,0 +1,65 @@
+package org.wfc.payment.domain;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.wfc.common.core.annotation.Excel;
+import org.wfc.common.core.annotation.Excel.ColumnType;
+import org.wfc.common.core.web.domain.BaseEntity;
+
+/**
+ * 参数配置表 sys_config
+ *
+ * @author wfc
+ */
+
+public class PaymentRequest extends BaseEntity {
+
+ private String cardNumber;
+ private String cardHolderName;
+ private String expirationDate;
+ private String cvv;
+ private int amount; // 以分为单位
+
+ // Getters and Setters
+ public String getCardNumber() {
+ return cardNumber;
+ }
+
+ public void setCardNumber(String cardNumber) {
+ this.cardNumber = cardNumber;
+ }
+
+ public String getCardHolderName() {
+ return cardHolderName;
+ }
+
+ public void setCardHolderName(String cardHolderName) {
+ this.cardHolderName = cardHolderName;
+ }
+
+ public String getExpirationDate() {
+ return expirationDate;
+ }
+
+ public void setExpirationDate(String expirationDate) {
+ this.expirationDate = expirationDate;
+ }
+
+ public String getCvv() {
+ return cvv;
+ }
+
+ public void setCvv(String cvv) {
+ this.cvv = cvv;
+ }
+
+ public int getAmount() {
+ return amount;
+ }
+
+ public void setAmount(int amount) {
+ this.amount = amount;
+ }
+}
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/MetaVo.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/MetaVo.java
similarity index 98%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/MetaVo.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/MetaVo.java
index 8bed02d..2b9c47b 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/MetaVo.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/MetaVo.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.domain.vo;
+package org.wfc.payment.domain.vo;
import org.wfc.common.core.utils.StringUtils;
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/RouterVo.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/RouterVo.java
similarity index 98%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/RouterVo.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/RouterVo.java
index 254a476..53002e6 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/RouterVo.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/RouterVo.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.domain.vo;
+package org.wfc.payment.domain.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.List;
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/TreeSelect.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/TreeSelect.java
similarity index 96%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/TreeSelect.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/TreeSelect.java
index 2383bff..3a4b41a 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/domain/vo/TreeSelect.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/domain/vo/TreeSelect.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.domain.vo;
+package org.wfc.payment.domain.vo;
import java.io.Serializable;
import java.util.List;
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/mapper/CreditCardMapper.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/mapper/CreditCardMapper.java
similarity index 91%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/mapper/CreditCardMapper.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/mapper/CreditCardMapper.java
index dcc9f40..cf17ae4 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/mapper/CreditCardMapper.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/mapper/CreditCardMapper.java
@@ -1,7 +1,7 @@
-package org.wfc.pay.mapper;
+package org.wfc.payment.mapper;
import java.util.List;
-import org.wfc.pay.domain.CreditCard;
+import org.wfc.payment.domain.CreditCard;
/**
* 参数配置 数据层
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/mapper/PayPalMapper.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/mapper/PayPalMapper.java
similarity index 92%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/mapper/PayPalMapper.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/mapper/PayPalMapper.java
index 6f1e034..a948e7f 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/mapper/PayPalMapper.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/mapper/PayPalMapper.java
@@ -1,6 +1,6 @@
-package org.wfc.pay.mapper;
+package org.wfc.payment.mapper;
-import org.wfc.pay.domain.PayPal;
+import org.wfc.payment.domain.PayPal;
/**
* Paypal mapper
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/ICreditCardService.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/ICreditCardService.java
similarity index 76%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/ICreditCardService.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/ICreditCardService.java
index c7e70a6..9be4b76 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/ICreditCardService.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/ICreditCardService.java
@@ -1,17 +1,20 @@
-package org.wfc.pay.service;
-
-import org.wfc.pay.domain.CreditCard;
+package org.wfc.payment.service;
+import org.wfc.payment.domain.CreditCard;
+import org.wfc.payment.domain.PaymentRequest;
/**
* Credit card pay service layer
*
* @author wfc
*/
-public interface ICreditCardService
+
+ public interface ICreditCardService
{
+ public boolean processPayment(PaymentRequest paymentRequest);
+
/**
* select credit card information
- *
+ *
* @param userId User ID
* @return Credit card info
*/
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/IPayPalService.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/IPayPalService.java
similarity index 92%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/IPayPalService.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/IPayPalService.java
index 7ef764a..c7c08bb 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/IPayPalService.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/IPayPalService.java
@@ -1,6 +1,6 @@
-package org.wfc.pay.service;
+package org.wfc.payment.service;
-import org.wfc.pay.domain.PayPal;
+import org.wfc.payment.domain.PayPal;
/**
* Paypal pay service layer
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/impl/CreditCardServiceImpl.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/impl/CreditCardServiceImpl.java
similarity index 57%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/impl/CreditCardServiceImpl.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/impl/CreditCardServiceImpl.java
index cefbf52..8ff5b9b 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/impl/CreditCardServiceImpl.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/impl/CreditCardServiceImpl.java
@@ -1,4 +1,4 @@
-package org.wfc.pay.service.impl;
+package org.wfc.payment.service.impl;
import java.util.Collection;
import java.util.List;
@@ -11,9 +11,17 @@ import org.wfc.common.core.exception.ServiceException;
import org.wfc.common.core.text.Convert;
import org.wfc.common.core.utils.StringUtils;
import org.wfc.common.redis.service.RedisService;
-import org.wfc.pay.domain.CreditCard;
-import org.wfc.pay.mapper.CreditCardMapper;
-import org.wfc.pay.service.ICreditCardService;
+import org.wfc.payment.domain.CreditCard;
+import org.wfc.payment.domain.PaymentRequest;
+import org.wfc.payment.mapper.CreditCardMapper;
+import org.wfc.payment.service.ICreditCardService;
+import java.util.HashMap;
+import java.util.Map;
+import com.stripe.Stripe;
+import com.stripe.model.Charge;
+import com.stripe.exception.StripeException;
+import com.stripe.param.ChargeCreateParams;
+import org.springframework.beans.factory.annotation.Autowired;
/**
* 参数配置 服务层实现
@@ -25,9 +33,30 @@ public class CreditCardServiceImpl implements ICreditCardService
{
@Autowired
private CreditCardMapper creditCardMapper;
+ public void SetStripeApiKey(String apiKey) {
+ Stripe.apiKey = apiKey;
+ }
+
+ @Override
+ public boolean processPayment(PaymentRequest paymentRequest) {
+ ChargeCreateParams params = ChargeCreateParams.builder()
+ .setAmount((long) paymentRequest.getAmount())
+ .setCurrency("usd")
+ .setSource(paymentRequest.getCardNumber()) // 这里假设前端传递的是支付令牌
+ .setDescription("Charge for " + paymentRequest.getCardHolderName())
+ .build();
+
+ try {
+ Charge charge = Charge.create(params);
+ return charge.getPaid();
+ } catch (StripeException e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
/**
- * 查询参数配置信息
+ * 查询参数置信息
*
* @param creditCardId 参数配置ID
* @return 参数配置信息
diff --git a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/impl/PayPalServiceImpl.java b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/impl/PayPalServiceImpl.java
similarity index 88%
rename from wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/impl/PayPalServiceImpl.java
rename to wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/impl/PayPalServiceImpl.java
index 755dcf0..f8c5ae4 100644
--- a/wfc-modules/wfc-pay/src/main/java/org/wfc/pay/service/impl/PayPalServiceImpl.java
+++ b/wfc-modules/wfc-payment/src/main/java/org/wfc/payment/service/impl/PayPalServiceImpl.java
@@ -1,10 +1,10 @@
-package org.wfc.pay.service.impl;
+package org.wfc.payment.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.wfc.pay.mapper.PayPalMapper;
-import org.wfc.pay.service.IPayPalService;
-import org.wfc.pay.domain.PayPal;
+import org.wfc.payment.mapper.PayPalMapper;
+import org.wfc.payment.service.IPayPalService;
+import org.wfc.payment.domain.PayPal;
/**
* PayPal service implementation
diff --git a/wfc-modules/wfc-pay/src/main/resources/banner.txt b/wfc-modules/wfc-payment/src/main/resources/banner.txt
similarity index 100%
rename from wfc-modules/wfc-pay/src/main/resources/banner.txt
rename to wfc-modules/wfc-payment/src/main/resources/banner.txt
diff --git a/wfc-modules/wfc-pay/src/main/resources/bootstrap.yml b/wfc-modules/wfc-payment/src/main/resources/bootstrap.yml
similarity index 96%
rename from wfc-modules/wfc-pay/src/main/resources/bootstrap.yml
rename to wfc-modules/wfc-payment/src/main/resources/bootstrap.yml
index a416b24..05e676d 100644
--- a/wfc-modules/wfc-pay/src/main/resources/bootstrap.yml
+++ b/wfc-modules/wfc-payment/src/main/resources/bootstrap.yml
@@ -6,7 +6,7 @@ server:
spring:
application:
# 应用名称
- name: wfc-pay
+ name: wfc-payment
profiles:
# 环境配置
active: '@profileName@'
diff --git a/wfc-modules/wfc-pay/src/main/resources/logback.xml b/wfc-modules/wfc-payment/src/main/resources/logback.xml
similarity index 100%
rename from wfc-modules/wfc-pay/src/main/resources/logback.xml
rename to wfc-modules/wfc-payment/src/main/resources/logback.xml
diff --git a/wfc-modules/wfc-pay/src/main/resources/mapper/pay/CreditCardMapper.xml b/wfc-modules/wfc-payment/src/main/resources/mapper/payment/CreditCardMapper.xml
similarity index 98%
rename from wfc-modules/wfc-pay/src/main/resources/mapper/pay/CreditCardMapper.xml
rename to wfc-modules/wfc-payment/src/main/resources/mapper/payment/CreditCardMapper.xml
index 3320dd5..64661f1 100644
--- a/wfc-modules/wfc-pay/src/main/resources/mapper/pay/CreditCardMapper.xml
+++ b/wfc-modules/wfc-payment/src/main/resources/mapper/payment/CreditCardMapper.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/wfc-modules/wfc-pay/src/main/resources/mapper/pay/PayPalMapper.xml b/wfc-modules/wfc-payment/src/main/resources/mapper/payment/PayPalMapper.xml
similarity index 98%
rename from wfc-modules/wfc-pay/src/main/resources/mapper/pay/PayPalMapper.xml
rename to wfc-modules/wfc-payment/src/main/resources/mapper/payment/PayPalMapper.xml
index 9d3fcbd..d8d4838 100644
--- a/wfc-modules/wfc-pay/src/main/resources/mapper/pay/PayPalMapper.xml
+++ b/wfc-modules/wfc-payment/src/main/resources/mapper/payment/PayPalMapper.xml
@@ -2,7 +2,7 @@
-
+