From aa43a92c7ec9053dbaef92fe5ccb3011b670442c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 12 七月 2023 11:46:21 +0800 Subject: [PATCH] 更新线上视频奖励模块接口 --- cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 134 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 114 insertions(+), 20 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 f0ce01f..375e825 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,34 +3,38 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.other.entity.Store; -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.QueryStoreList; import com.dsh.other.service.StoreService; import com.dsh.other.util.GDMapGeocodingUtil; +import com.dsh.other.util.ResultUtil; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.*; @RestController -@RequestMapping("/base/protocol") +@RequestMapping("") public class StoreController { @Autowired - private StoreService stoService; + private StoreService storeService; @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; - @PostMapping("/storeDetail/courseOfSto") + + + + @PostMapping("/base/protocol/storeDetail/courseOfSto") public StoreDetailOfCourse getCourseOfStore(@RequestBody Integer storeId){ StoreDetailOfCourse ofCourse = new StoreDetailOfCourse(); - Store store = stoService.getById(storeId); + Store store = storeService.getById(storeId); if (null != store){ ofCourse.setStoreName(store.getName()); ofCourse.setStoreAddr(store.getAddress()); @@ -38,18 +42,18 @@ return ofCourse; } - @PostMapping("/storeDetail/nearbyStore") - public List<StoreInfo> getAllNearbyStoreList(@RequestBody String longitude,@RequestBody String latitude){ - String current = longitude+","+latitude; + @PostMapping("/base/protocol/storeDetail/nearbyStore") + public List<StoreInfo> getAllNearbyStoreList(@RequestBody GetAllNearbyStoreList list ){ + String current = list.getLongitude()+","+list.getLatitude(); List<StoreInfo> storeInfos = new ArrayList<>(); String cityCode = ""; try { - Map<String, String> geocode = gdMapGeocodingUtil.geocode(longitude, latitude); + Map<String, String> geocode = gdMapGeocodingUtil.geocode(list.getLongitude(), list.getLatitude()); cityCode = geocode.get("cityCode"); }catch (Exception e){ e.printStackTrace(); } - List<Store> storeList = stoService.list(new QueryWrapper<Store>() + List<Store> storeList = storeService.list(new QueryWrapper<Store>() .eq("state", 1) .eq("cityCode",cityCode)); if (storeList.size() > 0){ @@ -77,14 +81,28 @@ 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("/storeDetail/storeOfLonLat") - public List<StoreLonLatList> getAllStoreLonLats(@RequestBody String longitude, @RequestBody String latitude){ + + @PostMapping("/base/protocol/storeDetail/storeOfLonLat") + public List<StoreLonLatList> getAllStoreLonLats(@RequestBody GetAllNearbyStoreList list ){ List<StoreLonLatList> storeInfos = new ArrayList<>(); try { - Map<String, String> geocode = gdMapGeocodingUtil.geocode(longitude, latitude); + Map<String, String> geocode = gdMapGeocodingUtil.geocode(list.getLongitude(), list.getLatitude()); String cityCode = geocode.get("cityCode"); - List<Store> storeList = stoService.list(new QueryWrapper<Store>() + List<Store> storeList = storeService.list(new QueryWrapper<Store>() .eq("cityCode",cityCode)); if (storeList.size() > 0){ for (Store store : storeList) { @@ -102,4 +120,80 @@ return storeInfos; } + + + + + + /** + * 获取门店列表 + * @return + */ + @ResponseBody + @PostMapping("/store/queryStoreList") + public List<Store> queryStoreList(QueryStoreList queryStoreList){ + try { + return storeService.queryStorsList(queryStoreList.getProvinceCode(), queryStoreList.getCityCode()); + }catch (Exception e){ + e.printStackTrace(); + return new ArrayList<>(); + } + } + + + + + + @ResponseBody + @PostMapping("/base/store/queryStoreLists") + @ApiOperation(value = "获取门店列表", tags = {"APP-加入玩湃", "APP-课程列表"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "经纬", name = "lon", dataType = "string", required = false), + @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false), + }) + public ResultUtil<List<BaseVo>> queryStoreLists(String lon, String lat){ + try { + List<BaseVo> baseVos = storeService.queryStoreLists(lon, lat); + return ResultUtil.success(baseVos); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + /** + * 根据门店模糊搜索店铺 + * @param name + * @return + */ + @ResponseBody + @PostMapping("/store/queryStoreListByName") + 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; + }catch (Exception e){ + e.printStackTrace(); + return new ArrayList<>(); + } + } + + + /** + * 根据门店 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/store/queryStoreById") + public Store queryStoreById(@RequestBody Integer id){ + try { + return storeService.getById(id); + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + } -- Gitblit v1.7.1