|
|
@@ -77,7 +77,8 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean insert(SysAgencyLeaderDto sysAgencyLeaderDto) {
|
|
|
//校验一个用户只能是一个机构的负责人,每个机构只有一个负责人
|
|
|
- List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda().eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
+ List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda()
|
|
|
+ .eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
if (sysAgencyLeaders.size() > 0) {
|
|
|
//校验用户是否已经机构负责人
|
|
|
List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
|
|
|
@@ -99,6 +100,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
|
|
|
sysAgencyLeader.setCreateTime(new Date());
|
|
|
SysUser user = BaseController.getUser();
|
|
|
@@ -155,13 +157,13 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
|
|
|
}
|
|
|
|
|
|
//工作室管理员: 已是管理员不能再成为管理员,已是合伙人的也不能设置为管理员
|
|
|
- List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getCreateTime, 1));
|
|
|
- if (sysPartnerList == null) {
|
|
|
+ List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
|
|
|
+ if (sysPartnerList.size()>0) {
|
|
|
List<String> stringList = sysPartnerList.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
|
|
|
}
|
|
|
List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
- if (sysAgencyLeaders == null) {
|
|
|
+ if (sysAgencyLeaders.size()>0) {
|
|
|
List<String> stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
|
|
|
sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
|
|
|
}
|
|
|
@@ -182,6 +184,14 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
|
|
|
if (userIdList.contains(sysAgencyLeaderDto.getUserId())) {
|
|
|
throw new DescribeException(sysAgencyLeaderDto.getUserName() + "已是机构负责人,不可重复配置");
|
|
|
}
|
|
|
+ List<SysPartner> sysPartners = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
|
|
|
+ if (sysPartners.size() > 0) {
|
|
|
+ List<String> list = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
+ if (list.contains(sysAgencyLeaderDto.getUserId())) {
|
|
|
+ throw new DescribeException(sysAgencyLeaderDto.getUserName() + "已是合伙人,不可设置为机构负责人");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//修改负责人时解除合伙人或者推荐人与机构负责人的关系
|
|
|
List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
.eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader1.getUserId())
|
|
|
@@ -192,11 +202,44 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ if (sysAgencyLeader1.getSuggestId() != null) {
|
|
|
+ throw new DescribeException(sysAgencyLeaderDto.getUserName() + "有推荐人,不允许修改");
|
|
|
+ }
|
|
|
SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
|
|
|
sysAgencyLeader.setUpdateTime(new Date());
|
|
|
SysUser user = BaseController.getUser();
|
|
|
sysAgencyLeader.setUpdateBy(user.getId());
|
|
|
- return sysAgencyLeaderMapper.updateById(sysAgencyLeader) > 0;
|
|
|
+ sysAgencyLeaderMapper.updateById(sysAgencyLeader);
|
|
|
+
|
|
|
+ //sysRelationPerson1为空是无上级
|
|
|
+ SysRelationPerson sysRelationPerson = new SysRelationPerson();
|
|
|
+ sysRelationPerson.setAgencyLeaderId(sysAgencyLeader.getUserId());
|
|
|
+ sysRelationPerson.setCreateBy(user.getId());
|
|
|
+ sysRelationPerson.setCreateTime(new Date());
|
|
|
+ sysRelationPerson.setSuggestId(sysAgencyLeaderDto.getSuggestId());
|
|
|
+ sysRelationPerson.setSource(0);
|
|
|
+ sysRelationPerson.setType(1);
|
|
|
+ boolean b = sysRelationPersonMapper.insert(sysRelationPerson) > 0;
|
|
|
+ //查询推荐人是否有上级 :满足合伙人有多层关系
|
|
|
+ List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
+ .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeaderDto.getSuggestId())
|
|
|
+ .eq(SysRelationPerson::getType, 0));
|
|
|
+
|
|
|
+ if (sysRelationPersonList.size() > 0) {
|
|
|
+ for (SysRelationPerson sysRelation : sysRelationPersonList) {
|
|
|
+ SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
|
|
|
+ sysRelationPerson1.setAgencyLeaderId(sysAgencyLeader.getUserId());
|
|
|
+ sysRelationPerson1.setCreateBy(user.getId());
|
|
|
+ sysRelationPerson1.setCreateTime(new Date());
|
|
|
+ sysRelationPerson1.setSuggestId(sysRelation.getSuggestId());
|
|
|
+ sysRelationPerson1.setSource(1);
|
|
|
+ sysRelationPerson1.setType(1);
|
|
|
+ sysRelationPersonMapper.insert(sysRelationPerson1);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return b;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -208,7 +251,9 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
|
|
|
.eq(SysRelationPerson::getDelFlag, 1)
|
|
|
.eq(SysRelationPerson::getType, 1));
|
|
|
if (sysRelationPeople.size() > 0) {
|
|
|
- throw new DescribeException(sysAgencyLeader1.getUserName() + "有推荐人,不允许删除");
|
|
|
+ if (sysRelationPeople.get(0).getSuggestId() != null) {
|
|
|
+ throw new DescribeException(sysAgencyLeader1.getUserName() + "有推荐人,不允许删除");
|
|
|
+ }
|
|
|
}
|
|
|
SysAgencyLeader sysAgencyLeader = new SysAgencyLeader();
|
|
|
sysAgencyLeader.setId(id);
|