1、调整同步的需求权限

This commit is contained in:
2026-02-05 21:25:02 +08:00
parent d0f24dd598
commit 19bcad83ee
4 changed files with 43 additions and 15 deletions

View File

@@ -5,6 +5,7 @@ import lombok.Getter;
@Getter
public enum MemberTypeEnum {
CREATOR("创建人", -1),
PRINCIPAL("仿真负责人", 0),
EXECUTOR("仿真执行人", 1),
THREED("3D负责人", 2),

View File

@@ -543,12 +543,12 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
LyricVTodoEmulationInfoDM todo,
List<UpdatePermissionReq> permissionList) {
// 当前用户权限
permissionList.add(buildUpdatePermissionReq(demandUuid, currentUserId, null));
// permissionList.add(buildUpdatePermissionReq(demandUuid, currentUserId, null));
// 仿真负责人权限
addPermissionReq(todo.getEmulationPerformer(), demandUuid, permissionList, MemberTypeEnum.PRINCIPAL.getCode());
// 仿真执行人权限
addPermissionReq(todo.getEmulationExecutor(), demandUuid, permissionList, MemberTypeEnum.EXECUTOR.getCode());
addPermissionReq(todo.getVerifier(), demandUuid, permissionList, MemberTypeEnum.PRINCIPAL.getCode());
// 需求创建人权限
addPermissionReq(todo.getIntroduceBy(), demandUuid, permissionList, MemberTypeEnum.CREATOR.getCode());
}
/**

View File

@@ -3280,16 +3280,22 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
List<SpdmDemandRelateMemberReq> memberList = new ArrayList<>();
// 添加当前用户权限
addUserPermission(permissionReqList, demandUuid, currentUserId,FilePermissionEnum.READ.getValue());
// addUserPermission(permissionReqList, demandUuid, currentUserId,FilePermissionEnum.READ.getValue());
// 仿真负责人在EP里是确认人verifier
// 需求创建人在EP里是提出人introduceBy
addDemandMember(todoItem.getVerifier(),todoItem.getIntroduceBy(), MemberTypeEnum.PRINCIPAL.getCode(), demandUuid, currentUserId, currentTimeStr, memberList, permissionReqList);
// 仿真负责人
addDemandMember(todoItem.getEmulationPerformer(), 0, demandUuid, currentUserId, currentTimeStr, memberList, permissionReqList);
// 仿真执行人
addDemandMember(todoItem.getEmulationExecutor(), 1, demandUuid, currentUserId, currentTimeStr, memberList, permissionReqList);
// addDemandMember(todoItem.getEmulationExecutor(), 1, demandUuid, currentUserId, currentTimeStr, memberList, permissionReqList);
// 3D负责人
addDemandMember(todoItem.getThreeDimensionalPerformer(), 2, demandUuid, currentUserId, currentTimeStr, memberList, permissionReqList);
// addDemandMember(todoItem.getThreeDimensionalPerformer(), 2, demandUuid, currentUserId, currentTimeStr, memberList, permissionReqList);
// 确认人
// addDemandMember(todoItem.getThreeDimensionalPerformer(), 2, demandUuid, currentUserId, currentTimeStr, memberList, permissionReqList);
return memberList;
}
@@ -3297,7 +3303,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
/**
* 添加需求成员
*/
private void addDemandMember(String userInfo, int memberType, String demandUuid,
private void addDemandMember(String userInfo,String introduceBy, int memberType, String demandUuid,
Long currentUserId, String currentTimeStr,
List<SpdmDemandRelateMemberReq> memberList,
List<UpdatePermissionReq> permissionReqList) {
@@ -3307,12 +3313,23 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
try {
String userIdStr = userInfo.split("-")[0];
log.info("introduceBy");
String introduceByUserIdStr = introduceBy.split("-")[0];
log.info("introduceByUserIdStr");
if (!isConvertibleToLong(userIdStr)) {
log.warn("用户ID转换失败原始数据{}", userInfo);
return;
}
if (!isConvertibleToLong(introduceByUserIdStr)) {
log.warn("提出人用户ID转换失败原始数据{}", userInfo);
return;
}
Long userId = Long.valueOf(userIdStr);
Long introduceByUserId = Long.valueOf(introduceByUserIdStr);
// 构建成员信息
SpdmDemandRelateMemberReq memberReq = new SpdmDemandRelateMemberReq();
@@ -3324,7 +3341,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
memberList.add(memberReq);
// 添加权限
addUserPermission(permissionReqList, demandUuid, userId,FilePermissionEnum.BASE.getValue());
addUserPermission(permissionReqList, demandUuid, userId,introduceByUserId,FilePermissionEnum.BASE.getValue());
} catch (Exception e) {
log.error("添加需求成员失败,用户信息:{},成员类型:{}", userInfo, memberType, e);
@@ -3336,7 +3353,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
*/
private void addUserPermission(List<UpdatePermissionReq> permissionReqList,
String demandUuid,
Long userId,byte filePermissionEnumValue) {
Long userId,Long introduceByUserId,byte filePermissionEnumValue) {
UpdatePermissionReq permissionReq = new UpdatePermissionReq();
permissionReq.setUserId(userId);
permissionReq.setUuid(demandUuid);
@@ -3346,6 +3363,16 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
permissionReq.setUserPermissions(userPermissions);
permissionReq.setPermission(filePermissionEnumValue);
permissionReqList.add(permissionReq);
UpdatePermissionReq introduceByPermissionReq = new UpdatePermissionReq();
introduceByPermissionReq.setUserId(introduceByUserId);
introduceByPermissionReq.setUuid(demandUuid);
Map<Long, Byte> introduceByUserPermissions = new HashMap<>();
introduceByUserPermissions.put(introduceByUserId, FilePermissionEnum.ALL.getValue());
introduceByPermissionReq.setUserPermissions(introduceByUserPermissions);
introduceByPermissionReq.setPermission(FilePermissionEnum.ALL.getValue());
permissionReqList.add(introduceByPermissionReq);
}
/**