Commit 9900e15d authored by 赵啸非's avatar 赵啸非

更新资源文件

parent a7bc0777
...@@ -11,6 +11,9 @@ package com.mortals.xhx.base.system.menu.dao; ...@@ -11,6 +11,9 @@ package com.mortals.xhx.base.system.menu.dao;
import com.mortals.framework.dao.ICRUDDao; import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.base.system.menu.model.MenuEntity; import com.mortals.xhx.base.system.menu.model.MenuEntity;
import com.mortals.xhx.base.system.resource.model.ResourceEntity;
import java.util.List;
/** /**
* <p>Title: 菜单信息</p> * <p>Title: 菜单信息</p>
...@@ -22,5 +25,6 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity; ...@@ -22,5 +25,6 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity;
*/ */
public interface MenuDao extends ICRUDDao<MenuEntity,Long> { public interface MenuDao extends ICRUDDao<MenuEntity,Long> {
List<MenuEntity> getListByUserId(Long userId);
} }
\ No newline at end of file
...@@ -9,11 +9,14 @@ ...@@ -9,11 +9,14 @@
package com.mortals.xhx.base.system.menu.dao.ibatis; package com.mortals.xhx.base.system.menu.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis; import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.framework.model.ParamDto;
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 org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* <p>Title: 菜单信息</p> * <p>Title: 菜单信息</p>
* <p>Description: MenuDaoImpl DAO接口 </p> * <p>Description: MenuDaoImpl DAO接口 </p>
...@@ -25,4 +28,10 @@ import org.springframework.stereotype.Repository; ...@@ -25,4 +28,10 @@ import org.springframework.stereotype.Repository;
@Repository("menuDao") @Repository("menuDao")
public class MenuDaoImpl extends BaseCRUDDaoMybatis<MenuEntity,Long> implements MenuDao { public class MenuDaoImpl extends BaseCRUDDaoMybatis<MenuEntity,Long> implements MenuDao {
@Override
public List<MenuEntity> getListByUserId(Long userId) {
ParamDto param = new ParamDto();
param.getCondition().put("userId", userId);
return getSqlSession().selectList(getSqlId("getListByUserId"), param);
}
} }
\ No newline at end of file
...@@ -70,6 +70,13 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> { ...@@ -70,6 +70,13 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
*/ */
boolean hasChildByMenuId(Long menuId); boolean hasChildByMenuId(Long menuId);
/**
* 构建树
* @param menuList
* @return
*/
List<MenuEntity> buildMenuTree(List<MenuEntity> menuList);
/** /**
* 构建前端所需要下拉树结构 * 构建前端所需要下拉树结构
......
...@@ -21,7 +21,14 @@ import com.mortals.xhx.base.system.menu.model.MenuQuery; ...@@ -21,7 +21,14 @@ 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.model.MenuTreeSelect;
import com.mortals.xhx.base.system.menu.service.MenuService; import com.mortals.xhx.base.system.menu.service.MenuService;
import com.mortals.xhx.base.system.resource.model.ResourceEntity;
import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.role.model.RoleAuthQuery;
import com.mortals.xhx.base.system.role.model.RoleUserQuery;
import com.mortals.xhx.base.system.role.service.RoleAuthService;
import com.mortals.xhx.base.system.role.service.RoleUserService;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -40,6 +47,12 @@ import java.util.stream.Collectors; ...@@ -40,6 +47,12 @@ import java.util.stream.Collectors;
@Service("menuService") @Service("menuService")
public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity, Long> implements MenuService { public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity, Long> implements MenuService {
@Autowired
private RoleUserService roleUserService;
@Autowired
private RoleAuthService roleAuthService;
@Override @Override
public List<MenuEntity> findAllEnable() throws AppException { public List<MenuEntity> findAllEnable() throws AppException {
MenuQuery params = new MenuQuery(); MenuQuery params = new MenuQuery();
...@@ -97,29 +110,38 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity ...@@ -97,29 +110,38 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
return outlookBar; return outlookBar;
} }
public List<MenuEntity> findTreeMenu() throws AppException { @Override
Map<Long, MenuEntity> menuMap = new HashMap<Long, MenuEntity>(); public List<MenuEntity> findTreeMenu(IUser user) throws AppException {
List<MenuEntity> userModuleList = this.findAllEnable(); //todo 重新写 菜单树 通过角色获取菜单
for (MenuEntity sysModule : userModuleList) { if (user.isAdmin()) {
if (sysModule == null) { //全菜单列表获取
continue; MenuQuery menuQuery = new MenuQuery();
} List<OrderCol> orderColList = new ArrayList<OrderCol>();
menuMap.put(sysModule.getId(), sysModule); orderColList.add(new OrderCol("parentId"));
} orderColList.add(new OrderCol("orderId"));
List<MenuEntity> outlookBar = new ArrayList<MenuEntity>(); menuQuery.setOrderColList(orderColList);
for (MenuEntity sysModule : userModuleList) { List<MenuEntity> list = this.find(menuQuery);
if (sysModule.getParentId() == null || sysModule.getParentId().longValue() == 0) { List<MenuEntity> returnTreeList = this.buildMenuTree(list);
outlookBar.add(sysModule); return returnTreeList;
continue;
}
MenuEntity sysModuleParent = menuMap.get(sysModule.getParentId());
if (sysModuleParent != null) {
sysModuleParent.getChildren().add(sysModule);
}
} }
return outlookBar; List<MenuEntity> menuEntities = this.getDao().getListByUserId(user.getId()).stream().distinct().collect(Collectors.toList());
/* RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(user.getId());
List<Long> roleIdList = roleUserService.find(roleUserQuery).stream().map(roleUser -> roleUser.getRoleId()).collect(Collectors.toList());
if(ObjectUtils.isEmpty(roleIdList)) return Collections.EMPTY_LIST;
RoleAuthQuery roleAuthQuery = new RoleAuthQuery();
roleAuthQuery.setRoleIdList(roleIdList);
List<Long> menuIdList = roleAuthService.find(roleAuthQuery).stream().map(roleAuth -> roleAuth.getMenuId()).filter(f -> f != null).collect(Collectors.toList());
if(ObjectUtils.isEmpty(menuIdList)) return Collections.EMPTY_LIST;
MenuQuery menuQuery = new MenuQuery();
menuQuery.setIdList(menuIdList);
List<MenuEntity> menuEntities = this.find(menuQuery);*/
List<MenuEntity> returnTreeList = this.buildMenuTree(menuEntities);
return returnTreeList;
} }
@Override @Override
public void upOrDown(Long id, Integer type) { public void upOrDown(Long id, Integer type) {
MenuQuery query = new MenuQuery(); MenuQuery query = new MenuQuery();
...@@ -190,6 +212,24 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity ...@@ -190,6 +212,24 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
return list.size() > 0 ? true : false; return list.size() > 0 ? true : false;
} }
@Override
public List<MenuEntity> buildMenuTree(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;
}
@Override @Override
public List<MenuTreeSelect> buildMenuTreeSelect(List<MenuEntity> list) { public List<MenuTreeSelect> buildMenuTreeSelect(List<MenuEntity> list) {
List<MenuEntity> returnList = new ArrayList<>(); List<MenuEntity> returnList = new ArrayList<>();
......
/**
* 文件:RoleAuthEntity.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.role.model; package com.mortals.xhx.base.system.role.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.base.system.role.model.vo.RoleAuthVo;
import lombok.Data;
/** /**
* <p>Title: 角色资源权限</p> * 角色资源权限业务实体对象
* <p>Description: RoleAuthEntity </p> *
* <p>Copyright: Copyright &reg; </p> * @author zxfei
* <p>Company: </p> * @date 2024-09-06
* @author */
* @version 1.0.0 @Data
*/ public class RoleAuthEntity extends RoleAuthVo {
public class RoleAuthEntity extends BaseEntityLong{ private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1547777703348L;
/** 角色ID */
private Long roleId;
/** 资源ID */
private Long resourceId;
public RoleAuthEntity(){
}
/**
* 获取 角色ID
* @return roleId
*/
public Long getRoleId(){
return this.roleId;
}
/**
* 设置 角色ID
* @param roleId
*/
public void setRoleId(Long roleId){
this.roleId = roleId;
}
/**
* 获取 资源ID
* @return resourceId
*/
public Long getResourceId(){
return this.resourceId;
}
/**
* 设置 资源ID
* @param resourceId
*/
public void setResourceId(Long resourceId){
this.resourceId = resourceId;
}
/**
* 角色ID
*/
private Long roleId;
/**
* 菜单ID
*/
private Long menuId;
/**
* 资源ID
*/
private Long resourceId;
/**
* 创建用户名称
*/
private String createUserName;
/**
* 创建用户名称
*/
private String updateUserName;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof RoleAuthEntity) {
RoleAuthEntity tmp = (RoleAuthEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
@Override public void initAttrValue(){
public int hashCode() { this.roleId = null;
return this.getId().hashCode(); this.menuId = null;
} this.resourceId = null;
@Override this.createUserName = "";
public boolean equals(Object obj) { this.updateUserName = "";
if (obj == null) }
return false;
if (obj instanceof RoleAuthEntity) {
RoleAuthEntity tmp = (RoleAuthEntity) obj;
if (this.getId().longValue() == tmp.getId().longValue()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append("id:").append(getId())
.append(",roleId:").append(getRoleId())
.append(",resourceId:").append(getResourceId());
return sb.toString();
}
public void initAttrValue(){
this.roleId = null;
this.resourceId = null;
}
} }
\ No newline at end of file
/**
* 文件:RoleEntity.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.role.model; package com.mortals.xhx.base.system.role.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.base.system.role.model.vo.RoleVo;
import lombok.Data;
/** /**
* <p>Title: 角色信息</p> * 角色信息业务实体对象
* <p>Description: RoleEntity </p> *
* <p>Copyright: Copyright &reg; </p> * @author zxfei
* <p>Company: </p> * @date 2024-09-06
* @author */
* @version 1.0.0 @Data
*/ public class RoleEntity extends RoleVo {
public class RoleEntity extends BaseEntityLong{ private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1547777703344L;
/**
* 角色名称
/** 用户ID */ */
private Long userId; private String name;
/**
/** 角色名称 */ * 备注
private String name; */
private String remark;
/** 备注 */ /**
private String remark; * 角色类型 (0.系统内置角色,1.默认系统角色.2.普通角色)
*/
/** 角色类型,0:系统内置角色(不可删除),1:默认系统角色,2:普通角色,默认2 */ private Integer roleType;
private Integer roleType; /**
* 归属客户ID
/** 归属客户ID */ */
private Long customerId; private Long customerId;
/**
/** 创建时间 */ * 创建用户名称
private Date createTime; */
private String createUserName;
/** 创建用户 */ /**
private Long createUserId; * 创建用户名称
*/
/** 创建用户名称 */ private String updateUserName;
private String createUserName; @Override
public int hashCode() {
/** 用户类型,0:系统用户 1:代理商用户 2:品牌商用户 */ return this.getId().hashCode();
private Integer userType; }
@Override
public boolean equals(Object obj) {
public RoleEntity(){ if (obj == null) return false;
if (obj instanceof RoleEntity) {
} RoleEntity tmp = (RoleEntity) obj;
/** if (this.getId() == tmp.getId()) {
* 获取 角色名称 return true;
* @return name }
*/ }
public String getName(){ return false;
return this.name; }
}
public void initAttrValue(){
/** this.name = "";
* 设置 角色名称 this.remark = "";
* @param name this.roleType = 2;
*/ this.customerId = null;
public void setName(String name){ this.createUserName = "";
this.name = name; this.updateUserName = "";
} }
/**
* 获取 备注
* @return remark
*/
public String getRemark(){
return this.remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
/**
* 获取 角色类型,0:系统内置角色(不可删除),1:默认系统角色,2:普通角色,默认2
* @return roleType
*/
public Integer getRoleType(){
return this.roleType;
}
/**
* 设置 角色类型,0:系统内置角色(不可删除),1:默认系统角色,2:普通角色,默认2
* @param roleType
*/
public void setRoleType(Integer roleType){
this.roleType = roleType;
}
/**
* 获取 归属客户ID
* @return customerId
*/
public Long getCustomerId(){
return this.customerId;
}
/**
* 设置 归属客户ID
* @param customerId
*/
public void setCustomerId(Long customerId){
this.customerId = customerId;
}
/**
* 获取 创建时间
* @return createTime
*/
public Date getCreateTime(){
return this.createTime;
}
/**
* 设置 创建时间
* @param createTime
*/
public void setCreateTime(Date createTime){
this.createTime = createTime;
}
/**
* 获取 创建用户
* @return createUserId
*/
public Long getCreateUserId(){
return this.createUserId;
}
/**
* 设置 创建用户
* @param createUserId
*/
public void setCreateUserId(Long createUserId){
this.createUserId = createUserId;
}
/**
* 获取 创建用户名称
* @return createUserName
*/
public String getCreateUserName(){
return this.createUserName;
}
/**
* 设置 创建用户名称
* @param createUserName
*/
public void setCreateUserName(String createUserName){
this.createUserName = createUserName;
}
/**
* 获取 用户类型,0:系统用户 1:代理商用户 2:品牌商用户
* @return userType
*/
public Integer getUserType(){
return this.userType;
}
/**
* 设置 用户类型,0:系统用户 1:代理商用户 2:品牌商用户
* @param userType
*/
public void setUserType(Integer userType){
this.userType = userType;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj instanceof RoleEntity) {
RoleEntity tmp = (RoleEntity) obj;
if (this.getId().longValue() == tmp.getId().longValue()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append("id:").append(getId())
.append(",name:").append(getName())
.append(",remark:").append(getRemark())
.append(",roleType:").append(getRoleType())
.append(",customerId:").append(getCustomerId())
.append(",createTime:").append(getCreateTime())
.append(",createUserId:").append(getCreateUserId())
.append(",createUserName:").append(getCreateUserName())
.append(",userType:").append(getUserType());
return sb.toString();
}
public void initAttrValue(){
this.name = null;
this.remark = null;
this.roleType = 2;
this.customerId = null;
this.createTime = null;
this.createUserId = null;
this.createUserName = null;
this.userType = null;
}
} }
\ No newline at end of file
/**
* 文件:RoleUserEntity.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.role.model; package com.mortals.xhx.base.system.role.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.base.system.role.model.vo.RoleUserVo;
import lombok.Data;
/** /**
* <p>Title: 角色用户</p> * 角色用户业务实体对象
* <p>Description: RoleUserEntity </p> *
* <p>Copyright: Copyright &reg; </p> * @author zxfei
* <p>Company: </p> * @date 2024-09-06
* @author */
* @version 1.0.0 @Data
*/ public class RoleUserEntity extends RoleUserVo {
public class RoleUserEntity extends BaseEntityLong{ private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1547777703351L;
/**
/** 角色ID */ * 角色ID
private Long roleId; */
private Long roleId;
/** 用户ID */ /**
private Long userId; * 用户ID
*/
private Long userId;
public RoleUserEntity(){ /**
* 创建用户名称
} */
/** private String createUserName;
* 获取 角色ID /**
* @return roleId * 创建用户名称
*/ */
public Long getRoleId(){ private String updateUserName;
return this.roleId; @Override
} public int hashCode() {
return this.getId().hashCode();
/** }
* 设置 角色ID @Override
* @param roleId public boolean equals(Object obj) {
*/ if (obj == null) return false;
public void setRoleId(Long roleId){ if (obj instanceof RoleUserEntity) {
this.roleId = roleId; RoleUserEntity tmp = (RoleUserEntity) obj;
} if (this.getId() == tmp.getId()) {
return true;
/** }
* 获取 用户ID }
* @return userId return false;
*/ }
public Long getUserId(){
return this.userId; public void initAttrValue(){
} this.roleId = null;
this.userId = null;
/** this.createUserName = "";
* 设置 用户ID this.updateUserName = "";
* @param userId }
*/
public void setUserId(Long userId){
this.userId = userId;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj instanceof RoleUserEntity) {
RoleUserEntity tmp = (RoleUserEntity) obj;
if (this.getId().longValue() == tmp.getId().longValue()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append("id:").append(getId())
.append(",roleId:").append(getRoleId())
.append(",userId:").append(getUserId());
return sb.toString();
}
public void initAttrValue(){
this.roleId = null;
this.userId = null;
}
} }
\ No newline at end of file
...@@ -9,10 +9,12 @@ ...@@ -9,10 +9,12 @@
package com.mortals.xhx.base.system.role.service; package com.mortals.xhx.base.system.role.service;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.base.system.role.model.RoleAuthEntity; import com.mortals.xhx.base.system.role.model.RoleAuthEntity;
import com.mortals.xhx.base.system.role.model.RoleAuthQuery; import com.mortals.xhx.base.system.role.model.RoleAuthQuery;
/** /**
* <p>Title: 角色资源权限</p> * <p>Title: 角色资源权限</p>
* <p>Description: RoleAuthService service接口 </p> * <p>Description: RoleAuthService service接口 </p>
...@@ -24,5 +26,9 @@ import com.mortals.xhx.base.system.role.model.RoleAuthQuery; ...@@ -24,5 +26,9 @@ import com.mortals.xhx.base.system.role.model.RoleAuthQuery;
public interface RoleAuthService extends ICRUDService<RoleAuthEntity,Long> { public interface RoleAuthService extends ICRUDService<RoleAuthEntity,Long> {
/** 角色分配资源 */ /** 角色分配资源 */
void doDistributionSource(RoleAuthQuery query); void doDistributionSource(RoleAuthQuery query, Context context);
/** 角色分配菜单 */
void doDistributionMenu(RoleAuthQuery query, Context context);
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
package com.mortals.xhx.base.system.role.service.impl; package com.mortals.xhx.base.system.role.service.impl;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.DataUtil;
...@@ -20,6 +21,7 @@ import com.mortals.xhx.common.key.RedisKey; ...@@ -20,6 +21,7 @@ import com.mortals.xhx.common.key.RedisKey;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.*; import java.util.*;
...@@ -43,12 +45,21 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro ...@@ -43,12 +45,21 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro
private ResourceService resourceService; private ResourceService resourceService;
@Override @Override
public void doDistributionSource(RoleAuthQuery query) { public void doDistributionSource(RoleAuthQuery query, Context context) {
// 删除角色资源老数据 // 删除角色资源老数据
Long roleId = query.getRoleId(); Long roleId = query.getRoleId();
Map<String, Object> condition = new HashMap<>(); /* Map<String, Object> condition = new HashMap<>();
condition.put("roleId", roleId); condition.put("roleId", roleId);
this.dao.delete(condition); this.dao.delete(condition);*/
//todo
RoleAuthQuery roleAuthQuery = new RoleAuthQuery();
roleAuthQuery.setRoleId(roleId);
Long[] delIds = this.find(roleAuthQuery).stream()
.filter(f -> f.getMenuId() == null)
.map(f -> f.getId()).toArray(Long[]::new);
if(!ObjectUtils.isEmpty(delIds)){
this.remove(delIds,context);
}
List<RoleAuthEntity> list = new ArrayList<>(); List<RoleAuthEntity> list = new ArrayList<>();
for (Long sourceId : query.getResourceIdList()) { for (Long sourceId : query.getResourceIdList()) {
...@@ -62,6 +73,35 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro ...@@ -62,6 +73,35 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro
this.updateUserMenuUrlCache(); this.updateUserMenuUrlCache();
} }
@Override
public void doDistributionMenu(RoleAuthQuery query, Context context) {
// 删除角色资源老数据
Long roleId = query.getRoleId();
/* Map<String, Object> condition = new HashMap<>();
condition.put("roleId", roleId);
this.dao.delete(condition);*/
//todo
RoleAuthQuery roleAuthQuery = new RoleAuthQuery();
roleAuthQuery.setRoleId(roleId);
Long[] delIds = this.find(roleAuthQuery).stream()
.filter(f -> f.getMenuId() != null)
.map(f -> f.getId()).toArray(Long[]::new);
if(!ObjectUtils.isEmpty(delIds)){
this.remove(delIds,context);
}
List<RoleAuthEntity> list = new ArrayList<>();
for (Long menuId : query.getMenuIdList()) {
RoleAuthEntity entity = new RoleAuthEntity();
entity.setRoleId(roleId);
entity.setMenuId(menuId);
list.add(entity);
}
this.dao.insertBatch(list);
this.updateUserMenuUrlCache();
}
private void updateUserMenuUrlCache() { private void updateUserMenuUrlCache() {
//更新用户菜单 //更新用户菜单
Set<String> hkeys = cacheService.hkeys(RedisKey.KEY_USER_MENU_CACHE); Set<String> hkeys = cacheService.hkeys(RedisKey.KEY_USER_MENU_CACHE);
......
...@@ -33,7 +33,7 @@ public class RoleAuthController extends BaseCRUDJsonBodyMappingController<RoleAu ...@@ -33,7 +33,7 @@ public class RoleAuthController extends BaseCRUDJsonBodyMappingController<RoleAu
@PostMapping(value = "distributionSource") @PostMapping(value = "distributionSource")
public String distributionUser(@RequestBody RoleAuthQuery query) { public String distributionUser(@RequestBody RoleAuthQuery query) {
try { try {
service.doDistributionSource(query); service.doDistributionSource(query,this.getContext());
JSONObject ret = new JSONObject(); JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
return ret.toJSONString(); return ret.toJSONString();
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.menu.dao.ibatis.MenuDaoImpl">
<!-- 获取列表 -->
<select id="getListByUserId" parameterType="paramDto" resultMap="MenuEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_resource as a
where a.authType in(0,1,2) or a.id IN
(select menuId
from mortals_xhx_role_auth as b
left join mortals_xhx_role_user as c
on b.roleId=c.roleId
where c.userId=#{condition.userId})
</select>
</mapper>
\ No newline at end of file
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