فهرست منبع

八大类放开校验,增加模糊查询,注释合并一个接口

ldz 1 هفته پیش
والد
کامیت
fb8c8e065d

+ 13 - 7
alien-store/src/main/java/shop/alien/store/controller/StoreInfoController.java

@@ -912,6 +912,8 @@ public class StoreInfoController {
             @ApiImplicitParam(name = "sortType", value = "排序模式(1:智能排序,2:好评优先,3:距离优先)", dataType = "int", paramType = "query"),
             @ApiImplicitParam(name = "businessType", value = "店铺类型(KTV=3、洗浴汗蒸=4、按摩足浴=5,丽人美发=6,运动健身=7,酒吧=11)", dataType = "int", paramType = "query"),
             @ApiImplicitParam(name = "categoryId", value = "字典表id,根据此id查询经营板块、经营种类、分类并匹配店铺", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "storeName", value = "店铺名称(模糊查询)", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "storeType", value = "美食3 休闲娱乐1  健身2 ", dataType = "int", paramType = "query"),
             @ApiImplicitParam(name = "pageNum", value = "页码", dataType = "int", paramType = "query", required = true),
             @ApiImplicitParam(name = "pageSize", value = "页容", dataType = "int", paramType = "query", required = true)
     })
@@ -923,10 +925,12 @@ public class StoreInfoController {
             @RequestParam(value = "sortType", required = false, defaultValue = "1") Integer sortType,
             @RequestParam(value = "businessType", required = false) Integer businessType,
             @RequestParam(value = "categoryId", required = false) Integer categoryId,
+            @RequestParam(value = "storeName", required = false) String storeName,
+            @RequestParam(value = "storeType", required = false) Integer storeType,
             @RequestParam(defaultValue = "1") int pageNum,
             @RequestParam(defaultValue = "10") int pageSize) {
-        log.info("StoreInfoController.getSpecialTypeStoresByDistance?lon={},lat={},distance={},sortType={},businessType={},categoryId={},pageNum={},pageSize={}",
-                lon, lat, distance, sortType, businessType, categoryId, pageNum, pageSize);
+        log.info("StoreInfoController.getSpecialTypeStoresByDistance?lon={},lat={},distance={},sortType={},businessType={},categoryId={},storeName={},storeType{},pageNum={},pageSize={}",
+                lon, lat, distance, sortType, businessType, categoryId, storeName,storeType, pageNum, pageSize);
 
         try {
             // 参数校验:经度范围 [-180, 180],纬度范围 [-90, 90]
@@ -947,7 +951,7 @@ public class StoreInfoController {
             }
 
             // 调用服务层获取筛选结果
-            IPage<StoreInfoVo> result = storeInfoService.getSpecialTypeStoresByDistance(lon, lat, distance, sortType, businessType, categoryId, pageNum, pageSize);
+            IPage<StoreInfoVo> result = storeInfoService.getSpecialTypeStoresByDistance(lon, lat, distance, sortType, businessType, categoryId, storeName,storeType, pageNum, pageSize);
 
             // 记录响应日志
             log.info("四种类型店铺距离筛选响应 - 总记录数: {}, 当前页: {}, 页大小: {}",
@@ -1108,7 +1112,7 @@ public class StoreInfoController {
      * @param pageSize    页容
      * @return R<IPage<StoreInfoVo>> 分页的门店信息列表
      */
-    @ApiOperation("查询种类型店铺(丽人美发、运动健身)并按距离筛选")
+    @ApiOperation("查询种类型店铺(丽人美发、运动健身)并按距离筛选")
     @ApiOperationSupport(order = 16)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "lon", value = "经度", dataType = "Double", paramType = "query", required = true),
@@ -1117,6 +1121,7 @@ public class StoreInfoController {
             @ApiImplicitParam(name = "sortType", value = "排序模式(1:智能排序,2:好评优先,3:距离优先)", dataType = "int", paramType = "query"),
             @ApiImplicitParam(name = "businessType", value = "店铺类型(KTV=3、洗浴汗蒸=4、按摩足浴=5,丽人美发=6,运动健身=7,酒吧=11)", dataType = "int", paramType = "query"),
             @ApiImplicitParam(name = "categoryId", value = "字典表id,根据此id查询经营板块、经营种类、分类并匹配店铺", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "storeName", value = "商家名称(模糊查询)", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "pageNum", value = "页码", dataType = "int", paramType = "query", required = true),
             @ApiImplicitParam(name = "pageSize", value = "页容", dataType = "int", paramType = "query", required = true)
     })
@@ -1128,10 +1133,11 @@ public class StoreInfoController {
             @RequestParam(value = "sortType", required = false, defaultValue = "1") Integer sortType,
             @RequestParam(value = "businessType", required = false) Integer businessType,
             @RequestParam(value = "categoryId", required = false) Integer categoryId,
+            @RequestParam(value = "storeName", required = false) String storeName,
             @RequestParam(defaultValue = "1") int pageNum,
             @RequestParam(defaultValue = "10") int pageSize) {
-        log.info("StoreInfoController.getLifeServicesByDistance?lon={},lat={},distance={},sortType={},businessType={},categoryId={},pageNum={},pageSize={}",
-                lon, lat, distance, sortType, businessType, categoryId, pageNum, pageSize);
+        log.info("StoreInfoController.getLifeServicesByDistance?lon={},lat={},distance={},sortType={},businessType={},categoryId={},storeName={},pageNum={},pageSize={}",
+                lon, lat, distance, sortType, businessType, categoryId, storeName, pageNum, pageSize);
 
         try {
             // 参数校验:经度范围 [-180, 180],纬度范围 [-90, 90]
@@ -1152,7 +1158,7 @@ public class StoreInfoController {
             }
 
             // 调用服务层获取筛选结果
-            IPage<StoreInfoVo> result = storeInfoService.getLifeServicesByDistance(lon, lat, distance, sortType, businessType, categoryId, pageNum, pageSize);
+            IPage<StoreInfoVo> result = storeInfoService.getLifeServicesByDistance(lon, lat, distance, sortType, businessType, categoryId, storeName, pageNum, pageSize);
 
             // 记录响应日志
             log.info("四种类型店铺距离筛选响应 - 总记录数: {}, 当前页: {}, 页大小: {}",

+ 5 - 2
alien-store/src/main/java/shop/alien/store/service/StoreInfoService.java

@@ -365,11 +365,12 @@ public interface StoreInfoService extends IService<StoreInfo> {
      * @param sortType    排序模式(1:智能排序,2:好评优先,3:距离优先)
      * @param businessType 店铺类型(KTV=3、洗浴汗蒸=4、按摩足浴=5,酒吧需要查询字典表),可选
      * @param categoryId  分类ID(二级或三级分类的dictId,从getAllBusinessSection接口获取),可选
+     * @param storeName   店铺名称(模糊查询),可选
      * @param pageNum     页码
      * @param pageSize    页容
      * @return IPage<StoreInfoVo> 分页的门店信息列表
      */
-    IPage<StoreInfoVo> getSpecialTypeStoresByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, int pageNum, int pageSize);
+    IPage<StoreInfoVo> getSpecialTypeStoresByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, String storeName,Integer storeType, int pageNum, int pageSize);
 
     /**
      * web端查询门店明细
@@ -438,9 +439,11 @@ public interface StoreInfoService extends IService<StoreInfo> {
      * @param distance    距离范围(单位:公里)
      * @param sortType    排序模式(1:智能排序,2:好评优先,3:距离优先)
      * @param businessType 店铺类型(KTV=3、洗浴汗蒸=4、按摩足浴=5,丽人美发=6,运动健身=7),可选,如果指定则只查询该类型
+     * @param categoryId  字典表id,根据此id查询经营板块、经营种类、分类并匹配店铺
+     * @param storeName   商家名称(模糊查询)
      * @param pageNum     页码
      * @param pageSize    页容
      * @return R<IPage<StoreInfoVo>> 分页的门店信息列表
      */
-    IPage<StoreInfoVo> getLifeServicesByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, int pageNum, int pageSize);
+    IPage<StoreInfoVo> getLifeServicesByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, String storeName, int pageNum, int pageSize);
 }

+ 22 - 4
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -2958,7 +2958,7 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
 
 
     @Override
-    public IPage<StoreInfoVo> getLifeServicesByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, int pageNum, int pageSize) {
+    public IPage<StoreInfoVo> getLifeServicesByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, String storeName, int pageNum, int pageSize) {
         // 参数校验
         if (lon == null || lat == null) {
             throw new IllegalArgumentException("经纬度参数不能为空");
@@ -3095,7 +3095,11 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
         // 过滤永久关门的店铺
         queryWrapper.ne("a.business_status", 99);
         // 过滤过期的经营许可证
-//        queryWrapper.ge("a.entertainment_licence_expiration_time", new Date());
+        queryWrapper.ge("a.entertainment_licence_expiration_time", new Date());
+        // 添加商家名称模糊查询
+        if (StringUtils.isNotEmpty(storeName)) {
+            queryWrapper.like("a.store_name", storeName);
+        }
 
         // 距离优先模式:只显示10公里内且3.5星以上的店铺
         final Double finalDistance;
@@ -3744,7 +3748,7 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
 
 
     @Override
-    public IPage<StoreInfoVo> getSpecialTypeStoresByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, int pageNum, int pageSize) {
+    public IPage<StoreInfoVo> getSpecialTypeStoresByDistance(Double lon, Double lat, Double distance, Integer sortType, Integer businessType, Integer categoryId, String storeName,Integer storeType, int pageNum, int pageSize) {
         // 参数校验
         if (lon == null || lat == null) {
             throw new IllegalArgumentException("经纬度参数不能为空");
@@ -3848,6 +3852,16 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
             // 如果没有指定businessType,则查询所有四种类型的店铺
             // 需要查询字典表获取所有四种类型的dictId
             List<String> storeTypeNames = Arrays.asList("酒吧", "KTV", "洗浴汗蒸", "按摩足疗");
+//            List<String> storeTypeNames=new ArrayList<>();
+//            if (storeType !=null &&   storeType ==1 ){
+//                 storeTypeNames = Arrays.asList("酒吧", "KTV", "洗浴汗蒸", "按摩足疗");
+//            } else if (storeType !=null &&   storeType==2) {
+//                 storeTypeNames = Arrays.asList("丽人美发", "运动健身");
+//            }else if ( storeType !=null && storeType==3) {
+//                 storeTypeNames = Arrays.asList("特色美食");
+//            }
+
+
             List<StoreDictionary> storeDictionaries = storeDictionaryMapper.selectList(
                     new LambdaQueryWrapper<StoreDictionary>()
                             .eq(StoreDictionary::getTypeName, "business_section")
@@ -3881,7 +3895,11 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
         // 过滤永久关门的店铺
         queryWrapper.ne("a.business_status", 99);
         // 过滤过期的经营许可证
-//        queryWrapper.ge("a.entertainment_licence_expiration_time", new Date());
+        queryWrapper.ge("a.entertainment_licence_expiration_time", new Date());
+        // 添加一个模糊查询,根据店铺名称进行查询
+        if (StringUtils.isNotEmpty(storeName)) {
+            queryWrapper.like("a.store_name", storeName);
+        }
 
         // 距离优先模式:只显示10公里内且3.5星以上的店铺
         final Double finalDistance;