feat: 迁移国内标准法规部分1
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package com.adc.da.slrs.sarMenu.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.adc.da.base.web.BaseController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-06-01
|
||||
*/
|
||||
@RestController
|
||||
@Api(description = "|SarMenu|")
|
||||
@RequestMapping("/sarMenu/sar-menu")
|
||||
public class SarMenuController extends BaseController<SarMenu> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.adc.da.slrs.sarMenu.dao;
|
||||
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-06-01
|
||||
*/
|
||||
public interface SarMenuDao extends BaseMapper<SarMenu> {
|
||||
|
||||
List<SarMenu> queryMenuByDis(SarMenu sarMenuEO);
|
||||
|
||||
List<SarMenu> selectMenuByRole(SarMenu sarMenuEO);
|
||||
|
||||
List<SarMenu> queryMenuByPid(SarMenu sarMenuEO);
|
||||
|
||||
List<SarMenu> queryByPidExcpetSelf(SarMenu sarMenuEO);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.adc.da.slrs.sarMenu.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.data.annotation.Transient;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-06-01
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SarMenu对象", description="")
|
||||
public class SarMenu extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId("ID")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "标准法规划分")
|
||||
@TableField("SOR_DIVIDE")
|
||||
private String sorDivide;
|
||||
|
||||
@ApiModelProperty(value = "目录名称")
|
||||
@TableField("MENU_NAME")
|
||||
private String menuName;
|
||||
|
||||
@ApiModelProperty(value = "父级ID")
|
||||
@TableField("PARENT_ID")
|
||||
private String parentId;
|
||||
|
||||
@ApiModelProperty(value = "父级ID集合")
|
||||
@TableField("PARENT_IDS")
|
||||
private String parentIds;
|
||||
|
||||
@ApiModelProperty(value = "排序序号")
|
||||
@TableField("DISPLAY_SEQ")
|
||||
private Integer displaySeq;
|
||||
|
||||
@ApiModelProperty(value = "是否有效")
|
||||
@TableField("VALID_FLAG")
|
||||
private Integer validFlag;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATION_TIME")
|
||||
private Date creationTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@TableField("MODIFY_TIME")
|
||||
private Date modifyTime;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
@TableField("REMARKS")
|
||||
private String remarks;
|
||||
|
||||
@TableField(exist=false)
|
||||
private List<String> roleIds;
|
||||
|
||||
@TableField(exist=false)
|
||||
private List<String> childMenuIds;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.adc.da.slrs.sarMenu.service;
|
||||
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-06-01
|
||||
*/
|
||||
public interface ISarMenuService extends IService<SarMenu> {
|
||||
|
||||
List<String> getParentMenuId(String menuId);
|
||||
|
||||
List<String> queryRoleMenuIdList(String sordDivide, String menuId) throws Exception;
|
||||
|
||||
List<String> getChildMenuList(String menuId);
|
||||
}
|
||||
+155
@@ -0,0 +1,155 @@
|
||||
package com.adc.da.slrs.sarMenu.service.impl;
|
||||
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarMenu.dao.SarMenuDao;
|
||||
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
|
||||
import com.adc.da.utils.treetool.Tree;
|
||||
import com.adc.da.utils.treetool.TreeNode;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-06-01
|
||||
*/
|
||||
@Service
|
||||
public class SarMenuServiceImpl extends ServiceImpl<SarMenuDao, SarMenu> implements ISarMenuService {
|
||||
|
||||
@Autowired
|
||||
private SarMenuDao dao;
|
||||
|
||||
public List<String> getParentMenuId (String menuId) {
|
||||
List<String> parentIds = new ArrayList<>();
|
||||
if (StringUtils.isNotEmpty(menuId)) {
|
||||
List<SarMenu> sarMenuEOList = dao.selectList(new QueryWrapper<>());
|
||||
Tree tree = new Tree(sarMenuEOList);
|
||||
TreeNode treeNode = tree.getTreeNode(menuId);
|
||||
while (treeNode.getParent() != null) {
|
||||
parentIds.add(treeNode.getParent().getNodeId());
|
||||
treeNode = treeNode.getParent();
|
||||
}
|
||||
}
|
||||
return parentIds;
|
||||
}
|
||||
|
||||
public List<String> queryRoleMenuIdList(String sordDivide, String menuId) throws Exception{
|
||||
// 根据当前登录人id查出对应角色
|
||||
SarMenu sarMenu = new SarMenu();
|
||||
sarMenu.setSorDivide(sordDivide);
|
||||
String roleIds = UserUtils.getRoleIds();
|
||||
String[] roleArr = roleIds.split(",");
|
||||
List<String> roleIdList = Arrays.asList(roleArr);
|
||||
sarMenu.setRoleIds(roleIdList);
|
||||
//角色未配置根节点,手动加入根节点权限
|
||||
List<SarMenu> resultList = queryMenuByDis(sarMenu);
|
||||
List<SarMenu> list = selectMenuByRole(sarMenu);
|
||||
if(!"BUSINESS_STAND".equals(sarMenu.getSorDivide())){
|
||||
resultList.addAll(list);
|
||||
} else {
|
||||
// 如果是企标,并且两个根节点都有权限,最先只查已分配下的节点
|
||||
if (resultList != null && resultList.size() == 2) {
|
||||
SarMenu menu1 = resultList.get(0);
|
||||
SarMenu 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(SarMenu menu : resultList){
|
||||
getMenuIds.add(menu.getId());
|
||||
}
|
||||
}
|
||||
return getMenuIds;
|
||||
}
|
||||
|
||||
public List<SarMenu> queryMenuByDis(SarMenu sarMenu) {
|
||||
return dao.queryMenuByDis(sarMenu);
|
||||
}
|
||||
|
||||
public List<SarMenu> selectMenuByRole(SarMenu sarMenu) {
|
||||
List<SarMenu> list = dao.selectMenuByRole(sarMenu);
|
||||
if (list == null) {
|
||||
list = new ArrayList<>();
|
||||
}
|
||||
SarMenu collectMenu = new SarMenu();
|
||||
collectMenu.setId("wdsc");
|
||||
collectMenu.setSorDivide(sarMenu.getSorDivide());
|
||||
collectMenu.setMenuName("我的收藏");
|
||||
collectMenu.setParentId("1");
|
||||
collectMenu.setDisplaySeq(9999);
|
||||
list.add(collectMenu);
|
||||
SarMenu labeltMenu = new SarMenu();
|
||||
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> queryRoleMenuIdListForLaws(String sordDivide) throws Exception{
|
||||
// 根据当前登录人id查出对应角色
|
||||
SarMenu sarMenu = new SarMenu();
|
||||
sarMenu.setSorDivide(sordDivide);
|
||||
String roleIds = UserUtils.getRoleIds();
|
||||
String[] roleArr = roleIds.split(",");
|
||||
List<String> roleIdList = Arrays.asList(roleArr);
|
||||
sarMenu.setRoleIds(roleIdList);
|
||||
//角色未配置根节点,手动加入根节点权限
|
||||
// List<SarMenu> resultList = queryMenuByDis(SarMenu);
|
||||
List<SarMenu> list = selectMenuByRole(sarMenu);
|
||||
// resultList.addAll(list);
|
||||
List<String> getMenuIds = new ArrayList<>();
|
||||
if(list != null && !list.isEmpty()){
|
||||
for(SarMenu menu : list){
|
||||
getMenuIds.add(menu.getId());
|
||||
}
|
||||
}
|
||||
return getMenuIds;
|
||||
}
|
||||
|
||||
public List<String> getChildMenuList (String menuId) {
|
||||
List<String> menuIds = new ArrayList<>();
|
||||
if (StringUtils.isNotEmpty(menuId)) {
|
||||
List<SarMenu> SarMenuList = dao.selectList(new QueryWrapper<>());
|
||||
Tree tree = new Tree(SarMenuList);
|
||||
TreeNode treeNode = tree.getTreeNode(menuId);
|
||||
if (treeNode != null) {
|
||||
menuIds.add(treeNode.getNodeId());
|
||||
for (TreeNode node : treeNode.getAllChildren()) {
|
||||
menuIds.add(node.getNodeId());
|
||||
}
|
||||
}
|
||||
}
|
||||
return menuIds;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user