user role & group & accounts

This commit is contained in:
MaxKey
2022-05-24 17:13:07 +08:00
parent 9ab56c7803
commit 3cabc8a790
34 changed files with 985 additions and 165 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright [2020] [MaxKey of copyright http://www.maxkey.top]
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,15 +20,17 @@ package org.maxkey.web.access.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.GroupMember;
import org.maxkey.entity.Groups;
import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.service.GroupMemberService;
import org.maxkey.persistence.service.GroupsService;
import org.maxkey.persistence.service.UserInfoService;
import org.maxkey.util.StringUtils;
import org.maxkey.web.WebContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
@@ -45,13 +47,14 @@ public class GroupMemberController {
final static Logger _logger = LoggerFactory.getLogger(GroupMemberController.class);
@Autowired
@Qualifier("groupMemberService")
GroupMemberService groupMemberService;
@Autowired
@Qualifier("groupsService")
GroupsService groupsService;
@Autowired
UserInfoService userInfoService;
@RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
@ResponseBody
public ResponseEntity<?> fetch(
@@ -82,6 +85,13 @@ public class GroupMemberController {
groupMemberService.queryPageResults("memberNotInGroup",groupMember)).buildResponse();
}
@RequestMapping(value = { "/groupsNoMember" })
@ResponseBody
public ResponseEntity<?> groupsNoMember(@ModelAttribute GroupMember groupMember,@CurrentUser UserInfo currentUser) {
groupMember.setInstId(currentUser.getInstId());
return new Message<JpaPageResults<Groups>>(
groupMemberService.groupsNoMember(groupMember)).buildResponse();
}
@RequestMapping(value = {"/add"})
@ResponseBody
@@ -118,6 +128,41 @@ public class GroupMemberController {
return new Message<GroupMember>(Message.FAIL).buildResponse();
}
@RequestMapping(value = {"/addMember2Groups"})
@ResponseBody
public ResponseEntity<?> addMember2Groups(@RequestBody GroupMember groupMember,@CurrentUser UserInfo currentUser) {
if (groupMember == null || StringUtils.isBlank(groupMember.getUsername())) {
return new Message<GroupMember>(Message.FAIL).buildResponse();
}
UserInfo userInfo = userInfoService.findByUsername(groupMember.getUsername());
boolean result = true;
String groupIds = groupMember.getGroupId();
String groupNames = groupMember.getGroupName();
if (groupIds != null && userInfo != null) {
String[] arrGroupIds = groupIds.split(",");
String[] arrGroupNames = groupNames.split(",");
for (int i = 0; i < arrGroupIds.length; i++) {
GroupMember newGroupMember =
new GroupMember(
arrGroupIds[i],
arrGroupNames[i],
userInfo.getId(),
userInfo.getDisplayName(),
"USER",
currentUser.getInstId());
newGroupMember.setId(WebContext.genId());
result = groupMemberService.insert(newGroupMember);
}
if(result) {
return new Message<GroupMember>(Message.SUCCESS).buildResponse();
}
}
return new Message<GroupMember>(Message.FAIL).buildResponse();
}
@ResponseBody
@RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {

View File

@@ -107,6 +107,13 @@ public class UserInfoController {
return new Message<UserInfo>(userInfo).buildResponse();
}
@RequestMapping(value = { "/getByUsername/{username}" }, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> getByUsername(@PathVariable("username") String username) {
UserInfo userInfo=userInfoService.findByUsername(username);
userInfo.trans();
return new Message<UserInfo>(userInfo).buildResponse();
}
@ResponseBody
@RequestMapping(value={"/add"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> insert(@RequestBody UserInfo userInfo,@CurrentUser UserInfo currentUser) {

View File

@@ -21,9 +21,12 @@ import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.Message;
import org.maxkey.entity.RoleMember;
import org.maxkey.entity.Roles;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.service.RoleMemberService;
import org.maxkey.persistence.service.RolesService;
import org.maxkey.persistence.service.UserInfoService;
import org.maxkey.util.StringUtils;
import org.maxkey.web.WebContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,6 +52,9 @@ public class RoleMemberController {
@Autowired
RolesService rolesService;
@Autowired
UserInfoService userInfoService;
@RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
@ResponseBody
public ResponseEntity<?> fetch(
@@ -85,7 +91,7 @@ public class RoleMemberController {
if (roleMember == null || roleMember.getRoleId() == null) {
return new Message<RoleMember>(Message.FAIL).buildResponse();
}
String groupId = roleMember.getRoleId();
String roleId = roleMember.getRoleId();
boolean result = true;
String memberIds = roleMember.getMemberId();
@@ -97,7 +103,7 @@ public class RoleMemberController {
for (int i = 0; i < arrMemberIds.length; i++) {
RoleMember newRoleMember =
new RoleMember(
groupId,
roleId,
roleMember.getRoleName(),
arrMemberIds[i],
arrMemberNames[i],
@@ -113,6 +119,48 @@ public class RoleMemberController {
return new Message<RoleMember>(Message.FAIL).buildResponse();
}
@RequestMapping(value = { "/rolesNoMember" })
@ResponseBody
public ResponseEntity<?> rolesNoMember(@ModelAttribute RoleMember roleMember,@CurrentUser UserInfo currentUser) {
roleMember.setInstId(currentUser.getInstId());
return new Message<JpaPageResults<Roles>>(
roleMemberService.rolesNoMember(roleMember)).buildResponse();
}
@RequestMapping(value = {"/addMember2Roles"})
@ResponseBody
public ResponseEntity<?> addMember2Roles(@RequestBody RoleMember roleMember,@CurrentUser UserInfo currentUser) {
if (roleMember == null || StringUtils.isBlank(roleMember.getUsername())) {
return new Message<RoleMember>(Message.FAIL).buildResponse();
}
UserInfo userInfo = userInfoService.findByUsername(roleMember.getUsername());
boolean result = true;
String roleIds = roleMember.getRoleId();
String roleNames = roleMember.getRoleName();
if (roleIds != null) {
String[] arrRoleIds = roleIds.split(",");
String[] arrRoleNames = roleNames.split(",");
for (int i = 0; i < arrRoleIds.length; i++) {
RoleMember newRoleMember =
new RoleMember(
arrRoleIds[i],
arrRoleNames[i],
userInfo.getId(),
userInfo.getDisplayName(),
"USER",
currentUser.getInstId());
newRoleMember.setId(WebContext.genId());
result = roleMemberService.insert(newRoleMember);
}
if(result) {
return new Message<RoleMember>(Message.SUCCESS).buildResponse();
}
}
return new Message<RoleMember>(Message.FAIL).buildResponse();
}
@ResponseBody
@RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {