From 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期五, 24 十一月 2023 18:32:43 +0800 Subject: [PATCH] 11.24 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 88 +++++++++++++++++++++++++++++--------------- 1 files changed, 58 insertions(+), 30 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 9394121..eb34857 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 @@ -24,10 +24,7 @@ import com.dsh.activity.model.response.GoodsInfoOneVo; import com.dsh.activity.model.response.StoreVos; import com.dsh.activity.service.*; -import com.dsh.activity.util.GDMapGeocodingUtil; -import com.dsh.activity.util.StrUtils; -import com.dsh.activity.util.TokenUtil; -import com.dsh.activity.util.ToolUtil; +import com.dsh.activity.util.*; import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -279,6 +276,11 @@ } + @Resource + private StoreClient storeClient; + + @Autowired + private PointsMerchandiseStoreService pointsMerchandiseStoreService; @ResponseBody @PostMapping("/base/pointMerchars/convertGoods") public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception { @@ -289,18 +291,39 @@ String cityCode = geocode.get("cityCode"); - List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode)); +// if(null != geocode) { + + List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode)); + Store s = null; + Double d = 0D; + for (Store store : stores) { + Map<String, Double> distance = GeodesyUtil.getDistance(location.getLon() + "," + location.getLat(), store.getLon() + "," + store.getLat()); + Double wgs84 = distance.get("WGS84"); + if (s == null || d > wgs84) { + s = store; + 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()); +// 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>() + List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>().in("id",cIds) .eq("state", 1) .eq("shelves", 1) - .gt("endTime", new Date())); + .gt("endTime", new Date()).last("ORDER BY sort desc,insertTime desc")); if (merchandises.size() > 0){ for (PointsMerchandise merchandise : merchandises) { IntegralCommodity integralCommodity = new IntegralCommodity(); @@ -309,6 +332,7 @@ integralCommodity.setCommodityName(merchandise.getName()); integralCommodity.setCommodityPrice(merchandise.getPrice()); integralCommodity.setGoodsType(merchandise.getType()); + integralCommodity.setSort(merchandise.getSort()); commodity.add(integralCommodity); } // } @@ -991,9 +1015,10 @@ PointDetailsVo detailsVo = new PointDetailsVo(); UserPointsMerchandise byId = upmseService.getById(speMercharsId); - List<PointsMerchandiseStore> stores = storeService.list(new QueryWrapper<PointsMerchandiseStore>().eq("pointsMerchandiseId", byId.getPointsMerchandiseId())); if (ToolUtil.isNotEmpty(byId)){ + List<PointsMerchandiseStore> stores = storeService.list(new QueryWrapper<PointsMerchandiseStore>().eq("pointsMerchandiseId", byId.getPointsMerchandiseId())); + PointsMerchandise pmdsServiceById = pmdsService.getById(byId.getPointsMerchandiseId()); // 2.0 detailsVo.setCardType(pmdsServiceById.getCardType()); @@ -1185,7 +1210,9 @@ detailsVo.setUseType(2); }else { detailsVo.setUseType(1); - detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime())); + if (pmdsServiceById.getType()!=2) { + detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime())); + } if (byId.getStoreId()!=null) { StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId()); detailsVo.setWriteOffName(courseOfStore.getStoreName()); @@ -1246,25 +1273,26 @@ 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())); + 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); -- Gitblit v1.7.1