Commit 34b0b089 authored by 周健威's avatar 周健威

修改代码

parent 4b294ac6
......@@ -21,6 +21,7 @@ public class DataMenuTree extends TreeNode {
String path;
String code;
String type;
Integer dataNum;
List<GainData> elements = CollUtil.newArrayList();
String label;
......
......@@ -49,6 +49,25 @@ public class DataMenuBiz extends BaseBiz<DataMenuMapper,DataMenu> {
return TreeUtil.bulid(trees,root);
}
public List<DataMenuTree> getImageMenuStatsTree(List<GainDataBiz.DataMenuStats> menus, int root) {
List<DataMenuTree> trees = new ArrayList<DataMenuTree>();
DataMenuTree node = null;
for (GainDataBiz.DataMenuStats imageMenu : menus) {
node = new DataMenuTree();
BeanUtils.copyProperties(imageMenu, node);
node.setLabel(imageMenu.getTitle());
node.setDataNum(imageMenu.getDataNum());
node.setElements(gainDataBiz.selectAll(new GainData(){{
setMenuId(imageMenu.getId());
}}));
if (node.getChildren() == null) {
node.setChildren(new ArrayList<>());
}
trees.add(node);
}
return TreeUtil.bulid(trees,root);
}
public List<DataMenuTree> getImageMenuTreeNoElements(List<DataMenu> menus, int root) {
List<DataMenuTree> trees = new ArrayList<DataMenuTree>();
DataMenuTree node = null;
......
......@@ -7,6 +7,7 @@ import com.upyuns.platform.rs.gtdata.GtDataRestClient;
import com.upyuns.platform.rs.website.dto.GainDataDTO;
import com.upyuns.platform.rs.website.entity.DataMenu;
import com.upyuns.platform.rs.website.entity.FileData;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -59,6 +60,27 @@ public class GainDataBiz extends BaseBiz<GainDataMapper,GainData> {
}
}
@Data
static public class DataMenuStats extends DataMenu {
Integer dataNum = 0;
}
public void handleDataNum(Map<Integer, DataMenuStats> dataMenuMap, DataMenu dataMenu){
if(dataMenu != null) {
DataMenuStats stats = dataMenuMap.get(dataMenu.getId());
stats.setDataNum(stats.getDataNum() + 1);
if(dataMenu.getParentId() != null && dataMenu.getParentId() != -1) {
if(null == dataMenuMap.get(dataMenu.getParentId())) {
return;
}else {
handleDataNum(dataMenuMap,dataMenuMap.get(dataMenu.getParentId()));
}
}else {
return;
}
}
}
public Example initExample(GainDataDTO dto) {
Example example = new Example(GainData.class);
Example.Criteria criteria = example.createCriteria();
......
......@@ -3,6 +3,7 @@ package com.upyuns.platform.rs.website.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil;
import com.github.wxiaoqi.security.admin.constant.AdminCommonConstant;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
......@@ -193,6 +194,27 @@ public class AdminGaindataController extends BaseController<GainDataBiz, GainDat
return ObjectRestResponse.succ(map);
}
@ApiModelProperty("统计-目录")
@IgnoreUserToken
@RequestMapping(value = "/app/unauth/statistics/menu",method = RequestMethod.GET)
public ObjectRestResponse<List<GainData>> statisticsMenu(GainDataAdminDTO dto) {
Example example = baseBiz.initExample(dto);
List<GainData> list = baseBiz.selectByExample(example);
List<DataMenu> dataMenuList = dataMenuBiz.selectListAll();
List<GainDataBiz.DataMenuStats> dataMenuStatsList = Convert.toList(GainDataBiz.DataMenuStats.class, list);
List<GainDataController.GainDataVO> voList = Convert.toList(GainDataController.GainDataVO.class, list);
Map<Integer, GainDataBiz.DataMenuStats> dataMenuMap = dataMenuStatsList.parallelStream().collect(Collectors.toMap(DataMenu::getId, Function.identity()));
for(GainDataController.GainDataVO gainDataVO : voList) {
if(null != gainDataVO.getMenuId()) {
baseBiz.handleDataNum(dataMenuMap, dataMenuMap.get(gainDataVO.getMenuId()));
}
}
List<GainDataBiz.DataMenuStats> dataMenuStats = (List)dataMenuMap.values();
return ObjectRestResponse.succ(dataMenuBiz.getImageMenuStatsTree(dataMenuStats, AdminCommonConstant.ROOT));
}
@Data
static class GainDataAdminDTO extends GainDataDTO {
public static final int STATISTICSTYPE_SUPPLIER = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment