From 94d774ee91be8785b03a8b59d694c3f412dd92ab Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 29 八月 2025 09:18:29 +0800
Subject: [PATCH] update
---
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 130 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 121 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 59bfd58..231fef5 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
@@ -92,11 +92,13 @@
*/
@RequestMapping("/base/pointMerchars/changeState")
public void changeState(@RequestBody CoachChangeStateVO dto) {
-
-
pmdsService.changeState(dto);
}
-
+ @ResponseBody
+ @PostMapping("/base/pointMerchars/goodsList")
+ public List<PointsMerchandise> goodsList() {
+ return pmdsService.list();
+ }
/**
* 根据id查询
*/
@@ -623,6 +625,8 @@
@Autowired
private UserCouponService userCouponService;
+ @Autowired
+ private VipDetailService vipDetailService;
@PostMapping("/base/pointMerchars/getGoodDetails")
public ProductDetailsVo getGoodDetailsWithId(@RequestBody ProductDetailRequest detailRequest) {
@@ -834,7 +838,7 @@
public ExchangeDetailsVo getIntegralExchangeDetails(@RequestBody Integer appUserId) {
ExchangeDetailsVo detailsVo = new ExchangeDetailsVo();
List<ExchangeDetailsResponse> responses = new ArrayList<>();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<UserPointsMerchandise> pointsMerchandises = upmseService.list(new QueryWrapper<UserPointsMerchandise>()
.eq("userId", appUserId).eq("payStatus", 2));
@@ -1039,6 +1043,26 @@
detailsVo.setDetailsResponses(responses);
}
+ // 2.0新增会员权益赠送门票
+ List<VipDetail> list = vipDetailService.lambdaQuery()
+ .eq(VipDetail::getAppUserId, appUserId).eq(VipDetail::getType, 2).list();
+ for (VipDetail vipDetail : list) {
+ ExchangeDetailsResponse detailsResponse = new ExchangeDetailsResponse();
+ // 添加-用于区分会员权益门票
+ detailsResponse.setDetailsId(Long.valueOf("-"+vipDetail.getId()));
+ detailsResponse.setGoodName(vipDetail.getTicketName());
+ detailsResponse.setStartTime(simpleDateFormat.format(vipDetail.getStartTime()));
+ detailsResponse.setEndTime(simpleDateFormat.format(vipDetail.getEndTime()));
+ detailsResponse.setUseStatus(vipDetail.getStatus()==1?2:1);
+ detailsResponse.setGoodType(3);
+ // 表明是会员赠送的门票
+ detailsResponse.setExchangeType(4);
+ // 全国通用
+ detailsResponse.setRid(Collections.singletonList(0));
+ detailsResponse.setSid(Collections.singletonList(0));
+
+ responses.add(detailsResponse);
+ }
if (userCoupons.size() > 0) {
for (UserCoupon userCoupon : userCoupons) {
@@ -1058,13 +1082,14 @@
detailsResponse.setIntegral(c.getIntegral().intValue());
detailsResponse.setCash(c.getCash());
}
+ if (userCoupon.getIsVipGrant()!=null && userCoupon.getIsVipGrant()==1){
+ detailsResponse.setExchangeType(4);
+ }
detailsResponse.setStartTime(simpleDateFormat.format(c.getStartTime()));
detailsResponse.setEndTime(simpleDateFormat.format(c.getEndTime()));
detailsResponse.setUseStatus(userCoupon.getStatus() == 1 ? 2 : 1);
detailsResponse.setGoodType(4);
responses.add(detailsResponse);
-
-
}
Comparator<ExchangeDetailsResponse> comparator = Comparator.comparing(ExchangeDetailsResponse::getStartTime).reversed();
Collections.sort(responses, comparator);
@@ -1083,9 +1108,95 @@
public PointDetailsVo getSpecificsOfGoods(@RequestBody Long speMercharsId) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
PointDetailsVo detailsVo = new PointDetailsVo();
+
+ if (speMercharsId.toString().contains("-1")){
+ // 会员门票
+ VipDetail vipDetail = vipDetailService.getById(Math.abs(speMercharsId));
+ if (vipDetail.getType()==1){
+ Coupon coupon = iCouponService.getById(vipDetail.getCouponId());
+ detailsVo.setDetailsId(Long.valueOf(coupon.getId()));
+ List<String> list3 = new ArrayList<>();
+ list3.add(ToolUtil.isEmpty(coupon.getCover()) ? "" : coupon.getCover());
+ if (ToolUtil.isNotEmpty(coupon.getProductImages())) {
+ list3.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")));
+ }
+ detailsVo.setPics(list3);
+ Collections.sort(detailsVo.getPics(), (s1, s2) -> {
+ if (s1.equals(coupon.getCover())) {
+ return -1; // s1排在前面
+ } else if (s2.equals(coupon.getCover())) {
+ return 1; // s2排在前面
+ } else {
+ return 0; // 保持原顺序
+ }
+ });
+ detailsVo.setGoodName(coupon.getName());
+ detailsVo.setExchangeType(coupon.getRedemptionMethod());
+ if (coupon.getRedemptionMethod() == 1) {
+ detailsVo.setIntegral(coupon.getIntegral().intValue());
+ } else {
+ detailsVo.setIntegral(coupon.getIntegral().intValue());
+ detailsVo.setCash(coupon.getCash());
+ }
+ if (coupon.getUseScope() == 1) {
+ detailsVo.setExchangeAddrType(1);
+ detailsVo.setBelongs("全国通用");
+ } else if (coupon.getUseScope() == 2) {
+ detailsVo.setExchangeAddrType(2);
+ List<CouponCity> list = ccityService.list(new LambdaQueryWrapper<CouponCity>()
+ .eq(CouponCity::getCouponId, coupon.getId()));
+ if (list.size() > 0) {
+ detailsVo.setBelongs(list.get(0).getProvince() + "|" + list.get(0).getCity() + "用户可用");
+ }
+ } else {
+ detailsVo.setExchangeAddrType(3);
+ List<CouponStore> list = cstoreService.list(new QueryWrapper<CouponStore>()
+ .eq("couponId", coupon.getId()));
+ StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(list.get(0).getStoreId());
+ detailsVo.setBelongs(courseOfStore.getStoreName() + "可用");
+ }
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ detailsVo.setStartTime(format.format(coupon.getStartTime()));
+ detailsVo.setEndTime(format.format(coupon.getEndTime()));
+
+ detailsVo.setContents(coupon.getIllustrate());
+ detailsVo.setGoodType(4);
+ }else{
+
+ // 门票
+ detailsVo.setDetailsId(Long.valueOf("-"+vipDetail.getId()));
+ detailsVo.setGoodName(vipDetail.getTicketName());
+ switch (vipDetail.getStatus()){
+ case 1:
+ detailsVo.setUseType(2);
+ break;
+ case 2:
+ detailsVo.setUseType(1);
+ break;
+ case 3:
+ detailsVo.setUseType(3);
+ break;
+ }
+ detailsVo.setStartTime(simpleDateFormat.format(vipDetail.getStartTime()));
+ detailsVo.setEndTime(simpleDateFormat.format(vipDetail.getEndTime()));
+ detailsVo.setOrderTime(simpleDateFormat.format(vipDetail.getInsertTime()));
+ if (vipDetail.getUseTime()!=null){
+ detailsVo.setWriteOffTime(simpleDateFormat.format(vipDetail.getUseTime()));
+ }
+ if (vipDetail.getUseStoreId()!=null){
+ StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(vipDetail.getUseStoreId());
+ detailsVo.setWriteOffName(courseOfStore.getStoreName());
+ }
+
+ detailsVo.setBelongs("全国通用");
+ detailsVo.setGoodType(3);
+ detailsVo.setCardType(1);
+ detailsVo.setExchangeAddrType(1);
+ }
+ detailsVo.setDetailsId(Long.valueOf("-"+vipDetail.getId()));
+ return detailsVo;
+ }
UserPointsMerchandise byId = upmseService.getById(speMercharsId);
-
-
if (ToolUtil.isNotEmpty(byId)) {
List<PointsMerchandiseStore> stores = storeService.list(new QueryWrapper<PointsMerchandiseStore>().eq("pointsMerchandiseId", byId.getPointsMerchandiseId()));
@@ -1568,7 +1679,8 @@
if (ToolUtil.isNotEmpty(pointMercharsPayedVo.getStatus())) {
userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getStatus, pointMercharsPayedVo.getStatus());
}
- List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper.orderByDesc(UserPointsMerchandise::getPaymentTime));
+ List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper.orderByDesc(UserPointsMerchandise::getPaymentTime)
+ .isNotNull(UserPointsMerchandise::getPaymentTime));
System.out.println(list);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (list.size() > 0) {
--
Gitblit v1.7.1