From db3e6f6d5a8f29a5dc576aba2eab76a8133ce03c Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 08 三月 2024 21:46:10 +0800 Subject: [PATCH] 11.27,9 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 200 +++++++++++++++++++++++++++++++++---------------- 1 files changed, 134 insertions(+), 66 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 dfc7229..7984939 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 @@ -10,11 +10,9 @@ import com.dsh.activity.feignclient.course.model.CoursePackagePaymentConfig; import com.dsh.activity.feignclient.model.*; import com.dsh.activity.feignclient.other.OperatorClient; +import com.dsh.activity.feignclient.other.SiteClient; import com.dsh.activity.feignclient.other.StoreClient; -import com.dsh.activity.feignclient.other.model.Store; -import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; -import com.dsh.activity.feignclient.other.model.StoreInfoDto; -import com.dsh.activity.feignclient.other.model.TOperatorCity; +import com.dsh.activity.feignclient.other.model.*; import com.dsh.activity.model.CoachChangeStateVO; import com.dsh.activity.model.PointMerchandiseIncomeVo; import com.dsh.activity.model.PointMerchandiseVo; @@ -27,6 +25,7 @@ import com.dsh.activity.util.*; import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -78,6 +77,8 @@ @Resource private CouponCityService ccityService; + @Autowired + private SiteClient siteClient; @Resource @@ -287,18 +288,21 @@ @Autowired private PointsMerchandiseStoreService pointsMerchandiseStoreService; + + @Autowired + private CouponStoreService couponStoreService; + @ResponseBody @PostMapping("/base/pointMerchars/convertGoods") public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception { List<IntegralCommodity> commodity = new ArrayList<>(); Map<String, String> geocode = gdMapGeocodingUtil.geocode(location.getLon(), location.getLat()); + if(null == geocode){ + return new ArrayList<>(); + } String provinceCode = geocode.get("provinceCode"); String cityCode = geocode.get("cityCode"); - - -// if(null != geocode) { - List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode)); Store s = null; Double d = 0D; @@ -310,26 +314,21 @@ d = wgs84; } } -// } - -// List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode)); List<Integer> cIds = new ArrayList<>(); -// for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) { -// cIds.add(pointsMerchandiseCity.getPointsMerchandiseId()); -// } - List<PointsMerchandiseStore> storesids = pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId", s.getId())); for (PointsMerchandiseStore storesid : storesids) { cIds.add(storesid.getPointsMerchandiseId()); } -// if (cIds.size()>0) { - - List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>().in("id", cIds) + QueryWrapper<PointsMerchandise> wrapper = new QueryWrapper<PointsMerchandise>() .eq("state", 1) .eq("shelves", 1) - .gt("endTime", new Date()).last("ORDER BY sort desc,insertTime desc")); + .gt("endTime", new Date()); + if(cIds.size() > 0){ + wrapper.in("id", cIds); + } + List<PointsMerchandise> merchandises = pmdsService.list(wrapper.last("ORDER BY sort desc,insertTime desc")); if (merchandises.size() > 0) { for (PointsMerchandise merchandise : merchandises) { IntegralCommodity integralCommodity = new IntegralCommodity(); @@ -341,34 +340,42 @@ integralCommodity.setSort(merchandise.getSort()); commodity.add(integralCommodity); } -// } } + + List<CouponStore> storeId = couponStoreService.list(new QueryWrapper<CouponStore>().eq("storeId", s.getId())); + List<Integer> storeCoupons = new ArrayList<>(); + for (CouponStore couponStore : storeId) { + storeCoupons.add(couponStore.getCouponId()); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + QueryWrapper<Coupon> queryWrapper = new QueryWrapper<Coupon>().eq("state", 1).gt("endTime", sdf.format(new Date())); + if(storeCoupons.size() > 0){ + queryWrapper.in("id", storeCoupons); + } + List<Coupon> list = couponService.list(queryWrapper.last(" ORDER BY insertTime desc")); + if (!list.isEmpty()){ + for (Coupon coupon : list) { + IntegralCommodity integralCommodity = new IntegralCommodity(); + integralCommodity.setCommodityId(coupon.getId()); + integralCommodity.setCommodityImg(coupon.getCover()); + integralCommodity.setCommodityName(coupon.getName()); + integralCommodity.setCommodityPrice(coupon.getIntegral()); + integralCommodity.setGoodsType(coupon.getType()); +// integralCommodity.setSort(coupon.getSort()); + commodity.add(integralCommodity); + } + + } + 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<>(); @@ -435,7 +442,7 @@ detailsVo.setGoodName(coursePackage.getName()); detailsVo.setBelongsScope(merchandise.getUserPopulation()); int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() - .eq("pointsMerchandiseId", merchandise.getId())); + .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1)); detailsVo.setRedeemedNum(coursePackageNums); detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - coursePackageNums, 0)); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); @@ -498,7 +505,7 @@ detailsVo.setGoodName(merchandise.getName()); detailsVo.setBelongsScope(merchandise.getUserPopulation()); int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>() - .eq("pointsMerchandiseId", merchandise.getId())); + .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1)); detailsVo.setRedeemedNum(count); detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - count, 0)); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); @@ -553,7 +560,7 @@ detailsVo.setGoodName(coupon.getName()); detailsVo.setBelongsScope(coupon.getUserPopulation()); int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() - .eq("pointsMerchandiseId", merchandise.getId())); + .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1)); detailsVo.setRedeemedNum(couponNums); detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 0)); detailsVo.setPerLimit(coupon.getPickUpQuantity()); @@ -633,7 +640,7 @@ detailsVo.setGoodName(coursePackage.getName()); detailsVo.setBelongsScope(merchandise.getUserPopulation()); int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() - .eq("pointsMerchandiseId", merchandise.getId())); + .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1)); detailsVo.setRedeemedNum(coursePackageNums); detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - coursePackageNums, 0)); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); @@ -696,7 +703,7 @@ detailsVo.setGoodName(merchandise.getName()); detailsVo.setBelongsScope(merchandise.getUserPopulation()); int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>() - .eq("pointsMerchandiseId", merchandise.getId())); + .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1)); detailsVo.setRedeemedNum(count); detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - count, 0)); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); @@ -883,7 +890,7 @@ //detailsResponse.setRid(rid); // todo 修改区域id 临时 // 根据门店id 写死区域id 后续调整为门票指定多个区域 - // 以下代码均为临时代码 + // 以下代码均为临时代码=============================== for (Integer integer : collect) { ArrayList<Integer> list2 = new ArrayList<>(); if (integer==2024){ @@ -897,13 +904,15 @@ ArrayList<Integer> list3 = new ArrayList<>(); list3.add(44); detailsResponse.setRid(list3); - }else { - ArrayList<Integer> list3 = new ArrayList<>(); - list3.add(43); - detailsResponse.setRid(list3); + }else if(pointsMerchandise.getPointsMerchandiseId()==197) { + ArrayList<Integer> list4 = new ArrayList<>(); + list4.add(43); + detailsResponse.setRid(list4); } + } } + //====================================================== } } @@ -918,14 +927,11 @@ 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) && @@ -1376,7 +1382,8 @@ public int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp) { int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() .eq(UserPointsMerchandise::getUserId, goodResp.getAppUserId()) - .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId())); + .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId()) + .eq(UserPointsMerchandise::getPayStatus, 2).eq(UserPointsMerchandise::getState, 1)); System.out.println(count); return count; } @@ -1385,7 +1392,8 @@ @PostMapping("/base/pointMerchars/queryUserHasGoodsNums1") public int queryUserHasGoodsNums1(@RequestBody AppUserGoodResp goodResp) { int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId())); + .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId()) + .eq(UserPointsMerchandise::getPayStatus, 2).eq(UserPointsMerchandise::getState, 1)); System.out.println(count); return count; } @@ -1617,6 +1625,9 @@ case 3: infoOneVo.setExchangeArea("指定门店"); break; + case 4: + infoOneVo.setExchangeArea("指定场地"); + break; default: break; } @@ -1654,27 +1665,66 @@ List<StoreVos> storeVos = new ArrayList<>(); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() .eq("pointsMerchandiseId", id)); - if (list.size() > 0) { - List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); - List<Store> stores = stoClient.queryStoreByIds(collect); - if (stores.size() > 0) { - for (Store store : stores) { - StoreVos storeVos1 = new StoreVos(); - storeVos1.setNum1(store.getProvince() + "省" + store.getCity() + "市"); - if (store.getOperatorId() == 0) { - storeVos1.setNum2("平台"); - } else { + PointsMerchandise byId = pmdsService.getById(id); - storeVos1.setNum2(store.getOName()); + if (list.size() > 0) { + + if (byId.getUseScope()==3){ + // 如果是指定门店 + List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); + + List<Store> stores = stoClient.queryStoreByIds(collect); + if (stores.size() > 0) { + int a = 0; + for (Store store : stores) { + StoreVos storeVos1 = new StoreVos(); + storeVos1.setNum1(store.getProvince() + "省" + store.getCity() + "市"); + if (store.getOperatorId()==null){ + storeVos1.setNum2("平台"); + }else if (store.getOperatorId() == 0) { + storeVos1.setNum2("平台"); + } else { + storeVos1.setNum2(store.getOName()); + } + storeVos1.setNum3(store.getName()); + storeVos1.setNum4(store.getIds()); + storeVos.add(storeVos1); } - storeVos1.setNum3(store.getName()); - storeVos1.setNum4(store.getIds()); - storeVos.add(storeVos1); } + }else if (byId.getUseScope()==4){ + // 如果是指定场地 + List<Integer> collect1 = list.stream().map(PointsMerchandiseStore::getSiteId).collect(Collectors.toList()); + int temp =0; + List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); + List<Store> stores = stoClient.queryStoreByIds(collect); + while (temp!=collect1.size()){ + for (Store store : stores) { + Integer integer = collect1.get(temp); + Site site = siteClient.querySiteById(integer); + StoreVos storeVos1 = new StoreVos(); + storeVos1.setNum5(site.getName()); + storeVos1.setNum1(store.getProvince() + "省" + store.getCity() + "市"); + if (store.getOperatorId()==null){ + storeVos1.setNum2("平台"); + }else if (store.getOperatorId() == 0) { + storeVos1.setNum2("平台"); + } else { + storeVos1.setNum2(store.getOName()); + } + storeVos1.setNum3(store.getName()); + storeVos1.setNum4(store.getIds()); + storeVos.add(storeVos1); + temp++; + } + } + + } + } return storeVos; } + @ResponseBody @@ -1715,6 +1765,7 @@ public Integer add(@RequestBody PointsMerchandise pointsMerchandise) { Integer storeId = pointsMerchandise.getShelves(); pointsMerchandise.setShelves(1); + pointsMerchandise.setInsertTime(new Date()); boolean save = pmdsService.save(pointsMerchandise); if (save && ToolUtil.isNotEmpty(storeId) && pointsMerchandise.getType() == 2) { PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); @@ -1736,6 +1787,20 @@ public Boolean addOther(@RequestBody String pam) { Boolean save = false; String[] split = pam.split("_"); + if (split.length>2){ + if (StringUtils.hasLength(split[2])){ + for (String s : split[2].split(",")) { + PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); + pointsMerchandiseStore.setPointsMerchandiseId(Integer.valueOf(split[0])); + pointsMerchandiseStore.setSiteId(Integer.valueOf(s)); + Site site = siteClient.querySiteById(Integer.valueOf(s)); + pointsMerchandiseStore.setStoreId(site.getStoreId()); + save = pmdstoService.save(pointsMerchandiseStore); + } + // 这个门票是选择的场地 + return save; + } + } for (String s : split[1].split(",")) { PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); pointsMerchandiseStore.setPointsMerchandiseId(Integer.valueOf(split[0])); @@ -1744,6 +1809,7 @@ } return save; } + @PostMapping("/base/pointMerchars/addCitys") public Boolean addCitys(@RequestBody ArrayList<Map<String, String>> objects) { @@ -1837,6 +1903,8 @@ List<Integer> ids = queryDataFee.getIds(); if (ids.size() == 0) { ids.add(-1); + }else{ + } List<PointsMerchandise> list1 = pmdsService.list(new LambdaQueryWrapper<PointsMerchandise>().eq(PointsMerchandise::getRedemptionMethod, 3)); LambdaQueryWrapper<UserPointsMerchandise> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); -- Gitblit v1.7.1