From 6af0c7434178ca41e727c700af8174201a865de9 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期四, 02 十一月 2023 11:55:29 +0800 Subject: [PATCH] 10.31.8 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 299 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 284 insertions(+), 15 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 9af0f39..e5ca82e 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 @@ -89,12 +89,23 @@ * 门票上下架 state=1 上架 state=2 下架 */ @RequestMapping("/base/pointMerchars/changeState") - public Object changeState(@RequestBody CoachChangeStateVO dto){ - return pmdsService.changeState(dto); + public void changeState(@RequestBody CoachChangeStateVO dto){ + + + pmdsService.changeState(dto); } /** * 门票核销 */ + + @RequestMapping("/base/course/changeState") + @ResponseBody + public Object changeState(@RequestBody CourseChangeStateDTO dto){ + return userPointsMerchandiseService.changeState(dto); + } + + + @RequestMapping("/base/pointMerchars/writeOff") public Object writeOff(@RequestBody WriteOffDTO dto){ UserPointsMerchandise byId = userPointsMerchandiseService.getById(dto.getId()); @@ -108,7 +119,46 @@ @ResponseBody @PostMapping("/base/pointMerchars/ticketList") public List<Map<String,Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch){ - List<Map<String, Object>> result = pmdsService.ticketList(ofSearch); + List<Map<String, Object>> result1 = pmdsService.ticketList(ofSearch); + List<Map<String, Object>> result = new ArrayList<>(); + if(ofSearch.getObjType()==3){ + for (Map<String, Object> map : result1) { + List<PointsMerchandiseStore> id = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, map.get("id"))); + List<Integer> collect = id.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + if(collect.contains(ofSearch.getObjId())){ + if(id.size()>1){ + map.put("size",1); + }else { + map.put("size",0); + } + result.add(map); + } + } + }else if(ofSearch.getObjType()==2){ + for (Map<String, Object> map : result1) { + // 拿到当前运营商下的门店的门票 + List<PointsMerchandiseStore> id = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>().in("storeId",ofSearch.getStoreIds())); + // 拿到积分商品id集合 + List<Integer> collect = id.stream().map(PointsMerchandiseStore::getPointsMerchandiseId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + Integer temp =(Integer)map.get("id"); + if (collect.contains(temp)){ + if(id.size()>1){ + map.put("size",1); + }else { + map.put("size",0); + } + result.add(map); + } + } + } else { + result=result1; + } if (result.size() > 0){ for (Map<String, Object> stringObjectMap : result) { Integer o = (Integer) stringObjectMap.get("id"); @@ -193,12 +243,24 @@ } @Resource private CoursePackageClient coursePackageClient; + @Autowired + private PointsMerchandiseService pointsMerchandiseService; + @ResponseBody @PostMapping("/base/pointMerchars/getCommoditys") public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request){ - if (request.getShopId()!=null){ - CoursePackage coursePackage = coursePackageClient.queryByStoreId(request.getShopId()); - } +// if (request.getShopId()!=null){ +// List<CoursePackage> coursePackages = coursePackageClient.queryByStoreId(request.getShopId()); +// List<Integer> coursIds = new ArrayList<>(); +// for (CoursePackage coursePackage : coursePackages) { +// coursIds.add(coursePackage.getId()); +// } +// List<PointsMerchandise> points = pointsMerchandiseService.list(new QueryWrapper<PointsMerchandise>().eq("state",1).eq("shelves",1).in("coursePackageId", coursIds)); +// PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo(); +// pointMerchandiseVo.setMerchandises(points); +// return pointMerchandiseVo; +// +// } @@ -424,18 +486,28 @@ } return detailsVo; } + + + @Autowired + private UserCouponService userCouponService; @PostMapping("/base/pointMerchars/getGoodDetails") public ProductDetailsVo getGoodDetailsWithId(@RequestBody ProductDetailRequest detailRequest){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); ProductDetailsVo detailsVo = new ProductDetailsVo(); PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId()); - detailsVo.setCardType(merchandise.getCardType()); + + + + if (merchandise!=null) { + detailsVo.setCardType(merchandise.getCardType()); + } switch (detailRequest.getGoodsType()){ case 2: // 课包 CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId()); - detailsVo.setGoodId(coursePackage.getId()); +// detailsVo.setGoodId(coursePackage.getId()); + detailsVo.setGoodId(merchandise.getId()); List<String> list1 = new ArrayList<>(); list1.add(coursePackage.getCoverDrawing()); list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","))); @@ -569,10 +641,17 @@ }); detailsVo.setGoodName(coupon.getName()); detailsVo.setBelongsScope(coupon.getUserPopulation()); - int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() - .eq("pointsMerchandiseId",merchandise.getId() )); - detailsVo.setRedeemedNum(couponNums); - detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 0)); +// int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() +// .eq("pointsMerchandiseId",merchandise.getId() )); + + + + int couponCounts = userCouponService.count(new QueryWrapper<UserCoupon>().eq("couponId", coupon.getId())); +// detailsVo.setRedeemedNum(coupon.getPickUpQuantity()); + detailsVo.setRedeemedNum(couponCounts); + + detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponCounts, 0)); + detailsVo.setPerLimit(coupon.getPickUpQuantity()); detailsVo.setExchangeType(coupon.getRedemptionMethod()); if (coupon.getRedemptionMethod() == 1){ @@ -622,6 +701,9 @@ if (pointsMerchandises.size() > 0 ){ for (UserPointsMerchandise pointsMerchandise : pointsMerchandises) { PointsMerchandise merchandise = pmdsService.getById(pointsMerchandise.getPointsMerchandiseId()); + if (merchandise==null){ + continue; + } ExchangeDetailsResponse detailsResponse = new ExchangeDetailsResponse(); detailsResponse.setDetailsId(pointsMerchandise.getId()); detailsResponse.setGoodName(merchandise.getName()); @@ -644,6 +726,7 @@ if(merchandise.getUseScope()==1){ sids.add(0); detailsResponse.setSid(sids); + detailsResponse.setRid(new ArrayList<>()); }else if(merchandise.getUseScope()==2){ // 指定城市 List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>().eq(PointsMerchandiseCity::getPointsMerchandiseId, merchandise.getId())); @@ -653,15 +736,109 @@ } List<Integer> storeIds = stoClient.queryStoreIdByCityCode(collect); detailsResponse.setSid(storeIds); + if(storeIds.size()>0){ + // 获取rid + List<Integer> rid= stoClient.querySiteIdById(storeIds); + detailsResponse.setRid(rid); + } + }else if(merchandise.getUseScope()==3){ // 指定门店 List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, merchandise.getId())); List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); detailsResponse.setSid(collect); - + if(collect.size()>0){ + // 获取rid + List<Integer> rid= stoClient.querySiteIdById(collect); + detailsResponse.setRid(rid); + } } + + + if (merchandise.getCardType()==1){ + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 1); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + String endDate = dateFormat.format(end); + detailsResponse.setStartTime(startDate); + detailsResponse.setEndTime(startDate); + + Date now = new Date(); + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(pointsMerchandise.getInsertTime()); + + Calendar cal2 = Calendar.getInstance(); + cal2.setTime(now); + + // Compare the year, month, and day of the two Calendar instances + boolean isSameDate = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && + cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH) && + cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH); + + // Print the result + if (isSameDate) { + detailsResponse.setUseStatus(3); + } else { + System.out.println("The two dates do not have the same date."); + } + + + } else if (merchandise.getCardType()==2) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 31); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + String endDate = dateFormat.format(end); + detailsResponse.setStartTime(startDate); + detailsResponse.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsResponse.setUseStatus(3); + } + + } else if (merchandise.getCardType()==3) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 93); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + String endDate = dateFormat.format(end); + detailsResponse.setStartTime(startDate); + detailsResponse.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsResponse.setUseStatus(3); + } + + } else if (merchandise.getCardType()==4) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 372); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + String endDate = dateFormat.format(end); + detailsResponse.setStartTime(startDate); + detailsResponse.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsResponse.setUseStatus(3); + } + + } + + } responses.add(detailsResponse); } @@ -707,6 +884,95 @@ return 0; // 保持原顺序 } }); + + + + + if (pmdsServiceById.getCardType()==1){ + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 1); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + pmdsServiceById.setStartTime(pmdsServiceById.getInsertTime()); + pmdsServiceById.setEndTime(pmdsServiceById.getInsertTime()); + + Date now = new Date(); + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(pmdsServiceById.getInsertTime()); + + Calendar cal2 = Calendar.getInstance(); + cal2.setTime(now); + + // Compare the year, month, and day of the two Calendar instances + boolean isSameDate = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && + cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH) && + cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH); + + // Print the result + if (isSameDate) { + detailsVo.setUseType(3); + } else { + System.out.println("The two dates do not have the same date."); + } + + + } else if (pmdsServiceById.getCardType()==2) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 31); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsVo.setUseType(3); + } + + } else if (pmdsServiceById.getCardType()==3) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 93); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsVo.setUseType(3); + } + + } else if (pmdsServiceById.getCardType()==4) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 372); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsVo.setUseType(3); + } + + } + + + + + break; case 2: CoursePackage coursePackage = cpClient.queryCoursePackageById(pmdsServiceById.getCoursePackageId()); @@ -797,6 +1063,7 @@ upmseService.updateById(merchandise); } + @ResponseBody @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code){ return upmseService.list(new QueryWrapper<UserPointsMerchandise>() @@ -1118,7 +1385,9 @@ try { Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId"); PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId); - + if(Integer.valueOf(map.get("type").toString())!=1){ + byId1.setStatus(2); + } Integer quantityIssued = (Integer) map.get("quantityIssued"); Integer pickUpQuantity = (Integer) map.get("pickUpQuantity"); String redemptionInstructions = (String) map.get("redemptionInstructions"); @@ -1144,7 +1413,6 @@ } - @PostMapping("/base/pointMerchars/add") public Integer add(@RequestBody PointsMerchandise pointsMerchandise){ Integer storeId = pointsMerchandise.getShelves(); @@ -1167,6 +1435,7 @@ + @PostMapping("/base/pointMerchars/addOther") public Boolean addOther(@RequestBody String pam){ Boolean save =false; -- Gitblit v1.7.1