小组权限复制功能阶段提交
This commit is contained in:
parent
136b351e97
commit
98efe9831a
Binary file not shown.
@ -326,6 +326,27 @@ public class CooperationController {
|
|||||||
return web.removeCooperationMember(teamId, userIds);
|
return web.removeCooperationMember(teamId, userIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 权限复制
|
||||||
|
* @param uc
|
||||||
|
* @param teamId
|
||||||
|
* @param userid
|
||||||
|
* @param targetUserid
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Mapping("com.actionsoft.apps.coe.pal.cooperation_manage_team_member_perm_copy")
|
||||||
|
public String copyCooperationMemberPerm(UserContext uc,String teamId,String userid,String targetUserid){
|
||||||
|
CooperationWeb web = new CooperationWeb(uc);
|
||||||
|
return web.copyCooperationMemberPerm(teamId,userid,targetUserid);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Mapping("com.actionsoft.apps.coe.pal.cooperation_test")
|
||||||
|
public String test(UserContext uc) {
|
||||||
|
ResponseObject ro = ResponseObject.newOkResponse();
|
||||||
|
List<TeamInfo> allTeamInfo = CooperationCache.getAllTeamInfo();
|
||||||
|
ro.put("perms",allTeamInfo);
|
||||||
|
|
||||||
|
return ro.toString();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1693,6 +1693,53 @@ public class CooperationWeb extends ActionWeb {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 权限复制
|
||||||
|
* @param teamId
|
||||||
|
* @param userid 待复制用户id
|
||||||
|
* @param targetUserid 目标用户id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String copyCooperationMemberPerm(String teamId,String userid,String targetUserid){
|
||||||
|
ResponseObject ro = ResponseObject.newOkResponse();
|
||||||
|
CoeUser coeUser = new CoeUser();
|
||||||
|
if(userid.equals(targetUserid)){
|
||||||
|
return ResponseObject.newErrResponse("待复制用户id与目标用户id不能相同").toString();
|
||||||
|
}
|
||||||
|
if (!coeUser.validateIsAccessCOE(userid) || !coeUser.validateIsAccessCOE(targetUserid)){
|
||||||
|
return ResponseObject.newErrResponse("用户id异常").toString();
|
||||||
|
}
|
||||||
|
CoeCooperationAPIManager api = CoeCooperationAPIManager.getInstance();
|
||||||
|
if (CoeCooperationAPIManager.getInstance().queryCooperationRoleByUser(teamId,userid) == null || CoeCooperationAPIManager.getInstance().queryCooperationRoleByUser(teamId,targetUserid) == null){
|
||||||
|
return ResponseObject.newErrResponse("参与复制的用户必须在对应小组下").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
//处理小组下成员信息,先删除关系,后将target的角色id复制到user上新增
|
||||||
|
api.removeCooperationMemeber(teamId,userid);
|
||||||
|
List<CoeCooperationMemberModel> memberModels = api.queryCooperationTeamMembersByUser(teamId, targetUserid);
|
||||||
|
Timestamp now = new Timestamp(System.currentTimeMillis());
|
||||||
|
List<CoeCooperationMemberModel> copyUsers = new ArrayList<>();
|
||||||
|
for (CoeCooperationMemberModel memberModel : memberModels) {
|
||||||
|
CoeCooperationMemberModel member = new CoeCooperationMemberModel(UUIDGener.getUUID(), teamId, userid, memberModel.getRoleId(), _uc.getUID(), now, _uc.getUID(), now);
|
||||||
|
copyUsers.add(member);
|
||||||
|
}
|
||||||
|
api.createCooperationMemebers(copyUsers);
|
||||||
|
|
||||||
|
//处理隐藏角色的权限复制,
|
||||||
|
CoeCooperationRoleModel originHideRole = api.queryCooperationTeamHideRole(teamId, userid);
|
||||||
|
api.removeCooperationRolePerms(teamId,originHideRole.getId());
|
||||||
|
CoeCooperationRoleModel targetHideRole = api.queryCooperationTeamHideRole(teamId, targetUserid);
|
||||||
|
List<CoeCooperationRolePermModel> targetRolePerms = api.queryCooperationRoleDataPermList(teamId, targetHideRole.getId());
|
||||||
|
List<CoeCooperationRolePermModel> permModelList = new ArrayList<>();
|
||||||
|
for (CoeCooperationRolePermModel targetRolePerm : targetRolePerms) {
|
||||||
|
CoeCooperationRolePermModel permModel = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, originHideRole.getId(), targetRolePerm.getPalVersionId(), targetRolePerm.getActionPerm());
|
||||||
|
permModelList.add(permModel);
|
||||||
|
}
|
||||||
|
api.createCooperationRolePerms(permModelList);
|
||||||
|
|
||||||
|
return ro.toString();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取单位下第一级部门
|
* 获取单位下第一级部门
|
||||||
* @param companyId
|
* @param companyId
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user