|
|
@ -1,10 +1,19 @@ |
|
|
|
package com.ccsens.common.service; |
|
|
|
|
|
|
|
import cn.hutool.core.lang.Snowflake; |
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
import com.ccsens.cloudutil.bean.tall.dto.ProjectDto; |
|
|
|
import com.ccsens.cloudutil.feign.Tall3FeignClient; |
|
|
|
import com.ccsens.common.bean.dto.CMemberDto; |
|
|
|
import com.ccsens.common.bean.po.ProMember; |
|
|
|
import com.ccsens.common.bean.po.ProRole; |
|
|
|
import com.ccsens.common.bean.po.ProRoleMember; |
|
|
|
import com.ccsens.common.persist.dao.ProMemberDao; |
|
|
|
import com.ccsens.common.persist.dao.ProRoleDao; |
|
|
|
import com.ccsens.common.persist.dao.ProRoleMemberDao; |
|
|
|
import com.ccsens.common.persist.dao.RelevanceDao; |
|
|
|
import com.ccsens.common.util.CommonCodeError; |
|
|
|
import com.ccsens.util.exception.BaseException; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Propagation; |
|
|
@ -27,6 +36,12 @@ public class MemberService implements IMemberService{ |
|
|
|
private RelevanceDao relevanceDao; |
|
|
|
@Resource |
|
|
|
private Tall3FeignClient tall3FeignClient; |
|
|
|
@Resource |
|
|
|
private ProRoleDao roleDao; |
|
|
|
@Resource |
|
|
|
private Snowflake snowflake; |
|
|
|
@Resource |
|
|
|
private ProRoleMemberDao roleMemberDao; |
|
|
|
|
|
|
|
@Override |
|
|
|
public void relevancePhone(CMemberDto.PhoneAndUserId param) { |
|
|
@ -64,4 +79,38 @@ public class MemberService implements IMemberService{ |
|
|
|
//任务状态记录表
|
|
|
|
relevanceDao.mergeStatusRecord(param.getOldUserId(),param.getNewUserId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void addMemberForProject(CMemberDto.SaveMember param) { |
|
|
|
ProRole role = roleDao.findByNameAndProjectId(param.getRoleName(), param.getProjectId()); |
|
|
|
if (ObjectUtil.isNull(role)) { |
|
|
|
throw new BaseException(CommonCodeError.ROLE_ERROR); |
|
|
|
} |
|
|
|
Long userOfMemberId = proMemberDao.findUserOfMemberId(param.getProjectId(), param.getUserId()); |
|
|
|
if (ObjectUtil.isNull(userOfMemberId)) { |
|
|
|
ProMember member = new ProMember(); |
|
|
|
member.setId(snowflake.nextId()); |
|
|
|
member.setUserId(param.getUserId()); |
|
|
|
member.setProjectId(param.getProjectId()); |
|
|
|
member.setPhone(param.getPhone()); |
|
|
|
member.setName(param.getName()); |
|
|
|
proMemberDao.insertSelective(member); |
|
|
|
ProRoleMember roleMember = new ProRoleMember(); |
|
|
|
roleMember.setId(snowflake.nextId()); |
|
|
|
roleMember.setMemberId(member.getId()); |
|
|
|
roleMember.setRoleId(role.getId()); |
|
|
|
roleMemberDao.insertSelective(roleMember); |
|
|
|
}else { |
|
|
|
List<Long> memberOfRoleIds = roleMemberDao.findMemberOfRoleIds(userOfMemberId); |
|
|
|
if (memberOfRoleIds.contains(role.getId())){ |
|
|
|
return; |
|
|
|
} |
|
|
|
ProRoleMember roleMember = new ProRoleMember(); |
|
|
|
roleMember.setId(snowflake.nextId()); |
|
|
|
roleMember.setMemberId(userOfMemberId); |
|
|
|
roleMember.setRoleId(role.getId()); |
|
|
|
roleMemberDao.insertSelective(roleMember); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|