SCIM optimize

This commit is contained in:
MaxKey
2021-11-13 11:30:07 +08:00
parent 681906e02a
commit 2cd04e788f
51 changed files with 961 additions and 221 deletions

View File

@@ -25,6 +25,7 @@ import java.util.List;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.entity.GroupMember;
import org.maxkey.entity.Groups;
import org.maxkey.entity.UserInfo;
/**
* @author Crystal.sea
@@ -44,6 +45,8 @@ public interface GroupMemberMapper extends IJpaBaseMapper<GroupMember> {
public int deleteByGroupId(String groupId);
public List<UserInfo> queryMemberByGroupId(String groupId);
}

View File

@@ -33,4 +33,6 @@ import org.maxkey.entity.Groups;
public interface GroupsMapper extends IJpaBaseMapper<Groups> {
public List<Groups> queryDynamicGroups(Groups groups);
public List<Groups> queryGroupByUserId(String userId);
}

View File

@@ -17,9 +17,12 @@
package org.maxkey.persistence.service;
import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.entity.GroupMember;
import org.maxkey.entity.Groups;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.mapper.GroupMemberMapper;
import org.springframework.stereotype.Repository;
@@ -45,8 +48,13 @@ public class GroupMemberService extends JpaBaseService<GroupMember>{
public int deleteDynamicGroupMember(Groups dynamicGroup) {
return getMapper().deleteDynamicGroupMember(dynamicGroup);
}
public int deleteByGroupId(String groupId) {
return getMapper().deleteByGroupId(groupId);
}
public List<UserInfo> queryMemberByGroupId(String groupId){
return getMapper().queryMemberByGroupId(groupId);
}
}

View File

@@ -71,6 +71,10 @@ public class GroupsService extends JpaBaseService<Groups> implements Serializab
return true;
}
public List<Groups> queryGroupByUserId(String userId){
return this.getMapper().queryGroupByUserId(userId);
}
public void refreshDynamicGroups(Groups dynamicGroup){
if(dynamicGroup.getDynamic().equals(ConstantsStatus.ACTIVE+"")) {
boolean isDynamicTimeSupport = false;

View File

@@ -244,6 +244,52 @@
)
</delete>
<select id="queryMemberByGroupId" parameterType="string" resultType="UserInfo">
select distinct
u.id,
u.username,
u.usertype,
u.windowsaccount,
u.displayname ,
u.nickname ,
u.namezhspell,
u.namezhshortspell,
u.givenname ,
u.middlename ,
u.familyname ,
u.gender,
u.authntype,
u.mobile,
u.email,
u.workemail,
u.workphonenumber,
u.employeenumber,
u.division,
u.costcenter,
u.organization,
u.departmentid,
u.department,
u.jobtitle,
u.joblevel,
gm.createddate,
u.status
from
mxk_userinfo u,
mxk_groups g,
mxk_group_member gm
where 1 = 1
and gm.groupid = #{value}
and g.id = #{value}
and gm.type in( 'USER','USER-DYNAMIC')
and gm.groupid = g.id
and gm.memberid = u.id
</select>
<delete id="deleteByGroupId" parameterType="string" >
delete from mxk_group_member gm
where gm.groupid=#{value}

View File

@@ -54,5 +54,21 @@
</foreach>
</update>
<select id="queryGroupByUserId" parameterType="string" resultType="Groups">
select distinct
g.*
from
mxk_userinfo u,
mxk_groups g,
mxk_group_member gm
where 1 = 1
and gm.memberid = #{value}
and u.id = #{value}
and gm.type in( 'USER','USER-DYNAMIC')
and gm.groupid = g.id
and gm.memberid = u.id
</select>
</mapper>