|
@@ -1,42 +1,35 @@
|
|
|
package com.yaoxiang.diagnosis.service;
|
|
|
|
|
|
|
|
|
-import com.fasterxml.jackson.annotation.JsonInclude;
|
|
|
+import com.google.api.client.util.Value;
|
|
|
+import com.yaoxiang.diagnosis.config.Constants;
|
|
|
import com.yaoxiang.diagnosis.dao.UserRepo;
|
|
|
-import com.yaoxiang.diagnosis.entity.Role;
|
|
|
+import com.yaoxiang.diagnosis.entity.UserInfo;
|
|
|
import com.yaoxiang.diagnosis.model.Result;
|
|
|
import com.yaoxiang.diagnosis.model.UserVo;
|
|
|
import com.yaoxiang.diagnosis.util.CommonUtil;
|
|
|
-import com.yaoxiang.diagnosis.util.MD5Util;
|
|
|
-import com.yaoxiang.diagnosis.config.Constants;
|
|
|
-import com.yaoxiang.diagnosis.entity.UserInfo;
|
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.data.domain.Sort;
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
import java.util.*;
|
|
|
-import java.util.function.Consumer;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
@Service
|
|
|
public class UserService {
|
|
|
+ private static final Logger logger = LoggerFactory.getLogger(UserService.class);
|
|
|
@Resource
|
|
|
private UserRepo userRepo;
|
|
|
@Resource
|
|
|
private RoleService roleService;
|
|
|
-
|
|
|
- private static final Logger logger = LoggerFactory.getLogger(UserService.class);
|
|
|
+ @Value("${web.defaultPassword}")
|
|
|
+ private String defaultPassword = "YaoXiang@2021";
|
|
|
|
|
|
public Result addUser(UserInfo user) {
|
|
|
if (!checkUsername(user.getUsername())) {
|
|
@@ -61,7 +54,7 @@ public class UserService {
|
|
|
if (user.getUsername().length() == 11) {
|
|
|
user.setPhone(user.getUsername());
|
|
|
}
|
|
|
- user.setPassword(MD5Util.INSTANCE.md5(user.getPassword() + salt));
|
|
|
+ user.setPassword(DigestUtils.md5Hex(user.getPassword()));
|
|
|
user.setLevel(1);
|
|
|
user.setId(null);
|
|
|
userRepo.save(user);
|
|
@@ -127,7 +120,13 @@ public class UserService {
|
|
|
|
|
|
public boolean updatePassword(Long id, String password) {
|
|
|
UserInfo info = getSimpleUser(id);
|
|
|
- info.setPassword(MD5Util.INSTANCE.md5(password));
|
|
|
+ info.setPassword(DigestUtils.md5Hex(password));
|
|
|
+ return userRepo.save(info) != null;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean updatePassword(String id, String password) {
|
|
|
+ UserInfo info = findByUsername(id);
|
|
|
+ info.setPassword(DigestUtils.md5Hex(password));
|
|
|
return userRepo.save(info) != null;
|
|
|
}
|
|
|
|
|
@@ -163,7 +162,7 @@ public class UserService {
|
|
|
List<UserInfo> list = userRepo.findByRoleIdsContaining("%" + id + "%");
|
|
|
List<UserInfo> result = list.stream().filter(u -> Arrays.stream(u.getRoleIds().split(","))
|
|
|
.anyMatch(r -> r.equals(String.valueOf(id)))).collect(Collectors.toList());
|
|
|
- roleService.deleteRole(id, role -> result.forEach(u->{
|
|
|
+ roleService.deleteRole(id, role -> result.forEach(u -> {
|
|
|
String roleIds = u.getRoleIds();
|
|
|
String newRoleIds = Arrays.stream(roleIds.split(",")).filter(r -> !r.equals(String.valueOf(id))).collect(Collectors.joining(","));
|
|
|
u.setRoleIds(newRoleIds);
|
|
@@ -211,4 +210,8 @@ public class UserService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ public boolean resetAllPassword() {
|
|
|
+ userRepo.updateAllPassword(DigestUtils.md5Hex(defaultPassword));
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|