From a7d825cc54e2748ee916002ccbdfc1c83b130d9f Mon Sep 17 00:00:00 2001 From: xiongxiaoyang <1179705413@qq.com> Date: Fri, 14 Apr 2023 21:33:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=8E=E5=8F=B0=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=BF=87=E6=BB=A4=E7=9B=B8=E5=90=8C=E7=9A=84?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/java2nb/system/domain/DataPermDO.java | 350 ++++++++++-------- .../service/impl/DataPermServiceImpl.java | 213 ++++++----- 2 files changed, 300 insertions(+), 263 deletions(-) diff --git a/novel-admin/src/main/java/com/java2nb/system/domain/DataPermDO.java b/novel-admin/src/main/java/com/java2nb/system/domain/DataPermDO.java index 6ffa234..b35c256 100644 --- a/novel-admin/src/main/java/com/java2nb/system/domain/DataPermDO.java +++ b/novel-admin/src/main/java/com/java2nb/system/domain/DataPermDO.java @@ -1,174 +1,212 @@ package com.java2nb.system.domain; -import java.io.Serializable; - - -import java.math.BigDecimal; - import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.java2nb.common.jsonserializer.LongToStringSerializer; - - import org.springframework.format.annotation.DateTimeFormat; -import java.util.Date; +import java.io.Serializable; +import java.util.Date; +import java.util.Objects; /** * 数据权限管理 - * + * * @author xiongxy * @email 1179705413@qq.com * @date 2019-11-25 11:40:03 */ public class DataPermDO implements Serializable { - private static final long serialVersionUID = 1L; - - // - //java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值) - //所以通过序列化成字符串来解决 - @JsonSerialize(using = LongToStringSerializer.class) - private Long id; - //权限名称 - private String name; - //数据表名称 - private String tableName; - //所属模块 - private String moduleName; - //用户权限控制属性名 - private String crlAttrName; - //数据表权限控制列名 - private String crlColumnName; - //权限code,all_开头表示查看所有数据的权限,sup_开头表示查看下级数据的权限,own_开头表示查看本级数据的权限 - private String permCode; - //排序 - private Integer orderNum; - //创建时间 - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date gmtCreate; - //修改时间 - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date gmtModified; + private static final long serialVersionUID = 1L; - /** - * 设置: - */ - public void setId(Long id) { - this.id = id; - } - /** - * 获取: - */ - public Long getId() { - return id; - } - /** - * 设置:权限名称 - */ - public void setName(String name) { - this.name = name; - } - /** - * 获取:权限名称 - */ - public String getName() { - return name; - } - /** - * 设置:数据表名称 - */ - public void setTableName(String tableName) { - this.tableName = tableName; - } - /** - * 获取:数据表名称 - */ - public String getTableName() { - return tableName; - } - /** - * 设置:所属模块 - */ - public void setModuleName(String moduleName) { - this.moduleName = moduleName; - } - /** - * 获取:所属模块 - */ - public String getModuleName() { - return moduleName; - } - /** - * 设置:用户权限控制属性名 - */ - public void setCrlAttrName(String crlAttrName) { - this.crlAttrName = crlAttrName; - } - /** - * 获取:用户权限控制属性名 - */ - public String getCrlAttrName() { - return crlAttrName; - } - /** - * 设置:数据表权限控制列名 - */ - public void setCrlColumnName(String crlColumnName) { - this.crlColumnName = crlColumnName; - } - /** - * 获取:数据表权限控制列名 - */ - public String getCrlColumnName() { - return crlColumnName; - } - /** - * 设置:权限code,all_开头表示查看所有数据的权限,sup_开头表示查看下级数据的权限,own_开头表示查看本级数据的权限 - */ - public void setPermCode(String permCode) { - this.permCode = permCode; - } - /** - * 获取:权限code,all_开头表示查看所有数据的权限,sup_开头表示查看下级数据的权限,own_开头表示查看本级数据的权限 - */ - public String getPermCode() { - return permCode; - } - /** - * 设置:排序 - */ - public void setOrderNum(Integer orderNum) { - this.orderNum = orderNum; - } - /** - * 获取:排序 - */ - public Integer getOrderNum() { - return orderNum; - } - /** - * 设置:创建时间 - */ - public void setGmtCreate(Date gmtCreate) { - this.gmtCreate = gmtCreate; - } - /** - * 获取:创建时间 - */ - public Date getGmtCreate() { - return gmtCreate; - } - /** - * 设置:修改时间 - */ - public void setGmtModified(Date gmtModified) { - this.gmtModified = gmtModified; - } - /** - * 获取:修改时间 - */ - public Date getGmtModified() { - return gmtModified; - } + + // + //java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值) + //所以通过序列化成字符串来解决 + @JsonSerialize(using = LongToStringSerializer.class) + private Long id; + //权限名称 + private String name; + //数据表名称 + private String tableName; + //所属模块 + private String moduleName; + //用户权限控制属性名 + private String crlAttrName; + //数据表权限控制列名 + private String crlColumnName; + //权限code,all_开头表示查看所有数据的权限,sup_开头表示查看下级数据的权限,own_开头表示查看本级数据的权限 + private String permCode; + //排序 + private Integer orderNum; + //创建时间 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date gmtCreate; + //修改时间 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date gmtModified; + + /** + * 设置: + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取: + */ + public Long getId() { + return id; + } + + /** + * 设置:权限名称 + */ + public void setName(String name) { + this.name = name; + } + + /** + * 获取:权限名称 + */ + public String getName() { + return name; + } + + /** + * 设置:数据表名称 + */ + public void setTableName(String tableName) { + this.tableName = tableName; + } + + /** + * 获取:数据表名称 + */ + public String getTableName() { + return tableName; + } + + /** + * 设置:所属模块 + */ + public void setModuleName(String moduleName) { + this.moduleName = moduleName; + } + + /** + * 获取:所属模块 + */ + public String getModuleName() { + return moduleName; + } + + /** + * 设置:用户权限控制属性名 + */ + public void setCrlAttrName(String crlAttrName) { + this.crlAttrName = crlAttrName; + } + + /** + * 获取:用户权限控制属性名 + */ + public String getCrlAttrName() { + return crlAttrName; + } + + /** + * 设置:数据表权限控制列名 + */ + public void setCrlColumnName(String crlColumnName) { + this.crlColumnName = crlColumnName; + } + + /** + * 获取:数据表权限控制列名 + */ + public String getCrlColumnName() { + return crlColumnName; + } + + /** + * 设置:权限code,all_开头表示查看所有数据的权限,sup_开头表示查看下级数据的权限,own_开头表示查看本级数据的权限 + */ + public void setPermCode(String permCode) { + this.permCode = permCode; + } + + /** + * 获取:权限code,all_开头表示查看所有数据的权限,sup_开头表示查看下级数据的权限,own_开头表示查看本级数据的权限 + */ + public String getPermCode() { + return permCode; + } + + /** + * 设置:排序 + */ + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } + + /** + * 获取:排序 + */ + public Integer getOrderNum() { + return orderNum; + } + + /** + * 设置:创建时间 + */ + public void setGmtCreate(Date gmtCreate) { + this.gmtCreate = gmtCreate; + } + + /** + * 获取:创建时间 + */ + public Date getGmtCreate() { + return gmtCreate; + } + + /** + * 设置:修改时间 + */ + public void setGmtModified(Date gmtModified) { + this.gmtModified = gmtModified; + } + + /** + * 获取:修改时间 + */ + public Date getGmtModified() { + return gmtModified; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DataPermDO that = (DataPermDO) o; + return Objects.equals(id, that.id) && Objects.equals(name, that.name) + && Objects.equals(tableName, that.tableName) && Objects.equals(moduleName, that.moduleName) + && Objects.equals(crlAttrName, that.crlAttrName) && Objects.equals(crlColumnName, + that.crlColumnName) && Objects.equals(permCode, that.permCode) && Objects.equals(orderNum, + that.orderNum) && Objects.equals(gmtCreate, that.gmtCreate) && Objects.equals(gmtModified, + that.gmtModified); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, tableName, moduleName, crlAttrName, crlColumnName, permCode, orderNum, gmtCreate, + gmtModified); + } } diff --git a/novel-admin/src/main/java/com/java2nb/system/service/impl/DataPermServiceImpl.java b/novel-admin/src/main/java/com/java2nb/system/service/impl/DataPermServiceImpl.java index f390b61..3736e3b 100644 --- a/novel-admin/src/main/java/com/java2nb/system/service/impl/DataPermServiceImpl.java +++ b/novel-admin/src/main/java/com/java2nb/system/service/impl/DataPermServiceImpl.java @@ -1,10 +1,12 @@ package com.java2nb.system.service.impl; -import com.java2nb.common.domain.DictDO; import com.java2nb.common.domain.Tree; import com.java2nb.common.utils.BuildTree; import com.java2nb.common.utils.IdWorker; +import com.java2nb.system.dao.DataPermDao; import com.java2nb.system.dao.RoleDataPermDao; +import com.java2nb.system.domain.DataPermDO; +import com.java2nb.system.service.DataPermService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -12,119 +14,116 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; - -import com.java2nb.system.dao.DataPermDao; -import com.java2nb.system.domain.DataPermDO; -import com.java2nb.system.service.DataPermService; - +import java.util.stream.Collectors; @Service public class DataPermServiceImpl implements DataPermService { - @Autowired - private DataPermDao dataPermDao; - @Autowired - private RoleDataPermDao roleDataPermDao; - - @Override - public DataPermDO get(Long id){ - return dataPermDao.get(id); - } - - @Override - public List list(Map map){ - return dataPermDao.list(map); - } - - @Override - public int count(Map map){ - return dataPermDao.count(map); - } - - @Override - public int save(DataPermDO dataPerm){ - return dataPermDao.save(dataPerm); - } - - @Override - public int update(DataPermDO dataPerm){ - return dataPermDao.update(dataPerm); - } - - @Override - public int remove(Long id){ - return dataPermDao.remove(id); - } - - @Override - public int batchRemove(Long[] ids){ - return dataPermDao.batchRemove(ids); - } + @Autowired + private DataPermDao dataPermDao; - @Override - public List listModuleName() { - return dataPermDao.listModuleName(); - } + @Autowired + private RoleDataPermDao roleDataPermDao; - @Override - public Tree getTree() { - List> trees = new ArrayList>(); - List permDOs = dataPermDao.list(new HashMap<>(16)); - Map topTree = new HashMap<>(); - for (DataPermDO permDO : permDOs) { - Tree tree = new Tree<>(); - tree.setId(permDO.getId().toString()); - if(!topTree.containsKey(permDO.getModuleName())){ - Tree parentTree = new Tree<>(); - String id = new IdWorker().nextId()+""; - parentTree.setId(id); - parentTree.setParentId(0+""); - parentTree.setText(permDO.getModuleName()); - topTree.put(permDO.getModuleName(),id); - trees.add(parentTree); - } - tree.setParentId(topTree.get(permDO.getModuleName())); - tree.setText(permDO.getName()); - trees.add(tree); - } - // 默认顶级菜单为0,根据数据库实际情况调整 - Tree t = BuildTree.build(trees); - return t; - } + @Override + public DataPermDO get(Long id) { + return dataPermDao.get(id); + } - @Override - public Tree getTree(Long roleId) { - List> trees = new ArrayList>(); - List permDOs = dataPermDao.list(new HashMap<>(16)); - List permIds = roleDataPermDao.listPermIdByRoleId(roleId); - Map topTree = new HashMap<>(); - for (DataPermDO permDO : permDOs) { - Tree tree = new Tree<>(); - tree.setId(permDO.getId().toString()); - if(!topTree.containsKey(permDO.getModuleName())){ - Tree parentTree = new Tree<>(); - String id = new IdWorker().nextId()+""; - parentTree.setId(id); - parentTree.setParentId(0+""); - parentTree.setText(permDO.getModuleName()); - topTree.put(permDO.getModuleName(),id); - trees.add(parentTree); - } - tree.setParentId(topTree.get(permDO.getModuleName())); - tree.setText(permDO.getName()); - Map state = new HashMap<>(16); - if (permIds.contains(permDO.getId())) { - state.put("selected", true); - } else { - state.put("selected", false); - } - tree.setState(state); - trees.add(tree); - } - // 默认顶级菜单为0,根据数据库实际情况调整 - Tree t = BuildTree.build(trees); - return t; - } + @Override + public List list(Map map) { + return dataPermDao.list(map); + } + + @Override + public int count(Map map) { + return dataPermDao.count(map); + } + + @Override + public int save(DataPermDO dataPerm) { + return dataPermDao.save(dataPerm); + } + + @Override + public int update(DataPermDO dataPerm) { + return dataPermDao.update(dataPerm); + } + + @Override + public int remove(Long id) { + return dataPermDao.remove(id); + } + + @Override + public int batchRemove(Long[] ids) { + return dataPermDao.batchRemove(ids); + } + + @Override + public List listModuleName() { + return dataPermDao.listModuleName().stream().distinct().collect(Collectors.toList()); + } + + @Override + public Tree getTree() { + List> trees = new ArrayList>(); + List permDOs = dataPermDao.list(new HashMap<>(16)); + Map topTree = new HashMap<>(); + for (DataPermDO permDO : permDOs) { + Tree tree = new Tree<>(); + tree.setId(permDO.getId().toString()); + if (!topTree.containsKey(permDO.getModuleName())) { + Tree parentTree = new Tree<>(); + String id = new IdWorker().nextId() + ""; + parentTree.setId(id); + parentTree.setParentId(0 + ""); + parentTree.setText(permDO.getModuleName()); + topTree.put(permDO.getModuleName(), id); + trees.add(parentTree); + } + tree.setParentId(topTree.get(permDO.getModuleName())); + tree.setText(permDO.getName()); + trees.add(tree); + } + // 默认顶级菜单为0,根据数据库实际情况调整 + Tree t = BuildTree.build(trees); + return t; + } + + @Override + public Tree getTree(Long roleId) { + List> trees = new ArrayList>(); + List permDOs = dataPermDao.list(new HashMap<>(16)); + List permIds = roleDataPermDao.listPermIdByRoleId(roleId); + Map topTree = new HashMap<>(); + for (DataPermDO permDO : permDOs) { + Tree tree = new Tree<>(); + tree.setId(permDO.getId().toString()); + if (!topTree.containsKey(permDO.getModuleName())) { + Tree parentTree = new Tree<>(); + String id = new IdWorker().nextId() + ""; + parentTree.setId(id); + parentTree.setParentId(0 + ""); + parentTree.setText(permDO.getModuleName()); + topTree.put(permDO.getModuleName(), id); + trees.add(parentTree); + } + tree.setParentId(topTree.get(permDO.getModuleName())); + tree.setText(permDO.getName()); + Map state = new HashMap<>(16); + if (permIds.contains(permDO.getId())) { + state.put("selected", true); + } else { + state.put("selected", false); + } + tree.setState(state); + trees.add(tree); + } + // 默认顶级菜单为0,根据数据库实际情况调整 + Tree t = BuildTree.build(trees); + return t; + } }