puzhibing
2023-07-19 e93a1ffbe1b01253d7a9808cc7a05b5c69413c8d
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -3,15 +3,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.Store;
import com.dsh.other.feignclient.model.GetAllNearbyStoreList;
import com.dsh.other.feignclient.model.StoreDetailOfCourse;
import com.dsh.other.feignclient.model.StoreInfo;
import com.dsh.other.feignclient.model.StoreLonLatList;
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.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;
@@ -84,6 +83,20 @@
        return storeInfos;
    }
    /**
     * 根据门店坐标与传入坐标,计算距离
     * @param distanceVo
     * @return
     */
    @PostMapping("/base/protocol/storeDetail/distanceCal")
    public long 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);
    }
    @PostMapping("/base/protocol/storeDetail/storeOfLonLat")
    public List<StoreLonLatList> getAllStoreLonLats(@RequestBody GetAllNearbyStoreList list ){
@@ -116,15 +129,13 @@
    /**
     * 获取门店列表
     * @param provinceCode
     * @param cityCode
     * @return
     */
    @ResponseBody
    @PostMapping("/store/queryStoreList")
    public List<Store> queryStoreList(@RequestBody String provinceCode, @RequestBody String cityCode){
    public List<Store> queryStoreList(QueryStoreList queryStoreList){
        try {
            return storeService.queryStorsList(provinceCode, cityCode);
            return storeService.queryStorsList(queryStoreList.getProvinceCode(), queryStoreList.getCityCode());
        }catch (Exception e){
            e.printStackTrace();
            return new ArrayList<>();
@@ -137,18 +148,12 @@
    @ResponseBody
    @PostMapping("/base/store/queryStoreLists")
    @ApiOperation(value = "获取门店列表", tags = {"APP-加入玩湃", "APP-课程列表"})
    @ApiOperation(value = "获取门店列表", tags = {"APP-加入玩湃", "APP-课程列表", "用户—预约场地"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "经纬", name = "lon", dataType = "string", required = true),
            @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = true),
            @ApiImplicitParam(value = "经纬", name = "lon", dataType = "string", required = false),
            @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false),
    })
    public ResultUtil<List<BaseVo>> queryStoreLists(@RequestBody String lon, @RequestBody String lat){
        if(ToolUtil.isEmpty(lon)){
            return ResultUtil.paranErr("lon");
        }
        if(ToolUtil.isEmpty(lat)){
            return ResultUtil.paranErr("lat");
        }
    public ResultUtil<List<BaseVo>> queryStoreLists(String lon, String lat){
        try {
            List<BaseVo> baseVos = storeService.queryStoreLists(lon, lat);
            return ResultUtil.success(baseVos);
@@ -166,7 +171,7 @@
     */
    @ResponseBody
    @PostMapping("/store/queryStoreListByName")
    public List<Store> queryStoreListByName(@RequestBody String name){
    public List<Store> queryStoreListByName(@RequestParam("name") String name){
        try {
            List<Store> stores = storeService.list(new QueryWrapper<Store>().eq("state", 1).like("name", name));
            return stores;
@@ -193,4 +198,80 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/store/queryStoreFreeBenefit")
    @ApiOperation(value = "获取门店免费福利", tags = {"APP-免费福利"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "门店id", name = "id", dataType = "int", required = true),
    })
    public ResultUtil<StoreFreeBenefitVo> queryStoreFreeBenefit(Integer id){
        try {
            Store store = storeService.getById(id);
            StoreFreeBenefitVo storeFreeBenefitVo = new StoreFreeBenefitVo();
            storeFreeBenefitVo.setPhone(store.getPhone());
            storeFreeBenefitVo.setImg(store.getWelfarePicture());
            return ResultUtil.success(storeFreeBenefitVo);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/base/store/queryProvinceAndCity")
    @ApiOperation(value = "获取省市数据", tags = {"APP-加入玩湃"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "省编号", name = "pcode", dataType = "string", required = false),
    })
    public ResultUtil<List<ProvinceAndCityVo>> queryProvinceAndCity(String pcode){
        try {
            List<ProvinceAndCityVo> provinceAndCityVos = storeService.queryProvinceAndCity(pcode);
            return ResultUtil.success(provinceAndCityVos);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/base/store/queryAllCity")
    @ApiOperation(value = "获取所有开通城市", tags = {"APP-赛事活动列表", "用户—预约场地"})
    @ApiImplicitParams({
    })
    public ResultUtil<List<ProvinceAndCityVo>> queryAllCity(){
        try {
            List<ProvinceAndCityVo> provinceAndCityVos = storeService.queryAllCity();
            return ResultUtil.success(provinceAndCityVos);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/base/store/queryStoreByCityCode")
    @ApiOperation(value = "获取城市code获取门店", tags = {"APP-加入玩湃"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "城市code", name = "cityCode", dataType = "string", required = true),
    })
    public ResultUtil<List<BaseVo>> queryStoreByCityCode(String cityCode){
        try {
            List<BaseVo> list = storeService.queryStoreByCityCode(cityCode);
            return ResultUtil.success(list);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
}