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 | 39 +++++++++++++++++++++++++++++++-------- 1 files changed, 31 insertions(+), 8 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 3d82719..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,15 +291,36 @@ 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()).last("ORDER BY sort desc,insertTime desc")); -- Gitblit v1.7.1