人员配置机构
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
# 数据库配置
|
||||
#=============================================
|
||||
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
|
||||
spring.datasource.url = jdbc:mysql:/101.36.227.22:33050/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
|
||||
spring.datasource.url = jdbc:mysql://localhost:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
|
||||
spring.datasource.username = root
|
||||
spring.datasource.password = 1q2w3e4r
|
||||
spring.datasource.password = Zxy20010202
|
||||
#==============================================
|
||||
# 应用设置
|
||||
spring.application.name=FotonLAWSSystem
|
||||
|
||||
+27
-3
@@ -9,11 +9,10 @@ import com.adc.da.sys.common.SelectionResult;
|
||||
import com.adc.da.sys.service.IDicTypeEOService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
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;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -78,4 +77,29 @@ public class SarMenuController extends BaseController<SarMenu> {
|
||||
resultList.addAll(listDic);
|
||||
return Result.success(resultList);
|
||||
}
|
||||
|
||||
@ApiOperation("查询所有菜单")
|
||||
@GetMapping
|
||||
public ResponseMessage<List<SarMenu>> getAll(){
|
||||
List<SarMenu> sarMenus=sarMenuEOService.getAll();
|
||||
return Result.success(sarMenus);
|
||||
}
|
||||
|
||||
@ApiOperation("添加菜单")
|
||||
@PostMapping("/add")
|
||||
public ResponseMessage<Object> addMenu(@RequestBody SarMenu sarMenu){
|
||||
return sarMenuEOService.addMenu(sarMenu);
|
||||
}
|
||||
|
||||
@ApiOperation("编辑菜单")
|
||||
@PutMapping
|
||||
public ResponseMessage<Object> updateMenu(@Validated(SarMenu.update.class) @RequestBody SarMenu sarMenu){
|
||||
return sarMenuEOService.updateMenu(sarMenu);
|
||||
}
|
||||
|
||||
@ApiOperation("删除菜单")
|
||||
@DeleteMapping
|
||||
public ResponseMessage<Object> delMenu(@RequestParam Integer menuId){
|
||||
return sarMenuEOService.delMenu(menuId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.adc.da.base.entity.BaseEntity;
|
||||
import com.adc.da.utils.treetool.annotation.TreeNodeId;
|
||||
import com.adc.da.utils.treetool.annotation.TreeNodeName;
|
||||
import com.adc.da.utils.treetool.annotation.TreeNodeParentId;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
@@ -17,6 +18,8 @@ import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.data.annotation.Transient;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
@@ -30,13 +33,15 @@ import org.springframework.data.annotation.Transient;
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SarMenu对象", description="")
|
||||
public class SarMenu extends BaseEntity {
|
||||
public interface update{
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@TreeNodeId
|
||||
@NotNull(message = "id不能为空",groups = {update.class})
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId("ID")
|
||||
@TableId(value = "ID",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "标准法规划分")
|
||||
@@ -81,6 +86,10 @@ public class SarMenu extends BaseEntity {
|
||||
@TableField("REMARKS")
|
||||
private String remarks;
|
||||
|
||||
@ApiModelProperty(value = "子菜单")
|
||||
@TableField(exist = false)
|
||||
private List<SarMenu> children;
|
||||
|
||||
@TableField(exist=false)
|
||||
private List<String> roleIds;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.adc.da.slrs.sarMenu.service;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@@ -31,4 +32,30 @@ public interface ISarMenuService extends IService<SarMenu> {
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
List<SarMenu> getMenusByIds(List<String> menuIds);
|
||||
|
||||
/**
|
||||
* 查询所有菜单
|
||||
*/
|
||||
List<SarMenu> getAll();
|
||||
|
||||
/**
|
||||
* 添加菜单
|
||||
* @param sarMenu:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> addMenu(SarMenu sarMenu);
|
||||
|
||||
/**
|
||||
* 编辑菜单
|
||||
* @param sarMenu:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> updateMenu(SarMenu sarMenu);
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param menuId:菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> delMenu(Integer menuId);
|
||||
}
|
||||
|
||||
+88
@@ -1,5 +1,7 @@
|
||||
package com.adc.da.slrs.sarMenu.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.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarMenu.dao.SarMenuDao;
|
||||
@@ -164,4 +166,90 @@ public class SarMenuServiceImpl extends ServiceImpl<SarMenuDao, SarMenu> impleme
|
||||
menuQueryWrapper.in("id",menuIds);
|
||||
return dao.selectList(menuQueryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有菜单
|
||||
*/
|
||||
@Override
|
||||
public List<SarMenu> getAll() {
|
||||
QueryWrapper<SarMenu> sarMenuQueryWrapper=new QueryWrapper<>();
|
||||
sarMenuQueryWrapper.orderByAsc("DISPLAY_SEQ");
|
||||
sarMenuQueryWrapper.isNull("PARENT_ID");
|
||||
List<SarMenu> sarMenus=dao.selectList(sarMenuQueryWrapper);
|
||||
for(SarMenu sarMenu:sarMenus){
|
||||
sarMenu.setChildren(recursionGetChildren((sarMenu)));
|
||||
}
|
||||
return sarMenus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单
|
||||
* @param sarMenu:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> addMenu(SarMenu sarMenu) {
|
||||
if(sarMenu.getParentId()!=null){
|
||||
SarMenu parent=dao.selectById(sarMenu.getParentId());
|
||||
if(parent==null){
|
||||
return Result.error("该父菜单不存在");
|
||||
}
|
||||
}
|
||||
dao.insert(sarMenu);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑菜单
|
||||
* @param sarMenu:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> updateMenu(SarMenu sarMenu) {
|
||||
SarMenu oldMenu=dao.selectById(sarMenu.getId());
|
||||
if(oldMenu==null){
|
||||
return Result.error("该菜单不存在");
|
||||
}
|
||||
if(sarMenu.getParentId()!=null){
|
||||
SarMenu parent=dao.selectById(sarMenu.getParentId());
|
||||
if(parent==null){
|
||||
return Result.error("父节点不存在");
|
||||
}
|
||||
}
|
||||
dao.updateById(sarMenu);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param menuId:菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> delMenu(Integer menuId) {
|
||||
QueryWrapper<SarMenu> sarMenuQueryWrapper=new QueryWrapper<>();
|
||||
sarMenuQueryWrapper.eq("parent_id",menuId);
|
||||
List<SarMenu> children=dao.selectList(sarMenuQueryWrapper);
|
||||
if(children!=null&&children.size()>0){
|
||||
return Result.error("该菜单有子节点,无法删除");
|
||||
}
|
||||
dao.deleteById(menuId);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归调用获取子节点
|
||||
* @param parent:父节点
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
private List<SarMenu> recursionGetChildren(SarMenu parent){
|
||||
QueryWrapper<SarMenu> sarMenuQueryWrapper=new QueryWrapper<>();
|
||||
sarMenuQueryWrapper.orderByAsc("DISPLAY_SEQ");
|
||||
sarMenuQueryWrapper.eq("PARENT_ID",parent.getId());
|
||||
List<SarMenu> children=dao.selectList(sarMenuQueryWrapper);
|
||||
for(SarMenu sarMenu:children){
|
||||
sarMenu.setChildren(recursionGetChildren((sarMenu)));
|
||||
}
|
||||
return children;
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -61,4 +61,16 @@ public class TsPositionController extends BaseController<TsPosition> {
|
||||
List<TsRole> roles=tsPositionService.getRole(positionId);
|
||||
return Result.success(roles);
|
||||
}
|
||||
|
||||
@ApiOperation("编辑岗位")
|
||||
@PutMapping
|
||||
public ResponseMessage<Object> updatePosition(@Validated(TsPosition.update.class) TsPosition tsPosition){
|
||||
return tsPositionService.updatePosition(tsPosition);
|
||||
}
|
||||
|
||||
@ApiOperation("删除岗位")
|
||||
@DeleteMapping
|
||||
public ResponseMessage<Object> deletePosition(@RequestParam String positionId){
|
||||
return tsPositionService.deletePosition(positionId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,4 +49,11 @@ public interface TsPositionDao extends BaseMapper<TsPosition> {
|
||||
* @return List<TsRole>
|
||||
*/
|
||||
List<TsRole> getRole(String positionId);
|
||||
|
||||
/**
|
||||
* 查询岗位以及绑定的角色信息
|
||||
* @param tsPosition:岗位信息
|
||||
* @return List<TsPosition>
|
||||
*/
|
||||
List<TsPosition> selectPositionAndRole(TsPosition tsPosition);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,9 @@ import com.adc.da.base.entity.BaseEntity;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -33,9 +35,12 @@ import javax.validation.constraints.NotNull;
|
||||
public class TsPosition extends BaseEntity {
|
||||
public interface insert{
|
||||
}
|
||||
public interface update{
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "操作时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@@ -57,10 +62,15 @@ public class TsPosition extends BaseEntity {
|
||||
@ApiModelProperty(value = "类型(1为导入,2为新建)")
|
||||
private String type;
|
||||
|
||||
@NotNull(message = "id不能为空",groups = {update.class})
|
||||
@ApiModelProperty(value = "ID")
|
||||
@TableId(value = "id",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "绑定角色")
|
||||
@TableField(exist = false)
|
||||
private List<TsRole> roles;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
@@ -45,4 +45,18 @@ public interface ITsPositionService extends IService<TsPosition> {
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> addPosition(TsPosition tsPosition);
|
||||
|
||||
/**
|
||||
* 修改岗位
|
||||
* @param tsPosition:岗位信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> updatePosition(TsPosition tsPosition);
|
||||
|
||||
/**
|
||||
* 删除岗位
|
||||
* @param positionId:岗位ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> deletePosition(String positionId);
|
||||
}
|
||||
|
||||
+37
-5
@@ -38,11 +38,7 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
|
||||
*/
|
||||
@Override
|
||||
public List<TsPosition> getPosition(TsPosition tsPosition) {
|
||||
QueryWrapper<TsPosition> positionQueryWrapper=new QueryWrapper<>();
|
||||
if(tsPosition.getName()!=null){
|
||||
positionQueryWrapper.like("name","%"+tsPosition.getName()+"%");
|
||||
}
|
||||
return tsPositionDao.selectList(positionQueryWrapper);
|
||||
return tsPositionDao.selectPositionAndRole(tsPosition);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,4 +94,40 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
|
||||
tsPositionDao.insert(tsPosition);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改岗位
|
||||
* @param tsPosition:岗位信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> updatePosition(TsPosition tsPosition) {
|
||||
TsPosition oldPosition=tsPositionDao.selectById(tsPosition.getId());
|
||||
if(oldPosition==null){
|
||||
return Result.error("该岗位不存在");
|
||||
}
|
||||
if(!oldPosition.getType().equals("2")){
|
||||
return Result.error("该岗位不可修改");
|
||||
}
|
||||
tsPositionDao.updateById(tsPosition);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除岗位
|
||||
* @param positionId:岗位ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> deletePosition(String positionId) {
|
||||
TsPosition oldPosition=tsPositionDao.selectById(positionId);
|
||||
if(oldPosition==null){
|
||||
return Result.error("该岗位不存在");
|
||||
}
|
||||
if(!oldPosition.getType().equals("2")){
|
||||
return Result.error("该岗位不可修改");
|
||||
}
|
||||
tsPositionDao.deleteById(positionId);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ package com.adc.da.slrs.sarRole.controller;
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
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.service.ITsRoleService;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
@@ -84,4 +85,11 @@ public class TsRoleController extends BaseController<TsRole> {
|
||||
TsRole tsRole=tsRoleService.getById(roleId);
|
||||
return Result.success(tsRole);
|
||||
}
|
||||
|
||||
@ApiOperation("查询角色权限")
|
||||
@GetMapping("/menu")
|
||||
public ResponseMessage<List<String>> getMenu(@RequestParam String roleId){
|
||||
List<String> menuIds=tsRoleService.getMenu(roleId);
|
||||
return Result.success(menuIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,4 +49,7 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
|
||||
*/
|
||||
@Delete("delete from ts_role_menu where role_id=#{roleId} and menu_id=#{menuId}")
|
||||
void delMenu(String roleId, String menuId);
|
||||
|
||||
@Select("select menu_id from ts_role_menu where role_id=#{roleId}")
|
||||
List<String> getMenuIdByRoleId(String roleId);
|
||||
}
|
||||
|
||||
@@ -57,4 +57,11 @@ public interface ITsRoleService extends IService<TsRole> {
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> setMenu(TsRoleMenuVO tsRoleMenuVO);
|
||||
|
||||
/**
|
||||
* 查询角色权限
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getMenu(String roleId);
|
||||
}
|
||||
|
||||
+19
-4
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarRole.service.impl;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
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.sarRole.entity.TsRole;
|
||||
@@ -158,16 +159,30 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
|
||||
Map<String,List<String>> updateMenuIds= ListUtil.difList(tsRoleMenuVO.getMenuIds(),oldMenuIds);
|
||||
List<String> insertIds=updateMenuIds.get("insert");
|
||||
List<String> deleteIds=updateMenuIds.get("update");
|
||||
for(String menuId:insertIds){
|
||||
tsRoleDao.addMenu(tsRoleMenuVO.getRoleId(),menuId);
|
||||
if(insertIds!=null&&insertIds.size()>1){
|
||||
for(String menuId:insertIds){
|
||||
tsRoleDao.addMenu(tsRoleMenuVO.getRoleId(),menuId);
|
||||
}
|
||||
}
|
||||
for(String menuId:deleteIds){
|
||||
tsRoleDao.delMenu(tsRoleMenuVO.getRoleId(),menuId);
|
||||
if(deleteIds!=null&&deleteIds.size()>1){
|
||||
for(String menuId:deleteIds){
|
||||
tsRoleDao.delMenu(tsRoleMenuVO.getRoleId(),menuId);
|
||||
}
|
||||
}
|
||||
//修改首页自定义目录
|
||||
// List<SarMenu> menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds());
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询角色权限
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getMenu(String roleId) {
|
||||
return tsRoleDao.getMenuIdByRoleId(roleId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,18 +3,18 @@ package com.adc.da.slrs.sarUser.controller;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.adc.da.base.web.BaseController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
@@ -40,4 +40,12 @@ public class TsUserController extends BaseController<TsUser> {
|
||||
return tsUserService.disable(tsUser);
|
||||
}
|
||||
|
||||
@ApiOperation("配置岗位")
|
||||
@PostMapping("/position")
|
||||
public ResponseMessage<Object> setPosition(@Valid @RequestBody UserPositionVO userPositionVO){
|
||||
return tsUserService.setPosition(userPositionVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,10 @@ package com.adc.da.slrs.sarUser.dao;
|
||||
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Insert;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +17,31 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface TsUserDao extends BaseMapper<TsUser> {
|
||||
|
||||
/**
|
||||
* 查询用户已经绑定的岗位ID
|
||||
*/
|
||||
@Select("select position_id from ts_user_position where user_id=#{userId}")
|
||||
List<String> selectPositionIds(String userId);
|
||||
|
||||
/**
|
||||
* 添加岗位
|
||||
* @param userId:用户ID
|
||||
* @param positionId:岗位ID
|
||||
*/
|
||||
@Insert("insert into ts_user_position (user_id,position_id) values (#{userId},#{positionId})")
|
||||
void addPosition(String userId, String positionId);
|
||||
|
||||
/**
|
||||
* 解绑岗位
|
||||
* @param userId:用户ID
|
||||
* @param positionId:岗位ID
|
||||
*/
|
||||
void delPosition(String userId, String positionId);
|
||||
|
||||
/**
|
||||
* 通过岗位ID查询用户及其岗位
|
||||
* @param institutionId:岗位ID
|
||||
* @return List<TsUser>
|
||||
*/
|
||||
List<TsUser> getUserAndPosition(String institutionId);
|
||||
}
|
||||
|
||||
@@ -2,10 +2,14 @@ package com.adc.da.slrs.sarUser.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
@@ -133,5 +137,9 @@ public class TsUser extends BaseEntity {
|
||||
@TableField("SSO_ID")
|
||||
private String ssoId;
|
||||
|
||||
@ApiModelProperty(value = "岗位")
|
||||
@TableField(exist = false)
|
||||
private List<TsPosition> positions;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.adc.da.slrs.sarUser.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class UserPositionVO {
|
||||
@NotNull(message = "userId不能为空")
|
||||
private String userId;
|
||||
@NotNull(message = "positionIds不能为空")
|
||||
private 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.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
@@ -30,4 +31,11 @@ public interface ITsUserService extends IService<TsUser> {
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> disable(TsUser tsUser);
|
||||
|
||||
/**
|
||||
* 配置岗位
|
||||
* @param userPositionVO :用户、岗位ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> setPosition(UserPositionVO userPositionVO);
|
||||
}
|
||||
|
||||
+34
-3
@@ -4,13 +4,17 @@ import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
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.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.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -32,9 +36,7 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
*/
|
||||
@Override
|
||||
public List<TsUser> getUserByInstitutionId(String institutionId) {
|
||||
QueryWrapper<TsUser> userQueryWrapper=new QueryWrapper<>();
|
||||
userQueryWrapper.eq("institution_id",institutionId);
|
||||
return tsUserDao.selectList(userQueryWrapper);
|
||||
return tsUserDao.getUserAndPosition(institutionId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -64,4 +66,33 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
tsUserDao.updateById(user);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置岗位
|
||||
* @param userPositionVO :用户、岗位ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public ResponseMessage<Object> setPosition(UserPositionVO userPositionVO) {
|
||||
TsUser tsUser=tsUserDao.selectById(userPositionVO.getUserId());
|
||||
if(tsUser==null){
|
||||
return Result.error("该用户不存在");
|
||||
}
|
||||
List<String> oldPositionIds=tsUserDao.selectPositionIds(userPositionVO.getUserId());
|
||||
Map<String,List<String>> ids= ListUtil.difList(userPositionVO.getPositionIds(),oldPositionIds);
|
||||
List<String> insertIds=ids.get("insert");
|
||||
List<String> deleteIds=ids.get("delete");
|
||||
if(insertIds!=null&&insertIds.size()>0){
|
||||
for(String positionId:insertIds){
|
||||
tsUserDao.addPosition(userPositionVO.getUserId(),positionId);
|
||||
}
|
||||
}
|
||||
if(deleteIds!=null&&deleteIds.size()>0){
|
||||
for(String positionId:deleteIds){
|
||||
tsUserDao.delPosition(userPositionVO.getUserId(),positionId);
|
||||
}
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,36 @@
|
||||
<?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.sarPosition.dao.TsPositionDao">
|
||||
<resultMap id="PositionAndRole" type="com.adc.da.slrs.sarPosition.entity.TsPosition">
|
||||
<id property="id" column="id"/>
|
||||
<result property="operateTime" column="operate_time"/>
|
||||
<result property="operator" column="operator"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="createDeptId" column="create_dept_id"/>
|
||||
<result property="createById" column="create_by_id"/>
|
||||
<result property="type" column="type"/>
|
||||
<collection property="roles" ofType="com.adc.da.slrs.sarRole.entity.TsRole">
|
||||
<result property="id" column="rid"/>
|
||||
<result property="name" column="r_name"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="getRole" resultType="com.adc.da.slrs.sarRole.entity.TsRole">
|
||||
select * from ts_role r
|
||||
left join ts_position_role ps
|
||||
on r.id=ps.role_id
|
||||
where ps.position_id=#{positionId}
|
||||
</select>
|
||||
|
||||
<select id="selectPositionAndRole" resultMap="PositionAndRole">
|
||||
select p.*,r.id rid,r.name r_name from ts_position p
|
||||
left join ts_position_role pr
|
||||
on p.id=pr.position_id
|
||||
left join ts_role r
|
||||
on pr.role_id=r.id
|
||||
<where>
|
||||
<if test="name!=null">
|
||||
p.name like concat(concat('%',#{name}),'%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -1,5 +1,39 @@
|
||||
<?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.sarUser.dao.TsUserDao">
|
||||
<resultMap id="UserPosition" type="com.adc.da.slrs.sarUser.entity.TsUser">
|
||||
<id property="userId" column="usid"/>
|
||||
<result property="account" column="account"/>
|
||||
<result property="uname" column="uname"/>
|
||||
<result property="sex" column="sex"/>
|
||||
<result property="userSource" column="user_source"/>
|
||||
<result property="phone" column="phone"/>
|
||||
<result property="state" column="state"/>
|
||||
<result property="email" column="email"/>
|
||||
<result property="institutionName" column="institution_name"/>
|
||||
<result property="institutionId" column="institution_id"/>
|
||||
<result property="workNum" column="work_num"/>
|
||||
<result property="extInfo" column="ext_info"/>
|
||||
<result property="operUser" column="oper_user"/>
|
||||
<result property="creationTime" column="creation_time"/>
|
||||
<result property="modifyTime" column="modify_time"/>
|
||||
<result property="validFlag" column="valid_flag"/>
|
||||
<result property="disableFlag" column="disable_flag"/>
|
||||
<result property="unlockFlag" column="unlock_flag"/>
|
||||
<result property="userType" column="user_type"/>
|
||||
<result property="ssoId" column="sso_id"/>
|
||||
<collection property="positions" ofType="com.adc.da.slrs.sarPosition.entity.TsPosition">
|
||||
<result property="id" column="p_id"/>
|
||||
<result property="name" column="p_name"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<select id="getUserAndPosition" resultMap="UserPosition">
|
||||
select u.*,p.id p_id,p.name p_name from ts_user u
|
||||
left join ts_user_position up
|
||||
on u.usid=up.user_id
|
||||
left join ts_position p
|
||||
on up.position_id=p.id
|
||||
where u.institution_id=#{institutionId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user