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 | 258 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 247 insertions(+), 11 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 16ba99f..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());
@@ -126,6 +137,27 @@
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) {
@@ -454,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(), ",")));
@@ -599,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){
@@ -674,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()));
@@ -683,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);
}
@@ -737,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());
@@ -827,6 +1060,7 @@
upmseService.updateById(merchandise);
}
+ @ResponseBody
@PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode")
public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code){
return upmseService.list(new QueryWrapper<UserPointsMerchandise>()
@@ -1148,7 +1382,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");
@@ -1174,7 +1410,6 @@
}
-
@PostMapping("/base/pointMerchars/add")
public Integer add(@RequestBody PointsMerchandise pointsMerchandise){
Integer storeId = pointsMerchandise.getShelves();
@@ -1197,6 +1432,7 @@
+
@PostMapping("/base/pointMerchars/addOther")
public Boolean addOther(@RequestBody String pam){
Boolean save =false;
--
Gitblit v1.7.1