qmj 1 месяц назад
Родитель
Сommit
f0f3919275

+ 15 - 0
ruoyi-admin/src/main/java/com/ruoyi/app/nightmarket/NightMarketStoreController.java

@@ -9,6 +9,7 @@ import com.ruoyi.common.annotation.Anonymous;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.system.domain.*;
+import com.ruoyi.system.mapper.InfoUserMapper;
 import com.ruoyi.system.mapper.PosFoodMapper;
 import com.ruoyi.system.mapper.PosStoreMapper;
 import com.ruoyi.system.service.IPosCollectService;
@@ -51,6 +52,20 @@ public class NightMarketStoreController extends BaseController {
     @Autowired
     private PosFoodMapper posFoodMapper;
 
+    @Autowired
+    private InfoUserMapper infoUserMapper;
+
+    /**
+     * 获取夜市列表(已审核通过,按距离排序)
+     */
+    @Anonymous
+    @GetMapping("/getNightMarketList")
+    public AjaxResult getNightMarketList(@RequestParam BigDecimal longitude,
+                                          @RequestParam BigDecimal latitude) {
+        List<InfoUser> list = infoUserMapper.selectNightMarketListByDistance(longitude, latitude);
+        return success(list);
+    }
+
     /**
      * 夜市附近商家列表(含搜索)
      */

+ 0 - 24
ruoyi-admin/src/main/java/com/ruoyi/app/user/UserAppIndexController.java

@@ -1,7 +1,6 @@
 package com.ruoyi.app.user;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.app.mendian.PosStoreEnrichService;
 import com.ruoyi.common.annotation.Anonymous;
@@ -19,8 +18,6 @@ import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
 
 import com.ruoyi.system.mapper.PosOrderMapper;
 import com.ruoyi.app.user.dto.StoreOutput;
@@ -54,27 +51,6 @@ public class UserAppIndexController extends BaseController {
     @Autowired
     private PosStoreEnrichService posStoreEnrichService;
 
-    /**
-     * 获取夜市列表
-     * @return
-     */
-    @Anonymous
-    @GetMapping("/getNightMarketList")
-    public AjaxResult getNightMarketList(){
-        LambdaQueryWrapper<InfoUser> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(InfoUser::getUserType,"3");
-        List<InfoUser> list = infoUserService.list(queryWrapper);
-        List<Map<String,Object>> result = new ArrayList<>();
-//        list.forEach(infoUser -> {
-//            Map<String,Object> map = new JSONObject();
-//            map.put("id",infoUser.getUserId());
-//            map.put("name",infoUser.getUserName());
-////            map.put("phone",infoUser.getPhone());
-//            result.add(map);
-//        });
-        return success(list);
-    }
-
     /**
      * 获取门店分页列表
      */

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/InfoUser.java

@@ -174,6 +174,10 @@ public class InfoUser
 
     private BigDecimal latitude;
 
+    /** 距离(km) */
+    @TableField(exist = false)
+    private Double juli;
+
 
     public void setUserId(Long userId)
     {

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/InfoUserMapper.java

@@ -80,4 +80,9 @@ public interface InfoUserMapper  extends BaseMapper<InfoUser>
      * 根据摊位ID查询摊位主列表
      */
     public List<InfoUser> selectStallOwnersByStoreId(Long storeId);
+
+    /**
+     * 查询已审核通过的夜市列表,按距离排序
+     */
+    public List<InfoUser> selectNightMarketListByDistance(@Param("longitude") BigDecimal longitude, @Param("latitude") BigDecimal latitude);
 }

+ 8 - 0
ruoyi-system/src/main/resources/mapper/infouser/InfoUserMapper.xml

@@ -40,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="address"    column="address"    />
         <result property="longitude"    column="longitude"    />
         <result property="latitude"    column="latitude"    />
+        <result property="juli"    column="juli"    />
     </resultMap>
 
     <sql id="selectInfoUserVo">
@@ -223,4 +224,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by user_id desc
     </select>
 
+    <select id="selectNightMarketListByDistance" resultMap="InfoUserResult">
+        SELECT *, (st_distance(point(longitude,latitude),point(#{longitude},#{latitude}))*111195/1000) as juli
+        FROM info_user
+        WHERE user_type = '3' AND audit_status = '1' AND del_flag = '0'
+        ORDER BY juli ASC
+    </select>
+
 </mapper>