提交 5dc66fb8 authored 作者: gongwenjie's avatar gongwenjie

合并分支 'gwj' 到 'master'

Gwj 查看合并请求 !22
流水线 #29 已取消 于阶段
......@@ -51,8 +51,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -13,4 +13,6 @@ public interface DepartmentDao extends MongoRepository<Department,String> {
Department findByLevel(String level);
List<Department> findAllByParentId(String parentId);
List<Department> findAllByIdIn(List<String> departmentIds);
}
......@@ -68,25 +68,12 @@ public interface PasUserDao extends MongoRepository<User, String> {
List<User> findAllByIdIn(List<String> ids);
/**
* 根用户名查询用户
* 根用户名查询用户
* @param name
* @return
*/
List<User> findAllByUsername(String name);
/**
* 根据部门id查询用户
* @param id
* @return
*/
List<User> findAllByDepartmentId(String id);
/**
* 根据部门列表查询用户
* @param departmentIds
* @return
*/
List<User> findAllByDepartmentIdIn(List<String> departmentIds);
......
package com.zjty.tynotes.pas.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
......@@ -81,9 +82,9 @@ public class User implements UserDetails, Serializable {
@ApiModelProperty(value = "密码",example = "password")
private String password;
@NotEmpty(message = "部门id")
@ApiModelProperty(value = "部门id",example = "1")
private String departmentId;
// @NotEmpty(message = "部门id集合")
@ApiModelProperty(value = "部门id集合",example = "1")
private List<String> departmentIds;
@Transient
private List<Role> roles;
......@@ -150,7 +151,7 @@ public class User implements UserDetails, Serializable {
this.setIdCard("1231245325325");
ArrayList<String> list = new ArrayList<>();
list.add("1");
this.setDepartmentId("1");
this.setDepartmentIds(new ArrayList<>());
this.setUsername("zhangsan");
this.setPassword("123456");
return this;
......
package com.zjty.tynotes.pas.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.zjty.tynotes.pas.dao.DepartmentDao;
import com.zjty.tynotes.pas.dao.PasUserDao;
import com.zjty.tynotes.pas.dao.RoleDao;
......@@ -11,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.*;
......@@ -68,10 +71,19 @@ public class DepartmentServiceImpl implements IDepartmentService {
@Override
public boolean deleteDepartment(String id) {
List<Role> roles = roleDao.findAllByDepartmentId(id);
List<User> users = pasUserDao.findAllByDepartmentId(id);
List<User> userList = pasUserDao.findAll();
for (User user : userList) {
List<String> departmentIds = user.getDepartmentIds();
if(departmentIds!=null){
for (String string : departmentIds) {
if(id.equals(string)){
return false;
}
}
}
}
List<Department> departments = departmentDao.findAllByParentId(id);
if((roles==null || roles.size()==0)
&& (users==null || users.size()!=0)
&& (departments!=null || departments.size()!=0)){
departmentDao.deleteById(id);
return true;
......
......@@ -98,7 +98,6 @@ public class RoleServiceImpl implements IRoleService {
try {
userRoleDao.deleteAllByRoleId(id);
roleAuthorityDao.deleteAllByRoleId(id);
roleDao.deleteById(id);
return true;
} catch (Exception e) {
logger.error("mongodb删除角色时出错");
......
package com.zjty.tynotes.pas.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.zjty.tynotes.pas.dao.*;
import com.zjty.tynotes.pas.entity.*;
import com.zjty.tynotes.pas.entity.vo.PageRequest;
......@@ -148,7 +150,6 @@ public class UserServiceImpl implements IUserService {
List<Role> roles = roleDao.findAllByIdIn(roleIds);
user.setRoles(roles);
}
return user;
}
......@@ -213,6 +214,7 @@ public class UserServiceImpl implements IUserService {
return null;
}
}
String departmentIdList = JSON.toJSONString(user.getDepartmentIds());
User save = pasUserDao.save(user);
List<String> ids = new ArrayList<>();
if(roles!=null){
......@@ -228,6 +230,7 @@ public class UserServiceImpl implements IUserService {
}
List<Role> roleList = roleDao.findAllByIdIn(ids);
save.setRoles(roleList);
save.setDepartmentIds(user.getDepartmentIds());
return save;
}
......
......@@ -76,9 +76,9 @@ public class UserVo {
@ApiModelProperty(value = "密码",example = "password")
private String password;
@NotEmpty(message = "部门id")
@ApiModelProperty(value = "部门id",example = "1")
private String departmentId;
@NotEmpty(message = "部门id集合")
@ApiModelProperty(value = "部门id集合",example = "1")
private List<String> departmentIds;
private List<Role> roles;
......@@ -105,7 +105,7 @@ public class UserVo {
this.email = user.getEmail();
this.username = user.getUsername();
this.password = user.getPassword();
this.departmentId = user.getDepartmentId();
this.departmentIds = user.getDepartmentIds();
this.roles = new ArrayList<>();
this.status = null;
this.workCount = null;
......
......@@ -63,58 +63,61 @@ public class UserManageServiceImpl implements UserManageService {
*/
@Override
public PageResponse<UserVo> findUserList(PageRequest pageRequest) {
List<User> users = new ArrayList<>();
PageResponse<UserVo> pageResponse = new PageResponse<>();
pageResponse.setCurrentPage(pageRequest.getCurrentPage());
pageResponse.setPageSize(pageRequest.getPageSize());
if(pageRequest.getDeId()!=null){
users = pasUserDao.findAllByDepartmentId(pageRequest.getId());
}else{
List<Department> departmentList = findDepartmentList(pageRequest.getId());
List<String> departmentIds = new ArrayList<>();
for (Department department : departmentList) {
departmentIds.add(department.getId());
}
users = pasUserDao.findAllByDepartmentIdIn(departmentIds);
}
List<String> userIds = new ArrayList<>();
for (User user : users) {
userIds.add(user.getId());
}
List<Personnel> personnels = internalService.personnels(userIds);
List<UserVo> userVos = new ArrayList<>();
for (User user : users) {
for (Personnel personnel : personnels) {
if(user.getId().equals(personnel.getId())){
UserVo userVo = new UserVo(user);
userVo.setWorkCount(personnel.getCount());
userVos.add(userVo);
}
}
}
if(pageRequest.getSort()!=null && pageRequest.getSort()==1) {
Collections.sort(userVos, new Comparator<UserVo>() {
@Override
public int compare(UserVo o1, UserVo o2) {
return o1.getWorkCount()-o2.getWorkCount();
}
});
}else{
Collections.sort(userVos, new Comparator<UserVo>() {
@Override
public int compare(UserVo o1, UserVo o2) {
return o2.getWorkCount()-o1.getWorkCount();
}
});
}
int startNum=(pageResponse.getCurrentPage()-1)*10+1;
int endNum = startNum+pageResponse.getPageSize();
List<UserVo> userVos1 = userVos.subList(startNum - 1, endNum - 1);
pageResponse.setRows(userVos1);
pageResponse.setTotalPage((userVos.size()/pageResponse.getPageSize())+1);
pageResponse.setTotalCount(userVos.size());
return pageResponse;
String deId = pageRequest.getDeId();
Integer sort = pageRequest.getSort();
return null;
// List<User> users = new ArrayList<>();
// PageResponse<UserVo> pageResponse = new PageResponse<>();
// pageResponse.setCurrentPage(pageRequest.getCurrentPage());
// pageResponse.setPageSize(pageRequest.getPageSize());
// if(pageRequest.getDeId()!=null){
// users = pasUserDao.findAllByDepartmentId(pageRequest.getId());
// }else{
// List<Department> departmentList = findDepartmentList(pageRequest.getId());
// List<String> departmentIds = new ArrayList<>();
// for (Department department : departmentList) {
// departmentIds.add(department.getId());
// }
// users = pasUserDao.findAllByDepartmentIdIn(departmentIds);
// }
// List<String> userIds = new ArrayList<>();
// for (User user : users) {
// userIds.add(user.getId());
// }
// List<Personnel> personnels = internalService.personnels(userIds);
// List<UserVo> userVos = new ArrayList<>();
// for (User user : users) {
// for (Personnel personnel : personnels) {
// if(user.getId().equals(personnel.getId())){
// UserVo userVo = new UserVo(user);
// userVo.setWorkCount(personnel.getCount());
// userVos.add(userVo);
// }
// }
// }
//
// if(pageRequest.getSort()!=null && pageRequest.getSort()==1) {
// Collections.sort(userVos, new Comparator<UserVo>() {
// @Override
// public int compare(UserVo o1, UserVo o2) {
// return o1.getWorkCount()-o2.getWorkCount();
// }
// });
// }else{
// Collections.sort(userVos, new Comparator<UserVo>() {
// @Override
// public int compare(UserVo o1, UserVo o2) {
// return o2.getWorkCount()-o1.getWorkCount();
// }
// });
// }
// int startNum=(pageResponse.getCurrentPage()-1)*10+1;
// int endNum = startNum+pageResponse.getPageSize();
// List<UserVo> userVos1 = userVos.subList(startNum - 1, endNum - 1);
// pageResponse.setRows(userVos1);
// pageResponse.setTotalPage((userVos.size()/pageResponse.getPageSize())+1);
// pageResponse.setTotalCount(userVos.size());
// return null;
}
......@@ -127,6 +130,7 @@ public class UserManageServiceImpl implements UserManageService {
public List<Department> findDepartmentList(String id) {
List<UserRole> userRoles = userRoleDao.findAllByUserId(id);
List<String> roleIds = new ArrayList<>();
List<String> departmentIds = new ArrayList<>();
for (UserRole userRole : userRoles) {
roleIds.add(userRole.getRoleId());
}
......@@ -140,31 +144,29 @@ public class UserManageServiceImpl implements UserManageService {
Authority authority = authorityDao.findByIdInAndName(authorityIds, "查看人员");
if(authority!=null){
String departmentId = role.getDepartmentId();
departmentIds.add(departmentId);
}
}
List<String> departmentIdList = new ArrayList<>();
List<Role> roleList = new ArrayList<>();
for (Role role : roles) {
List<Authority> authorities = role.getAuthorities();
for (Authority authority : authorities) {
if("查看人员".equals(authority.getName())){
roleList.add(role);
}
}
}
getDepartments(departmentIdList,departmentIds);
List<Department> departments = departmentDao.findAllByIdIn(departmentIdList);
List<Department> departments = new ArrayList<>();
if(roleList!=null){
for (Role role : roleList) {
String departmentId = role.getDepartmentId();
List<Department> departmentList = departmentDao.findAllByParentId(departmentId);
findDepartmentList(departments,departmentList);
}
return departments;
}
return departments;
}
public void getDepartments(List<String> departmentIdList,List<String> departmentIds) {
for (String string : departmentIds) {
if(departmentIdList.contains(string)){
continue;
}
List<Department> departmentList = departmentDao.findAllByParentId(string);
List<String> departments = new ArrayList<>();
for (Department department : departmentList) {
departments.add(department.getId());
}
getDepartments(departmentIdList,departments);
}
}
@Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论