From 2470d3215286123438478f045b43df9f352fa16b Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期四, 02 十一月 2023 16:43:45 +0800 Subject: [PATCH] 11.2 --- cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java | 12 ++++ cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 37 ++++++++---- cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java | 5 + cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java | 2 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 102 +++++++++++++++++++++++++++++++++ cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js | 5 + 6 files changed, 148 insertions(+), 15 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java index 1f28eb8..49a3396 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java @@ -44,7 +44,7 @@ @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase") - public void saveDetailsUserPointMercase( UserPointsMerchandise merchandise); + public Long saveDetailsUserPointMercase( UserPointsMerchandise merchandise); @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase") diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java b/cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java new file mode 100644 index 0000000..eedcf43 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/ReturnModel.java @@ -0,0 +1,12 @@ +package com.dsh.account.model; + + +import lombok.Data; + +@Data +public class ReturnModel { + + private Long returnId; + + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index b1a0865..a849860 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -1193,6 +1193,8 @@ public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) { System.out.println("exchangeType:--->"); + ReturnModel returnModel = new ReturnModel(); + Long returnId = null; //如果是兑换优惠卷 if (exchangeType.getGoodsType()==4){ //查询优惠卷 @@ -1211,10 +1213,6 @@ if (usercounts == coupon.getPickUpQuantity()){ return new ResultUtil<>(0,"限领数量已达最大"); } - - - - // userConponClient.queryCouponById(exchangeType.getGoodId()); UserCoupon userCoupon = new UserCoupon(); userCoupon.setCouponId(exchangeType.getGoodId()); @@ -1222,19 +1220,33 @@ userCoupon.setStatus(1); userCoupon.setInsertTime(new Date()); userConponClient.insertToAppuserCoupon(userCoupon); - - //扣积分 TAppUser user = appUserService.getById(userIdFormRedis); if (user.getIntegral()<coupon.getIntegral().intValue()){ return new ResultUtil<>(0,"当前用户积分不足"); } - user.setIntegral(user.getIntegral()-coupon.getIntegral().intValue()); - appUserService.updateById(user); - return ResultUtil.success(); + //记录 +// UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); +// pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId()); +// pointsMerchandise.setUserId(userIdFormRedis); +// pointsMerchandise.setStatus(1); +// pointsMerchandise.setState(1); +// pointsMerchandise.setPayStatus(1); +//// if (merchandise.getUseScope() == 3){ +//// if (exchangeType.getGoodsType() == 2){ +//// CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId()); +//// pointsMerchandise.setStoreId(coursePackage.getStoreId()); +//// }else { +//// pointsMerchandise.setStoreId(exchangeType.getStoreId()); +//// } +//// } +//// pointsMerchandise.setCode(code); +// returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise); + + return ResultUtil.success(returnId); } @@ -1245,6 +1257,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId()); + if (ToolUtil.isEmpty(merchandise)){ return ResultUtil.error("商品不存在"); } @@ -1302,7 +1315,7 @@ } } pointsMerchandise.setCode(code); - mcClient.saveDetailsUserPointMercase(pointsMerchandise); + returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise); } switch (exchangeType.getExchangeType()){ @@ -1410,8 +1423,8 @@ break; } - - return ResultUtil.success(); + returnModel.setReturnId(returnId); + return ResultUtil.success(returnModel); }catch (Exception e){ e.printStackTrace(); return null; diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java index 22d3b45..712488c 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java @@ -175,6 +175,8 @@ public List<ExchangeDetailsResponse> queryExchangeGoodsdetails1(Integer userIdFormRedis, Integer useType, Integer goodType, Integer page, Integer size) { List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>(); ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis); + + if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())){ detailsResponses = integralExchangeDetails.getDetailsResponses(); if (ToolUtil.isNotEmpty(useType)){ @@ -189,6 +191,9 @@ } } + + + int totalItems = detailsResponses.size(); int startIndex = (page - 1) * size; int endIndex = Math.min(startIndex + size, totalItems); 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 f477001..350ae1b 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 @@ -690,6 +690,10 @@ } + @Autowired + private ICouponService couponService; + + @ResponseBody @PostMapping("/base/pointMerchars/getDetailsOfExchange") public ExchangeDetailsVo getIntegralExchangeDetails(@RequestBody Integer appUserId){ @@ -698,6 +702,11 @@ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); List<UserPointsMerchandise> pointsMerchandises = upmseService.list(new QueryWrapper<UserPointsMerchandise>() .eq("userId",appUserId )); + + + List<UserCoupon> userCoupons = userCouponService.list(new QueryWrapper<UserCoupon>().eq("userId", appUserId)); + + if (pointsMerchandises.size() > 0 ){ for (UserPointsMerchandise pointsMerchandise : pointsMerchandises) { PointsMerchandise merchandise = pmdsService.getById(pointsMerchandise.getPointsMerchandiseId()); @@ -843,6 +852,35 @@ responses.add(detailsResponse); } detailsVo.setDetailsResponses(responses); + } + + if (userCoupons.size()>0){ + for (UserCoupon userCoupon : userCoupons) { + Coupon c = couponService.getById(userCoupon.getCouponId()); + if (c==null){ + continue; + } + ExchangeDetailsResponse detailsResponse = new ExchangeDetailsResponse(); + detailsResponse.setDetailsId(Long.valueOf(c.getId())); + detailsResponse.setGoodName(c.getName()); + if (c.getRedemptionMethod() == 1){ + detailsResponse.setExchangeType(1); + detailsResponse.setIntegral(c.getIntegral().intValue()); + }else { + detailsResponse.setExchangeType(2); + detailsResponse.setIntegral(c.getIntegral().intValue()); + detailsResponse.setCash(c.getCash()); + } + 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); + + + } + detailsVo.setDetailsResponses(responses); + } return detailsVo; } @@ -1043,6 +1081,67 @@ break; } detailsVo.setContents(pmdsServiceById.getRedemptionInstructions()); + }else { + Coupon coupon = iCouponService.getById(speMercharsId); + 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.setBelongsScope(coupon.getUserPopulation()); +// 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){ + 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()+"可用"); +// } +// detailsVo.setStartTime(format.format(coupon.getStartTime())); +// detailsVo.setEndTime(format.format(coupon.getEndTime())); + + detailsVo.setContents(coupon.getIllustrate()); + detailsVo.setGoodType(4); } return detailsVo; } @@ -1055,9 +1154,10 @@ @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase") - public void saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ + public Long saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ merchandise.setInsertTime(new Date()); upmseService.save(merchandise); + return merchandise.getId(); } diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js index e816df7..5267798 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js @@ -438,9 +438,12 @@ cityIds.push(inData); } } - cts = cityIds.join(','); } + cts = cityIds.join(','); + console.log("============到达城市"+cts) + } + } const commaSeparatedString = this.goodsPicArray.join(','); -- Gitblit v1.7.1