Commit 072707e2 by shenjunjie

后台用户列表模块调整

parent ec7917d1
...@@ -4,9 +4,7 @@ import com.zhiwei.brandkbs2.auth.Auth; ...@@ -4,9 +4,7 @@ import com.zhiwei.brandkbs2.auth.Auth;
import com.zhiwei.brandkbs2.controller.BaseController; import com.zhiwei.brandkbs2.controller.BaseController;
import com.zhiwei.brandkbs2.enmus.RoleEnum; import com.zhiwei.brandkbs2.enmus.RoleEnum;
import com.zhiwei.brandkbs2.model.ResponseResult; import com.zhiwei.brandkbs2.model.ResponseResult;
import com.zhiwei.brandkbs2.pojo.Behavior;
import com.zhiwei.brandkbs2.pojo.dto.UserDTO; import com.zhiwei.brandkbs2.pojo.dto.UserDTO;
import com.zhiwei.brandkbs2.service.BehaviorService;
import com.zhiwei.brandkbs2.service.UserService; import com.zhiwei.brandkbs2.service.UserService;
import com.zhiwei.middleware.auth.pojo.CenterUser; import com.zhiwei.middleware.auth.pojo.CenterUser;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -33,11 +31,6 @@ public class UserController extends BaseController { ...@@ -33,11 +31,6 @@ public class UserController extends BaseController {
@Resource(name = "userServiceImpl") @Resource(name = "userServiceImpl")
private UserService userService; private UserService userService;
@Resource(name = "behaviorServiceImpl")
private BehaviorService behaviorService;
private static final Behavior.Operation OPERATION = new Behavior.Operation("用户管理", true);
@Autowired @Autowired
private com.zhiwei.middleware.auth.core.UserInfoClient userInfoClient; private com.zhiwei.middleware.auth.core.UserInfoClient userInfoClient;
...@@ -47,15 +40,17 @@ public class UserController extends BaseController { ...@@ -47,15 +40,17 @@ public class UserController extends BaseController {
@ApiImplicitParam(name = "size", value = "每页记录数", required = false, defaultValue = "10", paramType = "query", dataType = "int"), @ApiImplicitParam(name = "size", value = "每页记录数", required = false, defaultValue = "10", paramType = "query", dataType = "int"),
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false, defaultValue = "", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false, defaultValue = "", paramType = "query", dataType = "string"),
@ApiImplicitParam(name = "pid", value = "搜索项目ID", required = true, paramType = "query", dataType = "string"), @ApiImplicitParam(name = "pid", value = "搜索项目ID", required = true, paramType = "query", dataType = "string"),
@ApiImplicitParam(name = "role", value = "角色类型", required = false, defaultValue = "-1", paramType = "query", dataType = "string") @ApiImplicitParam(name = "role", value = "角色类型", required = false, defaultValue = "-1", paramType = "query", dataType = "string"),
@ApiImplicitParam(name = "sorter", defaultValue = "{\"cTime\":\"descend\"}", value = "排序字段", paramType = "query", dataType = "string")
}) })
@GetMapping("/list") @GetMapping("/list")
public ResponseResult findList(@RequestParam(value = "page", defaultValue = "1") int page, public ResponseResult findList(@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "size", defaultValue = "10") int size, @RequestParam(value = "size", defaultValue = "10") int size,
@RequestParam(value = "keyword", defaultValue = "") String keyword, @RequestParam(value = "keyword", defaultValue = "") String keyword,
@RequestParam(value = "pid") String pid, @RequestParam(value = "pid") String pid,
@RequestParam(value = "role", defaultValue = "-1") int role) { @RequestParam(value = "role", defaultValue = "-1") int role,
return ResponseResult.success(userService.findUserList(page, size, keyword, pid, role)); @RequestParam(value = "sorter", defaultValue = "{\"cTime\":\"descend\"}") String sorter) {
return ResponseResult.success(userService.findUserList(page, size, keyword, pid, role, sorter));
} }
@ApiOperation("根据手机号搜索用户信息") @ApiOperation("根据手机号搜索用户信息")
......
package com.zhiwei.brandkbs2.pojo; package com.zhiwei.brandkbs2.pojo;
import com.zhiwei.brandkbs2.enmus.RoleEnum;
import com.zhiwei.brandkbs2.pojo.dto.UserDTO;
import com.zhiwei.middleware.auth.pojo.CenterUser; import com.zhiwei.middleware.auth.pojo.CenterUser;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -70,15 +72,41 @@ public class User extends AbstractBaseMongo { ...@@ -70,15 +72,41 @@ public class User extends AbstractBaseMongo {
*/ */
private String subscriptionAccountOpenId; private String subscriptionAccountOpenId;
public static User createFromCenterUser(CenterUser centerUser) { /**
* 操作人
*/
private String submitter;
private User(){
}
public static User createFromUserDTO(UserDTO userDTO, String submitter) {
User user = new User();
user.setId(userDTO.getId());
user.setNickname(userDTO.getNickname());
user.setCTime(System.currentTimeMillis());
user.setUsername(userDTO.getUsername());
user.setPhoneNumber(userDTO.getPhoneNumber());
if (RoleEnum.SUPER_ADMIN.getState() == userDTO.getRoleId()) {
user.setSuperAdmin(true);
} else {
user.setRoles(Collections.singletonList(UserRole.createFromUserDto(userDTO)));
user.setSuperAdmin(false);
}
user.setSubmitter(submitter);
return user;
}
public static User createFromCenterUser(CenterUser centerUser, String submitter) {
User user = new User(); User user = new User();
user.setId(String.valueOf(centerUser.getId())); user.setId(String.valueOf(centerUser.getId()));
user.setNickname(centerUser.getNickName()); user.setNickname(centerUser.getNickName());
user.setCTime(System.currentTimeMillis());
user.setUsername(centerUser.getName()); user.setUsername(centerUser.getName());
user.setPhoneNumber(Long.parseLong(centerUser.getPhone())); user.setPhoneNumber(Long.parseLong(centerUser.getPhone()));
user.setAvatarUrl(centerUser.getAvatarUrl()); user.setAvatarUrl(centerUser.getAvatarUrl());
user.setCTime(new Date().getTime());
user.setRoles(new ArrayList<>()); user.setRoles(new ArrayList<>());
user.setSubmitter(submitter);
return user; return user;
} }
......
...@@ -49,9 +49,10 @@ public interface UserService { ...@@ -49,9 +49,10 @@ public interface UserService {
* @param keyword 关键字 * @param keyword 关键字
* @param pid 项目ID * @param pid 项目ID
* @param role 角色 * @param role 角色
* @param sorter 排序
* @return 所有用户 * @return 所有用户
*/ */
PageVO<JSONObject> findUserList(int page, int size, String keyword, String pid, int role); PageVO<JSONObject> findUserList(int page, int size, String keyword, String pid, int role, String sorter);
/** /**
* 添加用户 * 添加用户
......
...@@ -133,13 +133,13 @@ public class UserServiceImpl implements UserService { ...@@ -133,13 +133,13 @@ public class UserServiceImpl implements UserService {
} }
@Override @Override
public PageVO<JSONObject> findUserList(int page, int size, String keyword, String pid, int role) { public PageVO<JSONObject> findUserList(int page, int size, String keyword, String pid, int role,String sorter) {
Criteria criteria = Criteria.where("roles.projectId").is(pid).and("superAdmin").is(false); Criteria criteria = Criteria.where("roles.projectId").is(pid).and("superAdmin").is(false);
if (-1 != role) { if (-1 != role) {
criteria = criteria.andOperator(Criteria.where("roles.key").is(Tools.concat(pid, role))); criteria = criteria.andOperator(Criteria.where("roles.key").is(Tools.concat(pid, role)));
// criteria = criteria.andOperator(Criteria.where("roles.roleId").is(role)); // criteria = criteria.andOperator(Criteria.where("roles.roleId").is(role));
} }
return findList(page, size, keyword, pid, new Query(criteria)); return findList(page, size, keyword, pid, new Query(criteria),sorter);
} }
@Override @Override
...@@ -149,6 +149,7 @@ public class UserServiceImpl implements UserService { ...@@ -149,6 +149,7 @@ public class UserServiceImpl implements UserService {
ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE); ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE);
} }
int roleId = UserThreadLocal.getRoleId(); int roleId = UserThreadLocal.getRoleId();
String nickname = UserThreadLocal.getNickname();
// 只有超管能设置管理员 // 只有超管能设置管理员
if (roleId != RoleEnum.SUPER_ADMIN.getState() && userDTO.getRoleId() <= RoleEnum.ADMIN.getState()) { if (roleId != RoleEnum.SUPER_ADMIN.getState() && userDTO.getRoleId() <= RoleEnum.ADMIN.getState()) {
ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE); ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE);
...@@ -166,12 +167,12 @@ public class UserServiceImpl implements UserService { ...@@ -166,12 +167,12 @@ public class UserServiceImpl implements UserService {
User newUser; User newUser;
// 优先使用用户中心信息 // 优先使用用户中心信息
if (null != centerUser) { if (null != centerUser) {
newUser = User.createFromCenterUser(centerUser); newUser = User.createFromCenterUser(centerUser, nickname);
newUser.setNickname(userDTO.getNickname()); newUser.setNickname(userDTO.getNickname());
newUser.setRoles(Collections.singletonList(UserRole.createFromUserDto(userDTO))); newUser.setRoles(Collections.singletonList(UserRole.createFromUserDto(userDTO)));
newUser.setSuperAdmin(false); newUser.setSuperAdmin(false);
} else { } else {
newUser = createNewUser(userDTO); newUser = User.createFromUserDTO(userDTO, nickname);
} }
userDao.insertOne(newUser); userDao.insertOne(newUser);
userCenterService.addProduct(newUser.getId()); userCenterService.addProduct(newUser.getId());
...@@ -230,7 +231,7 @@ public class UserServiceImpl implements UserService { ...@@ -230,7 +231,7 @@ public class UserServiceImpl implements UserService {
@Override @Override
public PageVO<JSONObject> findSuperAdminList(int page, int size, String keyword) { public PageVO<JSONObject> findSuperAdminList(int page, int size, String keyword) {
Query query = new Query().addCriteria(Criteria.where("superAdmin").is(true)); Query query = new Query().addCriteria(Criteria.where("superAdmin").is(true));
return findList(page, size, keyword, null, query); return findList(page, size, keyword, null, query, null);
} }
@Override @Override
...@@ -242,6 +243,7 @@ public class UserServiceImpl implements UserService { ...@@ -242,6 +243,7 @@ public class UserServiceImpl implements UserService {
return ResponseResult.failure("用户中心注册账号失败"); return ResponseResult.failure("用户中心注册账号失败");
} }
} }
String nickname = UserThreadLocal.getNickname();
User user = userDao.findOneById(userDTO.getId()); User user = userDao.findOneById(userDTO.getId());
// 老用户 // 老用户
if (null != user) { if (null != user) {
...@@ -257,11 +259,11 @@ public class UserServiceImpl implements UserService { ...@@ -257,11 +259,11 @@ public class UserServiceImpl implements UserService {
User newUser; User newUser;
// 优先使用用户中心信息 // 优先使用用户中心信息
if (null != centerUser) { if (null != centerUser) {
newUser = User.createFromCenterUser(centerUser); newUser = User.createFromCenterUser(centerUser, nickname);
newUser.setNickname(userDTO.getNickname()); newUser.setNickname(userDTO.getNickname());
newUser.setSuperAdmin(true); newUser.setSuperAdmin(true);
} else { } else {
newUser = createNewUser(userDTO); newUser = User.createFromUserDTO(userDTO, nickname);
} }
userDao.insertOne(newUser); userDao.insertOne(newUser);
userCenterService.addProduct(newUser.getId()); userCenterService.addProduct(newUser.getId());
...@@ -275,6 +277,7 @@ public class UserServiceImpl implements UserService { ...@@ -275,6 +277,7 @@ public class UserServiceImpl implements UserService {
@Override @Override
public List<JSONObject> bindUser(String username, String password) { public List<JSONObject> bindUser(String username, String password) {
String nickname = UserThreadLocal.getNickname();
UserOldDaoImpl.UserOld userOld = userOldDao.findOneByUsernameAndPassword(username, password); UserOldDaoImpl.UserOld userOld = userOldDao.findOneByUsernameAndPassword(username, password);
if (null == userOld) { if (null == userOld) {
ExceptionCast.cast(LoginCodeEnum.LOGIN_USERNAME_OR_PASSWORD_ERROR); ExceptionCast.cast(LoginCodeEnum.LOGIN_USERNAME_OR_PASSWORD_ERROR);
...@@ -286,7 +289,7 @@ public class UserServiceImpl implements UserService { ...@@ -286,7 +289,7 @@ public class UserServiceImpl implements UserService {
if (null == user) { if (null == user) {
// 通过用户中心查询 // 通过用户中心查询
CenterUser centerUser = userInfoClient.getUserById(Integer.parseInt(UserThreadLocal.getUserId())); CenterUser centerUser = userInfoClient.getUserById(Integer.parseInt(UserThreadLocal.getUserId()));
user = User.createFromCenterUser(centerUser); user = User.createFromCenterUser(centerUser,nickname);
} }
// 超级管理员 // 超级管理员
if (userOld.isSuperAdmin()) { if (userOld.isSuperAdmin()) {
...@@ -330,7 +333,7 @@ public class UserServiceImpl implements UserService { ...@@ -330,7 +333,7 @@ public class UserServiceImpl implements UserService {
@Override @Override
public List<JSONObject> skipBindUser() { public List<JSONObject> skipBindUser() {
CenterUser centerUser = userInfoClient.getUserById(Integer.parseInt(UserThreadLocal.getUserId())); CenterUser centerUser = userInfoClient.getUserById(Integer.parseInt(UserThreadLocal.getUserId()));
User user = User.createFromCenterUser(centerUser).defaultRoleUser(); User user = User.createFromCenterUser(centerUser, "admin").defaultRoleUser();
userDao.insertOne(user); userDao.insertOne(user);
return projectServiceImpl.getProjectListByUser(user, true); return projectServiceImpl.getProjectListByUser(user, true);
} }
...@@ -414,25 +417,13 @@ public class UserServiceImpl implements UserService { ...@@ -414,25 +417,13 @@ public class UserServiceImpl implements UserService {
return queryUserInfo(UserThreadLocal.getUserId(), UserThreadLocal.getProjectId()).toMap(); return queryUserInfo(UserThreadLocal.getUserId(), UserThreadLocal.getProjectId()).toMap();
} }
private User createNewUser(UserDTO userDTO) { private PageVO<JSONObject> findList(int page, int size, String keyword, String pid, Query query,String sorter) {
User user = new User(); userDao.addKeywordFuzz(query, keyword, "nickname");
user.setId(userDTO.getId()); if (null == sorter) {
user.setNickname(userDTO.getNickname()); userDao.addSort(query, "{\"cTime\":\"descend\"}");
user.setCTime(System.currentTimeMillis());
user.setUsername(userDTO.getUsername());
user.setPhoneNumber(userDTO.getPhoneNumber());
if (RoleEnum.SUPER_ADMIN.getState() == userDTO.getRoleId()) {
user.setSuperAdmin(true);
} else { } else {
user.setRoles(Collections.singletonList(UserRole.createFromUserDto(userDTO))); userDao.addSort(query, sorter);
user.setSuperAdmin(false);
} }
return user;
}
private PageVO<JSONObject> findList(int page, int size, String keyword, String pid, Query query) {
userDao.addKeywordFuzz(query, keyword, "nickname");
userDao.addSort(query, "{\"cTime\":\"descend\"}");
long count = userDao.count(query); long count = userDao.count(query);
mongoUtil.start(page, size, query); mongoUtil.start(page, size, query);
List<User> userList = userDao.findList(query); List<User> userList = userDao.findList(query);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment