From 0f64a74ee3b818bb42b7b9c9b01a9d33c279781b Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期一, 14 八月 2023 18:31:21 +0800
Subject: [PATCH] 管理后台:修复积分商品列表的数据展示

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 24697ee..f1e511e 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -14,6 +14,7 @@
 import com.dsh.activity.model.PointMerchandiseVo;
 import com.dsh.activity.model.request.AppUserGoodResp;
 import com.dsh.activity.model.request.CommodityRequest;
+import com.dsh.activity.model.request.IntegralGoodsOfSearch;
 import com.dsh.activity.service.*;
 import com.dsh.activity.util.GDMapGeocodingUtil;
 import com.dsh.activity.util.StrUtils;
@@ -23,7 +24,10 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.xml.crypto.Data;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -527,4 +531,79 @@
 
     }
 
+
+    @ResponseBody
+    @PostMapping("/base/pointMerchars/queryGoodsListSearch")
+    public List<Map<String,Object>> getIntegralGoodsListOfSearch(@RequestBody IntegralGoodsOfSearch ofSearch){
+        System.out.println(ofSearch);
+        List<Map<String, Object>> mapList = pmdsService.queryGoodsListOfSearch(ofSearch);
+        if (mapList.size() > 0){
+            for (Map<String, Object> stringObjectMap : mapList) {
+                Integer o = (Integer) stringObjectMap.get("id");
+                Object startTime = stringObjectMap.get("startTime");
+                Object endTime = stringObjectMap.get("endTime");
+                stringObjectMap.put("timeValue",startTime + "至"+endTime);
+                int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
+                        .eq(UserPointsMerchandise::getPointsMerchandiseId, o));
+                int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
+                        .eq(UserPointsMerchandise::getPointsMerchandiseId, o)
+                        .eq(UserPointsMerchandise::getStatus,2));
+                stringObjectMap.put("hasExchangeQty",count1);
+                stringObjectMap.put("hasPickQty",count2);
+            }
+            if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){
+                mapList = dealTimeData(mapList,ofSearch.getActiveStatus());
+            }
+        }
+        // TODO: 2023/8/14 state 活动状态
+        System.out.println("mapList->"+mapList);
+        return mapList;
+    }
+
+
+    /**
+     *
+     * @param mapLists
+     * @param timeType  1=未开始 2=已开始 3=已结束
+     * @return
+     */
+    public List<Map<String, Object>> dealTimeData(List<Map<String, Object>> mapLists,Integer timeType){
+        Date currentDate = new Date();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        switch (timeType){
+            case 1:
+                return mapLists.stream()
+                        .filter(event -> {
+                            try {
+                                return simpleDateFormat.parse((String) event.get("startTime")).after(currentDate);
+                            } catch (ParseException e) {
+                                throw new RuntimeException(e);
+                            }
+                        })
+                        .collect(Collectors.toList());
+            case 2:
+                return mapLists.stream()
+                        .filter(event -> {
+                            try {
+                                return simpleDateFormat.parse((String) event.get("startTime")).before(currentDate) && simpleDateFormat.parse((String) event.get("endTime")).after(currentDate);
+                            } catch (ParseException e) {
+                                throw new RuntimeException(e);
+                            }
+                        })
+                        .collect(Collectors.toList());
+            case 3:
+                return mapLists.stream()
+                        .filter(event -> {
+                            try {
+                                return simpleDateFormat.parse((String) event.get("endTime")).before(currentDate);
+                            } catch (ParseException e) {
+                                throw new RuntimeException(e);
+                            }
+                        })
+                        .collect(Collectors.toList());
+            default:
+                break;
+        }
+        return null;
+    }
 }

--
Gitblit v1.7.1