Commit 45f47bde LN

用户和角色功能修改

1 个父辈 78ab7c2b
...@@ -107,7 +107,7 @@ public class DataInitManager { ...@@ -107,7 +107,7 @@ public class DataInitManager {
role= roleManager.save(role); role= roleManager.save(role);
log.info("创建默认角色:" + role.toString()); log.info("创建默认角色:" + role.toString());
admin = new User( userName, "","",role.getId(), "$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa", true, true, new Date(), groupIds ); admin = new User( userName, "admin@qq.com","zh",role.getId(), "$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa", true, true, new Date(), groupIds );
userManager.save(admin); userManager.save(admin);
log.info("创建默认用户:" + admin.toString()); log.info("创建默认用户:" + admin.toString());
......
package com.neotel.smfcore.security.rest; package com.neotel.smfcore.security.rest;
import com.neotel.smfcore.common.exception.BadRequestException;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.PageUtil; import com.neotel.smfcore.common.utils.PageUtil;
import com.neotel.smfcore.common.utils.QueryHelp; import com.neotel.smfcore.common.utils.QueryHelp;
import com.neotel.smfcore.core.storage.service.manager.IStorageManager;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.security.rest.bean.dto.MenuDto; import com.neotel.smfcore.security.rest.bean.dto.MenuDto;
import com.neotel.smfcore.security.rest.bean.mapstruct.GroupMapper; import com.neotel.smfcore.security.rest.bean.mapstruct.GroupMapper;
import com.neotel.smfcore.security.rest.bean.query.GroupQueryCriteria; import com.neotel.smfcore.security.rest.bean.query.GroupQueryCriteria;
import com.neotel.smfcore.security.rest.bean.query.MenuQueryCondition; import com.neotel.smfcore.security.rest.bean.query.MenuQueryCondition;
import com.neotel.smfcore.security.service.manager.IGroupManager; import com.neotel.smfcore.security.service.manager.IGroupManager;
import com.neotel.smfcore.security.service.manager.IMenuManager; import com.neotel.smfcore.security.service.manager.IMenuManager;
import com.neotel.smfcore.security.service.manager.IUserManager;
import com.neotel.smfcore.security.service.po.Group; import com.neotel.smfcore.security.service.po.Group;
import com.neotel.smfcore.security.service.po.User;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -17,6 +22,7 @@ import lombok.extern.java.Log; ...@@ -17,6 +22,7 @@ import lombok.extern.java.Log;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -42,64 +48,81 @@ public class GroupController { ...@@ -42,64 +48,81 @@ public class GroupController {
IGroupManager groupManager; IGroupManager groupManager;
@Autowired @Autowired
GroupMapper groupMapper; GroupMapper groupMapper;
@Autowired
IStorageManager storageManager;
@Autowired
IUserManager userManager;
@ApiOperation("导出分组数据") @ApiOperation("导出分组数据")
@GetMapping(value = "/download") @GetMapping(value = "/download")
@PreAuthorize("@el.check('menu:list')") @PreAuthorize("@el.check('menu:list')")
public void download(HttpServletResponse response, GroupQueryCriteria criteria) throws Exception { public void download(HttpServletResponse response, GroupQueryCriteria criteria) throws Exception {
Query query= QueryHelp.getQuery(criteria); Query query = QueryHelp.getQuery(criteria);
groupManager.download(groupManager.findByQuery(query), response); groupManager.download(groupManager.findByQuery(query), response);
} }
@GetMapping @GetMapping
@ApiOperation("查询组列表") @ApiOperation("查询组列表")
// @PreAuthorize("@el.check('groups:list')") // @PreAuthorize("@el.check('groups:list')")
public ResponseEntity<Object> query(GroupQueryCriteria criteria, Pageable pageable) throws Exception { public ResponseEntity<Object> query(GroupQueryCriteria criteria, Pageable pageable) throws Exception {
Query query = QueryHelp.getQuery(criteria); Query query = QueryHelp.getQuery(criteria);
List<Group> groups = groupManager.findByPage(query,pageable); List<Group> groups = groupManager.findByPage(query, pageable);
Map<String,Object> data=PageUtil.toPage(groupMapper.toDto(groups),groups.size()); Map<String, Object> data = PageUtil.toPage(groupMapper.toDto(groups), groups.size());
return new ResponseEntity<>(data, HttpStatus.OK); return new ResponseEntity<>(data, HttpStatus.OK);
} }
@ApiOperation("返回全部的分组")
@GetMapping(value = "/all")
@PreAuthorize("@el.check('group:list','user:add','user:edit')")
public ResponseEntity<Object> query() {
Query query = new Query();
List<Group> groups = groupManager.findByQuery(query);
return new ResponseEntity<>(groupMapper.toDto(groups), HttpStatus.OK);
}
@ApiOperation("新增分组") @ApiOperation("新增分组")
@PostMapping @PostMapping
@PreAuthorize("@el.check('group:add')") @PreAuthorize("@el.check('group:add')")
public ResponseEntity<Object> create(@RequestBody Group resources){ public ResponseEntity<Object> create(@RequestBody Group resources) {
if (resources.getGroupName() != null) { groupManager.saveGroup(resources);
// throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID");
log.info("新增分组: 组名称为空");
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
try {
groupManager.saveGroup(resources);
} catch (ValidateException e) {
log.error("新增分组["+resources.getGroupName()+"]出错:"+e);
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
return new ResponseEntity<>(HttpStatus.CREATED); return new ResponseEntity<>(HttpStatus.CREATED);
} }
@ApiOperation("修改分组") @ApiOperation("修改分组")
@PutMapping @PutMapping
@PreAuthorize("@el.check('group:edit')") @PreAuthorize("@el.check('group:edit')")
public ResponseEntity<Object> update(@RequestBody Group resources){ public ResponseEntity<Object> update(@RequestBody Group resources) {
if (resources.getId() == null) {
try { throw new BadRequestException("新增分组: 组ID不能为空");
groupManager.save(resources);
} catch (ValidateException e) {
log.error("修改分组["+resources.getGroupName()+"]出错:"+e);
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
} }
groupManager.saveGroup(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
} }
@ApiOperation("删除分组") @ApiOperation("删除分组")
@DeleteMapping @DeleteMapping
@PreAuthorize("@el.check('group:del')") @PreAuthorize("@el.check('group:del')")
public ResponseEntity<Object> delete(@RequestBody Set<String> ids){ public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
Set<Group> menuSet = new HashSet<>(); Set<Group> menuSet = new HashSet<>();
for (String id : ids) { for (String id : ids) {
if (id == null) {
throw new BadRequestException("删除: 组ID不能为空");
}
Group group = groupManager.get(id);
//查找组下是否有设备
Query query = new Query(Criteria.where("groupId").is(id));
List<Storage> storages = storageManager.findByQuery(query);
if (storages != null && storages.size() >= 1) {
throw new BadRequestException("删除失败,组[" + group.getGroupName() + "]已和设备关联");
}
Query userQuery = new Query(Criteria.where("groups").all(id));
List<User> users = userManager.findByQuery(userQuery);
if (users != null && users.size() >= 1) {
throw new BadRequestException("删除失败,组[" + group.getGroupName() + "]已和用户关联");
}
groupManager.delete(group);
} }
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
......
...@@ -19,6 +19,7 @@ import cn.hutool.core.collection.CollectionUtil; ...@@ -19,6 +19,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.neotel.smfcore.common.annotation.QueryCondition; import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.exception.BadRequestException; import com.neotel.smfcore.common.exception.BadRequestException;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.PageUtil; import com.neotel.smfcore.common.utils.PageUtil;
import com.neotel.smfcore.common.utils.QueryHelp; import com.neotel.smfcore.common.utils.QueryHelp;
import com.neotel.smfcore.common.utils.SecurityUtils; import com.neotel.smfcore.common.utils.SecurityUtils;
...@@ -96,7 +97,9 @@ public class MenuController { ...@@ -96,7 +97,9 @@ public class MenuController {
@GetMapping(value = "/lazy") @GetMapping(value = "/lazy")
@PreAuthorize("@el.check('menu:list','roles:list')") @PreAuthorize("@el.check('menu:list','roles:list')")
public ResponseEntity<Object> query(@RequestParam String pid) { public ResponseEntity<Object> query(@RequestParam String pid) {
return new ResponseEntity<>(menuManager.getMenusByPid(pid), HttpStatus.OK); List<Menu> menus=menuManager.getMenusByPid(pid);
List<MenuDto> dtos=menuMapper.toDto(menus);
return new ResponseEntity<>(dtos, HttpStatus.OK);
} }
@ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID") @ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID")
...@@ -162,6 +165,9 @@ public class MenuController { ...@@ -162,6 +165,9 @@ public class MenuController {
@DeleteMapping @DeleteMapping
@PreAuthorize("@el.check('menu:del')") @PreAuthorize("@el.check('menu:del')")
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) { public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
if(!SecurityUtils.getCurrentUsername().equals(Constants.SUPER_USERNAME)){
throw new BadRequestException("没有删除菜单的权限");
}
Set<Menu> menuSet = new HashSet<>(); Set<Menu> menuSet = new HashSet<>();
for (String id : ids) { for (String id : ids) {
List<Menu> menuList = menuManager.getMenusByPid(id); List<Menu> menuList = menuManager.getMenusByPid(id);
......
...@@ -102,7 +102,7 @@ public class RoleController { ...@@ -102,7 +102,7 @@ public class RoleController {
throw new BadRequestException("修改角色:ID不能为空"); throw new BadRequestException("修改角色:ID不能为空");
} }
roleManager.saveRole(resources); roleManager.saveRole(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.OK);
} }
@ApiOperation("修改角色菜单") @ApiOperation("修改角色菜单")
...@@ -114,13 +114,14 @@ public class RoleController { ...@@ -114,13 +114,14 @@ public class RoleController {
} }
Role role = roleManager.get(resources.getId()); Role role = roleManager.get(resources.getId());
roleManager.updateMenu(resources); roleManager.updateMenu(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.OK);
} }
@ApiOperation("删除角色") @ApiOperation("删除角色")
@DeleteMapping @DeleteMapping
@PreAuthorize("@el.check('roles:del')") @PreAuthorize("@el.check('roles:del')")
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) { public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
List<Role> roles = new ArrayList<Role>(); List<Role> roles = new ArrayList<Role>();
for (String id : ids) { for (String id : ids) {
if (id == null) { if (id == null) {
......
...@@ -45,9 +45,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -45,9 +45,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.Set;
/** /**
* @author Zheng Jie * @author Zheng Jie
...@@ -92,8 +90,24 @@ public class UserController { ...@@ -92,8 +90,24 @@ public class UserController {
@PostMapping @PostMapping
@PreAuthorize("@el.check('user:add')") @PreAuthorize("@el.check('user:add')")
public ResponseEntity<Object> create(@Validated @RequestBody User resources) { public ResponseEntity<Object> create(@Validated @RequestBody User resources) {
if (resources.getId() != null) {
throw new BadRequestException("新增用户:ID已存在");
}
if(resources.getUsername()==null){
throw new BadRequestException("新增用户:用户名不能为空");
}
if(resources.getRoleId()==null){
throw new BadRequestException("新增用户:角色ID不能为空");
}
if(resources.getEnabled()==null){
resources.setEnabled(true);
}
if(resources.getGroups()==null){
resources.setGroups(new HashSet<String>());
}
resources.setPassword(passwordEncoder.encode("123456")); resources.setPassword(passwordEncoder.encode("123456"));
resources.setUpdateDate(new Date());
resources.setPwdResetTime(new Date());
userManager.save(resources); userManager.save(resources);
return new ResponseEntity<>(HttpStatus.CREATED); return new ResponseEntity<>(HttpStatus.CREATED);
} }
...@@ -106,6 +120,12 @@ public class UserController { ...@@ -106,6 +120,12 @@ public class UserController {
if (resources.getId() == null) { if (resources.getId() == null) {
throw new BadRequestException("修改用户:ID不能为空"); throw new BadRequestException("修改用户:ID不能为空");
} }
if(resources.getUsername()==null){
throw new BadRequestException("修改用户:用户名不能为空");
}
if(resources.getRoleId()==null){
throw new BadRequestException("修改用户:角色ID不能为空");
}
if (resources.getUsername().equals(Constants.SUPER_USERNAME)) { if (resources.getUsername().equals(Constants.SUPER_USERNAME)) {
if (!resources.getId().equals(SecurityUtils.getCurrentUserId())) { if (!resources.getId().equals(SecurityUtils.getCurrentUserId())) {
throw new BadRequestException("无权限修改此用户信息"); throw new BadRequestException("无权限修改此用户信息");
...@@ -141,7 +161,7 @@ public class UserController { ...@@ -141,7 +161,7 @@ public class UserController {
User user = userManager.get(id); User user = userManager.get(id);
//admin的用户不让删除 //admin的用户不让删除
if (user.getUsername().equals(Constants.SUPER_USERNAME)) { if ( user.getUsername().equals(Constants.SUPER_USERNAME)) {
throw new BadRequestException("删除用户:此用户不能删除"); throw new BadRequestException("删除用户:此用户不能删除");
} }
} }
...@@ -177,4 +197,16 @@ public class UserController { ...@@ -177,4 +197,16 @@ public class UserController {
userManager.updateEmail(myUser.getUsername(), myUser.getEmail()); userManager.updateEmail(myUser.getUsername(), myUser.getEmail());
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@ApiOperation("修改用户组")
@PutMapping(value = "/updateGroup")
@PreAuthorize("@el.check('user:edit')")
public ResponseEntity<Object> updateGroup(@RequestBody User resources) {
if (resources.getId() == null) {
throw new BadRequestException("修改用户组:ID不能为空");
}
User user = userManager.get(resources.getId());
userManager.updateGroups(resources);
return new ResponseEntity<>(HttpStatus.OK);
}
} }
...@@ -10,4 +10,8 @@ public class GroupDto implements Serializable ...@@ -10,4 +10,8 @@ public class GroupDto implements Serializable
{ {
private String id; private String id;
private String groupName; private String groupName;
public String getLabel() {
return groupName;
}
} }
...@@ -79,6 +79,9 @@ public class UserDetailsServiceImpl implements UserDetailsService { ...@@ -79,6 +79,9 @@ public class UserDetailsServiceImpl implements UserDetailsService {
if (user == null) { if (user == null) {
throw new UsernameNotFoundException(""); throw new UsernameNotFoundException("");
} else { } else {
if(user.getEnabled()==null){
throw new BadRequestException("账号未激活");
}
if (!user.getEnabled()) { if (!user.getEnabled()) {
throw new BadRequestException("账号未激活!"); throw new BadRequestException("账号未激活!");
} }
......
...@@ -68,4 +68,6 @@ public interface IUserManager extends IBaseManager<User> { ...@@ -68,4 +68,6 @@ public interface IUserManager extends IBaseManager<User> {
void updateEmail(String username, String email); void updateEmail(String username, String email);
List<UserDto> listToDto(List<User> users); List<UserDto> listToDto(List<User> users);
void updateGroups(User resources);
} }
package com.neotel.smfcore.security.service.manager.impl; package com.neotel.smfcore.security.service.manager.impl;
import com.neotel.smfcore.common.exception.BadRequestException;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.FileUtil; import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.security.service.dao.IGroupDao; import com.neotel.smfcore.security.service.dao.IGroupDao;
...@@ -38,6 +39,9 @@ public class GroupManagerImpl implements IGroupManager { ...@@ -38,6 +39,9 @@ public class GroupManagerImpl implements IGroupManager {
c.and("id").ne(resources.getId()); c.and("id").ne(resources.getId());
logName="修改分组:"; logName="修改分组:";
} }
if (resources.getGroupName() == null) {
throw new BadRequestException(logName+"组名称不能为空");
}
Query que = new Query(c); Query que = new Query(c);
List<Group> groups = findByQuery(que); List<Group> groups = findByQuery(que);
if (groups != null && groups.size() > 0) { if (groups != null && groups.size() > 0) {
......
...@@ -2,6 +2,7 @@ package com.neotel.smfcore.security.service.manager.impl; ...@@ -2,6 +2,7 @@ package com.neotel.smfcore.security.service.manager.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.exception.BadRequestException;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.FileUtil; import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.StringUtils; import com.neotel.smfcore.common.utils.StringUtils;
...@@ -163,7 +164,7 @@ public class MenuManagerImpl implements IMenuManager { ...@@ -163,7 +164,7 @@ public class MenuManagerImpl implements IMenuManager {
@Override @Override
public List<Menu> getMenusByPid(String pid) { public List<Menu> getMenusByPid(String pid) {
List<Menu> menus; List<Menu> menus;
if(pid != null && !pid.equals("")){ if(pid != null && !pid.equals("")&&!pid.equals("0")){
menus = menuDao.findByPid(pid); menus = menuDao.findByPid(pid);
} else { } else {
menus = menuDao.findByPid(""); menus = menuDao.findByPid("");
...@@ -222,6 +223,13 @@ public class MenuManagerImpl implements IMenuManager { ...@@ -222,6 +223,13 @@ public class MenuManagerImpl implements IMenuManager {
@Override @Override
public Menu saveMenu(Menu menu) throws ValidateException { public Menu saveMenu(Menu menu) throws ValidateException {
String logName="新增菜单:";
if(menu.getId()!=null){
logName="修改菜单:";
}
if(menu.getTitle()==null){
throw new BadRequestException(logName+ "标题不能为空");
}
if(menu.getChildren()==null){ if(menu.getChildren()==null){
menu.setChildren(new ArrayList<Menu>()); menu.setChildren(new ArrayList<Menu>());
} }
......
package com.neotel.smfcore.security.service.manager.impl; package com.neotel.smfcore.security.service.manager.impl;
import com.neotel.smfcore.common.exception.BadRequestException;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.FileUtil; import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.security.service.dao.IRoleDao; import com.neotel.smfcore.security.service.dao.IRoleDao;
import com.neotel.smfcore.security.service.dao.IUserDao; import com.neotel.smfcore.security.service.dao.IUserDao;
import com.neotel.smfcore.security.service.manager.IRoleManager; import com.neotel.smfcore.security.service.manager.IRoleManager;
...@@ -73,15 +76,13 @@ public class RoleManagerImpl implements IRoleManager { ...@@ -73,15 +76,13 @@ public class RoleManagerImpl implements IRoleManager {
@Override @Override
public Role saveRole(Role role) throws ValidateException { public Role saveRole(Role role) throws ValidateException {
// if (role.getLevel() == null) { if(role.getName()==null){
// role.setLevel(99); throw new BadRequestException("角色名称不能为空");
// } }
if (role.getMenus() == null) { if (role.getMenus() == null) {
role.setMenus(new HashSet<String>()); role.setMenus(new HashSet<String>());
} }
// if (role.getDataScope() == null) {
// role.setDataScope("全部");
// }
if (role.getDescription() == null) { if (role.getDescription() == null) {
role.setDescription(""); role.setDescription("");
} }
...@@ -101,12 +102,18 @@ public class RoleManagerImpl implements IRoleManager { ...@@ -101,12 +102,18 @@ public class RoleManagerImpl implements IRoleManager {
} }
@Override @Override
public void updateMenu(Role resources) throws ValidateException { public void updateMenu(Role resources) throws ValidateException {
this.save(resources);
// List<User> users = userRepository.findByRoleId(role.getId()); Role role=this.get(resources.getId());
// // 更新菜单 if(role==null){
// role.setMenus(resources.getMenus()); throw new BadRequestException("请要修改的选择角色");
// delCaches(resources.getId(), users); }
// roleRepository.save(role); if(role.getName().equals("admin")){
if(!SecurityUtils.getCurrentUsername().equals(Constants.SUPER_USERNAME)){
throw new BadRequestException("只有超级管理员才能修改此角色的菜单");
}
}
role.setMenus(resources.getMenus());
this.save(role);
} }
@Override @Override
......
package com.neotel.smfcore.security.service.manager.impl; package com.neotel.smfcore.security.service.manager.impl;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.neotel.smfcore.common.exception.BadRequestException;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.Constants; import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.FileUtil; import com.neotel.smfcore.common.utils.FileUtil;
...@@ -56,8 +57,14 @@ public class UserManagerImpl implements IUserManager { ...@@ -56,8 +57,14 @@ public class UserManagerImpl implements IUserManager {
User dataUser=this.get(user.getId()); User dataUser=this.get(user.getId());
if(dataUser!=null){ if(dataUser!=null){
// 如果用户被禁用,则清除用户登录信息 // 如果用户被禁用,则清除用户登录信息
if(!user.getEnabled()){ if(user.getEnabled()==null){
user.setEnabled(true);
}
if(user.getGroups()==null){
user.setGroups(new HashSet<String>());
}
if(user.getUpdateDate()==null){
user.setUpdateDate(new Date());
} }
//用户名admin不能修改 //用户名admin不能修改
if(!dataUser.equals(Constants.SUPER_USERNAME)){ if(!dataUser.equals(Constants.SUPER_USERNAME)){
...@@ -170,4 +177,15 @@ public class UserManagerImpl implements IUserManager { ...@@ -170,4 +177,15 @@ public class UserManagerImpl implements IUserManager {
return dtos; return dtos;
} }
@Override
public void updateGroups(User resources) {
if(resources.getGroups()==null){
resources.setGroups(new HashSet<String>());
}
Criteria c = Criteria.where("id").is(resources.getId());
Query query = Query.query(c);
Update update = Update.update("groups",resources.getGroups());
userDao.updateFirst(query,update);
}
} }
...@@ -12,4 +12,8 @@ import java.io.Serializable; ...@@ -12,4 +12,8 @@ import java.io.Serializable;
public class Group extends BasePo implements Serializable { public class Group extends BasePo implements Serializable {
private String groupName; private String groupName;
public String getLabel() {
return groupName;
}
} }
...@@ -37,11 +37,4 @@ public class Role extends BasePo implements Serializable { ...@@ -37,11 +37,4 @@ public class Role extends BasePo implements Serializable {
private String name; private String name;
private String description; private String description;
// private Set<Dept> depts;
// private String dataScope;
// private Integer level;
} }
...@@ -47,7 +47,7 @@ public class User extends BasePo implements Serializable { ...@@ -47,7 +47,7 @@ public class User extends BasePo implements Serializable {
@JSONField(serialize = false) @JSONField(serialize = false)
private String password; private String password;
private Boolean enabled; private Boolean enabled=false;
@JSONField(serialize = false) @JSONField(serialize = false)
private Boolean isAdmin = false; private Boolean isAdmin = false;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!