This commit is contained in:
zhangchenbiao
2023-06-29 10:27:33 +08:00
parent 21ed32a2b4
commit 573d60e97e
2 changed files with 16 additions and 1 deletions

View File

@@ -13,6 +13,7 @@ import com.cool.store.vo.OpenAreaVO;
import com.cool.store.vo.OpenProvinceVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -27,6 +28,7 @@ import java.util.stream.Collectors;
* @Date 2023/6/13 22:11
* @Version 1.0
*/
@Slf4j
@Service
public class OpenAreaServiceImpl implements OpenAreaService {
@@ -64,13 +66,15 @@ public class OpenAreaServiceImpl implements OpenAreaService {
@Override
public List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag, Boolean flag) {
long startTime = System.currentTimeMillis();
//先查出所有的一级菜单
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
log.info("11耗时{}", System.currentTimeMillis() - startTime);
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,applyFlag,null,flag);
log.info("22耗时{}", System.currentTimeMillis() - startTime);
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
Set list = new HashSet();
@@ -82,6 +86,7 @@ public class OpenAreaServiceImpl implements OpenAreaService {
list.add(x.getParentId());
}
});
log.info("33耗时{}", System.currentTimeMillis() - startTime);
if (CollectionUtils.isNotEmpty(list)){
//二级采单
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByIdsExcludeFirstLevel(new ArrayList<>(list));
@@ -104,15 +109,19 @@ public class OpenAreaServiceImpl implements OpenAreaService {
}
});
}
log.info("44耗时{}", System.currentTimeMillis() - startTime);
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
log.info("55耗时{}", System.currentTimeMillis() - startTime);
return openAreaTreeVOS;
}
@Override
public List<OpenAreaTreeVO> searchOpenArea(String keyword,Boolean applyFlag, Boolean flag) {
long startTime = System.currentTimeMillis();
//先查出所有的一级菜单
List<HyOpenAreaInfoDO> allOpenArea = hyOpenAreaInfoDAO.getAllOpenArea();
log.info("11耗时{}", System.currentTimeMillis() - startTime);
return OpenAreaTreeVO.convertTree(allOpenArea, keyword);
}