From d15bb55822001421572bfee603b3d503cd63e07d Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期三, 21 五月 2025 16:30:32 +0800
Subject: [PATCH] 完善

---
 pt-errand/src/main/java/com/ruoyi/errand/service/impl/VipOrderServiceImpl.java |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/pt-errand/src/main/java/com/ruoyi/errand/service/impl/VipOrderServiceImpl.java b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/VipOrderServiceImpl.java
index 849a970..75b57ec 100644
--- a/pt-errand/src/main/java/com/ruoyi/errand/service/impl/VipOrderServiceImpl.java
+++ b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/VipOrderServiceImpl.java
@@ -15,10 +15,7 @@
 import com.ruoyi.errand.mapper.VipSettingMapper;
 import com.ruoyi.errand.object.dto.app.VipPaymentDTO;
 import com.ruoyi.errand.service.VipOrderService;
-import com.ruoyi.errand.utils.CloseOrderResult;
-import com.ruoyi.errand.utils.PaymentUtil;
-import com.ruoyi.errand.utils.UniPayCallbackResult;
-import com.ruoyi.errand.utils.UniPayResult;
+import com.ruoyi.errand.utils.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.security.core.context.SecurityContextHolder;
@@ -51,8 +48,8 @@
         vipOrder.setAppUserId(appuser.getId());
 
         VipSetting vipSetting = vipSettingMapper.selectById(vipPaymentDTO.getId());
-        vipOrder.setOrderAmount(vipSetting.getVip_price());
-        vipOrder.setPaymentAmount(vipSetting.getVip_price());
+        vipOrder.setOrderAmount(vipSetting.getVipPrice());
+        vipOrder.setPaymentAmount(vipSetting.getVipPrice());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
         vipOrder.setOrderNumber("QJS" + getNumber(3) + sdf.format(new Date()));
         vipOrder.setPayStatus(1);
@@ -62,7 +59,7 @@
         BigDecimal paymentMoney = vipOrder.getOrderAmount();
         if ( BigDecimal.ZERO.compareTo(paymentMoney) < 0){
             //调起微信支付
-            String vipName = vipSetting.getVip_name();
+            String vipName = vipSetting.getVipName();
             UniPayResult uniPayResult = PaymentUtil.uniPay(vipOrder.getOrderNumber(), paymentMoney.doubleValue(),  "购买会员",
                     vipName, "", "/app/vipOrder/orderPaymentCallback", appuser.getWxOpenid(), null);
             if(null == uniPayResult || !"100".equals(uniPayResult.getRa_Code())){
@@ -84,8 +81,10 @@
         Long appUserId = vipOrder.getAppUserId();
         AppUser appUser = appUserMapper.selectById(appUserId);
         appUser.setVipId(vipOrder.getVipId());
-        if (appUser.getEndTime().isBefore(LocalDateTime.now())) {
-            appUser.setStartTime(LocalDateTime.now());
+        LocalDateTime now = LocalDateTime.now();
+        appUser.setEndTime(appUser.getEndTime()==null?now:appUser.getEndTime());
+        if (appUser.getEndTime().isBefore(now)) {
+            appUser.setEndTime(now);
         }
         // 根据 vipId 计算会员到期时间
         LocalDateTime endTime = calculateEndTime(appUser.getEndTime(), vipOrder.getVipId());
@@ -115,7 +114,7 @@
         LocalDateTime now = LocalDateTime.now();
         appUser.setEndTime(appUser.getEndTime()==null?now:appUser.getEndTime());
         if (appUser.getEndTime().isBefore(now)) {
-            appUser.setStartTime(now);
+            appUser.setEndTime(now);
         }
         // 根据 vipId 计算会员到期时间
         LocalDateTime endTime = calculateEndTime(appUser.getEndTime(), vipOrder.getVipId());

--
Gitblit v1.7.1