|
@@ -0,0 +1,419 @@
|
|
|
+package com.example.opc_da.controller;
|
|
|
+
|
|
|
+import com.example.opc_da.annotation.PermissionControl;
|
|
|
+import com.example.opc_da.annotation.WebLog;
|
|
|
+import com.example.opc_da.entity.AddUserRole;
|
|
|
+import com.example.opc_da.entity.User;
|
|
|
+import com.example.opc_da.entity.UserRole;
|
|
|
+import com.example.opc_da.enums.ModelEnum;
|
|
|
+import com.example.opc_da.enums.OperationEnum;
|
|
|
+import com.example.opc_da.enums.ResultEnum;
|
|
|
+import com.example.opc_da.enums.ServerEnum;
|
|
|
+import com.example.opc_da.service.UserService;
|
|
|
+import com.example.opc_da.util.Blank;
|
|
|
+import com.example.opc_da.util.RSAUtil;
|
|
|
+import com.example.opc_da.util.Result;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("user")
|
|
|
+public class UserController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UserService userService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取图形验证码
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/getCodeImage")
|
|
|
+ public Result getCodeImage(boolean hasPubKey) {
|
|
|
+ return userService.getCodeImage(hasPubKey);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取公钥
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/getPublicKey")
|
|
|
+ public Result getPublicKey() {
|
|
|
+ return Result.ok(RSAUtil.PUBLIC_KEY);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 前端用户登录
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/frontUserLogin")
|
|
|
+ @WebLog(ServerEnum = ServerEnum.CLIENT, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.LOGIN)
|
|
|
+ public Result frontUserLogin(@RequestBody User user) {
|
|
|
+ if (Blank.isEmpty(user, user.getUserName(), user.getPassword(), user.getUid(), user.getVerifyCode())) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.frontUserLogin(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 后台管理系统登录(只允许管理员登录)
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/backUserLogin")
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.LOGIN)
|
|
|
+ public Result backUserLogin(@RequestBody User user) {
|
|
|
+ if (Blank.isEmpty(user, user.getUserName(), user.getPassword(), user.getUid(), user.getVerifyCode())) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.backUserLogin(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用户退出登录
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/userLoginOut")
|
|
|
+ @WebLog(ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.LOGOUT)
|
|
|
+ public Result userLoginOut() {
|
|
|
+ return userService.userLoginOut();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加用户
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/addUser")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.ADD)
|
|
|
+ public Result addUser(@RequestBody User user) {
|
|
|
+ if (Blank.isEmpty(user, user.getUserName(), user.getPassword(), user.getUserType())) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.addUser(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改用户信息
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/updateUser")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.UPDATE)
|
|
|
+ public Result updateUser(@RequestBody User user) {
|
|
|
+ if (Blank.isEmpty(user) ) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.updateUser(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 管理员分页查询所有用户信息
|
|
|
+ *
|
|
|
+ * @param page
|
|
|
+ * @param limit
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/getUserPage")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result getUserPage(int page, int limit, String userName, Integer state, Integer userType) {
|
|
|
+ if (Blank.isEmpty(page, limit) || page < 1 || limit < 1) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.getUserPage(page, limit, userName, state, userType);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 管理员可以查看任何用户的信息,不是管理员只能查看自己的信息
|
|
|
+ *
|
|
|
+ * @param userId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/getUserById")
|
|
|
+ @WebLog(ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result getUserById(String userId) {
|
|
|
+ if (Blank.isEmpty(userId)) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.getUserById(userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 锁定用户,解除用户锁定。只有管理员才能操作
|
|
|
+ *
|
|
|
+ * @param userId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/updateUserStateById")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.UPDATE)
|
|
|
+ public Result updateUserStateById(String userId, Integer userState) {
|
|
|
+ if (Blank.isEmpty(userId, userState)) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.updateUserStateById(userId, userState);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 逻辑删除用户
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/deleteUserById")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.DELETE)
|
|
|
+ public Result deleteUserById(@RequestBody User user) {
|
|
|
+ if (Blank.isEmpty(user, user.getUserId())) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.deleteUserById(user.getUserId());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用户分配角色
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/assignRole")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.ASSIGN)
|
|
|
+ public Result assignRole(@RequestBody User user) {
|
|
|
+ if (Blank.isEmpty(user, user.getUserId(), user.getRoleList())) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.assignRole(user.getUserId(), user.getRoleList());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据角色ID查询该角色下人员
|
|
|
+ *
|
|
|
+ * @param page
|
|
|
+ * @param limit
|
|
|
+ * @param roleId
|
|
|
+ * @param userName
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/getUserListByRoleId")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result getUserListByRoleId(Integer page, Integer limit, Integer roleId, String userName) {
|
|
|
+ if (Blank.isEmpty(page, limit) || page < 1 || limit < 1) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.getUserListByRoleId(page, limit, roleId, userName);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据用户列表授权某一个角色
|
|
|
+ *
|
|
|
+ * @param addUserRole
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/assignUserListByRoleId")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.ASSIGN)
|
|
|
+ public Result assignUserListByRoleId(@RequestBody AddUserRole addUserRole ) {
|
|
|
+ if (Blank.isEmpty(addUserRole.getUserIdList(), addUserRole.getRoleId())) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.assignUserListByRoleId(addUserRole.getUserIdList(), addUserRole.getRoleId());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据角色ID和用户ID解除角色权限
|
|
|
+ *
|
|
|
+ * @param userId
|
|
|
+ * @param roleId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/relieveUserRole")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.RELIEVE)
|
|
|
+ public Result relieveUserRole(String userId, String roleId) {
|
|
|
+ if (Blank.isEmpty(userId, roleId)) {
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.relieveUserRole(userId, roleId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据角色ID和用户ID批量解除角色权限
|
|
|
+ *
|
|
|
+ * @param userRoles
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/relieveUserRoles")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.RELIEVE)
|
|
|
+ public Result relieveUserRole(@RequestBody List<UserRole> userRoles){
|
|
|
+ if (userRoles.size()<=0){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
|
|
|
+ }
|
|
|
+ return userService.relieveUserRoles(userRoles);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改密码
|
|
|
+ */
|
|
|
+ @PostMapping("/updatePassWord")
|
|
|
+ public Result updatePassWord(@RequestBody User user){
|
|
|
+ if (Blank.isEmpty(user.getPassword(),user.getNewPassword(),user.getUserId())){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.updatePassWord(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 重置密码
|
|
|
+ */
|
|
|
+ @PostMapping("/updatePasswordByAdmin")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.RELIEVE)
|
|
|
+ public Result updatePasswordByAdmin(@RequestBody User user){
|
|
|
+ if (Blank.isEmpty(user.getNewPassword(),user.getUserId())){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.updatePasswordByAdmin(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看用户详情
|
|
|
+ */
|
|
|
+ @GetMapping("queryUserDtail")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.RELIEVE)
|
|
|
+ public Result queryUserDtail(String userId){
|
|
|
+ if (Blank.isEmpty(userId)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.queryUserDtail(userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询用户未有菜单
|
|
|
+ */
|
|
|
+ @GetMapping("/queryNotMenuByUserId")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.RELIEVE)
|
|
|
+ public Result queryNotMenuByUserId(String userId){
|
|
|
+ if (Blank.isEmpty(userId)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.queryNotMenuByUserId(userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询用户身份
|
|
|
+ */
|
|
|
+ @GetMapping("/queryUserRoleByUserId")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.RELIEVE)
|
|
|
+ public Result queryUserRoleByUserId(String userId){
|
|
|
+ if (Blank.isEmpty(userId)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.queryUserRoleByUserId(userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询所有后端用户
|
|
|
+ */
|
|
|
+ @GetMapping("/queryUserType")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result queryUserType(Integer startNum, Integer limitNum, String userName, Integer state,Integer roleId){
|
|
|
+ if (Blank.isEmpty(startNum,limitNum)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.queryUserType(startNum, limitNum, userName, state,roleId);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询所有没有部门用户
|
|
|
+ */
|
|
|
+ @GetMapping("/queryUserNOtInDepartment")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result queryUserNOtInDepartment(String userName, Integer state, Integer page, Integer num){
|
|
|
+ if (Blank.isEmpty(page,num)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.queryUserNOtInDepartment(userName, state, page, num);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量逻辑删除用户
|
|
|
+ */
|
|
|
+ @PostMapping("/updateUserListState")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.DELETE)
|
|
|
+ public Result updateUserListState(@RequestBody List<String> userId){
|
|
|
+ if (Blank.isEmpty(userId)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.updateUserListState(userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询删除用户
|
|
|
+ */
|
|
|
+ @GetMapping("/queryDeleteUser")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result queryDeleteUser(Integer page, Integer num, String userName, Integer userType){
|
|
|
+ if (Blank.isEmpty(page,num)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.queryDeleteUser(page, num, userName, userType);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 恢复已被删除的用户
|
|
|
+ */
|
|
|
+ @GetMapping("/updateUserByListId")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.UPDATE)
|
|
|
+ public Result updateUserByListId(@RequestParam("userIdList") List<String> userIdList){
|
|
|
+ if (Blank.isEmpty(userIdList)){
|
|
|
+ return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "参数错误");
|
|
|
+ }
|
|
|
+ return userService.updateUserByListId(userIdList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 客户端用户数量
|
|
|
+ */
|
|
|
+ @GetMapping("/queryCustomerUserNum")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result queryCustomerUserNum(){
|
|
|
+ return userService.queryCustomerUserNum();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 管理端用户数量
|
|
|
+ */
|
|
|
+ @GetMapping("/queryManagerUserNum")
|
|
|
+ @PermissionControl
|
|
|
+ @WebLog(ServerEnum = ServerEnum.SERVER, ModelEnum = ModelEnum.USER, OperationEnum = OperationEnum.SELECT)
|
|
|
+ public Result queryManagerUserNum(){
|
|
|
+ return userService.queryManagerUserNum();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|