diff --git a/docs/dev-ops/nginx/html/form.html b/docs/dev-ops/nginx/html/form.html
new file mode 100644
index 0000000..1b82032
--- /dev/null
+++ b/docs/dev-ops/nginx/html/form.html
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/docs/dev-ops/nginx/html/images/keyboard-001.jpg b/docs/dev-ops/nginx/html/images/keyboard-001.jpg
new file mode 100644
index 0000000..7bc43e1
Binary files /dev/null and b/docs/dev-ops/nginx/html/images/keyboard-001.jpg differ
diff --git a/docs/dev-ops/nginx/html/images/placeholder.png b/docs/dev-ops/nginx/html/images/placeholder.png
new file mode 100644
index 0000000..3c58847
Binary files /dev/null and b/docs/dev-ops/nginx/html/images/placeholder.png differ
diff --git a/docs/dev-ops/nginx/html/index.html b/docs/dev-ops/nginx/html/index.html
new file mode 100644
index 0000000..d941634
--- /dev/null
+++ b/docs/dev-ops/nginx/html/index.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+ 商品下单支付页
+
+
+
+
+
+
程序员 - 同款机械键盘
+
+

+
价格:¥1.68
+
+
+
测试账号:jhmfgu7187@sandbox.com 密码:111111 支付:111111
+
+
+
+
+
+
diff --git a/docs/dev-ops/nginx/html/login.html b/docs/dev-ops/nginx/html/login.html
new file mode 100644
index 0000000..a393a3f
--- /dev/null
+++ b/docs/dev-ops/nginx/html/login.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+ S Pay Mall 商城登录页
+
+
+
+
+
S Pay Mall 商城登录页
+
+

+
+
请使用微信扫描二维码登录
+
+
+
+
+
diff --git a/pay-mall-app/src/main/java/edu/whut/config/AliPayConfig.java b/pay-mall-app/src/main/java/edu/whut/config/AliPayConfig.java
index 294ba42..59a691b 100644
--- a/pay-mall-app/src/main/java/edu/whut/config/AliPayConfig.java
+++ b/pay-mall-app/src/main/java/edu/whut/config/AliPayConfig.java
@@ -2,7 +2,6 @@ package edu.whut.config;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -12,12 +11,12 @@ public class AliPayConfig {
@Bean("alipayClient")
public AlipayClient alipayClient(AliPayConfigProperties properties) {
return new DefaultAlipayClient(properties.getGatewayUrl(),
- properties.getApp_id(),
- properties.getMerchant_private_key(),
+ properties.getAppId(),
+ properties.getMerchantPrivateKey(),
properties.getFormat(),
properties.getCharset(),
- properties.getAlipay_public_key(),
- properties.getSign_type());
+ properties.getAlipayPublicKey(),
+ properties.getSignType());
}
}
diff --git a/pay-mall-app/src/main/java/edu/whut/config/AliPayConfigProperties.java b/pay-mall-app/src/main/java/edu/whut/config/AliPayConfigProperties.java
index cda1520..a31663c 100644
--- a/pay-mall-app/src/main/java/edu/whut/config/AliPayConfigProperties.java
+++ b/pay-mall-app/src/main/java/edu/whut/config/AliPayConfigProperties.java
@@ -10,21 +10,21 @@ import org.springframework.stereotype.Component;
public class AliPayConfigProperties {
// 「沙箱环境」应用ID - 您的APPID,收款账号既是你的APPID对应支付宝账号。获取地址;https://open.alipay.com/develop/sandbox/app
- private String app_id;
+ private String appId;
// 「沙箱环境」商户私钥,你的PKCS8格式RSA2私钥
- private String merchant_private_key;
+ private String merchantPrivateKey;
// 「沙箱环境」支付宝公钥
- private String alipay_public_key;
+ private String alipayPublicKey;
// 「沙箱环境」服务器异步通知页面路径
- private String notify_url;
+ private String notifyUrl;
// 「沙箱环境」页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
- private String return_url;
+ private String returnUrl;
// 「沙箱环境」
private String gatewayUrl;
// 签名方式
- private String sign_type = "RSA2";
+ private String signType = "RSA2";
// 字符编码格式
- private String charset = "utf-8";
+ private String charset = "utf-8";
// 传输格式
private String format = "json";
diff --git a/pay-mall-app/src/main/resources/application-dev.yml b/pay-mall-app/src/main/resources/application-dev.yml
index dae3ecb..617cb4d 100644
--- a/pay-mall-app/src/main/resources/application-dev.yml
+++ b/pay-mall-app/src/main/resources/application-dev.yml
@@ -52,7 +52,7 @@ alipay:
alipay_public_key: ${paymall.alipay.alipay-public-key}
notify_url: ${paymall.alipay.notify-url}
return_url: ${paymall.alipay.return-url}
- gateway-url: ${paymall.alipay.gateway-url}
+ gateway_url: ${paymall.alipay.gateway-url}
# 日志
logging:
diff --git a/pay-mall-app/src/test/java/edu/whut/test/AliPayTest.java b/pay-mall-app/src/test/java/edu/whut/test/AliPayTest.java
index fab6c8b..6a48f10 100644
--- a/pay-mall-app/src/test/java/edu/whut/test/AliPayTest.java
+++ b/pay-mall-app/src/test/java/edu/whut/test/AliPayTest.java
@@ -33,24 +33,24 @@ public class AliPayTest {
@Before
public void init() {
- log.info(config.getNotify_url());
+ log.info(config.getNotifyUrl());
// ④ 用属性里的值来构造 AlipayClient
this.alipayClient = new DefaultAlipayClient(
config.getGatewayUrl(),
- config.getApp_id(),
- config.getMerchant_private_key(),
+ config.getAppId(),
+ config.getMerchantPrivateKey(),
config.getFormat(),
config.getCharset(),
- config.getAlipay_public_key(),
- config.getSign_type()
+ config.getAlipayPublicKey(),
+ config.getSignType()
);
}
@Test
public void test_aliPay_pageExecute() throws AlipayApiException {
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); // 发送请求的 Request类
- request.setNotifyUrl(config.getNotify_url());
- request.setReturnUrl(config.getReturn_url());
+ request.setNotifyUrl(config.getNotifyUrl());
+ request.setReturnUrl(config.getReturnUrl());
JSONObject bizContent = new JSONObject();
bizContent.put("out_trade_no", "smile000091004001"); // 我们自己生成的订单编号
@@ -79,7 +79,7 @@ public class AliPayTest {
public void test_alipay_certificateExecute() throws AlipayApiException {
AlipayTradeQueryModel bizModel = new AlipayTradeQueryModel();
- bizModel.setOutTradeNo("daniel82AAAA000032333361Y001");
+ bizModel.setOutTradeNo("smile000091004001");
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
request.setBizModel(bizModel);
diff --git a/pay-mall-trigger/src/main/java/edu/whut/trigger/job/NoPayNotifyOrderJob.java b/pay-mall-trigger/src/main/java/edu/whut/trigger/job/NoPayNotifyOrderJob.java
index f1dde9a..ad77585 100644
--- a/pay-mall-trigger/src/main/java/edu/whut/trigger/job/NoPayNotifyOrderJob.java
+++ b/pay-mall-trigger/src/main/java/edu/whut/trigger/job/NoPayNotifyOrderJob.java
@@ -4,6 +4,7 @@ import com.alipay.api.domain.AlipayTradeQueryModel;
import com.alipay.api.request.AlipayTradeQueryRequest;
import com.alipay.api.response.AlipayTradeQueryResponse;
import edu.whut.domain.order.service.IOrderService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -16,12 +17,12 @@ import java.util.List;
*/
@Slf4j
@Component()
+@RequiredArgsConstructor
public class NoPayNotifyOrderJob {
- @Resource
- private IOrderService orderService;
- @Resource
- private AlipayClient alipayClient;
+ private final IOrderService orderService;
+
+ private final AlipayClient alipayClient;
/**
* 每3秒执行一次,扫描超过1分钟未收到回调的待支付订单
@@ -29,7 +30,7 @@ public class NoPayNotifyOrderJob {
@Scheduled(cron = "0/3 * * * * ?")
public void exec() {
try {
- log.info("任务;检测未接收到或未正确处理的支付回调通知");
+ log.info("任务:检测未接收到或未正确处理的支付回调通知");
List orderIds = orderService.queryNoPayNotifyOrder();
if (null == orderIds || orderIds.isEmpty()) return;
@@ -46,10 +47,15 @@ public class NoPayNotifyOrderJob {
// 如果支付宝返回业务成功码(10000),则更新订单为支付成功
if ("10000".equals(code)) {
orderService.changeOrderPaySuccess(orderId);
+ }else {
+ log.warn("订单[{}]支付宝查询未成功:{}/{}",
+ orderId,
+ alipayTradeQueryResponse.getSubCode(),
+ alipayTradeQueryResponse.getSubMsg());
}
}
} catch (Exception e) {
- log.error("检测未接收到或未正确处理的支付回调通知失败", e);
+ log.error("任务:检测未接收到或未正确处理的支付回调通知 失败", e);
}
}