店铺分类查询按子类查询问题修改

This commit is contained in:
liyj 2025-09-29 10:51:54 +08:00
parent 129ba5b394
commit 8687a295c0
2 changed files with 27 additions and 35 deletions

View File

@ -89,7 +89,8 @@ public class ShopBaseStoreCategoryServiceImpl extends BaseServiceImpl<ShopBaseSt
RequestContextHolder.setRequestAttributes(requestAttributes, true); RequestContextHolder.setRequestAttributes(requestAttributes, true);
Integer store_category_id = (Integer) category_row.get("store_category_id"); Integer store_category_id = (Integer) category_row.get("store_category_id");
Map<String, Object> row = new HashMap<>(); Map<String, Object> row = new HashMap<>();
row.put("store_category_id", String.valueOf(store_category_id)); row.put("store_category_id", String.valueOf(store_category_parent_id));
row.put("store_2nd_category_id", String.valueOf(store_category_id));
row.put("findStore", true); row.put("findStore", true);
row.put("store_type", "1"); row.put("store_type", "1");
Map storeListMap = shopStoreBaseService.getStoreList(1, pageSize, row); Map storeListMap = shopStoreBaseService.getStoreList(1, pageSize, row);

View File

@ -736,12 +736,18 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
Integer store_id = getParameter("store_id", Integer.class); Integer store_id = getParameter("store_id", Integer.class);
Integer store_category_id = getParameter("store_category_id", Integer.class); Integer store_category_id = getParameter("store_category_id", Integer.class);
Integer store_2nd_category_id = getParameter("store_2nd_category_id", Integer.class);
boolean findStore = MapUtils.getBoolean(paramsMap, "findStore", false); boolean findStore = MapUtils.getBoolean(paramsMap, "findStore", false);
if (ObjectUtil.isNull(store_category_id)) { if (ObjectUtil.isNull(store_category_id)) {
if (null != paramsMap.get("store_category_id")) { if (null != paramsMap.get("store_category_id")) {
store_category_id = MapUtils.getInteger(paramsMap, "store_category_id"); store_category_id = MapUtils.getInteger(paramsMap, "store_category_id");
} }
} }
if (ObjectUtil.isNull(store_2nd_category_id)) {
if (null != paramsMap.get("store_2nd_category_id")) {
store_2nd_category_id = MapUtils.getInteger(paramsMap, "store_2nd_category_id");
}
}
Long distance = getParameter("distance", Long.class); Long distance = getParameter("distance", Long.class);
if (CheckUtil.isEmpty(distance)) { if (CheckUtil.isEmpty(distance)) {
distance = 20000000000L; distance = 20000000000L;
@ -780,28 +786,13 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
} }
if (CheckUtil.isNotEmpty(store_category_id)) { if (CheckUtil.isNotEmpty(store_category_id)) {
List<Integer> store_category_ids = new ArrayList<>(); queryWrapper.eq("store_category_id",store_category_id);
QueryWrapper<ShopBaseStoreCategory> storeCategoryQueryWrapper = new QueryWrapper<>();
storeCategoryQueryWrapper.eq("store_category_parent_id", store_category_id);
storeCategoryQueryWrapper.select("store_category_id");
List<ShopBaseStoreCategory> shopBaseStoreCategories = shopBaseStoreCategoryService.list(storeCategoryQueryWrapper);
store_category_ids.add(store_category_id);
for (ShopBaseStoreCategory storeCategory : shopBaseStoreCategories) {
store_category_ids.add(storeCategory.getStore_category_id());
}
if (store_category_ids.size() > 1) {
queryWrapper.and(q->{
q.in("store_category_id",store_category_ids);
q.or().in("store_2nd_category_id",store_category_ids);
});
} else {
queryWrapper.or(q->{
q.eq("store_category_id",store_category_ids);
q.or().eq("store_2nd_category_id",store_category_ids);
});
}
params.put("store_category_id", store_category_id); params.put("store_category_id", store_category_id);
} }
if(CheckUtil.isNotEmpty(store_2nd_category_id)){
queryWrapper.eq("store_2nd_category_id",store_2nd_category_id);
}
queryWrapper.eq("store_is_open", 1); queryWrapper.eq("store_is_open", 1);
params.put("store_is_open", 1); params.put("store_is_open", 1);
@ -3100,20 +3091,20 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
params.put("countyId", countyId); params.put("countyId", countyId);
params.put("userLng", userLng); params.put("userLng", userLng);
params.put("userLat", userLat); params.put("userLat", userLat);
List<Integer> storeCategoryIds = new ArrayList<>(); // List<Integer> storeCategoryIds = new ArrayList<>();
QueryWrapper<ShopBaseStoreCategory> storeCategoryQueryWrapper = new QueryWrapper<>(); // QueryWrapper<ShopBaseStoreCategory> storeCategoryQueryWrapper = new QueryWrapper<>();
storeCategoryQueryWrapper.eq("store_category_parent_id", storeCategoryId); // storeCategoryQueryWrapper.eq("store_category_parent_id", storeCategoryId);
List<ShopBaseStoreCategory> shopBaseStoreCategories = shopBaseStoreCategoryService.list(storeCategoryQueryWrapper); // List<ShopBaseStoreCategory> shopBaseStoreCategories = shopBaseStoreCategoryService.list(storeCategoryQueryWrapper);
if (!shopBaseStoreCategories.isEmpty()) { // if (!shopBaseStoreCategories.isEmpty()) {
storeCategoryIds.add(storeCategoryId); // storeCategoryIds.add(storeCategoryId);
shopBaseStoreCategories.forEach(shopBaseStoreCategory -> { // shopBaseStoreCategories.forEach(shopBaseStoreCategory -> {
storeCategoryIds.add(shopBaseStoreCategory.getStore_category_id()); // storeCategoryIds.add(shopBaseStoreCategory.getStore_category_id());
}); // });
params.put("storeCategoryIds", storeCategoryIds); // params.put("storeCategoryIds", storeCategoryIds);
} else { // } else {
params.put("storeCategoryId", storeCategoryId); // params.put("storeCategoryId", storeCategoryId);
} // }
params.put("storeCategoryId", storeCategoryId);
params.put("subSiteId", subSiteId); params.put("subSiteId", subSiteId);
params.put("storeName", storeName); params.put("storeName", storeName);