Commit a7bc0777 authored by 赵啸非's avatar 赵啸非

更新资源文件

parent f4aaf405
...@@ -106,7 +106,9 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi ...@@ -106,7 +106,9 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
} }
Set<String> urls = resourceService.findUrlSetByUserId(user.getId()); Set<String> urls = resourceService.findUrlSetByUserId(user.getId());
log.info("userId:{},urls:{}", user.getId(), JSON.toJSONString(urls)); log.info("userId:{},urls:{}", user.getId(), JSON.toJSONString(urls));
List<MenuEntity> outlookBarList = menuService.findTreeMenu(user, urls); // List<MenuEntity> outlookBarList = menuService.findTreeMenu(user, urls);
List<MenuEntity> treeMenuList = menuService.findTreeMenu(user);
String currUserName = user.getRealName(); String currUserName = user.getRealName();
if (currUserName == null || currUserName.trim().length() == 0) { if (currUserName == null || currUserName.trim().length() == 0) {
currUserName = "管理员"; currUserName = "管理员";
...@@ -116,7 +118,7 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi ...@@ -116,7 +118,7 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
String token = authTokenService.getToken(request); String token = authTokenService.getToken(request);
data.put("token", token); data.put("token", token);
data.put("currUserName", currUserName); data.put("currUserName", currUserName);
data.put("barList", outlookBarList); data.put("menuList", treeMenuList);
data.put("id", user.getId()); data.put("id", user.getId());
data.put("userType", user.getUserType()); data.put("userType", user.getUserType());
ret.put(KEY_RESULT_DATA, data); ret.put(KEY_RESULT_DATA, data);
...@@ -132,7 +134,7 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi ...@@ -132,7 +134,7 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
String siteTreeStr = siteFeign.siteTree(token); String siteTreeStr = siteFeign.siteTree(token);
// RedisTemplate<String, String> baseRedisTemplate = cacheService.selectDbRedisTemplate(1); // RedisTemplate<String, String> baseRedisTemplate = cacheService.selectDbRedisTemplate(1);
//com:mortals:xhx:module:site:model:SiteEntity redis调用 //com:mortals:xhx:module:site:model:SiteEntity redis调用
//String siteTreeStr = (String) baseRedisTemplate.opsForHash().get("user:site:tree", String.valueOf(user.getId())); //String siteTreeStr = (String) baseRedisTemplate.opsForHash().get("user:site:tree", String.valueOf(user.getId()));
if (!ObjectUtils.isEmpty(siteTreeStr)) { if (!ObjectUtils.isEmpty(siteTreeStr)) {
......
...@@ -10,22 +10,20 @@ package com.mortals.xhx.base.system.menu.service; ...@@ -10,22 +10,20 @@ package com.mortals.xhx.base.system.menu.service;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.framework.service.IUser; import com.mortals.framework.service.IUser;
import com.mortals.xhx.base.system.menu.model.MenuEntity; import com.mortals.xhx.base.system.menu.model.MenuEntity;
import com.mortals.xhx.base.system.menu.model.MenuTreeSelect;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
* <p>Title: 菜单信息</p> * 菜单资源类
* <p>Description: MenuService service接口 </p> * @author: zxfei
* <p>Copyright: Copyright &reg; </p> * @date: 2024/9/6 16:28
* <p>Company: </p>
* @author
* @version 1.0.0
*/ */
public interface MenuService extends ICRUDService<MenuEntity,Long> { public interface MenuService extends ICRUDService<MenuEntity,Long> {
/** /**
* 获取所有可用菜单 * 获取所有可用菜单
...@@ -33,7 +31,7 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> { ...@@ -33,7 +31,7 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
* @return * @return
* @throws AppException * @throws AppException
*/ */
public List<MenuEntity> findAllEnable() throws AppException; List<MenuEntity> findAllEnable() throws AppException;
/** /**
* 查询有权限的菜单 * 查询有权限的菜单
...@@ -43,16 +41,17 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> { ...@@ -43,16 +41,17 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
* @return * @return
* @throws AppException * @throws AppException
*/ */
public List<MenuEntity> findTreeMenu(IUser user, Set<String> urls) throws AppException; List<MenuEntity> findTreeMenu(IUser user, Set<String> urls) throws AppException;
/** /**
* 查看所有菜单 * 查询有权限的菜单
* *
* @param user 当前用户
* @return * @return
* @throws AppException * @throws AppException
*/ */
public List<MenuEntity> findTreeMenu() throws AppException; List<MenuEntity> findTreeMenu(IUser user) throws AppException;
/** /**
* 更新排列顺序 * 更新排列顺序
...@@ -60,4 +59,33 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> { ...@@ -60,4 +59,33 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
* @param type * @param type
*/ */
void upOrDown(Long id, Integer type); void upOrDown(Long id, Integer type);
/**
* 是否存在菜单信息业务节点
*
* @param menuId 菜单信息业务ID
* @return 结果
*/
boolean hasChildByMenuId(Long menuId);
/**
* 构建前端所需要下拉树结构
*
* @param menuList 菜单信息业务列表
* @return 下拉树结构列表
*/
List<MenuTreeSelect> buildMenuTreeSelect(List<MenuEntity> menuList);
/**
* 根据父id查询子节点
* @param parentId
* @param context
* @return
*/
List<MenuTreeSelect> getListByParentId(Long parentId, Context context);
} }
\ No newline at end of file
...@@ -18,10 +18,12 @@ import com.mortals.framework.util.StringUtils; ...@@ -18,10 +18,12 @@ import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.base.system.menu.dao.MenuDao; import com.mortals.xhx.base.system.menu.dao.MenuDao;
import com.mortals.xhx.base.system.menu.model.MenuEntity; import com.mortals.xhx.base.system.menu.model.MenuEntity;
import com.mortals.xhx.base.system.menu.model.MenuQuery; import com.mortals.xhx.base.system.menu.model.MenuQuery;
import com.mortals.xhx.base.system.menu.model.MenuTreeSelect;
import com.mortals.xhx.base.system.menu.service.MenuService; import com.mortals.xhx.base.system.menu.service.MenuService;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -52,6 +54,8 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity ...@@ -52,6 +54,8 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
@Override @Override
public List<MenuEntity> findTreeMenu(IUser user, Set<String> urls) throws AppException { public List<MenuEntity> findTreeMenu(IUser user, Set<String> urls) throws AppException {
//todo 重新写 菜单树 通过角色获取菜单
Set<Long> authIds = new HashSet<>(); Set<Long> authIds = new HashSet<>();
Map<Long, MenuEntity> menuMap = new HashMap<Long, MenuEntity>(); Map<Long, MenuEntity> menuMap = new HashMap<Long, MenuEntity>();
List<MenuEntity> userModuleList = this.findAllEnable(); List<MenuEntity> userModuleList = this.findAllEnable();
...@@ -118,7 +122,6 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity ...@@ -118,7 +122,6 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
@Override @Override
public void upOrDown(Long id, Integer type) { public void upOrDown(Long id, Integer type) {
MenuQuery query = new MenuQuery(); MenuQuery query = new MenuQuery();
query.setOrderColList(Arrays.asList(new OrderCol("orderId"))); query.setOrderColList(Arrays.asList(new OrderCol("orderId")));
query.setOrderKind(OrderCol.ASCENDING); query.setOrderKind(OrderCol.ASCENDING);
...@@ -173,11 +176,81 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity ...@@ -173,11 +176,81 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
MenuQuery query = new MenuQuery(); MenuQuery query = new MenuQuery();
query.setParentId(entity.getParentId()); query.setParentId(entity.getParentId());
Comparator<Integer> comparator = Comparator.comparing(Integer::intValue); Comparator<Integer> comparator = Comparator.comparing(Integer::intValue);
Optional<Integer> maxOptional = this.find(query).stream().map(MenuEntity::getOrderId).filter(f->f!=9999).max(comparator); Optional<Integer> maxOptional = this.find(query).stream().map(MenuEntity::getOrderId).filter(f -> f != 9999).max(comparator);
maxOptional.ifPresent(e -> { maxOptional.ifPresent(e -> {
e=e+1; e = e + 1;
entity.setOrderId(e); entity.setOrderId(e);
}); });
super.saveBefore(entity, context); super.saveBefore(entity, context);
} }
@Override
public boolean hasChildByMenuId(Long menuId) {
List<MenuEntity> list = this.find(new MenuQuery().parentId(menuId));
return list.size() > 0 ? true : false;
}
@Override
public List<MenuTreeSelect> buildMenuTreeSelect(List<MenuEntity> list) {
List<MenuEntity> returnList = new ArrayList<>();
List<Long> tempList = list.stream().map(MenuEntity::getId).collect(Collectors.toList());
for (Iterator<MenuEntity> iterator = list.iterator(); iterator.hasNext(); ) {
MenuEntity menuEntity = iterator.next();
if (!tempList.contains(menuEntity.getParentId())) {
recursionFn(list, menuEntity);
returnList.add(menuEntity);
}
}
if (returnList.isEmpty()) {
returnList = list;
}
return returnList.stream().map(MenuTreeSelect::new).collect(Collectors.toList());
}
/**
* 递归列表
*/
private void recursionFn(List<MenuEntity> list, MenuEntity t) {
// 得到子节点列表
List<MenuEntity> childList = getChildList(list, t);
t.setChildren(childList);
for (MenuEntity tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 判断是否有子节点
*/
private boolean hasChild(List<MenuEntity> list, MenuEntity t) {
return getChildList(list, t).size() > 0 ? true : false;
}
/**
* 得到子节点列表
*/
private List<MenuEntity> getChildList(List<MenuEntity> list, MenuEntity t) {
return list.stream().map(item -> {
if (!ObjectUtils.isEmpty(item.getParentId()) && item.getParentId() == t.getId()) {
return item;
}
return null;
}).filter(f -> f != null).collect(Collectors.toList());
}
@Override
public List<MenuTreeSelect> getListByParentId(Long parentId, Context context) {
if (ObjectUtils.isEmpty(parentId)) {
parentId = 0L;
}
//只做一层
List<MenuTreeSelect> collect = this.find(new MenuQuery().parentId(parentId), context).stream().map(item -> new MenuTreeSelect(item)
).collect(Collectors.toList());
return collect;
}
} }
\ No newline at end of file
...@@ -8,6 +8,8 @@ import com.mortals.framework.model.OrderCol; ...@@ -8,6 +8,8 @@ import com.mortals.framework.model.OrderCol;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.menu.model.MenuQuery; import com.mortals.xhx.base.system.menu.model.MenuQuery;
import com.mortals.xhx.base.system.menu.model.MenuTreeSelect;
import com.mortals.xhx.common.code.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -15,11 +17,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -15,11 +17,6 @@ import org.springframework.web.bind.annotation.*;
import com.mortals.framework.web.BaseCRUDJsonMappingController; import com.mortals.framework.web.BaseCRUDJsonMappingController;
import com.mortals.xhx.base.system.menu.model.MenuEntity; import com.mortals.xhx.base.system.menu.model.MenuEntity;
import com.mortals.xhx.base.system.menu.service.MenuService; import com.mortals.xhx.base.system.menu.service.MenuService;
import com.mortals.xhx.common.code.DataSatus;
import com.mortals.xhx.common.code.MenuAuthType;
import com.mortals.xhx.common.code.MenuComm;
import com.mortals.xhx.common.code.MenuLinkType;
import com.mortals.xhx.common.code.MenuType;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -28,12 +25,13 @@ import java.util.HashMap; ...@@ -28,12 +25,13 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.mortals.framework.ap.SysConstains.RESULT_KEY;
/** /**
* 菜单信息 * 菜单信息
* *
* @author: zxfei * @author: zxfei
* @date: 2021/11/30 10:02 * @date: 2024/9/6 16:23
*/ */
@RestController @RestController
@RequestMapping("menu") @RequestMapping("menu")
...@@ -46,21 +44,19 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic ...@@ -46,21 +44,19 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic
@Override @Override
protected void doListBefore(MenuEntity query, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(MenuEntity query, Map<String, Object> model, Context context) throws AppException {
List<OrderCol> orderColList = new ArrayList<OrderCol>(); List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("parentId"));
orderColList.add(new OrderCol("orderId")); orderColList.add(new OrderCol("orderId"));
query.setOrderColList(orderColList); query.setOrderColList(orderColList);
} }
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
Map<String, Object> status = new HashMap<String, Object>(); this.addDict(model, "linkType", LinkTypeEnum.getEnumMap());
status.put("status", DataSatus.getEnumMap(DataSatus.CLOSE.getValue(), DataSatus.DELETE.getValue(), DataSatus.OVERDUE.getValue(), DataSatus.USEOUT.getValue())); this.addDict(model, "commMenu", CommMenuEnum.getEnumMap());
status.put("linkType", MenuLinkType.getEnumMap()); this.addDict(model, "menuType", MenuTypeEnum.getEnumMap());
status.put("commMenu", MenuComm.getEnumMap()); this.addDict(model, "authType", AuthTypeEnum.getEnumMap());
status.put("menuType", MenuType.getEnumMap()); this.addDict(model, "visible", VisibleEnum.getEnumMap());
status.put("authType", MenuAuthType.getEnumMap()); this.addDict(model, "status", StatusEnum.getEnumMap());
model.put(KEY_RESULT_DICT, status);
} }
/** /**
...@@ -114,4 +110,54 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic ...@@ -114,4 +110,54 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic
} }
return ret.toJSONString(); return ret.toJSONString();
} }
/**
* 获取站点下拉树列表
*/
@ApiOperation(value = "菜单树列表")
@PostMapping("treeselect")
public String treeselect() {
Map<String, Object> model = new HashMap<>();
JSONObject ret = new JSONObject();
String busiDesc = "查询" + this.getModuleDesc();
int code = VALUE_RESULT_SUCCESS;
try {
List<MenuEntity> list = this.service.find(new MenuQuery());
List<MenuTreeSelect> treeSelects = this.service.buildMenuTreeSelect(list);
model.put("result", treeSelects);
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
ret.put(KEY_RESULT_DATA, model);
ret.put(KEY_RESULT_CODE, code);
return ret.toJSONString();
}
/**
* 根据parentId查询子信息
*/
@ApiOperation(value = "根据parentId查询子信息")
@GetMapping(value = "getListByParentId")
public String getListByParentId(Long parentId) {
JSONObject ret = new JSONObject();
Map<String, Object> model = new HashMap<>();
String busiDesc = "查询" + this.getModuleDesc() + "子节点";
try {
List<MenuTreeSelect> treeList = this.service.getListByParentId(parentId, getContext());
model.put(RESULT_KEY, treeList);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_DATA, model);
recordSysLog(request, busiDesc + "【成功】");
} catch (Exception e) {
log.error("根据parentId查询子信息错误", e);
this.doException(request, busiDesc, model, e);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, e.getMessage());
}
return ret.toJSONString();
}
} }
\ No newline at end of file
...@@ -67,8 +67,8 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, Re ...@@ -67,8 +67,8 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, Re
if (StringUtils.isEmpty(url)) { if (StringUtils.isEmpty(url)) {
continue; continue;
} }
url = url.replaceAll(",", ","); urls.add(url);
urls.addAll(StringUtils.converStr2Set(url)); // url = url.replaceAll(",", ",");
} }
return urls; return urls;
} }
......
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