From 75bac456c3d66f6b173b1213776158c3bc5f8b96 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期日, 05 十一月 2023 09:45:24 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 142 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 140 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 55f23ea..bc73622 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 @@ -9,9 +9,11 @@ import com.dsh.activity.feignclient.course.model.CoursePackage; import com.dsh.activity.feignclient.course.model.CoursePackagePaymentConfig; import com.dsh.activity.feignclient.model.*; +import com.dsh.activity.feignclient.other.OperatorClient; import com.dsh.activity.feignclient.other.StoreClient; import com.dsh.activity.feignclient.other.model.Store; import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; +import com.dsh.activity.feignclient.other.model.TOperatorCity; import com.dsh.activity.model.CoachChangeStateVO; import com.dsh.activity.model.PointMerchandiseIncomeVo; import com.dsh.activity.model.PointMerchandiseVo; @@ -116,6 +118,10 @@ byId.setVerificationUserId(dto.getVerificationUserId()); return userPointsMerchandiseService.updateById(byId); } + @Autowired + private OperatorClient operatorClient; + @Resource + private CouponCityService cityService; @ResponseBody @PostMapping("/base/pointMerchars/ticketList") public List<Map<String,Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch){ @@ -154,6 +160,49 @@ map.put("size",0); } result.add(map); + } + if (Integer.parseInt(String.valueOf(map.get("useScope"))) == 1){ + result.add(map); + } + if (Integer.parseInt(String.valueOf(map.get("useScope"))) == 2){ + // 获取到优惠券id 查询这个优惠券指定了哪些城市 + Integer id1 = Integer.parseInt(String.valueOf(map.get("id"))); + // 获取到运营商管理的省和市 + List<TOperatorCity> cityByOperatorId = operatorClient.getCityByOperatorId(ofSearch.getObjId()); + // 拿到运营商市的code集合 + List<String> collect1 = cityByOperatorId.stream().filter(t -> t.getPid() != 0) + .map(tOperatorCity -> Integer.toString(tOperatorCity.getCode())) + .collect(Collectors.toList()); + List<CouponCity> couponId = cityService.list(new QueryWrapper<CouponCity>().eq("couponId", id1)); + // 先判断优惠券管理的市 运营商是否有 + List<String> collect3 = couponId.stream().map(CouponCity::getCityCode) + .collect(Collectors.toList()); + // 优惠券指定的省 + List<String> collect4 = couponId.stream().map(CouponCity::getCityCode) + .collect(Collectors.toList()); + if (!Collections.disjoint(collect3, collect4)){ + result.add(map); + }else{ + // 如果没有交集 那么还需要判断运营商是否管理了整个省 + + + } + } + if (Integer.parseInt(String.valueOf(map.get("useScope"))) == 3){ + // 获取到优惠券id 查询这个优惠券指定了哪些门店 + Integer id3 = Integer.parseInt(String.valueOf(map.get("id"))); + // 当前运营商管理的门店ids + List<Integer> storeIds = ofSearch.getStoreIds(); + // 优惠券指定的门店 + List<Integer> collect5 = cstoreService.list(new QueryWrapper<CouponStore>().eq("couponId",id3) + .in("storeId", storeIds)).stream().map(CouponStore::getStoreId) + .collect(Collectors.toList()); + // 判断两个集合是否相交 + // 比较两个集合中是否有相同的元素;当两个集合中没有相同元素时返回true, + // 当有相同元素时返回false。 + if (!Collections.disjoint(collect5, storeIds)){ + result.add(map); + } } } } else { @@ -763,7 +812,7 @@ String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); String endDate = dateFormat.format(end); detailsResponse.setStartTime(startDate); - detailsResponse.setEndTime(endDate); + detailsResponse.setEndTime(startDate); Date now = new Date(); Calendar cal1 = Calendar.getInstance(); @@ -821,7 +870,7 @@ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.setTime(pointsMerchandise.getInsertTime()); - calendar.add(Calendar.DAY_OF_MONTH, 365); + calendar.add(Calendar.DAY_OF_MONTH, 372); Date end = calendar.getTime(); String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); String endDate = dateFormat.format(end); @@ -881,6 +930,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()); -- Gitblit v1.7.1