From c697ed09cb1e257bc54603213b304e0f156326a6 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 02 十一月 2023 10:34:07 +0800
Subject: [PATCH] 支付会员送券功能补充 运营商权限bug修改
---
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 222 insertions(+), 9 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 fad57a0..e374344 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,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(), ",")));
@@ -620,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){
@@ -695,6 +723,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()));
@@ -704,15 +733,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);
}
@@ -758,6 +881,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());
@@ -848,6 +1060,7 @@
upmseService.updateById(merchandise);
}
+ @ResponseBody
@PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode")
public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code){
return upmseService.list(new QueryWrapper<UserPointsMerchandise>()
--
Gitblit v1.7.1