|
|
@ -358,9 +358,12 @@ public class ProMemberService implements IProMemberService { |
|
|
|
if (ObjectUtil.isNull(proMember)) { |
|
|
|
throw new BaseException(CodeEnum.NOT_MEMBER); |
|
|
|
} |
|
|
|
//TODO 该成员是项目经理,且项目经理下只有他一个成员的时候,不能删除
|
|
|
|
List<Long> pmId = proRoleDao.getPmByByProjectId(proMember.getProjectId()); |
|
|
|
|
|
|
|
//检查操作者的权限
|
|
|
|
int power = proRoleService.selectPowerByRoleName(currentUserId, proMember.getProjectId()); |
|
|
|
if (power < 2) { |
|
|
|
if (power < WebConstant.ROLE_POWER.OPERATION_POWER.value) { |
|
|
|
throw new BaseException(CodeEnum.NOT_POWER); |
|
|
|
} |
|
|
|
|
|
|
@ -381,8 +384,12 @@ public class ProMemberService implements IProMemberService { |
|
|
|
}); |
|
|
|
} |
|
|
|
//删除成员关注项目的信息
|
|
|
|
deleteAttention(proMember.getUserId(),proMember.getProjectId()); |
|
|
|
} |
|
|
|
|
|
|
|
private void deleteAttention(Long userId, Long projectId) { |
|
|
|
UserAttentionExample userAttentionExample = new UserAttentionExample(); |
|
|
|
userAttentionExample.createCriteria().andUserIdEqualTo(proMember.getUserId()).andProjectIdEqualTo(proMember.getProjectId()); |
|
|
|
userAttentionExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId); |
|
|
|
List<UserAttention> userAttentionList = userAttentionDao.selectByExample(userAttentionExample); |
|
|
|
if (CollectionUtil.isNotEmpty(userAttentionList)) { |
|
|
|
userAttentionList.forEach(userAttention -> { |
|
|
@ -408,7 +415,25 @@ public class ProMemberService implements IProMemberService { |
|
|
|
proMember.setNickname(updateMemberInfo.getMemberName()); |
|
|
|
} |
|
|
|
if (StrUtil.isNotEmpty(updateMemberInfo.getPhone())) { |
|
|
|
proMember.setPhone(updateMemberInfo.getPhone()); |
|
|
|
//如果手机号和旧手机号相同则不修改
|
|
|
|
if(!proMember.getPhone().equalsIgnoreCase(updateMemberInfo.getPhone())){ |
|
|
|
//查找原来手机号的用户,取消关联项目的信息
|
|
|
|
deleteAttention(proMember.getUserId(),proMember.getProjectId()); |
|
|
|
//获取新手机号的userId
|
|
|
|
Long userId = userService.selectUserIdByPhone(updateMemberInfo.getPhone()); |
|
|
|
//修改成员手机号和关联的userId
|
|
|
|
proMember.setPhone(updateMemberInfo.getPhone()); |
|
|
|
proMember.setUserId(0L); |
|
|
|
if(ObjectUtil.isNotNull(userId)){ |
|
|
|
proMember.setUserId(userId); |
|
|
|
//新成员的用户关注该项目
|
|
|
|
UserAttention userAttention = new UserAttention(); |
|
|
|
userAttention.setId(snowflake.nextId()); |
|
|
|
userAttention.setUserId(userId); |
|
|
|
userAttention.setProjectId(proMember.getProjectId()); |
|
|
|
userAttentionDao.insertSelective(userAttention); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//修改奖惩干系人
|
|
|
|
Long stakeholderId = null; |
|
|
|