feat: 标准库

This commit is contained in:
super_liu
2021-07-11 15:47:02 +08:00
parent 48933b44dc
commit 43434a68e0
8 changed files with 358 additions and 4 deletions
@@ -3,6 +3,8 @@ package com.adc.da.slrs.sarResource.dao;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* <p>
* Mapper 接口
@@ -13,4 +15,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface TsResourceDao extends BaseMapper<TsResource> {
List<TsResource> queryMenuByDis(TsResource sarMenuEO);
List<TsResource> selectMenuByRole(TsResource sarMenuEO);
}
@@ -91,4 +91,10 @@ public class TsResource extends BaseEntity {
@TableField(exist = false)
private String parentIdsName;
@TableField(exist=false)
private List<String> roleIds;
@TableField(exist=false)
private List<String> childMenuIds;
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarResource.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -16,8 +17,12 @@ import java.util.List;
*/
public interface ITsResourceService extends IService<TsResource> {
List<TsResource> selectMenuByRole(TsResource sarMenuEO);
List<String> getParentMenuId(String menuId);
List<String> queryRoleMenuIdList(String sordDivide, String menuId) throws Exception;
/**
* 通过Ids查询menu
* @param menuIds :菜单Ids
@@ -25,6 +30,8 @@ public interface ITsResourceService extends IService<TsResource> {
*/
List<TsResource> getMenuByIds(List<String> menuIds);
List<TsResource> queryMenuByDis(TsResource sarMenuEO);
List<TsResource> getAll(TsResource tsResource);
ResponseMessage<Object> addResource(TsResource tsResource);
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarResource.service.impl;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.login.util.UserUtils;
import com.adc.da.slrs.sarResource.dao.TsResourceDao;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
@@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -30,6 +32,79 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
@Autowired
private TsResourceDao dao;
public List<TsResource> selectMenuByRole(TsResource sarMenu) {
List<TsResource> list = dao.selectMenuByRole(sarMenu);
if (list == null) {
list = new ArrayList<>();
}
TsResource collectMenu = new TsResource();
collectMenu.setId("wdsc");
collectMenu.setSorDivide(sarMenu.getSorDivide());
collectMenu.setMenuName("我的收藏");
collectMenu.setParentId("1");
collectMenu.setDisplaySeq(9999);
list.add(collectMenu);
TsResource labeltMenu = new TsResource();
labeltMenu.setId("gxhbq");
labeltMenu.setSorDivide(sarMenu.getSorDivide());
labeltMenu.setMenuName("个性化标签");
labeltMenu.setParentId("1");
labeltMenu.setDisplaySeq(10000);
if(!"BUSINESS_STAND".equals(sarMenu.getSorDivide())) {
list.add(labeltMenu);
}
return list;
}
public List<String> queryRoleMenuIdList(String sordDivide, String menuId) throws Exception{
// 根据当前登录人id查出对应角色
TsResource sarMenu = new TsResource();
sarMenu.setSorDivide(sordDivide);
String roleIds = UserUtils.getRoleIds();
String[] roleArr = roleIds.split(",");
List<String> roleIdList = Arrays.asList(roleArr);
sarMenu.setRoleIds(roleIdList);
//角色未配置根节点,手动加入根节点权限
List<TsResource> resultList = queryMenuByDis(sarMenu);
List<TsResource> list = selectMenuByRole(sarMenu);
if(!"BUSINESS_STAND".equals(sarMenu.getSorDivide())){
resultList.addAll(list);
} else {
// 如果是企标,并且两个根节点都有权限,最先只查已分配下的节点
if (resultList != null && resultList.size() == 2) {
TsResource menu1 = resultList.get(0);
TsResource menu2 = resultList.get(1);
if (list != null && list.size()>1) {
int menu1Index = -1;
int menu2Index = -1;
for (int i = 0;i < list.size();i++) {
if (list.get(i).getId().equals(menu1.getId())) {
menu1Index = i;
} else if (list.get(i).getId().equals(menu2.getId())) {
menu2Index = i;
}
}
if (menu1Index>0 && menu2Index>0 && StringUtils.isEmpty(menuId)) {
list.remove(menu2Index);
}
}
}
resultList = list;
}
List<String> getMenuIds = new ArrayList<>();
if(resultList != null && !resultList.isEmpty()){
for(TsResource menu : resultList){
getMenuIds.add(menu.getId());
}
}
return getMenuIds;
}
public List<TsResource> queryMenuByDis(TsResource sarMenu) {
return dao.queryMenuByDis(sarMenu);
}
public List<String> getParentMenuId (String menuId) {
List<String> parentIds = new ArrayList<>();
if (StringUtils.isNotEmpty(menuId)) {
@@ -5,6 +5,8 @@ import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService;
import com.adc.da.util.UUIDUtils;
import io.swagger.annotations.ApiOperation;
@@ -37,7 +39,7 @@ public class SarStandMenuController extends BaseController<SarStandMenu> {
private ISarStandMenuService sarStandMenuEOService;
@Autowired
private ISarMenuService sarMenuEOService;
private ITsResourceService sarMenuEOService;
@ApiOperation(value = "|SarStandMenuEO|修改")
@PutMapping("/removeStandInfo")
@@ -61,9 +63,9 @@ public class SarStandMenuController extends BaseController<SarStandMenu> {
List<SarStandMenu> getList = sarStandMenuEOService.selectAllMenuByStandId(menuEO);
if (getList == null || getList.isEmpty()) {
// 查询根节点
SarMenu sarMenuEO = new SarMenu();
TsResource sarMenuEO = new TsResource();
sarMenuEO.setSorDivide(standardsInfoEO.getStandType() + "_STAND");
List<SarMenu> getRootMenu = sarMenuEOService.queryMenuByDis(sarMenuEO);
List<TsResource> getRootMenu = sarMenuEOService.queryMenuByDis(sarMenuEO);
menuEO.setMenuId(getRootMenu.get(0).getId());
menuEO.setId(UUIDUtils.randomUUID20());
menuEO.setValidFlag(0);
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarStandMenu.service.impl;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu;
import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao;
import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService;
@@ -25,7 +26,7 @@ public class SarStandMenuServiceImpl extends ServiceImpl<SarStandMenuDao, SarSta
private SarStandMenuDao dao;
@Autowired
private ISarMenuService sarMenuEOService;
private ITsResourceService sarMenuEOService;
@Override
public int deleteByMenuId (SarStandMenu sarStandMenuEO){