From c036557db88c6297b9a626a892dce35c14ab8ee5 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期四, 09 十一月 2023 18:30:31 +0800 Subject: [PATCH] 11.6 --- cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 162 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 138 insertions(+), 24 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 f1c96eb..4e1dabd 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 @@ -3,10 +3,11 @@ 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.entity.*; import com.dsh.other.feignclient.model.*; import com.dsh.other.model.*; -import com.dsh.other.service.StoreService; +import com.dsh.other.model.dto.siteDto.StoreInfoDto; +import com.dsh.other.service.*; import com.dsh.other.util.GDMapGeocodingUtil; import com.dsh.other.util.ResultUtil; import com.dsh.other.util.ToolUtil; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.*; import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping("") @@ -29,7 +31,20 @@ @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; + @Autowired + private TStoreOtherService tStoreOtherService; + @Autowired + private TBackRecordService backRecordService; + + /** + * 获取根据门店id 获取店长信息 + */ + @RequestMapping(value = "/getStoreInfo") + public StoreInfoDto getStoreInfo(@RequestBody Integer id){ + + return storeService.getStoreInfo(id); + } /** * 根据城市管理员id获取门店 */ @@ -107,28 +122,41 @@ String result = storeLon+","+storeLat; String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result); long l = 0; - try { - l = Long.parseLong(distanceTOKilometer); - }catch (Exception e){ - l = 0; - } +// try { +// l = Long.parseLong(distanceTOKilometer); +// }catch (Exception e){ +// l = 0; +// } StoreInfo info = new StoreInfo(); info.setStoreId(store.getId()); info.setStoreName(store.getName()); - info.setStoreImg(store.getRealPicture()); - info.setDistance(l); - info.setStoreAddr(store.getAddress()); + info.setStoreImg(store.getCoverDrawing()); + info.setDistance((long) Double.parseDouble(distanceTOKilometer)); + + + String str = store.getAddress(); + str = str.substring(str.indexOf("省") + 1); + + // 去掉第一个“市”及之前的字符串 + str = str.substring(str.indexOf("市") + 1); + + // 去掉第一个“区”及之前的字符串 + str = str.substring(str.indexOf("区") + 1); + + info.setStoreAddr(str); info.setLatitude(storeLat); info.setLongitude(storeLon); + storeInfos.add(info); } - Comparator<StoreInfo> distanceComparator = new Comparator<StoreInfo>() { - @Override - public int compare(StoreInfo store1, StoreInfo store2) { - return Long.compare(store1.getDistance(), store2.getDistance()); - } - }; - Collections.sort(storeInfos, distanceComparator); +// Comparator<StoreInfo> distanceComparator = new Comparator<StoreInfo>() { +// @Override +// public int compare(StoreInfo store1, StoreInfo store2) { +// return Long.compare(store1.getDistance(), store2.getDistance()); +// } +// }; +// Collections.sort(storeInfos, distanceComparator); + storeInfos = storeInfos.stream().sorted(Comparator.comparing(StoreInfo::getDistance)).collect(Collectors.toList()); } return storeInfos; } @@ -210,14 +238,42 @@ @PostMapping("/store/queryStoreByIds") public List<Store> queryStoreByIds(@RequestBody List<Integer> ids){ try { - return storeService.list(new LambdaQueryWrapper<Store>() - .in(Store::getId,ids)); + List<Store> list = storeService.list(new LambdaQueryWrapper<Store>() + .in(Store::getId, ids)); + for (Store store : list) { + Integer operatorId = store.getOperatorId(); + if(operatorId == null){ + operatorId=-1; + } + String name = storeService.getOName(operatorId); + store.setOName(name); + } + return list; }catch (Exception e){ e.printStackTrace(); return new ArrayList<>(); } } + @ResponseBody + @PostMapping("/store/queryStoreIdByCityCode") + List<Integer> queryStoreIdByCityCode(@RequestBody List<String> collect){ + try { + return storeService.list(new LambdaQueryWrapper<Store>() + .in(Store::getCityCode,collect)).stream().map(Store::getId).collect(Collectors.toList()); + }catch (Exception e){ + e.printStackTrace(); + return new ArrayList<>(); + } + } + + @ResponseBody + @PostMapping("/store/querySiteIdById") + public List<Integer> querySiteIdById(@RequestBody List<Integer> storeIds){ + List<Site> list = siteService.list(new LambdaQueryWrapper<Site>().in(Site::getStoreId, storeIds)); + List<Integer> collect = list.stream().map(Site::getId).collect(Collectors.toList()); + return collect; + } @@ -227,10 +283,11 @@ @ApiImplicitParams({ @ApiImplicitParam(value = "经纬", name = "lon", dataType = "string", required = false), @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false), + @ApiImplicitParam(value = "cityCode", name = "cityCode", dataType = "string", required = false), }) - public ResultUtil<List<BaseVo>> queryStoreLists(String lon, String lat){ + public ResultUtil<List<BaseVo>> queryStoreLists(String lon, String lat,String cityCode){ try { - List<BaseVo> baseVos = storeService.queryStoreLists(lon, lat); + List<BaseVo> baseVos = storeService.queryStoreLists(lon, lat,cityCode); return ResultUtil.success(baseVos); }catch (Exception e){ e.printStackTrace(); @@ -246,7 +303,7 @@ */ @ResponseBody @PostMapping("/store/queryStoreListByName") - public List<Store> queryStoreListByName(@RequestParam("name") String name){ + public List<Store> queryStoreListByName(@RequestBody String name){ try { List<Store> stores = storeService.list(new QueryWrapper<Store>().eq("state", 1).like("name", name)); return stores; @@ -273,6 +330,39 @@ } } + @ResponseBody + @PostMapping("/store/queryByStoreId") + public OperatorUser queryByStoreId(@RequestBody Integer id){ + try { + return storeService.queryByStoreId(id); + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + + + @Autowired + private ISiteService siteService; + @ResponseBody + @PostMapping("/store/querySiteId") + public List<Integer> querySiteId(@RequestBody Integer storeId){ + List<Site> list = siteService.list(new LambdaQueryWrapper<Site>().eq(Site::getStoreId, storeId).eq(Site::getSign, 1)); + List<Integer> collect = list.stream().map(Site::getId).collect(Collectors.toList()); + return collect; + } + + + @PostMapping("/store/addBackRecord") + public void addBackRecord(@RequestBody String s){ + TBackRecord tBackRecord = new TBackRecord(); + String[] split = s.split("_"); + tBackRecord.setMoney(Double.valueOf(split[0])); + tBackRecord.setUserId(Integer.valueOf(split[1])); + tBackRecord.setTime(new Date()); + backRecordService.save(tBackRecord); + } + @@ -294,6 +384,30 @@ return ResultUtil.runErr(); } } + + @Autowired + private TStoreOtherConfigTrueService tStoreOtherConfigTrueService; + @ResponseBody + @PostMapping("/base/store/queryIndexSet") + @ApiOperation(value = "获取门店首页设置 2.0", tags = {"APP-免费福利"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "门店id", name = "id", dataType = "int", required = true), + }) + public ResultUtil<List<TStoreOtherConfigTrue>> queryIndexSet(Integer id){ + try { + List<TStoreOtherConfigTrue> tStoreOtherConfigTrues = new ArrayList<>(); + + List<TStoreOther> list = tStoreOtherService.list(new LambdaQueryWrapper<TStoreOther>().eq(TStoreOther::getStoreId, id).eq(TStoreOther::getState,1)); + if(list.size()>0){ + tStoreOtherConfigTrues= tStoreOtherConfigTrueService.list(new LambdaQueryWrapper<TStoreOtherConfigTrue>().in(TStoreOtherConfigTrue::getPid, list.stream().map(TStoreOther::getId).collect(Collectors.toList())).eq(TStoreOtherConfigTrue::getState,1)); + } + return ResultUtil.success(tStoreOtherConfigTrues); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + @@ -340,9 +454,9 @@ @ApiImplicitParams({ @ApiImplicitParam(value = "城市code", name = "cityCode", dataType = "string", required = true), }) - public ResultUtil<List<BaseVo>> queryStoreByCityCode(String cityCode){ + public ResultUtil<List<BaseVo>> queryStoreByCityCode(String provinceCode,String cityCode){ try { - List<BaseVo> list = storeService.queryStoreByCityCode(cityCode); + List<BaseVo> list = storeService.queryStoreByCityCode(provinceCode,cityCode); return ResultUtil.success(list); }catch (Exception e){ e.printStackTrace(); -- Gitblit v1.7.1