qmj 1 день тому
батько
коміт
e4d62f83f2

+ 2 - 11
ruoyi-admin/src/main/java/com/ruoyi/app/mendian/PosStoreEnrichService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.app.utils.DateUtil;
 import com.ruoyi.app.utils.OperatingUtil;
 import com.ruoyi.app.user.dto.StoreOutput;
+import com.ruoyi.common.utils.LocaleUtils;
 import com.ruoyi.system.domain.OperatingHours;
 import com.ruoyi.system.domain.PosFood;
 import com.ruoyi.system.domain.PosOrder;
@@ -107,7 +108,7 @@ public class PosStoreEnrichService {
      * 将门店列表转换为带商品列表的分页结构(StoreOutput)。
      */
     public Page<StoreOutput> buildStoreOutputPage(List<PosStore> storeList, String language, int page, long total) {
-        String lang = toLangCode(language);
+        String lang = LocaleUtils.toLangCode(language);
         List<Integer> storeIds = storeList.stream()
                 .map(PosStore::getId)
                 .collect(Collectors.toList());
@@ -137,13 +138,3 @@ public class PosStoreEnrichService {
         return result;
     }
 
-    private String toLangCode(String language) {
-        if ("zh-CN".equals(language)) {
-            return "2";
-        }
-        if ("en-US".equals(language)) {
-            return "1";
-        }
-        return "3";
-    }
-}

+ 6 - 7
ruoyi-admin/src/main/java/com/ruoyi/app/nightmarket/NightMarketStoreController.java

@@ -8,6 +8,7 @@ import com.ruoyi.app.user.dto.StoreOutput;
 import com.ruoyi.common.annotation.Anonymous;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.LocaleUtils;
 import com.ruoyi.system.domain.*;
 import com.ruoyi.system.mapper.InfoUserMapper;
 import com.ruoyi.system.mapper.PosFoodMapper;
@@ -67,18 +68,16 @@ public class NightMarketStoreController extends BaseController {
     }
 
     /**
-     * 夜市附近商家列表(含搜索)
+     * 夜市摊位列表
      */
     @Anonymous
-    @GetMapping("/stores")
-    public AjaxResult nearbyStores(@RequestParam Long nightMarketId,
-                                   @RequestParam BigDecimal longitude,
-                                   @RequestParam BigDecimal latitude,
+    @GetMapping("/nightMarkteStores")
+    public AjaxResult nightMarkteStores(@RequestParam Long nightMarketId,
                                    @RequestParam(defaultValue = "1") Integer page,
                                    @RequestParam(required = false) String keyword,
                                    @RequestParam(defaultValue = "zh-TW", required = false) String language) {
         int offset = (page - 1) * 20;
-        List<PosStore> list = posStoreMapper.getNightMarketStalls(longitude, latitude, nightMarketId, keyword, offset);
+        List<PosStore> list = posStoreMapper.getNightMarketStalls(nightMarketId, keyword, offset);
         posStoreEnrichService.enrichStoreList(list);
         int total = posStoreMapper.getNightMarketStallsCount(nightMarketId, keyword);
         Page<StoreOutput> result = posStoreEnrichService.buildStoreOutputPage(list, language, page, total);
@@ -161,7 +160,7 @@ public class NightMarketStoreController extends BaseController {
         orderQw.eq("md_id", storeId).apply("DATE_FORMAT(cretim,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')");
         long monthlySales = posOrderService.count(orderQw);
 
-        String langCode = "zh-CN".equals(language) ? "2" : ("en-US".equals(language) ? "1" : "3");
+        String langCode = LocaleUtils.toLangCode(language);
         List<PosFood> foods = posFoodMapper.selectFoodsByStoreId(storeId, langCode);
 
         JSONObject result = new JSONObject();

+ 22 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/LocaleUtils.java

@@ -140,6 +140,28 @@ public class LocaleUtils
         return DEFAULT_LOCALE;
     }
 
+
+    /**
+     * 将语言字符串转换为语言编码
+     * - zh-CN -> 2 (简体中文)
+     * - en-US -> 1 (英文)
+     * - 其他   -> 3 (繁体中文,默认)
+     *
+     * @param language 语言字符串(如 zh-CN, en-US, zh-TW)
+     * @return 语言编码
+     */
+    public static String toLangCode(String language)
+    {
+        if ("zh-CN".equals(language))
+        {
+            return "2";
+        }
+        if ("en-US".equals(language))
+        {
+            return "1";
+        }
+        return "3";
+    }
     /**
      * 获取用户语言编码
      * 从Redis中获取用户的语言设置,并返回对应的语言编码

+ 2 - 4
ruoyi-system/src/main/java/com/ruoyi/system/mapper/PosStoreMapper.java

@@ -125,11 +125,9 @@ public interface PosStoreMapper extends BaseMapper<PosStore>
                                                      @Param("language") String language);
 
     /**
-     * 夜市附近摊位列表(含搜索)
+     * 夜市摊位列表(含搜索)
      */
-    List<PosStore> getNightMarketStalls(@Param("longitude") BigDecimal longitude,
-                                         @Param("latitude") BigDecimal latitude,
-                                         @Param("nightMarketId") Long nightMarketId,
+    List<PosStore> getNightMarketStalls(@Param("nightMarketId") Long nightMarketId,
                                          @Param("keyword") String keyword,
                                          @Param("offset") Integer offset);
 

+ 3 - 3
ruoyi-system/src/main/resources/mapper/chanting/PosStoreMapper.xml

@@ -175,15 +175,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY ps.id DESC
     </select>
 
-    <!-- 夜市附近摊位列表(含搜索、距离排序) -->
+    <!-- 夜市摊位列表(含搜索) -->
     <select id="getNightMarketStalls" resultMap="PosStoreResult">
-        SELECT *,(st_distance(point(longitude,latitude),point(#{longitude},#{latitude}))*111195/1000) as juli
+        SELECT *
         FROM pos_store
         WHERE del_flag='0' AND off_shelf='0' AND is_stall=1 AND night_market_id=#{nightMarketId}
         <if test="keyword != null and keyword != ''">
             AND pos_name LIKE CONCAT('%', #{keyword}, '%')
         </if>
-        ORDER BY juli ASC
+        ORDER BY id DESC
         LIMIT #{offset}, 20
     </select>