提交 062a690d authored 作者: LJJ's avatar LJJ

修正admin人员查询接口

上级 c3779833
......@@ -2,9 +2,11 @@ package com.zjty.efs.user.subject.dao;
import com.zjty.efs.user.subject.entity.UserDo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.awt.print.Pageable;
import java.util.List;
/**
......@@ -12,7 +14,7 @@ import java.util.List;
* on 2020-03-24
*/
@Repository
public interface UserDao extends JpaRepository<UserDo, String> {
public interface UserDao extends JpaRepository<UserDo, String>, JpaSpecificationExecutor<UserDo> {
List<UserDo> findByAccount(String account);
......
......@@ -8,13 +8,19 @@ import com.zjty.efs.user.subject.dao.UserDao;
import com.zjty.efs.user.subject.entity.*;
import com.zjty.efs.user.subject.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.boot.model.source.spi.TableSpecificationSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.*;
/**
......@@ -45,10 +51,18 @@ public class UserServiceImpl implements UserService {
@Override
public UserVo findAllUser(String id, Integer page, Integer size) {
Pageable pageable = PageRequest.of(page, size, Sort.Direction.ASC, "name");
Page<UserDo> all = userDao.findAll(pageable);
return new UserVo((int) userDao.count(), page, size, all.getContent());
Specification<UserDo> specification = new Specification<UserDo>() {
@Override
public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) {
Predicate predicate = criteriaBuilder.notEqual(root.get("account"), "admin");
return criteriaBuilder.and(predicate);
}
};
Pageable pageable = PageRequest.of(page, size, Sort.Direction.ASC, "unit", "name");
Page<UserDo> all = userDao.findAll(specification, pageable);
return new UserVo((int) userDao.count() - 1, page, size, all.getContent());
}
@Override
......@@ -91,11 +105,11 @@ public class UserServiceImpl implements UserService {
userDo.setPassword(MD5Untils.getMD5Str(pwd));
userDao.save(userDo);
String msg = "[管理员]重置了" + "["+
String msg = "[管理员]重置了" + "[" +
userDo.getUnit()
+ "_" + userDo.getName() + "]的密码";
efsLogUtil.addLog(new EfsLog(null,"admin",
efsLogUtil.addLog(new EfsLog(null, "admin",
msg,
new Date()));
......@@ -113,7 +127,7 @@ public class UserServiceImpl implements UserService {
String msg = "[管理员]新增了用户:[" + userDo.getUnit() +
"_" + userDo.getName() +
"]";
efsLogUtil.addLog(new EfsLog(null,"admin",msg, new Date()));
efsLogUtil.addLog(new EfsLog(null, "admin", msg, new Date()));
List<Unit> units = unitDao.findByName(userDo.getUnit());
......@@ -123,7 +137,7 @@ public class UserServiceImpl implements UserService {
log.info("新增单位:{}", unit.getName());
}
return userDo;
}else {
} else {
log.warn("新增出错;已存在该用户");
return new UserDo();
}
......@@ -149,7 +163,7 @@ public class UserServiceImpl implements UserService {
return new UserDo();
}
} else {
log.error("用户登陆出错,错误对象:{}",byUsername);
log.error("用户登陆出错,错误对象:{}", byUsername);
return new UserDo();
}
}
......@@ -173,7 +187,7 @@ public class UserServiceImpl implements UserService {
"_" + user.getName() +
"]修改了密码";
efsLogUtil.addLog(new EfsLog(null, id, msg, new Date()));
return user;
return user;
}
@Override
......@@ -188,8 +202,8 @@ public class UserServiceImpl implements UserService {
List<UserDo> users = userDao.findByUnit(unit);
List<UnitMemVo> rs = new ArrayList<>();
users.forEach(o -> {
UnitMemVo unitMemVo = new UnitMemVo(o.getId(), o.getName(), o.getUnit(), o.getDepartment());
rs.add(unitMemVo);
UnitMemVo unitMemVo = new UnitMemVo(o.getId(), o.getName(), o.getUnit(), o.getDepartment());
rs.add(unitMemVo);
}
);
return rs;
......@@ -198,23 +212,23 @@ public class UserServiceImpl implements UserService {
@Override
public List<DepUser> findDepUserI(String id) {
List<DepUser> rs = new ArrayList<>();
Map<String,List<OneUser>> map = new HashMap<>();
Map<String, List<OneUser>> map = new HashMap<>();
userDao.findAll().forEach(o -> {
if (!o.getId().equals(id)) {
if(map.get(o.getUnit()) == null) {
if (map.get(o.getUnit()) == null) {
List<OneUser> one = new ArrayList<>();
one.add(new OneUser(o.getName(),o.getId()));
one.add(new OneUser(o.getName(), o.getId()));
map.put(o.getUnit(), one);
} else {
List<OneUser> oneUsers = map.get(o.getUnit());
oneUsers.add(new OneUser(o.getName(),o.getId()));
map.put(o.getUnit(),oneUsers);
oneUsers.add(new OneUser(o.getName(), o.getId()));
map.put(o.getUnit(), oneUsers);
}
}
});
map.remove("admin");
map.forEach((k,v) -> rs.add(new DepUser(k,v)));
map.forEach((k, v) -> rs.add(new DepUser(k, v)));
return rs;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论