From a6ef8f0dd977a30abd878f8e6106630b97d6e5b0 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期一, 10 七月 2023 16:49:14 +0800
Subject: [PATCH] 本周福利:接口开发

---
 cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java |   41 ++++++++++++++++++++++-------------------
 1 files changed, 22 insertions(+), 19 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 5058bd9..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,15 +3,12 @@
 
 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.QueryStoreList;
 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 +81,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 +127,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<>();
@@ -139,16 +148,10 @@
     @PostMapping("/base/store/queryStoreLists")
     @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 +169,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;

--
Gitblit v1.7.1