商品分类逻辑,去除父类
This commit is contained in:
parent
ce8a386026
commit
04a34e6ed9
@ -612,7 +612,7 @@ public class SxDataDao extends BaseDao{
|
||||
public Integer getNewActiveCount(DataBaseInfo dataBaseInfo){
|
||||
String where=dataBaseInfo.getWhere()+" and rule_no in('DD','PS','PM') and range_flag='I'";
|
||||
return getBaseTotal(dataBaseInfo.getIp(),dataBaseInfo.getUserName(),dataBaseInfo.getPassword(),dataBaseInfo.getDbPort(),dataBaseInfo.getDataBaseName(),
|
||||
T_PUB_PLAN_MASTER,where);
|
||||
T_PUB_PLAN_MASTER+" b",where);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -74,15 +74,18 @@ public abstract class SxDataAbstService {
|
||||
sxCategoryModel.setCategory_name(sxSyncCategory.getItem_clsname());
|
||||
sxCategoryModel.setBrandName(clsBrandMap.get(sxSyncCategory.getItem_clsname()));
|
||||
//寻找父级
|
||||
if(null!=sxSyncCategory.getCls_parent()){
|
||||
if(StringUtils.isNotEmpty(sxSyncCategory.getCls_parent())){
|
||||
SxSyncCategory firstNode=getParentNode(allSxSyncCategories,sxSyncCategory.getCls_parent());
|
||||
if(null==firstNode){
|
||||
sxCategoryModel.setFirst_category_name("");
|
||||
sxCategoryModel.setProduct_type(sxCategoryModel.getCategory_name());
|
||||
sxCategoryModels.add(sxCategoryModel);
|
||||
continue;
|
||||
}
|
||||
sxCategoryModel.setParent_name(firstNode.getItem_clsname());//todo 暂时无用
|
||||
//如何存在上级的上级,则上级为第二层,上上及为第一层
|
||||
if(null!=firstNode.getCls_parent()) {//还存在上级
|
||||
SxSyncCategory secondNode=getParentNode(allSxSyncCategories,sxSyncCategory.getCls_parent());
|
||||
if(StringUtils.isNotEmpty(firstNode.getCls_parent())) {//还存在上级
|
||||
SxSyncCategory secondNode=getParentNode(allSxSyncCategories,firstNode.getCls_parent());
|
||||
if(null!=secondNode && secondNode.getItem_clsno().equals(firstNode.getCls_parent())){
|
||||
sxCategoryModel.setFirst_category_name(secondNode.getItem_clsname());
|
||||
sxCategoryModel.setSecond_category_name(firstNode.getItem_clsname());
|
||||
@ -98,9 +101,28 @@ public abstract class SxDataAbstService {
|
||||
sxCategoryModel.setProduct_type(sxCategoryModel.getCategory_name());
|
||||
sxCategoryModels.add(sxCategoryModel);
|
||||
}
|
||||
sxCategoryModels=filterCategories(sxCategoryModels);
|
||||
return sxCategoryModels;
|
||||
}
|
||||
|
||||
public static List<SxCategoryModel> filterCategories(List<SxCategoryModel> categories) {
|
||||
// 步骤1: 收集所有作为父类出现的名称
|
||||
Set<String> parentNames = categories.stream()
|
||||
.map(SxCategoryModel::getFirst_category_name)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toSet());
|
||||
Set<String> rootParents = categories.stream()
|
||||
.map(SxCategoryModel::getSecond_category_name)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
// 步骤2: 保留叶子节点(没有作为父类出现的节点)
|
||||
return categories.stream()
|
||||
.filter(category -> !parentNames.contains(category.getCategory_name()))
|
||||
.filter(category -> !rootParents.contains(category.getCategory_name()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过流查找父节点
|
||||
* @param sxSyncCategories
|
||||
|
||||
@ -728,7 +728,7 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
|
||||
String where="where 1=1";
|
||||
Integer total =0;
|
||||
if(StringUtils.isNotEmpty(commentModel.getSyncTime())){
|
||||
where+=" and b.start_date>'"+commentModel.getSyncTime()+"' ";
|
||||
where+=" and b.oper_date>'"+commentModel.getSyncTime()+"' ";
|
||||
// where+=" or b.oper_date>'"+commentModel.getSyncTime()+"') ";
|
||||
}
|
||||
dataBaseInfo.setWhere(where);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user