From b6a38fc7ee081c8bf3370ee6fe8e7a7dd22e7230 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期四, 02 十一月 2023 08:52:06 +0800 Subject: [PATCH] 支付会员送券功能补充 运营商权限bug修改 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 127 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 119 insertions(+), 8 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 81014c1..55f23ea 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()); @@ -475,19 +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(), ","))); @@ -621,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){ @@ -725,6 +752,90 @@ } } + + + 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(endDate); + + 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, 365); + 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); } -- Gitblit v1.7.1