From d62663f2ac1275b548c42571552f6e2d0b750b57 Mon Sep 17 00:00:00 2001
From: lin <642018748@qq.com>
Date: Fri, 21 Apr 2023 18:04:52 +0800
Subject: [PATCH] fix
---
.../com/iformall/domain/po/WxPayOrder.java | 3 ++-
.../iformall/service/wx/WxPayServiceImpl.java | 22 +++++++++++++++++--
.../resources/mapper/WxPayOrderMapper.xml | 3 ++-
3 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/gptService/src/main/java/com/iformall/domain/po/WxPayOrder.java b/gptService/src/main/java/com/iformall/domain/po/WxPayOrder.java
index a64143b..b3b73de 100644
--- a/gptService/src/main/java/com/iformall/domain/po/WxPayOrder.java
+++ b/gptService/src/main/java/com/iformall/domain/po/WxPayOrder.java
@@ -49,7 +49,8 @@ public class WxPayOrder extends TenantEntity {
private Date validStartTime;
@io.swagger.annotations.ApiModelProperty(value="生效结束时间",name="validEndTime")
private Date validEndTime;
-
+ @io.swagger.annotations.ApiModelProperty(value="备注",name="remark")
+ private String remark;
@TableField(exist = false)
private Date begin;
diff --git a/gptService/src/main/java/com/iformall/service/wx/WxPayServiceImpl.java b/gptService/src/main/java/com/iformall/service/wx/WxPayServiceImpl.java
index 30aa05e..0688262 100644
--- a/gptService/src/main/java/com/iformall/service/wx/WxPayServiceImpl.java
+++ b/gptService/src/main/java/com/iformall/service/wx/WxPayServiceImpl.java
@@ -170,6 +170,17 @@ public class WxPayServiceImpl implements WxPayService {
boolean stocksetlock = redisLock.lock("carPayOrderLock_"+orderId, timeStr);
if (stocksetlock) {
try {
+ WxCUser wxCUser = wxCUserMapper.selectById(cUserId, tenantId);
+ if (null == wxCUser) {
+ throw new MallinkException(ErrorCode.SERVER_ERROR.getCode(),"支付更新失败,用户不存在"+cUserId);
+ }
+ Date curr = new Date();
+
+ //用户当前是否已过期
+ boolean isExpired = false;
+ if (null != wxCUser.getValidEndTime() && wxCUser.getValidEndTime().before(curr)) {
+ isExpired = true;
+ }
//创建停车支付订单记录
final IdWorker idworker = IdWorker.get();
payOrder = new WxPayOrder();
@@ -182,13 +193,20 @@ public class WxPayServiceImpl implements WxPayService {
payOrder.setTransactionId(transcationId);
payOrder.setcUserPhone(userPhone);
SysConfig config = sysConfigService.getByKey(SysConfigConstant.expired_days, payOrder);
- Date curr = new Date();
payOrder.setCreateTime(curr);
payOrder.setUpdateTime(curr);
payOrder.setValidStartTime(curr);
- Date endtime = DateUtils.getTimeAfterDays(Integer.parseInt(config.getConfigItemValue()), curr);
+ Date endtime = null;
+ if (isExpired) {
+ endtime = DateUtils.getTimeAfterDays(Integer.parseInt(config.getConfigItemValue()), curr);
+ payOrder.setRemark("过期缴费");
+ }else {
+ endtime = DateUtils.getTimeAfterDays(Integer.parseInt(config.getConfigItemValue()), wxCUser.getValidEndTime());
+ payOrder.setRemark("未过期续费");
+ }
payOrder.setValidEndTime(endtime);
wxPayOrderMapper.insert(payOrder);
+
wxCUserMapper.updateValidTime(cUserId, tenantId, curr, endtime);
}catch(Exception e) {
logger.error("handlePaidSuccess fail.",e);
diff --git a/gptService/src/main/resources/mapper/WxPayOrderMapper.xml b/gptService/src/main/resources/mapper/WxPayOrderMapper.xml
index 098ee96..6f3893f 100644
--- a/gptService/src/main/resources/mapper/WxPayOrderMapper.xml
+++ b/gptService/src/main/resources/mapper/WxPayOrderMapper.xml
@@ -14,11 +14,12 @@
+
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`c_user_id`,`c_user_phone`,`pay_amount`,
- `pay_time`,`transaction_id`,`valid_start_time`,`valid_end_time`
+ `pay_time`,`transaction_id`,`valid_start_time`,`valid_end_time`,`remark`