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

@@ -38,6 +38,8 @@ public interface GroupMemberMapper extends IJpaBaseMapper<GroupMember> {
public List<GroupMember> memberNotInGroup(GroupMember entity);
public List<GroupMember> groupMemberInGroup(GroupMember entity);
public List<Groups> groupsNoMember(GroupMember entity);
public int addDynamicGroupMember(Groups dynamicGroup);
public int deleteDynamicGroupMember(Groups dynamicGroup);

View File

@@ -37,6 +37,8 @@ public interface RoleMemberMapper extends IJpaBaseMapper<RoleMember> {
public List<RoleMember> memberNotInRole(RoleMember entity);
public List<RoleMember> roleMemberInRole(RoleMember entity);
public List<Roles> rolesNoMember(RoleMember entity);
public int addDynamicRoleMember(Roles dynamicRole);
public int deleteDynamicRoleMember(Roles dynamicRole);

View File

@@ -20,14 +20,18 @@ package org.maxkey.persistence.service;
import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.entity.GroupMember;
import org.maxkey.entity.Groups;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.mapper.GroupMemberMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
@Repository
public class GroupMemberService extends JpaBaseService<GroupMember>{
final static Logger _logger = LoggerFactory.getLogger(GroupMemberService.class);
public GroupMemberService() {
super(GroupMemberMapper.class);
@@ -57,4 +61,29 @@ public class GroupMemberService extends JpaBaseService<GroupMember>{
return getMapper().queryMemberByGroupId(groupId);
}
public JpaPageResults<Groups> groupsNoMember(GroupMember entity) {
entity.setPageResultSelectUUID(entity.generateId());
entity.setStartRow(calculateStartRow(entity.getPageNumber() ,entity.getPageSize()));
entity.setPageable(true);
List<Groups> resultslist = null;
try {
resultslist = getMapper().groupsNoMember(entity);
} catch (Exception e) {
_logger.error("queryPageResults Exception " , e);
}
entity.setPageable(false);
Integer totalPage = resultslist.size();
Integer totalCount = 0;
if(entity.getPageNumber() == 1 && totalPage < entity.getPageSize()) {
totalCount = totalPage;
}else {
totalCount = parseCount(getMapper().queryPageResultsCount(entity));
}
return new JpaPageResults<Groups>(entity.getPageNumber(),entity.getPageSize(),totalPage,totalCount,resultslist);
}
}

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.
@@ -17,15 +17,22 @@
package org.maxkey.persistence.service;
import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.entity.RoleMember;
import org.maxkey.entity.Roles;
import org.maxkey.persistence.mapper.RoleMemberMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
@Repository
public class RoleMemberService extends JpaBaseService<RoleMember>{
final static Logger _logger = LoggerFactory.getLogger(RoleMemberService.class);
public RoleMemberService() {
super(RoleMemberMapper.class);
}
@@ -50,4 +57,28 @@ public class RoleMemberService extends JpaBaseService<RoleMember>{
public int deleteByRoleId(String roleId) {
return getMapper().deleteByRoleId(roleId);
}
public JpaPageResults<Roles> rolesNoMember(RoleMember entity) {
entity.setPageResultSelectUUID(entity.generateId());
entity.setStartRow(calculateStartRow(entity.getPageNumber() ,entity.getPageSize()));
entity.setPageable(true);
List<Roles> resultslist = null;
try {
resultslist = getMapper().rolesNoMember(entity);
} catch (Exception e) {
_logger.error("queryPageResults Exception " , e);
}
entity.setPageable(false);
Integer totalPage = resultslist.size();
Integer totalCount = 0;
if(entity.getPageNumber() == 1 && totalPage < entity.getPageSize()) {
totalCount = totalPage;
}else {
totalCount = parseCount(getMapper().queryPageResultsCount(entity));
}
return new JpaPageResults<Roles>(entity.getPageNumber(),entity.getPageSize(),totalPage,totalCount,resultslist);
}
}

View File

@@ -139,6 +139,28 @@
</if>
</select>
<select id="groupsNoMember" parameterType="GroupMember" resultType="Groups">
select distinct
g.*
from
mxk_groups g
where
g.id not in(
select
gm.groupid
from mxk_group_member gm,mxk_userinfo u
where gm.memberid = u.id
<if test="username != null and username != ''">
and u.username = #{username}
</if>
<if test="memberId != null and memberId != ''">
and gm.memberid = #{memberid}
</if>
)
<if test="groupName != null and groupName != ''">
and g.name = #{groupName}
</if>
</select>
<!-- GROUP_MEMBER Group Member-->
<select id="groupMemberInGroup" parameterType="GroupMember" resultType="Groups">

View File

@@ -142,6 +142,29 @@
</select>
<select id="rolesNoMember" parameterType="RoleMember" resultType="Roles">
select distinct
r.*
from
mxk_roles r
where
r.id not in(
select
rm.roleid
from mxk_role_member rm,mxk_userinfo u
where rm.memberid = u.id
<if test="username != null and username != ''">
and u.username = #{username}
</if>
<if test="memberId != null and memberId != ''">
and rm.memberid = #{memberid}
</if>
)
<if test="roleName != null and roleName != ''">
and r.name = #{roleName}
</if>
</select>
<!-- ROLE_MEMBER Roles Member-->
<select id="roleMemberInRole" parameterType="RoleMember" resultType="Roles">
select distinct