From 1d07f8271751880bdfbf3ea41e696f9ee719888b Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 17 八月 2023 08:48:36 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java |  156 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 154 insertions(+), 2 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..b176c57 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
@@ -12,8 +12,7 @@
 import com.dsh.activity.feignclient.other.StoreClient;
 import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse;
 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.*;
 import com.dsh.activity.service.*;
 import com.dsh.activity.util.GDMapGeocodingUtil;
 import com.dsh.activity.util.StrUtils;
@@ -23,7 +22,11 @@
 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.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -527,4 +530,153 @@
 
     }
 
+
+    @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");
+                String startTime = (String) stringObjectMap.get("startTime");
+                String endTime = (String) 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);
+
+                stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime));
+            }
+            if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){
+                mapList = dealTimeData(mapList,ofSearch.getActiveStatus());
+            }
+        }
+        System.out.println("mapList->"+mapList);
+        return mapList;
+    }
+
+    public int dealTimeStatus(String startTime, String endTime){
+        LocalDate now = LocalDate.now();
+        LocalDate start = LocalDate.parse(startTime);
+        LocalDate end = LocalDate.parse(endTime);
+        if (now.isBefore(start)) {
+            return 1; // 未开始
+        } else if (now.isAfter(end)) {
+            return 3; // 已结束
+        } else {
+            return 2; // 已开始
+        }
+    }
+
+    /**
+     *
+     * @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;
+    }
+
+
+    @PostMapping("/base/pointMerchars/queryPointMerchaseDetailOfId")
+    public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){
+        PointMercharsVo vo = new PointMercharsVo();
+        PointsMerchandise byId = pmdsService.getById(pointMercharsId);
+        if (ToolUtil.isNotEmpty(byId)){
+            vo.setName(byId.getName());
+            vo.setCover(byId.getCover());
+            vo.setPics(byId.getProductImages());
+            vo.setQuantityIssued(byId.getQuantityIssued());
+            vo.setPickUpQuantity(byId.getPickUpQuantity());
+            vo.setSort(byId.getSort());
+            vo.setContent(byId.getRedemptionInstructions());
+        }
+        return vo;
+    }
+
+
+    @PostMapping("/base/pointMerchars/updateGoodsGroudingStatus")
+    boolean updateGoodsGroudingStatus(@RequestBody Map<String,Integer> map){
+        Integer id = map.get("id");
+        Integer type = map.get("type");
+        System.out.println(id);
+        System.out.println(type);
+        try {
+            PointsMerchandise byId = pmdsService.getById(id);
+            byId.setShelves(type);
+            pmdsService.updateById(byId);
+            return true;
+        }catch (Exception e){
+            return false;
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/base/pointMerchars/queryUserPayedGoodsList")
+    public List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo){
+        System.out.println(pointMercharsPayedVo);
+        List<Map<String, Object>>  mapList = new ArrayList<>();
+        LambdaQueryWrapper<UserPointsMerchandise> userPointsMerchandiseLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getPointsMerchandiseId,pointMercharsPayedVo.getId());
+        if (ToolUtil.isNotEmpty(pointMercharsPayedVo.getStatus())){
+            userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getStatus,pointMercharsPayedVo.getStatus());
+        }
+        List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper);
+        System.out.println(list);
+        if (list.size() > 0 ){
+            for (UserPointsMerchandise pointsMerchandise : list) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("id",pointsMerchandise.getId());
+                map.put("userId",pointsMerchandise.getUserId());
+                map.put("status", pointsMerchandise.getStatus());
+                mapList.add(map);
+            }
+        }
+        System.out.println(mapList);
+        return mapList;
+    }
+
 }

--
Gitblit v1.7.1