From 1c842d5a1880469bf1af7067a5c194ae26c3f80d Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 03 四月 2025 19:36:15 +0800
Subject: [PATCH] 惠民卡代码

---
 cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java          |    1 +
 cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml                             |   12 +++++-------
 cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java           |   14 +++++++++++---
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java     |    7 +++++++
 cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js          |    2 +-
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminCard/tHuiminCard_detail.html |    4 ++--
 6 files changed, 27 insertions(+), 13 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 13f5e8c..f6ae5b0 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
@@ -263,15 +263,23 @@
             List<TPayHuimin> payHuimins = payHuiminService.list(new LambdaQueryWrapper<TPayHuimin>()
                     .eq(TPayHuimin::getAppUserId, uid)
                     .ge(TPayHuimin::getEndTime,new Date())
-                    .eq(TPayHuimin::getStatus, 1));
+                    .in(TPayHuimin::getStatus, Arrays.asList(2,3)));
             List<HuiminCardVO> huiminCardVOS = new ArrayList<>();
             for (THuiminCard huiminCardVO : cardList) {
                 HuiminCardVO huiminCardVO1 = new HuiminCardVO();
                 huiminCardVO1.setId(huiminCardVO.getId());
                 List<TPayHuimin> collect = payHuimins.stream().filter(e -> e.getCardId().equals(huiminCardVO.getId())).collect(Collectors.toList());
                 if (!collect.isEmpty()){
-                    huiminCardVO1.setCover(huiminCardVO.getBuyCover());
-                    huiminCardVO1.setIsBuy(1);
+                    for (TPayHuimin tPayHuimin : collect) {
+                        if (tPayHuimin.getStatus().equals(2)){
+                            huiminCardVO1.setCover(huiminCardVO.getBuyCover());
+                            huiminCardVO1.setIsBuy(1);
+                            break;
+                        }else{
+                            huiminCardVO1.setCover(huiminCardVO.getUnBuyCover());
+                            huiminCardVO1.setIsBuy(0);
+                        }
+                    }
                 }else{
                     huiminCardVO1.setCover(huiminCardVO.getUnBuyCover());
                     huiminCardVO1.setIsBuy(0);
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java
index d218cdc..c614538 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java
@@ -22,6 +22,7 @@
     private Integer appUserId;           // 购买用户ID
     private String userName;            // 购买用户
     private String phone;               // 联系电话
+    private Integer carId;               // 惠民卡id
 
     // 时间信息
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java
index 481ac9f..575bf76 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.collection.CollUtil;
 import com.alipay.api.AlipayApiException;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.activity.entity.HuiminPayQuery;
@@ -47,6 +48,12 @@
     public Page<SalesDetailVO> selectPage(HuiminPayQuery query) {
         Page<SalesDetailVO> salesDetailVOPage = baseMapper.selectSalesDetailPage(new Page<>(query.getCurrent(), query.getSize()), query);
         List<SalesDetailVO> records = salesDetailVOPage.getRecords();
+        for (SalesDetailVO record : records) {
+            List<THuiminRecord> list = huiminRecordService.list(new LambdaQueryWrapper<THuiminRecord>()
+                    .eq(THuiminRecord::getAppUserId, record.getAppUserId())
+                    .eq(THuiminRecord::getHuiminCardId, record.getCarId()));
+            record.setUseTimes(list.size());
+        }
         if (CollUtil.isNotEmpty(records)){
             List<Integer> appUserIdList = records.stream().map(SalesDetailVO::getAppUserId).collect(Collectors.toList());
             List<AppUser> appUserList = appUserClient.queryAppUserBatch(appUserIdList);
diff --git a/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml b/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml
index 41def9f..2506461 100644
--- a/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml
@@ -10,20 +10,16 @@
         thc.huiMinType,
         thc.salesMoney,
         thc.operatorId,
-        thc.storeId,
+        thc.storeIds,
         tph.appUserId,
         tph.paymentTime,
         thc.endTime,
         tph.studentId,
-        tph.status,
-        CASE
-        WHEN tph.id IS NULL THEN NULL
-        ELSE COALESCE(COUNT(thr.id), 0)
-        END AS useTimes
+        thc.id as carId,
+        tph.status
         FROM
         t_pay_huimin tph
         LEFT JOIN t_huimin_card thc ON tph.cardId = thc.id
-        LEFT JOIN t_huimin_record thr ON tph.appUserId= thr.appUserId AND tph.cardId= thr.huiminCardId
         <where>
             tph.id IS NOT NULL
             <if test="query.huiMinName !=null and query.huiMinName != ''">
@@ -63,7 +59,9 @@
                     </when>
                 </choose>
             </if>
+        and tph.status!=1
         </where>
+
         ORDER BY tph.insertTime DESC
     </select>
     <select id="getStaticsData" resultType="java.util.Map"
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminCard/tHuiminCard_detail.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminCard/tHuiminCard_detail.html
index c8ef0ef..d788093 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminCard/tHuiminCard_detail.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminCard/tHuiminCard_detail.html
@@ -206,7 +206,7 @@
 
         <!-- 不可用时间 -->
         <el-form-item label="不可用时间" prop="unUseTimes">
-            <el-button type="text" v-on:click="addUnUseTime()">添加</el-button>
+            <el-button type="text" v-on:click="addUnUseTime()">添加2</el-button>
             <div v-for="(item, dayIndex) in huiminCard.unUseTimes"
                  :key="dayIndex"
                  class="date-picker-item mb-2">
@@ -869,7 +869,7 @@
                 console.log(this.weeks)
             },
             addUnUseTime() {
-                this.huiminCard.unUseTimes.push({});
+                this.huiminCard.unUseTimes.push({date:null});
             },
             removeUnUseTime(index) {
                 this.huiminCard.unUseTimes.splice(index, 1);
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js b/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js
index 1c00185..191b051 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js
@@ -31,7 +31,7 @@
             {title: '有效期', field: 'endTime', visible: true, align: 'center', valign: 'middle'},
             {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle',
                 formatter:function(value,row,index){
-                    return {1: '使用中', 2: '已退款'}[value];
+                    return {2: '使用中', 3: '已退款'}[value];
                 }}
     ];
 };

--
Gitblit v1.7.1