From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 26 十月 2023 18:04:58 +0800 Subject: [PATCH] 修改bug --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 298 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 287 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 5909e6d..e49f7a3 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 @@ -108,7 +108,27 @@ @ResponseBody @PostMapping("/base/pointMerchars/ticketList") public List<Map<String,Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch){ - List<Map<String, Object>> result = pmdsService.ticketList(ofSearch); + List<Map<String, Object>> result1 = pmdsService.ticketList(ofSearch); + List<Map<String, Object>> result = new ArrayList<>(); + if(ofSearch.getObjType()==3){ + for (Map<String, Object> map : result1) { + List<PointsMerchandiseStore> id = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, map.get("id"))); + List<Integer> collect = id.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + if(collect.contains(ofSearch.getObjId())){ + 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) { Integer o = (Integer) stringObjectMap.get("id"); @@ -181,8 +201,7 @@ for (PointsMerchandise merchandise : merchandises) { IntegralCommodity integralCommodity = new IntegralCommodity(); integralCommodity.setCommodityId(merchandise.getId()); - String[] split = merchandise.getProductImages().split(","); - integralCommodity.setCommodityImg(split[0]); + integralCommodity.setCommodityImg(merchandise.getCover()); integralCommodity.setCommodityName(merchandise.getName()); integralCommodity.setCommodityPrice(merchandise.getPrice()); integralCommodity.setGoodsType(merchandise.getType()); @@ -192,11 +211,29 @@ System.out.println(commodity); return commodity; } - +@Resource +private CoursePackageClient coursePackageClient; + @Autowired + private PointsMerchandiseService pointsMerchandiseService; @ResponseBody @PostMapping("/base/pointMerchars/getCommoditys") public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request){ +// if (request.getShopId()!=null){ +// List<CoursePackage> coursePackages = coursePackageClient.queryByStoreId(request.getShopId()); +// List<Integer> coursIds = new ArrayList<>(); +// for (CoursePackage coursePackage : coursePackages) { +// coursIds.add(coursePackage.getId()); +// } +// List<PointsMerchandise> points = pointsMerchandiseService.list(new QueryWrapper<PointsMerchandise>().eq("state",1).eq("shelves",1).in("coursePackageId", coursIds)); +// PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo(); +// pointMerchandiseVo.setMerchandises(points); +// return pointMerchandiseVo; +// +// } + + + PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo(); List<PointsMerchandise> list = new ArrayList<>(); String provinceCode = ""; @@ -214,12 +251,12 @@ list = pmdsService.list(new QueryWrapper<PointsMerchandise>() .eq("state", 1) - .eq("shelves",1)); + .eq("shelves",1).le("startTime",new Date()).ge("endTime",new Date())); if (list.size() > 0 ){ Iterator<PointsMerchandise> iterator = list.iterator(); while (iterator.hasNext()) { PointsMerchandise merchandise = iterator.next(); - if (merchandise.getUseScope() == 2 && (!Objects.equals(merchandise.getCityCode(), cityCode) && !Objects.equals(merchandise.getProvinceCode(), provinceCode))) { + if (merchandise.getUseScope() == 2 && (!cityCode.equals(merchandise.getCityCode()) || !provinceCode.equals(merchandise.getProvinceCode()))) { iterator.remove(); // 移除符合条件的商品 } } @@ -234,7 +271,191 @@ .eq("pointsMerchandiseId",goodId)); } + @PostMapping("/base/pointMerchars/getGoodDetailsWithIdOne") + public ProductDetailsVo getGoodDetailsWithIdOne(@RequestBody Integer id){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + ProductDetailsVo detailsVo = new ProductDetailsVo(); + PointsMerchandise merchandise = pmdsService.getById(id); + detailsVo.setCardType(merchandise.getCardType()); + switch (merchandise.getType()){ + case 2: +// 课包 + CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId()); + detailsVo.setGoodId(coursePackage.getId()); + List<String> list1 = new ArrayList<>(); + list1.add(coursePackage.getCoverDrawing()); + list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","))); + detailsVo.setPics(list1); + Collections.sort(detailsVo.getPics(), (s1, s2) -> { + if (s1.equals(coursePackage.getCoverDrawing())) { + return -1; // s1排在前面 + } else if (s2.equals(coursePackage.getCoverDrawing())) { + return 1; // s2排在前面 + } else { + return 0; // 保持原顺序 + } + }); + detailsVo.setGoodName(coursePackage.getName()); + detailsVo.setBelongsScope(merchandise.getUserPopulation()); + int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() + .eq("pointsMerchandiseId",merchandise.getId() )); + detailsVo.setRedeemedNum(coursePackageNums); + detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - coursePackageNums, 0)); + detailsVo.setPerLimit(merchandise.getPickUpQuantity()); + if (merchandise.getRedemptionMethod() == 1){ + detailsVo.setExchangeType(1); + detailsVo.setIntegral(merchandise.getIntegral()); + }else { + detailsVo.setExchangeType(2); + detailsVo.setIntegral(merchandise.getIntegral()); + detailsVo.setCash(merchandise.getCash()); + } + detailsVo.setCost(merchandise.getPrice()); + if (merchandise.getUseScope() == 1){ + detailsVo.setExchangeAddrType(1); + detailsVo.setBelongs("全国通用"); + }else if (merchandise.getUseScope() == 2){ + detailsVo.setExchangeAddrType(2); + detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); + }else { + detailsVo.setExchangeAddrType(3); + List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() + .eq("pointsMerchandiseId",merchandise.getId() )); + PointsMerchandiseStore pointsMerchandiseStore = list.get(0); + StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(pointsMerchandiseStore.getStoreId()); + detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + } + List<CoursePackagePaymentConfig> courseConfigList = cpcfigClient.getCourseConfigList(coursePackage.getId()); + + for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { + if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())){ + detailsVo.setCourseHours(coursePackagePaymentConfig.getClassHours()); + break; + } + } + detailsVo.setStartTime(format.format(merchandise.getStartTime())); + detailsVo.setEndTime(format.format(merchandise.getEndTime())); + + detailsVo.setContents(merchandise.getRedemptionInstructions()); + detailsVo.setGoodType(merchandise.getType()); + + break; + case 1: + case 3: + + detailsVo.setGoodId(merchandise.getId()); + List<String> list2 = new ArrayList<>(); + String cover = merchandise.getCover(); + list2.addAll(Arrays.asList(StrUtils.splitStr2StrArr(merchandise.getProductImages(), ","))); + detailsVo.setPics(list2); + Collections.sort(detailsVo.getPics(), (s1, s2) -> { + if (s1.equals(merchandise.getCover())) { + return -1; // s1排在前面 + } else if (s2.equals(merchandise.getCover())) { + return 1; // s2排在前面 + } else { + return 0; // 保持原顺序 + } + }); + detailsVo.setPics(list2); + detailsVo.setGoodName(merchandise.getName()); + detailsVo.setBelongsScope(merchandise.getUserPopulation()); + int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>() + .eq("pointsMerchandiseId",merchandise.getId() )); + detailsVo.setRedeemedNum(count); + detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - count, 0)); + detailsVo.setPerLimit(merchandise.getPickUpQuantity()); + detailsVo.setExchangeType(merchandise.getRedemptionMethod()); + if (merchandise.getRedemptionMethod() == 1){ + detailsVo.setIntegral(merchandise.getIntegral()); + }else { + detailsVo.setIntegral(merchandise.getIntegral()); + detailsVo.setCash(merchandise.getCash()); + } + detailsVo.setCost(merchandise.getPrice()); + if (merchandise.getUseScope() == 1){ + detailsVo.setExchangeAddrType(1); + detailsVo.setBelongs("全国通用"); + }else if (merchandise.getUseScope() == 2){ + detailsVo.setExchangeAddrType(2); + detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); + }else { + detailsVo.setExchangeAddrType(3); + List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() + .eq("pointsMerchandiseId",merchandise.getId() )); + PointsMerchandiseStore pointsMerchandiseStore = list.get(0); + StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(pointsMerchandiseStore.getStoreId()); + detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + } + + detailsVo.setStartTime(format.format(merchandise.getStartTime())); + detailsVo.setEndTime(format.format(merchandise.getEndTime())); + + detailsVo.setContents(merchandise.getRedemptionInstructions()); + detailsVo.setGoodType(merchandise.getType()); + break; + case 4: +// 优惠券 + Coupon coupon = iCouponService.getById(id); + detailsVo.setGoodId(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() )); + detailsVo.setRedeemedNum(couponNums); + detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 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); + break; + default: + break; + } + return detailsVo; + } @PostMapping("/base/pointMerchars/getGoodDetails") public ProductDetailsVo getGoodDetailsWithId(@RequestBody ProductDetailRequest detailRequest){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); @@ -311,7 +532,6 @@ detailsVo.setGoodId(merchandise.getId()); List<String> list2 = new ArrayList<>(); String cover = merchandise.getCover(); - list2.add(cover); list2.addAll(Arrays.asList(StrUtils.splitStr2StrArr(merchandise.getProductImages(), ","))); detailsVo.setPics(list2); Collections.sort(detailsVo.getPics(), (s1, s2) -> { @@ -449,6 +669,43 @@ detailsResponse.setEndTime(simpleDateFormat.format(merchandise.getEndTime())); detailsResponse.setUseStatus(pointsMerchandise.getStatus() == 1 ? 2 : 1); detailsResponse.setGoodType(merchandise.getType()); + if(merchandise.getType()==3){ + detailsResponse.setCardType(merchandise.getCardType()); + List<Integer> sids = new ArrayList<>(); + detailsResponse.setUserId(appUserId); + 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())); + List<String> collect = list.stream().map(PointsMerchandiseCity::getCityCode).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add("-1"); + } + 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); + } + + } + } responses.add(detailsResponse); } detailsVo.setDetailsResponses(responses); @@ -613,7 +870,15 @@ @PostMapping("/base/pointMerchars/queryUserHasGoodsNums") public int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp){ int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getUserId,goodResp.getGoodId()) + .eq(UserPointsMerchandise::getUserId,goodResp.getAppUserId()) + .eq(UserPointsMerchandise::getPointsMerchandiseId,goodResp.getGoodId())); + System.out.println(count); + return count; + } + @ResponseBody + @PostMapping("/base/pointMerchars/queryUserHasGoodsNums1") + public int queryUserHasGoodsNums1(@RequestBody AppUserGoodResp goodResp){ + int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() .eq(UserPointsMerchandise::getPointsMerchandiseId,goodResp.getGoodId())); System.out.println(count); return count; @@ -714,6 +979,8 @@ vo.setSort(byId.getSort()); vo.setContent(byId.getRedemptionInstructions()); } + int count = userPointsMerchandiseService.count(new LambdaQueryWrapper<UserPointsMerchandise>().eq(UserPointsMerchandise::getPointsMerchandiseId, pointMercharsId)); + vo.setNum(count); return vo; } @@ -871,7 +1138,14 @@ for (Store store : stores) { StoreVos storeVos1 = new StoreVos(); storeVos1.setNum1(store.getProvince() +"省"+ store.getCity() +"市"); - storeVos1.setNum2(store.getName()); + if(store.getOperatorId()==0){ + storeVos1.setNum2("平台"); + }else { + + storeVos1.setNum2(store.getOName()); + } + storeVos1.setNum3(store.getName()); + storeVos1.setNum4(store.getIds()); storeVos.add(storeVos1); } } @@ -887,7 +1161,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"); @@ -913,7 +1189,6 @@ } - @PostMapping("/base/pointMerchars/add") public Integer add(@RequestBody PointsMerchandise pointsMerchandise){ Integer storeId = pointsMerchandise.getShelves(); @@ -936,6 +1211,7 @@ + @PostMapping("/base/pointMerchars/addOther") public Boolean addOther(@RequestBody String pam){ Boolean save =false; -- Gitblit v1.7.1