|
@@ -13,23 +13,14 @@ import com.judong.chuanyiserver.exception.CustomException;
|
|
|
import com.judong.chuanyiserver.service.UserService;
|
|
|
import com.judong.chuanyiserver.util.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.slf4j.Logger;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.util.StringUtils;
|
|
|
-import org.springframework.web.context.request.RequestContextHolder;
|
|
|
-import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
-import javax.servlet.ServletOutputStream;
|
|
|
-import javax.servlet.http.Cookie;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.IOException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.UUID;
|
|
|
-import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
@@ -94,30 +85,42 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
// 验证码通过则删除验证码
|
|
|
redisUtil.del(user.getUid() + "-captcha");
|
|
|
- JSONObject json = new JSONObject();
|
|
|
- isExistUser.setPassword("");
|
|
|
- json.put("user", isExistUser);
|
|
|
- //生成token
|
|
|
- String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
|
|
|
- json.put("token", token);
|
|
|
- redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
|
|
|
- List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
|
|
|
- if (Blank.isEmpty(roleIdList)) {
|
|
|
- json.put("roleIdList", new ArrayList<>());
|
|
|
- return Result.ok(json);
|
|
|
- }
|
|
|
- json.put("roleIdList", roleIdList);
|
|
|
- List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
|
|
|
- if (Blank.isEmpty(permissionList)) {
|
|
|
- json.put("permissionList", new ArrayList<>());
|
|
|
- return Result.ok(json);
|
|
|
+ if (isExistUser.getState() == ConstantStr.NORMAL_USE) {
|
|
|
+
|
|
|
}
|
|
|
- json.put("permissionList", permissionList);
|
|
|
- //更新用户登录状态
|
|
|
- if (userDao.updateLoginState(isExistUser.getUserId()) <= 0) {
|
|
|
- return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "更新登录状态失败");
|
|
|
+ switch (isExistUser.getState()) {
|
|
|
+ case ConstantStr.NORMAL_USE:
|
|
|
+ JSONObject json = new JSONObject();
|
|
|
+ isExistUser.setPassword("");
|
|
|
+ json.put("user", isExistUser);
|
|
|
+ //生成token
|
|
|
+ String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
|
|
|
+ json.put("token", token);
|
|
|
+ redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
|
|
|
+ List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
|
|
|
+ if (Blank.isEmpty(roleIdList)) {
|
|
|
+ json.put("roleIdList", new ArrayList<>());
|
|
|
+ return Result.ok(json);
|
|
|
+ }
|
|
|
+ json.put("roleIdList", roleIdList);
|
|
|
+ List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
|
|
|
+ if (Blank.isEmpty(permissionList)) {
|
|
|
+ json.put("permissionList", new ArrayList<>());
|
|
|
+ return Result.ok(json);
|
|
|
+ }
|
|
|
+ json.put("permissionList", permissionList);
|
|
|
+ //更新用户登录状态
|
|
|
+ if (userDao.updateLoginState(isExistUser.getUserId()) <= 0) {
|
|
|
+ return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "更新登录状态失败");
|
|
|
+ }
|
|
|
+ return Result.ok(json);
|
|
|
+ case ConstantStr.LOCK_USER:
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被锁定,请联系管理员");
|
|
|
+ case ConstantStr.TOMBSTONE:
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被删除,请联系管理员");
|
|
|
+ default:
|
|
|
+ throw new CustomException(ResultEnum.UNKNOWN_ERROR.getRespCode(), "用户状态不在系统设置列中");
|
|
|
}
|
|
|
- return Result.ok(json);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -147,29 +150,38 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
// 验证码通过则删除验证码
|
|
|
redisUtil.del(user.getUid() + "-captcha");
|
|
|
- List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
|
|
|
- if (Blank.isEmpty(roleIdList)) {
|
|
|
- return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
|
|
|
- }
|
|
|
- for (Integer roleId : roleIdList) {
|
|
|
- if (roleId == ConstantStr.ROLE_ADMIN) {
|
|
|
- JSONObject json = new JSONObject();
|
|
|
- isExistUser.setPassword("");
|
|
|
- json.put("user", isExistUser);
|
|
|
- json.put("roleIdList", roleIdList);
|
|
|
- List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
|
|
|
- if (Blank.isEmpty(permissionList)) {
|
|
|
- return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), "没有权限信息");
|
|
|
+ switch (isExistUser.getState()) {
|
|
|
+ case ConstantStr.NORMAL_USE:
|
|
|
+ List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
|
|
|
+ if (Blank.isEmpty(roleIdList)) {
|
|
|
+ return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
|
|
|
}
|
|
|
- json.put("permissionList", permissionList);
|
|
|
- //生成token
|
|
|
- String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
|
|
|
- json.put("token", token);
|
|
|
- redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
|
|
|
- return Result.ok(json);
|
|
|
- }
|
|
|
+ for (Integer roleId : roleIdList) {
|
|
|
+ if (roleId == ConstantStr.ROLE_ADMIN) {
|
|
|
+ JSONObject json = new JSONObject();
|
|
|
+ isExistUser.setPassword("");
|
|
|
+ json.put("user", isExistUser);
|
|
|
+ json.put("roleIdList", roleIdList);
|
|
|
+ List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
|
|
|
+ if (Blank.isEmpty(permissionList)) {
|
|
|
+ return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), "没有权限信息");
|
|
|
+ }
|
|
|
+ json.put("permissionList", permissionList);
|
|
|
+ //生成token
|
|
|
+ String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
|
|
|
+ json.put("token", token);
|
|
|
+ redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
|
|
|
+ return Result.ok(json);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
|
|
|
+ case ConstantStr.LOCK_USER:
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被锁定,请联系管理员");
|
|
|
+ case ConstantStr.TOMBSTONE:
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被删除,请联系管理员");
|
|
|
+ default:
|
|
|
+ throw new CustomException(ResultEnum.UNKNOWN_ERROR.getRespCode(), "用户状态不在系统设置列中");
|
|
|
}
|
|
|
- return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -241,9 +253,9 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public Result getUserPage(int page, int limit) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
- Long count = userDao.getUserCount();
|
|
|
+ Long count = userDao.getUserCount(ConstantStr.NORMAL_USE, ConstantStr.LOCK_USER);
|
|
|
Long startNum = Long.valueOf((page - 1) * limit);
|
|
|
- List<User> userList = userDao.getUserPage(startNum, Long.valueOf(limit));
|
|
|
+ List<User> userList = userDao.getUserPage(startNum, Long.valueOf(limit), ConstantStr.NORMAL_USE, ConstantStr.LOCK_USER);
|
|
|
jsonObject.put("count", count);
|
|
|
jsonObject.put("userList", userList);
|
|
|
return Result.ok(jsonObject);
|
|
@@ -266,21 +278,26 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
@Override
|
|
|
public synchronized Result updateUserStateById(String userId, Integer userState) {
|
|
|
- if (userState != ConstantStr.NORMAL_USE && userState != ConstantStr.LOCK_USER && userState != ConstantStr.TOMBSTONE) {
|
|
|
- return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户状态参数只能为0,1,2");
|
|
|
+ if (userState != ConstantStr.NORMAL_USE && userState != ConstantStr.LOCK_USER) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户状态参数只能为0,1");
|
|
|
}
|
|
|
String msg = "";
|
|
|
- if (userState == ConstantStr.NORMAL_USE) {
|
|
|
- msg = "用户变更为正常用户";
|
|
|
- } else if (userState == ConstantStr.LOCK_USER) {
|
|
|
- msg = "锁定用户";
|
|
|
- } else if (userState == ConstantStr.TOMBSTONE) {
|
|
|
- msg = "删除用户";
|
|
|
- }
|
|
|
- if (userDao.updateUserState(userId, userState) <= 0) {
|
|
|
- return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), msg + "失败");
|
|
|
+ switch (userState) {
|
|
|
+ case ConstantStr.NORMAL_USE:
|
|
|
+ msg = "用户变更为正常用户";
|
|
|
+ if (userDao.updateUserState(userId, userState) <= 0) {
|
|
|
+ return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), msg + "失败");
|
|
|
+ }
|
|
|
+ return Result.ok(msg + "成功");
|
|
|
+ case ConstantStr.LOCK_USER:
|
|
|
+ msg = "userState";
|
|
|
+ if (userDao.updateUserState(userId, userState) <= 0) {
|
|
|
+ return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), msg + "失败");
|
|
|
+ }
|
|
|
+ return Result.ok(msg + "成功");
|
|
|
+ default:
|
|
|
+ throw new CustomException(ResultEnum.UNKNOWN_ERROR.getRespCode(), "用户状态参数只能为0,1");
|
|
|
}
|
|
|
- return Result.ok(msg + "成功");
|
|
|
}
|
|
|
|
|
|
@Override
|