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

This commit is contained in:
liyj 2025-09-29 10:51:54 +08:00
parent bde21f33c7
commit 9eafc6bac5
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);
Integer store_category_id = (Integer) category_row.get("store_category_id");
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("store_type", "1");
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_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);
if (ObjectUtil.isNull(store_category_id)) {
if (null != paramsMap.get("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);
if (CheckUtil.isEmpty(distance)) {
distance = 20000000000L;
@ -780,28 +786,13 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
}
if (CheckUtil.isNotEmpty(store_category_id)) {
List<Integer> store_category_ids = new ArrayList<>();
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);
});
}
queryWrapper.eq("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);
params.put("store_is_open", 1);
@ -3100,20 +3091,20 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
params.put("countyId", countyId);
params.put("userLng", userLng);
params.put("userLat", userLat);
List<Integer> storeCategoryIds = new ArrayList<>();
QueryWrapper<ShopBaseStoreCategory> storeCategoryQueryWrapper = new QueryWrapper<>();
storeCategoryQueryWrapper.eq("store_category_parent_id", storeCategoryId);
List<ShopBaseStoreCategory> shopBaseStoreCategories = shopBaseStoreCategoryService.list(storeCategoryQueryWrapper);
if (!shopBaseStoreCategories.isEmpty()) {
storeCategoryIds.add(storeCategoryId);
shopBaseStoreCategories.forEach(shopBaseStoreCategory -> {
storeCategoryIds.add(shopBaseStoreCategory.getStore_category_id());
});
params.put("storeCategoryIds", storeCategoryIds);
} else {
params.put("storeCategoryId", storeCategoryId);
}
// List<Integer> storeCategoryIds = new ArrayList<>();
// QueryWrapper<ShopBaseStoreCategory> storeCategoryQueryWrapper = new QueryWrapper<>();
// storeCategoryQueryWrapper.eq("store_category_parent_id", storeCategoryId);
// List<ShopBaseStoreCategory> shopBaseStoreCategories = shopBaseStoreCategoryService.list(storeCategoryQueryWrapper);
// if (!shopBaseStoreCategories.isEmpty()) {
// storeCategoryIds.add(storeCategoryId);
// shopBaseStoreCategories.forEach(shopBaseStoreCategory -> {
// storeCategoryIds.add(shopBaseStoreCategory.getStore_category_id());
// });
// params.put("storeCategoryIds", storeCategoryIds);
// } else {
// params.put("storeCategoryId", storeCategoryId);
// }
params.put("storeCategoryId", storeCategoryId);
params.put("subSiteId", subSiteId);
params.put("storeName", storeName);