nickchange
2023-11-09 c036557db88c6297b9a626a892dce35c14ab8ee5
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -6,6 +6,7 @@
import com.dsh.other.entity.*;
import com.dsh.other.feignclient.model.*;
import com.dsh.other.model.*;
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;
@@ -36,7 +37,14 @@
    @Autowired
    private TBackRecordService backRecordService;
    /**
     * 获取根据门店id 获取店长信息
     */
    @RequestMapping(value = "/getStoreInfo")
    public StoreInfoDto getStoreInfo(@RequestBody Integer id){
        return storeService.getStoreInfo(id);
    }
    /**
     * 根据城市管理员id获取门店
     */
@@ -114,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.getCoverDrawing());
                info.setDistance(l);
                info.setStoreAddr(store.getAddress());
                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;
    }
@@ -433,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();