From b64d67ef01e81a857046f19dd556b4e4f0695e1c Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期三, 02 八月 2023 16:41:51 +0800 Subject: [PATCH] 后台代码 门店管理 --- cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 78 +++++++++++++++++++++++++-------------- 1 files changed, 50 insertions(+), 28 deletions(-) diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java index 90cf2e4..73540c5 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java @@ -1,16 +1,15 @@ package com.dsh.other.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.other.entity.Store; import com.dsh.other.feignclient.model.*; -import com.dsh.other.model.BaseVo; -import com.dsh.other.model.ProvinceAndCityVo; -import com.dsh.other.model.QueryStoreList; -import com.dsh.other.model.StoreFreeBenefitVo; +import com.dsh.other.model.*; import com.dsh.other.service.StoreService; import com.dsh.other.util.GDMapGeocodingUtil; import com.dsh.other.util.ResultUtil; +import com.dsh.other.util.ToolUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -70,6 +69,8 @@ info.setStoreImg(store.getRealPicture()); info.setDistance(Long.parseLong(distanceTOKilometer)); info.setStoreAddr(store.getAddress()); + info.setLatitude(storeLat); + info.setLongitude(storeLon); storeInfos.add(info); } Comparator<StoreInfo> distanceComparator = new Comparator<StoreInfo>() { @@ -89,37 +90,42 @@ * @return */ @PostMapping("/base/protocol/storeDetail/distanceCal") - public long calculateDistance(@RequestBody GetDistanceVo distanceVo){ + public String calculateDistance(@RequestBody GetDistanceVo distanceVo){ String current = distanceVo.getLongitude()+","+distanceVo.getLatitude(); Store store = storeService.getById(distanceVo.getStoreId()); String result = store.getLon()+","+store.getLat(); - String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result); - return Long.parseLong(distanceTOKilometer); + return gdMapGeocodingUtil.getDistanceTOKilometer(current, result); } - @PostMapping("/base/protocol/storeDetail/storeOfLonLat") - public List<StoreLonLatList> getAllStoreLonLats(@RequestBody GetAllNearbyStoreList list ){ - List<StoreLonLatList> storeInfos = new ArrayList<>(); - try { - Map<String, String> geocode = gdMapGeocodingUtil.geocode(list.getLongitude(), list.getLatitude()); - String cityCode = geocode.get("cityCode"); - List<Store> storeList = storeService.list(new QueryWrapper<Store>() - .eq("cityCode",cityCode)); - if (storeList.size() > 0){ - for (Store store : storeList) { - StoreLonLatList latList = new StoreLonLatList(); - latList.setStoreId(store.getId()); - latList.setLongitude(store.getLon()); - latList.setLatitude(store.getLat()); - storeInfos.add(latList); + @PostMapping("/base/protocol/storeDetail/citycodeLoLa") + public List<StoreDetailList> getQueryStoreList(@RequestBody StoreOfCitycodeResp citycodeResp){ + List<StoreDetailList> detailLists = new ArrayList<>(); + List<Store> list = storeService.list(new QueryWrapper<Store>() + .eq("state",1 ) + .eq("cityCode",citycodeResp.getCityCode())); + if (list.size() > 0 ){ + for (Store store : list) { + String current = citycodeResp.getLongitude() +","+citycodeResp.getLatitude(); + String result = store.getLon()+","+store.getLat(); + String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result); + long l = Long.parseLong(distanceTOKilometer); + if (ToolUtil.isNotEmpty(citycodeResp.getSpace()) && l > citycodeResp.getSpace()){ + continue; } + StoreDetailList detailList = new StoreDetailList(); + detailList.setStoreId(store.getId()); + detailList.setStoreImg(store.getCoverDrawing()); + detailList.setStoreName(store.getName()); + detailList.setStoreAddress(store.getAddress()); + detailList.setStorePhone(store.getPhone()); + detailList.setStoreDistance(l); + detailList.setStoreTime(store.getStartTime() + "-" + store.getEndTime()); + detailList.setStoreInfo(store.getIntroduce()); + detailLists.add(detailList); } - }catch (Exception e){ - e.printStackTrace(); } - - return storeInfos; + return detailLists; } @@ -143,12 +149,28 @@ } + /** + * 获取门店列表 + * @return + */ + @ResponseBody + @PostMapping("/store/queryStoreByIds") + public List<Store> queryStoreByIds(List<Integer> ids){ + try { + return storeService.list(new LambdaQueryWrapper<Store>() + .in(Store::getId,ids)); + }catch (Exception e){ + e.printStackTrace(); + return new ArrayList<>(); + } + } + @ResponseBody @PostMapping("/base/store/queryStoreLists") - @ApiOperation(value = "获取门店列表", tags = {"APP-加入玩湃", "APP-课程列表"}) + @ApiOperation(value = "获取门店列表", tags = {"APP-加入玩湃", "APP-课程列表", "用户—预约场地"}) @ApiImplicitParams({ @ApiImplicitParam(value = "经纬", name = "lon", dataType = "string", required = false), @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false), @@ -244,7 +266,7 @@ @ResponseBody @PostMapping("/base/store/queryAllCity") - @ApiOperation(value = "获取所有开通城市", tags = {"APP-赛事活动列表"}) + @ApiOperation(value = "获取所有开通城市", tags = {"APP-赛事活动列表", "用户—预约场地"}) @ApiImplicitParams({ }) public ResultUtil<List<ProvinceAndCityVo>> queryAllCity(){ -- Gitblit v1.7.1