From 3fdc0a7ebcc231b8de7c029bf81e7053b7506bf0 Mon Sep 17 00:00:00 2001
From: "0.0" <1092404103.qq.com>
Date: Tue, 22 Mar 2022 15:42:27 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=94=AF=E4=BB=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
xhm-admin/pom.xml | 4 +---
.../wjnft/service/impl/WjPayInfoServiceImpl.java | 14 ++++++++++++++
.../utils/redis/RedisKeyExpirationListener.java | 11 ++++++++---
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/xhm-admin/pom.xml b/xhm-admin/pom.xml
index f6f8d70..3bb182e 100644
--- a/xhm-admin/pom.xml
+++ b/xhm-admin/pom.xml
@@ -66,9 +66,7 @@
com.xhm
xhm-wjnft
-
-
-
+
org.springframework.security
spring-security-core
diff --git a/xhm-wjnft/src/main/java/com/xhm/wjnft/service/impl/WjPayInfoServiceImpl.java b/xhm-wjnft/src/main/java/com/xhm/wjnft/service/impl/WjPayInfoServiceImpl.java
index 1d7901e..c206462 100644
--- a/xhm-wjnft/src/main/java/com/xhm/wjnft/service/impl/WjPayInfoServiceImpl.java
+++ b/xhm-wjnft/src/main/java/com/xhm/wjnft/service/impl/WjPayInfoServiceImpl.java
@@ -4,12 +4,15 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
+import com.xhm.common.core.domain.AjaxResult;
+import com.xhm.common.core.redis.RedisCache;
import com.xhm.common.utils.DateUtils;
import com.xhm.common.utils.uuid.IdUtils;
import com.xhm.wjnft.domain.WjCollection;
import com.xhm.wjnft.domain.WjOrder;
import com.xhm.wjnft.domain.WjUsers;
import com.xhm.wjnft.mapper.*;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xhm.wjnft.domain.WjPayInfo;
@@ -23,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
* @date 2022-02-19
*/
@Service
+@Slf4j
public class WjPayInfoServiceImpl implements IWjPayInfoService {
@Autowired
private WjPayInfoMapper wjPayInfoMapper;
@@ -36,6 +40,9 @@ public class WjPayInfoServiceImpl implements IWjPayInfoService {
@Autowired
private WjCollectionMapper wjCollectionMapper;
+ @Autowired
+ private RedisCache redisCache;
+
/**
* 查询支付详细信息
@@ -240,6 +247,13 @@ public class WjPayInfoServiceImpl implements IWjPayInfoService {
if (total_fee != null) {
wjOrder.setActualAmountPaid(Double.parseDouble(total_fee) / 100);
}
+ //删除订单缓存
+ String id = orderMapper.selectWjOrderByOrderNumber(orderNumber).getId();
+ try {
+ redisCache.deleteObject(id);
+ }catch (RuntimeException e){
+ log.error("订单已做失效处理");
+ }
orderMapper.updateWjOrderByorderNumber(wjOrder);
//更新支付详细表
WjOrder orderVo = orderMapper.selectWjOrderByOrderNumber(orderNumber);
diff --git a/xhm-wjnft/src/main/java/com/xhm/wjnft/utils/redis/RedisKeyExpirationListener.java b/xhm-wjnft/src/main/java/com/xhm/wjnft/utils/redis/RedisKeyExpirationListener.java
index 85e577b..6e4d4d7 100644
--- a/xhm-wjnft/src/main/java/com/xhm/wjnft/utils/redis/RedisKeyExpirationListener.java
+++ b/xhm-wjnft/src/main/java/com/xhm/wjnft/utils/redis/RedisKeyExpirationListener.java
@@ -4,9 +4,9 @@ import com.xhm.wjnft.domain.WjCollection;
import com.xhm.wjnft.domain.WjOrder;
import com.xhm.wjnft.domain.WjPayInfo;
import com.xhm.wjnft.mapper.WjCollectionMapper;
-import com.xhm.wjnft.mapper.WjMyCollectionMapper;
import com.xhm.wjnft.mapper.WjOrderMapper;
import com.xhm.wjnft.mapper.WjPayInfoMapper;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
@@ -15,6 +15,7 @@ import org.springframework.stereotype.Component;
import java.util.Date;
+@Slf4j
@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
public RedisKeyExpirationListener(RedisMessageListenerContainer container) {
@@ -35,12 +36,12 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
*/
@Override
public void onMessage(Message message, byte[] pattern) {
+ try {
String key=message.toString();//失效的key
if (key!=null ){
//截取订单号,查询订单,如果是未支付状态则取消订单
WjOrder wjOrder = wjOrderMapper.selectWjOrderById(key);
if (wjOrder !=null && wjOrder.getOrderState().equals(1)){
- //
WjOrder order = new WjOrder();
order.setId(key);
order.setOrderState(7);
@@ -59,8 +60,12 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
wjCollectionData.setNumberRemaining(wjCollection.getNumberRemaining()+1);
wjCollectionMapper.updateWjCollection(wjCollectionData);
}
- System.out.println("订单号为:"+key+"的订单超时未支付,取消订单");
+ log.info("订单号为:"+key+"的订单超时未支付,取消订单");
}
}
+ }catch (Exception e){
+ e.printStackTrace();
+ log.error("【修改支付订单过期状态异常】:" + e.getMessage());
+ }
}
}
\ No newline at end of file
From 0beb867b5aed1056dd62b8de285c5a1e625698b5 Mon Sep 17 00:00:00 2001
From: "0.0" <1092404103.qq.com>
Date: Tue, 22 Mar 2022 16:49:32 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E6=8E=92=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/mapper/wjnft/WjIncomeStatementMapper.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xhm-wjnft/src/main/resources/mapper/wjnft/WjIncomeStatementMapper.xml b/xhm-wjnft/src/main/resources/mapper/wjnft/WjIncomeStatementMapper.xml
index b294a0f..0384c9c 100644
--- a/xhm-wjnft/src/main/resources/mapper/wjnft/WjIncomeStatementMapper.xml
+++ b/xhm-wjnft/src/main/resources/mapper/wjnft/WjIncomeStatementMapper.xml
@@ -67,7 +67,7 @@
and i.uodated_time = #{uodatedTime}
= #{startTime} ]]>
-
+ ORDER BY i.created_time desc