@@ -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 ) ;
}
/**