From c2d59caac4e8a874adf1488e4b1a6f417d168ceb Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 16 四月 2025 14:24:02 +0800
Subject: [PATCH] bug修改

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java |   55 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 10 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
index 588136b..bf0f46f 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
@@ -100,6 +100,9 @@
                 return ResultUtil.tokenErr();
             }
             THuiminCard huiminCard = huiminCardService.getById(id);
+            if (huiminCard.getEndTime()!=null && huiminCard.getEndTime().before(new Date())){
+                return ResultUtil.error("该惠民卡已过期");
+            }
             if (huiminCard.getGrantCount()!=null){
                 if (huiminCard.getGrantCount()<=payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId())
                         .eq(TPayHuimin::getStatus,2).count()){
@@ -129,12 +132,11 @@
                 case 2:
                     // 年内卡
                     Date date1 = new Date();
-
                     date1.setMonth(11);
                     date1.setDate(31);
                     date1.setHours(23);
                     date1.setMinutes(59);
-                    date1.setSeconds(59);
+                    date1.setSeconds(57);
                     tPayHuimin.setEndTime(date1);
                     break;
             }
@@ -164,6 +166,7 @@
         }
         return ResultUtil.success();
     }
+
 
     /**
      * 查看惠民卡详情
@@ -218,7 +221,16 @@
                                     .eq(THuiminAgreementSetting::getAgreementId, huiminAgreement.getId()));
                             huiminCard.setAgreementSettings(list);
                         }else {
-                            huiminCard.setAgreementSettings(new ArrayList<>());
+                            THuiminAgreement huiminAgreement1 = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
+                                    .isNull(THuiminAgreement::getOperatorId));
+                            if (huiminAgreement1!=null){
+                                List<THuiminAgreementSetting> list = huiminAgreementSettingService.list(new LambdaQueryWrapper<THuiminAgreementSetting>()
+                                        .eq(THuiminAgreementSetting::getAgreementId, huiminAgreement1.getId()));
+                                huiminCard.setAgreementSettings(list);
+                            }else {
+                                huiminCard.setAgreementSettings(new ArrayList<>());
+
+                            }
                         }
                     }
                 }else{
@@ -270,7 +282,15 @@
             }else{
                 THuiminAgreement one = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
                         .eq(THuiminAgreement::getOperatorId,store.getOperatorId()).last("limit 1"));
-                huiminAgreementVO.setIntroduce(one.getStoreNoHuiminCardIntro());
+                if (one == null){
+                    THuiminAgreement two = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
+                            .isNull(THuiminAgreement::getOperatorId).last("limit 1"));
+                    huiminAgreementVO.setIntroduce(two.getStoreNoHuiminCardIntro());
+
+                }else{
+                    huiminAgreementVO.setIntroduce(one.getStoreNoHuiminCardIntro());
+
+                }
 
             }
 
@@ -329,13 +349,10 @@
             List<THuiminCard> list = huiminCardService.list();
             for (MyHuiminCardVO myHuiminCardVO : cardList) {
                 TPayHuimin byId = payHuiminService.getById(myHuiminCardVO.getId());
+                myHuiminCardVO.setEndTime(byId.getEndTime());
+
                 myHuiminCardVO.setSalesMoney(byId.getSalesMoney());
-                if (myHuiminCardVO.getEndTime().before(new Date())){
-                    // 已过期
-                    myHuiminCardVO.setIsExpire(1);
-                }else{
-                    myHuiminCardVO.setIsExpire(0);
-                }
+
                 int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>()
                         .eq(THuiminRecord::getHuiminCardId, myHuiminCardVO.getCardId()));
                 // 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款
@@ -350,6 +367,15 @@
                 THuiminCard huiminCard = list.stream().filter(e -> e.getId().equals(myHuiminCardVO.getCardId())).findFirst().orElse(null);
                 if (null!=huiminCard){
                     myHuiminCardVO.setCover(huiminCard.getBuyCover());
+                }
+                if (myHuiminCardVO.getEndTime().before(new Date())){
+                    // 已过期
+                    myHuiminCardVO.setIsExpire(1);
+                    if (null!=huiminCard){
+                        myHuiminCardVO.setCover(huiminCard.getUnBuyCover());
+                    }
+                }else{
+                    myHuiminCardVO.setIsExpire(0);
                 }
                 // 查询绑定人员列表
                 List<TStudent> studentByIds = studentClient.getStudentByIds(myHuiminCardVO.getStudentId());
@@ -426,6 +452,15 @@
             return ResultUtil.success(new ArrayList<>());
         }
     }
+
+    public static void main(String[] args) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime localDateTime = LocalDateTime.now().plusDays(365);
+        // 将LocalDateTime转换为Date类型
+        Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
+        String format = simpleDateFormat.format(date);
+        System.err.println(format);
+    }
     /**
      * 个人中心-我的惠民卡-查看详情
      */

--
Gitblit v1.7.1