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