Merge remote-tracking branch 'origin/develop_master' into develop_master
This commit is contained in:
@@ -6,6 +6,7 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.client.ClientHttpRequestFactory;
|
||||
import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
||||
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.http.converter.StringHttpMessageConverter;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
@@ -23,11 +23,11 @@ public class CodeGen {
|
||||
// x.x.x.x:3306/xxxx --MYSQL
|
||||
// 192.168.10.140:1521:foton_slrs_test
|
||||
// foton_slrs_test@101.36.227.22
|
||||
private static final String DB_IP="101.36.227.22:33050/foton_slrs_test";
|
||||
private static final String DB_IP="192.168.10.47/foton_slrs_test";
|
||||
|
||||
private static final String DB_USER="root";
|
||||
|
||||
private static final String DB_PWD="1q2w3e4r";
|
||||
private static final String DB_PWD="root";
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -28,16 +28,19 @@ logging.level.org.springframework=info
|
||||
# 请求前缀
|
||||
restPath=/api
|
||||
#server.servlet.context-path=/api
|
||||
|
||||
#Eruept
|
||||
eureka.client.allow-redirects=true
|
||||
eureka.client.register-with-eureka=true
|
||||
eureka.client.service-url.defaultZone=http://101.36.227.25:8050/eureka/
|
||||
#是否将自己注册到Eureka Server上,默认为true
|
||||
eureka.client.register-with-eureka=false
|
||||
#eureka.client.register-with-eureka=false
|
||||
##是否从Eureka Server上获取注册信息,默认为true
|
||||
eureka.client.fetch-registry=false
|
||||
#eureka.client.fetch-registry=false
|
||||
|
||||
#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/
|
||||
#eureka.client.service-url.defaultZone=http://127.0.0.1:8671/eureka/
|
||||
#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/
|
||||
eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/
|
||||
#eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/
|
||||
# 请求连接的超时时间 默认的时间为 1 秒
|
||||
ribbon.ConnectTimeout=500000
|
||||
# 请求处理的超时时间
|
||||
|
||||
@@ -99,7 +99,7 @@ public class SarMenuController extends BaseController<SarMenu> {
|
||||
|
||||
@ApiOperation("删除菜单")
|
||||
@DeleteMapping
|
||||
public ResponseMessage<Object> delMenu(@RequestParam Integer menuId){
|
||||
public ResponseMessage<Object> delMenu(@RequestParam String menuId){
|
||||
return sarMenuEOService.delMenu(menuId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,10 +54,10 @@ public interface ISarMenuService extends IService<SarMenu> {
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param menuId:菜单ID
|
||||
* @param menuId :菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> delMenu(Integer menuId);
|
||||
ResponseMessage<Object> delMenu(String menuId);
|
||||
|
||||
/**
|
||||
* 通过Ids查询menu
|
||||
|
||||
+2
-2
@@ -222,11 +222,11 @@ public class SarMenuServiceImpl extends ServiceImpl<SarMenuDao, SarMenu> impleme
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param menuId:菜单ID
|
||||
* @param menuId :菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> delMenu(Integer menuId) {
|
||||
public ResponseMessage<Object> delMenu(String menuId) {
|
||||
QueryWrapper<SarMenu> sarMenuQueryWrapper=new QueryWrapper<>();
|
||||
sarMenuQueryWrapper.eq("parent_id",menuId);
|
||||
List<SarMenu> children=dao.selectList(sarMenuQueryWrapper);
|
||||
|
||||
+3
@@ -1,6 +1,8 @@
|
||||
package com.adc.da.slrs.sarPersonalCenter.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -21,6 +23,7 @@ import lombok.experimental.Accessors;
|
||||
@ApiModel(value="SarUserPersonalMenu对象", description="")
|
||||
public class SarUserPersonalMenu extends BaseEntity {
|
||||
|
||||
@TableId(type = IdType.UUID)
|
||||
@ApiModelProperty("id")
|
||||
private String id;
|
||||
|
||||
|
||||
+7
-3
@@ -1,6 +1,7 @@
|
||||
package com.adc.da.slrs.sarPersonalCenter.service;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenu;
|
||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenuEO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -22,8 +23,11 @@ public interface ISarUserPersonalMenuService extends IService<SarUserPersonalMen
|
||||
|
||||
public ResponseMessage<IPage<SarUserPersonalMenu>> updateUserPersonalMenu(SarUserPersonalMenuEO eo);
|
||||
|
||||
public void updateUserPersonalMenuForRole(List<SarUserPersonalMenu> menus,String userId);
|
||||
|
||||
|
||||
public void updateUserPersonalMenuForRole(List<SarMenu> menus, String userId);
|
||||
|
||||
/**
|
||||
* 更新用户权限
|
||||
* @param roleId:角色ID
|
||||
*/
|
||||
void setPersonalMenu(String roleId);
|
||||
}
|
||||
|
||||
+29
-9
@@ -2,14 +2,19 @@ package com.adc.da.slrs.sarPersonalCenter.service.impl;
|
||||
|
||||
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.sarPersonalCenter.entity.SarUserPersonalMenu;
|
||||
import com.adc.da.slrs.sarPersonalCenter.dao.SarUserPersonalMenuDao;
|
||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenuEO;
|
||||
import com.adc.da.slrs.sarPersonalCenter.service.ISarUserPersonalMenuService;
|
||||
import com.adc.da.slrs.sarUser.service.impl.TsUserServiceImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
@@ -24,7 +29,9 @@ import java.util.*;
|
||||
*/
|
||||
@Service
|
||||
public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalMenuDao, SarUserPersonalMenu> implements ISarUserPersonalMenuService {
|
||||
|
||||
@Autowired
|
||||
@Lazy
|
||||
private TsUserServiceImpl tsUserService;
|
||||
|
||||
@Override
|
||||
public ResponseMessage<IPage<SarUserPersonalMenu>> getUserPersonalMenu(SarUserPersonalMenuEO eo) {
|
||||
@@ -68,16 +75,15 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserPersonalMenuForRole(List<SarUserPersonalMenu> menuList,String userId) {
|
||||
|
||||
public void updateUserPersonalMenuForRole(List<SarMenu> menuList,String userId) {
|
||||
Set<String> ids=new HashSet<>();
|
||||
|
||||
for (SarUserPersonalMenu menu : menuList) {
|
||||
if(menu.getMenuId()!=null&&menu.getMenuId().trim().length()>0){
|
||||
for (SarMenu menu : menuList) {
|
||||
if(menu.getId()!=null&&menu.getId().trim().length()>0){
|
||||
|
||||
QueryWrapper<SarUserPersonalMenu> queryWrapper=new QueryWrapper<>();
|
||||
queryWrapper.eq("user_id",userId);
|
||||
queryWrapper.eq("menu_id",menu.getMenuId());
|
||||
queryWrapper.eq("menu_id",menu.getId());
|
||||
List<SarUserPersonalMenu> menus = getBaseMapper().selectList(queryWrapper);
|
||||
if (menus.size()>0) {
|
||||
ids.add(menus.get(0).getId());
|
||||
@@ -86,9 +92,9 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
|
||||
|
||||
SarUserPersonalMenu sarUserPersonalMenu=new SarUserPersonalMenu();
|
||||
sarUserPersonalMenu.setMenuName(menu.getMenuName());
|
||||
sarUserPersonalMenu.setMenuUrl(menu.getMenuUrl());
|
||||
sarUserPersonalMenu.setUserId(menu.getUserId());
|
||||
sarUserPersonalMenu.setMenuId(menu.getMenuId());
|
||||
sarUserPersonalMenu.setMenuUrl(menu.getHref());
|
||||
sarUserPersonalMenu.setUserId(userId);
|
||||
sarUserPersonalMenu.setMenuId(menu.getId());
|
||||
sarUserPersonalMenu.setState(0);
|
||||
|
||||
getBaseMapper().insert(sarUserPersonalMenu);
|
||||
@@ -101,4 +107,18 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
|
||||
getBaseMapper().delete(queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新用户权限
|
||||
* @param roleId:角色ID
|
||||
*/
|
||||
@Async
|
||||
@Override
|
||||
public void setPersonalMenu(String roleId) {
|
||||
List<String> userIds=tsUserService.getUserIdsByRoleId(roleId);
|
||||
for(String userId:userIds){
|
||||
List<SarMenu> menus=tsUserService.getMenusByUserId(userId);
|
||||
updateUserPersonalMenuForRole(menus,userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,4 +63,12 @@ public interface TsPositionDao extends BaseMapper<TsPosition> {
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getRoleIdsByPositionIds(List<String> positionIds);
|
||||
|
||||
/**
|
||||
* 通过roleId查询岗位ID列表
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Select("select position_id from ts_position_role where role_id=#{roleId}")
|
||||
List<String> getPositionIdsByRoleId(String roleId);
|
||||
}
|
||||
|
||||
@@ -66,4 +66,11 @@ public interface ITsPositionService extends IService<TsPosition> {
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getRoleIdsByPositionIds(List<String> positionIds);
|
||||
|
||||
/**
|
||||
* 通过roleId查询岗位ID列表
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getPositionIdsByRoleId(String roleId);
|
||||
}
|
||||
|
||||
+10
@@ -147,4 +147,14 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过roleId查询岗位ID列表
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getPositionIdsByRoleId(String roleId) {
|
||||
return tsPositionDao.getPositionIdsByRoleId(roleId);
|
||||
}
|
||||
}
|
||||
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
package com.adc.da.slrs.sarResource.controller;
|
||||
|
||||
|
||||
import com.adc.da.base.web.BaseController;
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "资源管理")
|
||||
@RequestMapping("/api/sarResource/ts-resource")
|
||||
public class TsResourceController extends BaseController<TsResource> {
|
||||
@Autowired
|
||||
private ITsResourceService tsResourceService;
|
||||
|
||||
@ApiOperation("查询所有资源")
|
||||
@GetMapping
|
||||
public ResponseMessage<List<TsResource>> getAll(){
|
||||
List<TsResource> tsResources=tsResourceService.getAll();
|
||||
return Result.success(tsResources);
|
||||
}
|
||||
|
||||
@ApiOperation("添加资源")
|
||||
@PostMapping("/add")
|
||||
public ResponseMessage<Object> addResource(@RequestBody TsResource tsResource){
|
||||
return tsResourceService.addResource(tsResource);
|
||||
}
|
||||
|
||||
@ApiOperation("编辑资源")
|
||||
@PutMapping
|
||||
public ResponseMessage<Object> updateResource(@Validated(TsResource.update.class) @RequestBody TsResource tsResource){
|
||||
return tsResourceService.updateResource(tsResource);
|
||||
}
|
||||
|
||||
@ApiOperation("删除资源")
|
||||
@DeleteMapping
|
||||
public ResponseMessage<Object> delResource(@RequestParam String resourceId){
|
||||
return tsResourceService.delResource(resourceId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.adc.da.slrs.sarResource.dao;
|
||||
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
public interface TsResourceDao extends BaseMapper<TsResource> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.adc.da.slrs.sarResource.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="TsResource对象", description="")
|
||||
public class TsResource extends BaseEntity {
|
||||
public interface update{
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "路径")
|
||||
private String href;
|
||||
|
||||
@ApiModelProperty(value = "父节点ID")
|
||||
private String parentId;
|
||||
|
||||
@ApiModelProperty(value = "资源名称")
|
||||
private String name;
|
||||
|
||||
@TableId(type = IdType.UUID)
|
||||
@NotNull(message = "id不能为空",groups = {update.class})
|
||||
@ApiModelProperty(value = "ID")
|
||||
private String id;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("子节点")
|
||||
private List<TsResource> children;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.adc.da.slrs.sarResource.service;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
public interface ITsResourceService extends IService<TsResource> {
|
||||
|
||||
List<TsResource> getAll();
|
||||
|
||||
ResponseMessage<Object> addResource(TsResource tsResource);
|
||||
|
||||
ResponseMessage<Object> updateResource(TsResource tsResource);
|
||||
|
||||
ResponseMessage<Object> delResource(String resourceId);
|
||||
|
||||
/**
|
||||
* 通过Ids查询menu
|
||||
* @param resourceIds :菜单Ids
|
||||
* @return List<Menu>
|
||||
*/
|
||||
List<TsResource> getResourceByIds(List<String> resourceIds);
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
package com.adc.da.slrs.sarResource.service.impl;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
|
||||
import com.adc.da.slrs.sarResource.dao.TsResourceDao;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
@Service
|
||||
public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource> implements ITsResourceService {
|
||||
@Autowired
|
||||
private TsResourceDao dao;
|
||||
/**
|
||||
* 查询所有菜单
|
||||
*/
|
||||
@Override
|
||||
public List<TsResource> getAll() {
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.isNull("PARENT_ID");
|
||||
List<TsResource> TsResources=dao.selectList(TsResourceQueryWrapper);
|
||||
for(TsResource TsResource:TsResources){
|
||||
TsResource.setChildren(recursionGetChildren((TsResource)));
|
||||
}
|
||||
return TsResources;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单
|
||||
* @param TsResource:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> addResource(TsResource TsResource) {
|
||||
if(TsResource.getParentId()!=null){
|
||||
TsResource parent=dao.selectById(TsResource.getParentId());
|
||||
if(parent==null){
|
||||
return Result.error("该父菜单不存在");
|
||||
}
|
||||
}
|
||||
dao.insert(TsResource);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑菜单
|
||||
* @param TsResource:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> updateResource(TsResource TsResource) {
|
||||
TsResource oldResource=dao.selectById(TsResource.getId());
|
||||
if(oldResource==null){
|
||||
return Result.error("该菜单不存在");
|
||||
}
|
||||
if(TsResource.getParentId()!=null){
|
||||
TsResource parent=dao.selectById(TsResource.getParentId());
|
||||
if(parent==null){
|
||||
return Result.error("父节点不存在");
|
||||
}
|
||||
}
|
||||
dao.updateById(TsResource);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param ResourceId:菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> delResource(String ResourceId) {
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.eq("parent_id",ResourceId);
|
||||
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
|
||||
if(children!=null&&children.size()>0){
|
||||
return Result.error("该菜单有子节点,无法删除");
|
||||
}
|
||||
dao.deleteById(ResourceId);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过Ids查询Resource
|
||||
* @param resourceIds :菜单Ids
|
||||
* @return List<Resource>
|
||||
*/
|
||||
@Override
|
||||
public List<TsResource> getResourceByIds(List<String> resourceIds) {
|
||||
if(resourceIds!=null&&resourceIds.size()>0){
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.in("id",resourceIds);
|
||||
return dao.selectList(TsResourceQueryWrapper);
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归调用获取子节点
|
||||
* @param parent:父节点
|
||||
* @return List<TsResource>
|
||||
*/
|
||||
private List<TsResource> recursionGetChildren(TsResource parent){
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.eq("PARENT_ID",parent.getId());
|
||||
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
|
||||
for(TsResource TsResource:children){
|
||||
TsResource.setChildren(recursionGetChildren((TsResource)));
|
||||
}
|
||||
return children;
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.adc.da.http.Result;
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
|
||||
import com.adc.da.slrs.sarRole.service.ITsRoleService;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -92,4 +93,18 @@ public class TsRoleController extends BaseController<TsRole> {
|
||||
List<String> menuIds=tsRoleService.getMenu(roleId);
|
||||
return Result.success(menuIds);
|
||||
}
|
||||
|
||||
@ApiOperation("配置资源")
|
||||
@PostMapping("/resource")
|
||||
public ResponseMessage<Object> setResource(@Valid @RequestBody TsRoleResourceVO tsRoleResourceVO){
|
||||
return tsRoleService.setResource(tsRoleResourceVO);
|
||||
}
|
||||
|
||||
@ApiOperation("查询角色资源")
|
||||
@GetMapping("/resource")
|
||||
public ResponseMessage<List<String>> getResource(@RequestParam String roleId){
|
||||
List<String> resourceIds=tsRoleService.getResource(roleId);
|
||||
return Result.success(resourceIds);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -59,4 +59,36 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getMenuIdsByRoleIds(List<String> roleIds);
|
||||
|
||||
/**
|
||||
* 通过角色ID查询绑定的资源ID
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Select("select resource_id from ts_role_resource where role_id=#{roleId}")
|
||||
List<String> getResourceIds(String roleId);
|
||||
|
||||
|
||||
/**
|
||||
* 添加资源
|
||||
* @param roleId:角色ID
|
||||
* @param resourceId:权限ID
|
||||
*/
|
||||
@Insert("insert into ts_role_resource (role_id,resource_id) values (#{roleId},#{resourceId})")
|
||||
void addResource(String roleId, String resourceId);
|
||||
|
||||
/**
|
||||
* 删除权限
|
||||
* @param roleId:角色ID
|
||||
* @param resourceId:权限ID
|
||||
*/
|
||||
@Delete("delete from ts_role_resource where role_id=#{roleId} and resource_id=#{resourceId}")
|
||||
void delResource(String roleId, String resourceId);
|
||||
|
||||
/**
|
||||
* 通过角色Id列表查询资源Id列表
|
||||
* @param roleIds:角色ID列表
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getResourceIdsByRoleIds(List<String> roleIds);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.adc.da.slrs.sarRole.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class TsRoleResourceVO {
|
||||
@NotNull(message = "roleId不能为空")
|
||||
private String roleId;
|
||||
@NotNull(message = "resourceIds不能为空")
|
||||
private List<String> resourceIds;
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarRole.service;
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
@@ -71,4 +72,10 @@ public interface ITsRoleService extends IService<TsRole> {
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getMenuIdsByRoleIds(List<String> roleIds);
|
||||
|
||||
ResponseMessage<Object> setResource(TsRoleResourceVO tsRoleResourceVO);
|
||||
|
||||
List<String> getResource(String roleId);
|
||||
|
||||
List<String> getResourceIdsByRoleIds(List<String> roleIds);
|
||||
}
|
||||
|
||||
+64
-3
@@ -5,14 +5,19 @@ import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarMenu.dao.SarMenuDao;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
|
||||
import com.adc.da.slrs.sarPersonalCenter.service.ISarUserPersonalMenuService;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
|
||||
import com.adc.da.slrs.sarRole.service.ITsRoleService;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.utils.util.ListUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -27,13 +32,16 @@ import java.util.Map;
|
||||
* @author zyl
|
||||
* @since 2021-06-22
|
||||
*/
|
||||
@EnableAsync
|
||||
@Service
|
||||
public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements ITsRoleService {
|
||||
@Autowired
|
||||
private TsRoleDao tsRoleDao;
|
||||
@Autowired
|
||||
private ISarMenuService sarMenuService;
|
||||
|
||||
@Autowired
|
||||
@Lazy
|
||||
private ISarUserPersonalMenuService sarUserPersonalMenuService;
|
||||
/**
|
||||
* 查询所有角色
|
||||
* @return List<TsRole>
|
||||
@@ -169,8 +177,7 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
|
||||
tsRoleDao.delMenu(tsRoleMenuVO.getRoleId(),menuId);
|
||||
}
|
||||
}
|
||||
//修改首页自定义目录
|
||||
// List<SarMenu> menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds());
|
||||
sarUserPersonalMenuService.setPersonalMenu(tsRoleMenuVO.getRoleId());
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@@ -197,5 +204,59 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置资源
|
||||
* @param tsRoleResourceVO:资源ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> setResource(TsRoleResourceVO tsRoleResourceVO) {
|
||||
TsRole role=tsRoleDao.selectById(tsRoleResourceVO.getRoleId());
|
||||
if(role==null){
|
||||
return Result.error("该角色不存在");
|
||||
}
|
||||
List<String> oldResourceIds=tsRoleDao.getResourceIds(tsRoleResourceVO.getRoleId());
|
||||
Map<String,List<String>> updateMenuIds= ListUtil.difList(tsRoleResourceVO.getResourceIds(),oldResourceIds);
|
||||
List<String> insertIds=updateMenuIds.get("insert");
|
||||
List<String> deleteIds=updateMenuIds.get("delete");
|
||||
if(insertIds!=null&&insertIds.size()>0){
|
||||
for(String menuId:insertIds){
|
||||
tsRoleDao.addResource(tsRoleResourceVO.getRoleId(),menuId);
|
||||
}
|
||||
}
|
||||
if(deleteIds!=null&&deleteIds.size()>0){
|
||||
for(String menuId:deleteIds){
|
||||
tsRoleDao.delResource(tsRoleResourceVO.getRoleId(),menuId);
|
||||
}
|
||||
}
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询角色资源
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getResource(String roleId) {
|
||||
return tsRoleDao.getResourceIds(roleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过角色Id列表查询菜单Id列表
|
||||
* @param roleIds:角色ID列表
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getResourceIdsByRoleIds(List<String> roleIds) {
|
||||
if(roleIds!=null&&roleIds.size()>0){
|
||||
return tsRoleDao.getResourceIdsByRoleIds(roleIds);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ package com.adc.da.slrs.sarUser.controller;
|
||||
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.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -55,6 +56,13 @@ public class TsUserController extends BaseController<TsUser> {
|
||||
return Result.success(menus);
|
||||
}
|
||||
|
||||
@ApiOperation("查询当前登录用户资源")
|
||||
@GetMapping("/resource")
|
||||
public ResponseMessage<List<TsResource>> getResource(){
|
||||
List<TsResource> resources=tsUserService.getResource();
|
||||
return Result.success(resources);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -46,4 +46,11 @@ public interface TsUserDao extends BaseMapper<TsUser> {
|
||||
* @return List<TsUser>
|
||||
*/
|
||||
List<TsUser> getUserAndPosition(String institutionId);
|
||||
|
||||
/**
|
||||
* 通过岗位Id列表查询用户ID列表
|
||||
* @param positionIds:岗位ID列表
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getUserIdsByPositionIds(List<String> positionIds);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarUser.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.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
@@ -45,4 +46,21 @@ public interface ITsUserService extends IService<TsUser> {
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
List<SarMenu> getMenu();
|
||||
|
||||
List<TsResource> getResource();
|
||||
|
||||
/**
|
||||
* 配置个人菜单
|
||||
* @param roleId :角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
public List<String> getUserIdsByRoleId(String roleId);
|
||||
|
||||
/**
|
||||
* 通过用户ID查询菜单
|
||||
* @param userId:用户ID
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
public List<SarMenu> getMenusByUserId(String userId);
|
||||
|
||||
}
|
||||
|
||||
+46
-4
@@ -5,23 +5,22 @@ import com.adc.da.http.Result;
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
import com.adc.da.slrs.sarRole.service.ITsRoleService;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.dao.TsUserDao;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.util.LoginUserUtil;
|
||||
import com.adc.da.utils.util.ListUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -40,9 +39,14 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
@Autowired
|
||||
private ITsPositionService tsPositionService;
|
||||
@Autowired
|
||||
@Lazy
|
||||
private ITsRoleService tsRoleService;
|
||||
@Autowired
|
||||
private ISarMenuService sarMenuService;
|
||||
@Autowired
|
||||
private ITsResourceService tsResourceService;
|
||||
// @Autowired
|
||||
// private ISarUserPersonalMenuService sarUserPersonalMenuService;
|
||||
|
||||
/**
|
||||
* 通过机构ID查询人员
|
||||
@@ -117,9 +121,47 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
*/
|
||||
@Override
|
||||
public List<SarMenu> getMenu() {
|
||||
UserEO userEO=UserUtils.getUser();
|
||||
String userId= userEO.getUsid();
|
||||
List<String> positionIds=tsUserDao.selectPositionIds(userId);
|
||||
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
|
||||
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
|
||||
return sarMenuService.getMenuByIds(menuIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前登录的用户资源
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
@Override
|
||||
public List<TsResource> getResource() {
|
||||
UserEO userEO=UserUtils.getUser();
|
||||
String userId= userEO.getUsid();
|
||||
System.out.println(userId);
|
||||
List<String> positionIds=tsUserDao.selectPositionIds(userId);
|
||||
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
|
||||
List<String> resourceIds=tsRoleService.getResourceIdsByRoleIds(roleIds);
|
||||
return tsResourceService.getResourceByIds(resourceIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置个人菜单
|
||||
* @param roleId :角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getUserIdsByRoleId(String roleId) {
|
||||
List<String> positionIds=tsPositionService.getPositionIdsByRoleId(roleId);
|
||||
return tsUserDao.getUserIdsByPositionIds(positionIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过用户ID查询菜单
|
||||
* @param userId:用户ID
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
@Override
|
||||
public List<SarMenu> getMenusByUserId(String userId){
|
||||
List<String> positionIds=tsUserDao.selectPositionIds(userId);
|
||||
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
|
||||
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.adc.da.slrs.sarResource.dao.TsResourceDao">
|
||||
</mapper>
|
||||
@@ -10,4 +10,13 @@
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
<select id="getResourceIdsByRoleIds" resultType="String">
|
||||
select distinct resource_id from ts_role_resource
|
||||
where role_id in
|
||||
(
|
||||
<foreach collection="list" separator="," item="roleId">
|
||||
#{roleId}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -36,4 +36,14 @@
|
||||
on up.position_id=p.id
|
||||
where u.institution_id=#{institutionId}
|
||||
</select>
|
||||
|
||||
<select id="getUserIdsByPositionIds" resultType="String">
|
||||
select user_id from ts_user_position
|
||||
where position_id in
|
||||
(
|
||||
<foreach collection="list" item="positionId" separator=",">
|
||||
#{positionId}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user