|
|
@@ -27,12 +27,14 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* 配置机构合伙人表(SysPartner)表服务实现类
|
|
|
@@ -80,6 +82,9 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
@Resource
|
|
|
private SysPartnerConfigMapper sysPartnerConfigMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private SysProportionConfigMapper sysProportionConfigMapper;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public List<SysPartner> queryRecommendAndPartner(String id) {
|
|
|
@@ -95,36 +100,78 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
return sysPartnerList;
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public BasePageResult<SysUserPartner> queryByPage(SysPartnerPageDto sysPartnerPageDto) {
|
|
|
+// Page<SysUser> page = new Page<>(sysPartnerPageDto.getPageNum(), sysPartnerPageDto.getPageSize());
|
|
|
+// List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
+// List<String> stringList = null;
|
|
|
+// if (sysAgencyLeaders.size() > 0) {
|
|
|
+// stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
|
|
|
+//
|
|
|
+// }
|
|
|
+// List<String> idList = null;
|
|
|
+// List<SysDept> sysDeptLists = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getComlevel, 4).eq(SysDept::getDelFlag, 0));
|
|
|
+// if (sysDeptLists.size() > 0) {
|
|
|
+// List<String> collect = sysDeptLists.stream().map(SysDept::getId).collect(Collectors.toList());
|
|
|
+//
|
|
|
+// List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
+// .in(SysDept::getParentId, collect)
|
|
|
+// .eq(SysDept::getDelFlag, 0).isNull(SysDept::getComlevel).eq(SysDept::getDeptType, "D"));
|
|
|
+// if (sysDeptList.size() > 0) {
|
|
|
+// idList = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
|
|
+// wrapper.ne(SysUser::getStatus, 0);
|
|
|
+// wrapper.like(StringUtils.isNotEmpty(sysPartnerPageDto.getUserId()), SysUser::getId, sysPartnerPageDto.getUserId());
|
|
|
+// wrapper.like(StringUtils.isNotEmpty(sysPartnerPageDto.getUserName()), SysUser::getName, sysPartnerPageDto.getUserName());
|
|
|
+// wrapper.likeRight(StringUtils.isNotEmpty(sysPartnerPageDto.getDeptId()), SysUser::getId, sysPartnerPageDto.getDeptId());
|
|
|
+// wrapper.notLike(SysUser::getId, "M");
|
|
|
+// wrapper.notIn(CollectionUtil.isNotEmpty(stringList), SysUser::getId, stringList);
|
|
|
+// wrapper.in(CollectionUtil.isNotEmpty(idList), SysUser::getDeptId, idList);
|
|
|
+// wrapper.orderByDesc(SysUser::getCreateTime);
|
|
|
+//
|
|
|
+// Page<SysUser> insOrdersPage = sysUserService.page(page, wrapper);
|
|
|
+// List<SysUser> records = insOrdersPage.getRecords();
|
|
|
+//
|
|
|
+// List<SysUserPartner> sysUserPartners = BeanUtil.copyToList(records, SysUserPartner.class);
|
|
|
+//
|
|
|
+// if (sysUserPartners.size() > 0) {
|
|
|
+// for (SysUserPartner user : sysUserPartners) {
|
|
|
+// SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, user.getDeptId()).eq(SysDept::getDelFlag, 0));
|
|
|
+// user.setParentId(sysDept.getParentId());
|
|
|
+// user.setDeptName(sysDept.getName());
|
|
|
+// SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
+// .eq(SysPartner::getUserId, user.getId()).eq(SysPartner::getDelFlag, 1));
|
|
|
+// if (sysPartner != null) {
|
|
|
+// user.setType("1");
|
|
|
+// user.setSuggestId(sysPartner.getSuggestId());
|
|
|
+// SysUser sysUser = sysUserMapper.selectById(sysPartner.getSuggestId());
|
|
|
+// if (sysUser != null) {
|
|
|
+// user.setSuggestName(sysUser.getName());
|
|
|
+// }
|
|
|
+// user.setProportional(sysPartner.getProportional());
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// return new BasePageResult<>(sysPartnerPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
|
|
|
+// sysUserPartners);
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
public BasePageResult<SysUserPartner> queryByPage(SysPartnerPageDto sysPartnerPageDto) {
|
|
|
Page<SysUser> page = new Page<>(sysPartnerPageDto.getPageNum(), sysPartnerPageDto.getPageSize());
|
|
|
- List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
- List<String> stringList = null;
|
|
|
- if (sysAgencyLeaders.size() > 0) {
|
|
|
- stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
|
|
|
-
|
|
|
- }
|
|
|
- List<String> idList = null;
|
|
|
- List<SysDept> sysDeptLists = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getComlevel, 4).eq(SysDept::getDelFlag, 0));
|
|
|
- if (sysDeptLists.size() > 0) {
|
|
|
- List<String> collect = sysDeptLists.stream().map(SysDept::getId).collect(Collectors.toList());
|
|
|
|
|
|
- List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
- .in(SysDept::getParentId, collect)
|
|
|
- .eq(SysDept::getDelFlag, 0).isNull(SysDept::getComlevel).eq(SysDept::getDeptType, "D"));
|
|
|
- if (sysDeptList.size() > 0) {
|
|
|
- idList = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());
|
|
|
- }
|
|
|
- }
|
|
|
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.ne(SysUser::getStatus, 0);
|
|
|
wrapper.like(StringUtils.isNotEmpty(sysPartnerPageDto.getUserId()), SysUser::getId, sysPartnerPageDto.getUserId());
|
|
|
wrapper.like(StringUtils.isNotEmpty(sysPartnerPageDto.getUserName()), SysUser::getName, sysPartnerPageDto.getUserName());
|
|
|
- wrapper.likeRight(StringUtils.isNotEmpty(sysPartnerPageDto.getDeptId()), SysUser::getId, sysPartnerPageDto.getDeptId());
|
|
|
- wrapper.notLike(SysUser::getId, "M");
|
|
|
- wrapper.notIn(CollectionUtil.isNotEmpty(stringList), SysUser::getId, stringList);
|
|
|
- wrapper.in(CollectionUtil.isNotEmpty(idList), SysUser::getDeptId, idList);
|
|
|
- wrapper.orderByDesc(SysUser::getCreateTime);
|
|
|
+ wrapper.eq(SysUser::getType, 1);
|
|
|
+ wrapper.eq(sysPartnerPageDto.getLevel() != null, SysUser::getLevel, sysPartnerPageDto.getLevel());
|
|
|
+ wrapper.in(SysUser::getStatus, Arrays.asList(1, 4, 5, 6, 7));
|
|
|
+
|
|
|
|
|
|
Page<SysUser> insOrdersPage = sysUserService.page(page, wrapper);
|
|
|
List<SysUser> records = insOrdersPage.getRecords();
|
|
|
@@ -133,19 +180,50 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
|
|
|
if (sysUserPartners.size() > 0) {
|
|
|
for (SysUserPartner user : sysUserPartners) {
|
|
|
+ SysUser sysUser1 = sysUserMapper.selectById(user.getId());
|
|
|
+ user.setName(sysUser1.getName());
|
|
|
SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, user.getDeptId()).eq(SysDept::getDelFlag, 0));
|
|
|
user.setParentId(sysDept.getParentId());
|
|
|
user.setDeptName(sysDept.getName());
|
|
|
SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
- .eq(SysPartner::getUserId, user.getId()).eq(SysPartner::getDelFlag, 1));
|
|
|
+ .eq(SysPartner::getUserId, user.getId()));
|
|
|
if (sysPartner != null) {
|
|
|
- user.setType("1");
|
|
|
- user.setSuggestId(sysPartner.getSuggestId());
|
|
|
- SysUser sysUser = sysUserMapper.selectById(sysPartner.getSuggestId());
|
|
|
- if (sysUser != null) {
|
|
|
- user.setSuggestName(sysUser.getName());
|
|
|
+ user.setType(sysPartner.getType());
|
|
|
+ String suggestId = sysPartner.getSuggestId();
|
|
|
+ if (suggestId != null) {
|
|
|
+ user.setSuggestId(sysPartner.getSuggestId());
|
|
|
+ SysUser sysUser = sysUserMapper.selectById(sysPartner.getSuggestId());
|
|
|
+ if (sysUser != null) {
|
|
|
+ user.setSuggestName(sysUser.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //查看等级
|
|
|
+ int type = sysPartner.getType();
|
|
|
+ if (type == 1) {
|
|
|
+ SysProportionConfig sysProportionConfig = sysProportionConfigMapper.selectOne(new LambdaQueryWrapper<SysProportionConfig>()
|
|
|
+ .eq(SysProportionConfig::getUserId, sysPartner.getUserId()));
|
|
|
+ if (sysProportionConfig == null) continue;
|
|
|
+ user.setProportional(sysProportionConfig.getOneProportion());
|
|
|
+
|
|
|
+ } else {
|
|
|
+ SysRelationPerson sysRelationPeople = sysRelationPersonMapper.selectOne(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
+ .eq(SysRelationPerson::getAgencyLeaderId, user.getId())
|
|
|
+ .eq(SysRelationPerson::getType, 0)
|
|
|
+ .eq(SysRelationPerson::getSuggestLevel, 1));
|
|
|
+ if (sysRelationPeople == null) continue;
|
|
|
+ SysProportionConfig sysProportionConfig = sysProportionConfigMapper.selectOne(new LambdaQueryWrapper<SysProportionConfig>()
|
|
|
+ .eq(SysProportionConfig::getUserId, sysRelationPeople.getSuggestId()));
|
|
|
+ if (sysProportionConfig == null) continue;
|
|
|
+ if (type == 2) {
|
|
|
+ user.setProportional(sysProportionConfig.getTwoProportion());
|
|
|
+ } else if (type == 3) {
|
|
|
+ user.setProportional(sysProportionConfig.getThreeProportion());
|
|
|
+ } else if (type == 4) {
|
|
|
+ user.setProportional(sysProportionConfig.getFourProportion());
|
|
|
+ } else if (type == 5) {
|
|
|
+ user.setProportional(sysProportionConfig.getFiveProportion());
|
|
|
+ }
|
|
|
}
|
|
|
- user.setProportional(sysPartner.getProportional());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -156,42 +234,103 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
sysUserPartners);
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public boolean insert(SysPartnerDto sysPartnerDto) {
|
|
|
+// List<SysPartner> sysPartners = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
|
|
|
+// if (sysPartners.size() > 0) {
|
|
|
+// List<String> userIdList = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
+// if (userIdList.contains(sysPartnerDto.getUserId())) {
|
|
|
+// throw new DescribeException(sysPartnerDto.getUserName() + "已是合伙人,不可重复设置");
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// //机构负责人不能配置为合伙人
|
|
|
+// List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
+// if (sysAgencyLeaders.size() > 0) {
|
|
|
+// //校验用户是否已经机构负责人
|
|
|
+// List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
|
|
|
+// if (userIdList.contains(sysPartnerDto.getUserId())) {
|
|
|
+// throw new DescribeException(sysPartnerDto.getUserName() + "已是机构负责人,不可配置为合伙人");
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// SysPartner sysPartner = BeanUtil.copyProperties(sysPartnerDto, SysPartner.class);
|
|
|
+// sysPartner.setCreateTime(new Date());
|
|
|
+// sysPartner.setCreateBy(BaseController.getUser().getId());
|
|
|
+// boolean b = false;
|
|
|
+// if (sysPartnerDto.getSuggestId() != null) {
|
|
|
+// SysPartner sysPartnerSuggest = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
+// .eq(SysPartner::getUserId, sysPartnerDto.getSuggestId())
|
|
|
+// .eq(SysPartner::getDelFlag, 1));
|
|
|
+// if (sysPartnerSuggest == null) throw new SystemException("推荐人不存在");
|
|
|
+// sysPartner.setType(sysPartnerSuggest.getType() + 1);
|
|
|
+// b = sysPartnerMapper.insert(sysPartner) > 0;
|
|
|
+// //保存关系
|
|
|
+// SysRelationPerson sysRelationPerson = new SysRelationPerson();
|
|
|
+// sysRelationPerson.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
+// sysRelationPerson.setSuggestId(sysPartnerDto.getSuggestId());
|
|
|
+// //'推荐等级(0:直接推荐;1:间接推荐)
|
|
|
+// sysRelationPerson.setSource(0);
|
|
|
+// //推荐类型(0:合伙人 1:机构负责人)
|
|
|
+// sysRelationPerson.setType(0);
|
|
|
+// sysRelationPerson.setCreateBy(BaseController.getUser().getId());
|
|
|
+// sysRelationPerson.setCreateTime(new Date());
|
|
|
+// b = sysRelationPersonMapper.insert(sysRelationPerson) > 0;
|
|
|
+// //查询合伙人的推荐人是否有上级
|
|
|
+// List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
+// .eq(SysRelationPerson::getAgencyLeaderId, sysPartnerDto.getSuggestId())
|
|
|
+// .eq(SysRelationPerson::getType, 0));
|
|
|
+// if (sysRelationPeople.size() > 0) {
|
|
|
+// for (SysRelationPerson relationPerson : sysRelationPeople) {
|
|
|
+// SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
|
|
|
+// sysRelationPerson1.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
+// sysRelationPerson1.setSuggestId(relationPerson.getSuggestId());
|
|
|
+// sysRelationPerson1.setSource(1);
|
|
|
+// //推荐类型(0:合伙人 1:机构负责人)
|
|
|
+// sysRelationPerson1.setType(0);
|
|
|
+// sysRelationPerson1.setCreateBy(BaseController.getUser().getId());
|
|
|
+// sysRelationPerson1.setCreateTime(new Date());
|
|
|
+// sysRelationPersonMapper.insert(sysRelationPerson1);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// //无推荐人,等级为一级
|
|
|
+// sysPartner.setType(1);
|
|
|
+// b = sysPartnerMapper.insert(sysPartner) > 0;
|
|
|
+// }
|
|
|
+// //添加抽层比例,一个月只能设置一次
|
|
|
+// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+// String format = simpleDateFormat.format(new Date());
|
|
|
+// SysPartnerTime sysPartnerTime = new SysPartnerTime();
|
|
|
+// sysPartnerTime.setType(1);
|
|
|
+// sysPartnerTime.setCreateTime(format);
|
|
|
+// sysPartnerTime.setUserId(sysPartnerDto.getUserId());
|
|
|
+// sysPartnerTime.setUserName(sysPartnerDto.getUserName());
|
|
|
+// sysPartnerTime.setNewProportional(sysPartnerDto.getProportional());
|
|
|
+//
|
|
|
+// sysPartnerTimeMapper.insert(sysPartnerTime);
|
|
|
+// return b;
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean insert(SysPartnerDto sysPartnerDto) {
|
|
|
- List<SysPartner> sysPartners = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
|
|
|
- if (sysPartners.size() > 0) {
|
|
|
- List<String> userIdList = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
- if (userIdList.contains(sysPartnerDto.getUserId())) {
|
|
|
- throw new DescribeException(sysPartnerDto.getUserName() + "已是合伙人,不可重复设置");
|
|
|
- }
|
|
|
|
|
|
- }
|
|
|
- //机构负责人不能配置为合伙人
|
|
|
- List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
- if (sysAgencyLeaders.size() > 0) {
|
|
|
- //校验用户是否已经机构负责人
|
|
|
- List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
|
|
|
- if (userIdList.contains(sysPartnerDto.getUserId())) {
|
|
|
- throw new DescribeException(sysPartnerDto.getUserName() + "已是机构负责人,不可配置为合伙人");
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
SysPartner sysPartner = BeanUtil.copyProperties(sysPartnerDto, SysPartner.class);
|
|
|
sysPartner.setCreateTime(new Date());
|
|
|
sysPartner.setCreateBy(BaseController.getUser().getId());
|
|
|
+ sysPartner.setType(sysPartnerDto.getLevel());
|
|
|
boolean b = false;
|
|
|
+ b = sysPartnerMapper.insert(sysPartner) > 0;
|
|
|
if (sysPartnerDto.getSuggestId() != null) {
|
|
|
- SysPartner sysPartnerSuggest = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
- .eq(SysPartner::getUserId, sysPartnerDto.getSuggestId())
|
|
|
- .eq(SysPartner::getDelFlag, 1));
|
|
|
- if (sysPartnerSuggest == null) throw new SystemException("推荐人不存在");
|
|
|
- sysPartner.setType(sysPartnerSuggest.getType() + 1);
|
|
|
- b = sysPartnerMapper.insert(sysPartner) > 0;
|
|
|
+ SysPartner sysPartner1 = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
+ .eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getSuggestId()));
|
|
|
//保存关系
|
|
|
SysRelationPerson sysRelationPerson = new SysRelationPerson();
|
|
|
sysRelationPerson.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
sysRelationPerson.setSuggestId(sysPartnerDto.getSuggestId());
|
|
|
+ sysRelationPerson.setSuggestLevel(sysPartner1.getType());
|
|
|
//'推荐等级(0:直接推荐;1:间接推荐)
|
|
|
sysRelationPerson.setSource(0);
|
|
|
//推荐类型(0:合伙人 1:机构负责人)
|
|
|
@@ -206,8 +345,11 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
if (sysRelationPeople.size() > 0) {
|
|
|
for (SysRelationPerson relationPerson : sysRelationPeople) {
|
|
|
SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
|
|
|
+ SysPartner sysPartner2 = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
+ .eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, relationPerson.getSuggestId()));
|
|
|
sysRelationPerson1.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
sysRelationPerson1.setSuggestId(relationPerson.getSuggestId());
|
|
|
+ sysRelationPerson1.setSuggestLevel(sysPartner2.getType());
|
|
|
sysRelationPerson1.setSource(1);
|
|
|
//推荐类型(0:合伙人 1:机构负责人)
|
|
|
sysRelationPerson1.setType(0);
|
|
|
@@ -216,22 +358,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
sysRelationPersonMapper.insert(sysRelationPerson1);
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- //无推荐人,等级为一级
|
|
|
- sysPartner.setType(1);
|
|
|
- b = sysPartnerMapper.insert(sysPartner) > 0;
|
|
|
}
|
|
|
- //添加抽层比例,一个月只能设置一次
|
|
|
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- String format = simpleDateFormat.format(new Date());
|
|
|
- SysPartnerTime sysPartnerTime = new SysPartnerTime();
|
|
|
- sysPartnerTime.setType(1);
|
|
|
- sysPartnerTime.setCreateTime(format);
|
|
|
- sysPartnerTime.setUserId(sysPartnerDto.getUserId());
|
|
|
- sysPartnerTime.setUserName(sysPartnerDto.getUserName());
|
|
|
- sysPartnerTime.setNewProportional(sysPartnerDto.getProportional());
|
|
|
-
|
|
|
- sysPartnerTimeMapper.insert(sysPartnerTime);
|
|
|
return b;
|
|
|
}
|
|
|
|
|
|
@@ -430,11 +557,17 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
historyFee = historyFee.add(sysAgencyFeeApproval.getHistoryFee());
|
|
|
}
|
|
|
}
|
|
|
- agencyExtractFee.setHistoryFee(historyFee);
|
|
|
+ agencyExtractFee.setHistoryFee(Optional.ofNullable(extractFee.subtract(historyFee)).orElse(BigDecimal.ZERO));
|
|
|
//可提现 = 总抽成-已提现
|
|
|
agencyExtractFee.setCashFee(extractFee.subtract(historyFee));
|
|
|
|
|
|
+ }else {
|
|
|
+ agencyExtractFee.setSumpremium(BigDecimal.ZERO);
|
|
|
+ agencyExtractFee.setExtractFee(BigDecimal.ZERO);
|
|
|
+ agencyExtractFee.setHistoryFee(BigDecimal.ZERO);
|
|
|
+ agencyExtractFee.setCashFee(BigDecimal.ZERO);
|
|
|
}
|
|
|
+
|
|
|
agencyExtractFeeList.add(agencyExtractFee);
|
|
|
|
|
|
}
|
|
|
@@ -553,81 +686,94 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
sysPartnerAPPPageVoList);
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public boolean edit(SysPartnerDto sysPartnerDto) {
|
|
|
+// //判断本月是否已修改比例
|
|
|
+// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+// String format = simpleDateFormat.format(new Date());
|
|
|
+// List<SysPartnerTime> sysPartnerTimes = sysPartnerTimeMapper.selectList(new LambdaQueryWrapper<SysPartnerTime>()
|
|
|
+// .eq(SysPartnerTime::getCreateTime, format).eq(SysPartnerTime::getUserId, sysPartnerDto.getUserId()));
|
|
|
+// if (sysPartnerTimes.size() > 0) {
|
|
|
+// throw new DescribeException(format + "已设置过抽成比例,每月只能修改一次");
|
|
|
+// }
|
|
|
+// boolean b;
|
|
|
+// SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
+// .eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getUserId()));
|
|
|
+// if (sysPartner == null) throw new DescribeException("系统错误,请联系管理员!");
|
|
|
+//
|
|
|
+// if (StringUtils.isNullOrEmpty(sysPartner.getSuggestId()) && StringUtils.isNotEmpty(sysPartnerDto.getSuggestId())) {
|
|
|
+// SysPartner partner = new SysPartner();
|
|
|
+// partner.setId(sysPartner.getId());
|
|
|
+// partner.setProportional(sysPartnerDto.getProportional());
|
|
|
+//
|
|
|
+// partner.setSuggestId(sysPartnerDto.getSuggestId());
|
|
|
+// partner.setSuggestName(sysPartnerDto.getSuggestName());
|
|
|
+// SysPartner sysPartnerSuggest = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
+// .eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getSuggestId()));
|
|
|
+// if (sysPartnerSuggest == null) throw new SystemException("推荐人不存在");
|
|
|
+// partner.setType(sysPartnerSuggest.getType() + 1);
|
|
|
+// b = sysPartnerMapper.updateById(partner) > 0;
|
|
|
+//
|
|
|
+// SysRelationPerson sysRelationPerson = new SysRelationPerson();
|
|
|
+// sysRelationPerson.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
+// sysRelationPerson.setSuggestId(sysPartnerDto.getSuggestId());
|
|
|
+// //'推荐等级(0:直接推荐;1:间接推荐)
|
|
|
+// sysRelationPerson.setSource(0);
|
|
|
+// //推荐类型(0:合伙人 1:机构负责人)
|
|
|
+// sysRelationPerson.setType(0);
|
|
|
+// sysRelationPerson.setCreateBy(BaseController.getUser().getId());
|
|
|
+// sysRelationPerson.setCreateTime(new Date());
|
|
|
+// b = sysRelationPersonMapper.insert(sysRelationPerson) > 0;
|
|
|
+// //查询合伙人的推荐人是否有上级
|
|
|
+// List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
+// .eq(SysRelationPerson::getAgencyLeaderId, sysPartnerDto.getSuggestId())
|
|
|
+// .eq(SysRelationPerson::getType, 0));
|
|
|
+// if (sysRelationPeople.size() > 0) {
|
|
|
+// for (SysRelationPerson relationPerson : sysRelationPeople) {
|
|
|
+// SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
|
|
|
+// sysRelationPerson1.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
+// sysRelationPerson1.setSuggestId(relationPerson.getSuggestId());
|
|
|
+// sysRelationPerson1.setSource(1);
|
|
|
+// //推荐类型(0:合伙人 1:机构负责人)
|
|
|
+// sysRelationPerson1.setType(0);
|
|
|
+// sysRelationPerson1.setCreateBy(BaseController.getUser().getId());
|
|
|
+// sysRelationPerson1.setCreateTime(new Date());
|
|
|
+// sysRelationPersonMapper.insert(sysRelationPerson1);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// SysPartner partner = new SysPartner();
|
|
|
+// partner.setId(sysPartner.getId());
|
|
|
+// partner.setProportional(sysPartnerDto.getProportional());
|
|
|
+//
|
|
|
+// b = sysPartnerMapper.updateById(partner) > 0;
|
|
|
+// }
|
|
|
+// //修改抽成比例记录改变过程
|
|
|
+// SysPartnerTime sysPartnerTime = new SysPartnerTime();
|
|
|
+// sysPartnerTime.setType(1);
|
|
|
+// sysPartnerTime.setCreateTime(format);
|
|
|
+// sysPartnerTime.setUserId(sysPartnerDto.getUserId());
|
|
|
+// sysPartnerTime.setUserName(sysPartnerDto.getUserName());
|
|
|
+// sysPartnerTime.setNewProportional(sysPartnerDto.getProportional());
|
|
|
+// sysPartnerTime.setOldProportional(sysPartner.getProportional());
|
|
|
+//
|
|
|
+// sysPartnerTimeMapper.insert(sysPartnerTime);
|
|
|
+//
|
|
|
+// return b;
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean edit(SysPartnerDto sysPartnerDto) {
|
|
|
- //判断本月是否已修改比例
|
|
|
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- String format = simpleDateFormat.format(new Date());
|
|
|
- List<SysPartnerTime> sysPartnerTimes = sysPartnerTimeMapper.selectList(new LambdaQueryWrapper<SysPartnerTime>()
|
|
|
- .eq(SysPartnerTime::getCreateTime, format).eq(SysPartnerTime::getUserId, sysPartnerDto.getUserId()));
|
|
|
- if (sysPartnerTimes.size() > 0) {
|
|
|
- throw new DescribeException(format + "已设置过抽成比例,每月只能修改一次");
|
|
|
- }
|
|
|
- boolean b;
|
|
|
SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
.eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getUserId()));
|
|
|
if (sysPartner == null) throw new DescribeException("系统错误,请联系管理员!");
|
|
|
+ SysPartner partner = new SysPartner();
|
|
|
+ partner.setId(sysPartner.getId());
|
|
|
+ partner.setUserName(sysPartnerDto.getUserName());
|
|
|
|
|
|
- if (StringUtils.isNullOrEmpty(sysPartner.getSuggestId()) && StringUtils.isNotEmpty(sysPartnerDto.getSuggestId())) {
|
|
|
- SysPartner partner = new SysPartner();
|
|
|
- partner.setId(sysPartner.getId());
|
|
|
- partner.setProportional(sysPartnerDto.getProportional());
|
|
|
-
|
|
|
- partner.setSuggestId(sysPartnerDto.getSuggestId());
|
|
|
- partner.setSuggestName(sysPartnerDto.getSuggestName());
|
|
|
- SysPartner sysPartnerSuggest = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
- .eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getSuggestId()));
|
|
|
- if (sysPartnerSuggest == null) throw new SystemException("推荐人不存在");
|
|
|
- partner.setType(sysPartnerSuggest.getType() + 1);
|
|
|
- b = sysPartnerMapper.updateById(partner) > 0;
|
|
|
-
|
|
|
- SysRelationPerson sysRelationPerson = new SysRelationPerson();
|
|
|
- sysRelationPerson.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
- sysRelationPerson.setSuggestId(sysPartnerDto.getSuggestId());
|
|
|
- //'推荐等级(0:直接推荐;1:间接推荐)
|
|
|
- sysRelationPerson.setSource(0);
|
|
|
- //推荐类型(0:合伙人 1:机构负责人)
|
|
|
- sysRelationPerson.setType(0);
|
|
|
- sysRelationPerson.setCreateBy(BaseController.getUser().getId());
|
|
|
- sysRelationPerson.setCreateTime(new Date());
|
|
|
- b = sysRelationPersonMapper.insert(sysRelationPerson) > 0;
|
|
|
- //查询合伙人的推荐人是否有上级
|
|
|
- List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
- .eq(SysRelationPerson::getAgencyLeaderId, sysPartnerDto.getSuggestId())
|
|
|
- .eq(SysRelationPerson::getType, 0));
|
|
|
- if (sysRelationPeople.size() > 0) {
|
|
|
- for (SysRelationPerson relationPerson : sysRelationPeople) {
|
|
|
- SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
|
|
|
- sysRelationPerson1.setAgencyLeaderId(sysPartnerDto.getUserId());
|
|
|
- sysRelationPerson1.setSuggestId(relationPerson.getSuggestId());
|
|
|
- sysRelationPerson1.setSource(1);
|
|
|
- //推荐类型(0:合伙人 1:机构负责人)
|
|
|
- sysRelationPerson1.setType(0);
|
|
|
- sysRelationPerson1.setCreateBy(BaseController.getUser().getId());
|
|
|
- sysRelationPerson1.setCreateTime(new Date());
|
|
|
- sysRelationPersonMapper.insert(sysRelationPerson1);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- SysPartner partner = new SysPartner();
|
|
|
- partner.setId(sysPartner.getId());
|
|
|
- partner.setProportional(sysPartnerDto.getProportional());
|
|
|
-
|
|
|
- b = sysPartnerMapper.updateById(partner) > 0;
|
|
|
- }
|
|
|
- //修改抽成比例记录改变过程
|
|
|
- SysPartnerTime sysPartnerTime = new SysPartnerTime();
|
|
|
- sysPartnerTime.setType(1);
|
|
|
- sysPartnerTime.setCreateTime(format);
|
|
|
- sysPartnerTime.setUserId(sysPartnerDto.getUserId());
|
|
|
- sysPartnerTime.setUserName(sysPartnerDto.getUserName());
|
|
|
- sysPartnerTime.setNewProportional(sysPartnerDto.getProportional());
|
|
|
- sysPartnerTime.setOldProportional(sysPartner.getProportional());
|
|
|
-
|
|
|
- sysPartnerTimeMapper.insert(sysPartnerTime);
|
|
|
-
|
|
|
- return b;
|
|
|
+ return sysPartnerMapper.updateById(partner) > 0;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -802,8 +948,10 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
String userId = BaseController.getUserId();
|
|
|
SysPartnerAccount sysPartnerAccount = sysPartnerAccountMapper.selectOne(new LambdaQueryWrapper<SysPartnerAccount>()
|
|
|
.eq(SysPartnerAccount::getUserId, userId));
|
|
|
- appPartnerNumVo.setSumPremium(sysPartnerAccount.getSumPremium());
|
|
|
- appPartnerNumVo.setExtractFee(sysPartnerAccount.getExtractFee());
|
|
|
+ if (sysPartnerAccount != null) {
|
|
|
+ appPartnerNumVo.setSumPremium(sysPartnerAccount.getSumPremium());
|
|
|
+ appPartnerNumVo.setExtractFee(sysPartnerAccount.getExtractFee());
|
|
|
+ }
|
|
|
if (type == 1) {
|
|
|
//下面合伙人(直接+间接)数量
|
|
|
List<SysRelationPerson> sysRelationPersonList1 = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
@@ -827,29 +975,30 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
.eq(SysRelationPerson::getSuggestId, userId)
|
|
|
.eq(SysRelationPerson::getDelFlag, 1)
|
|
|
.eq(SysRelationPerson::getType, 1));
|
|
|
+ if (sysRelationPersonList2.size()>0) {
|
|
|
+ List<String> ids = sysRelationPersonList2.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
+ List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
|
|
|
+ .in(CollectionUtil.isNotEmpty(ids), SysAgencyLeader::getUserId, ids).eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
+ int deptManNum = 0;
|
|
|
+ if (leaderList.size() > 0) {
|
|
|
+ for (SysAgencyLeader sysAgencyLeader : leaderList) {
|
|
|
+ //获取机构下的团队
|
|
|
+ List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
+ .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
|
|
|
+ .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
|
|
|
+ .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
|
|
|
+ if (sysDeptList.size() > 0) {
|
|
|
+ for (SysDept sysDept : sysDeptList) {
|
|
|
+ List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
|
|
|
+ deptManNum = deptManNum + sysUsers.size();
|
|
|
|
|
|
- List<String> ids = sysRelationPersonList2.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
- List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
|
|
|
- .in(CollectionUtil.isNotEmpty(ids), SysAgencyLeader::getUserId, ids).eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
- int deptManNum = 0;
|
|
|
- if (leaderList.size() > 0) {
|
|
|
- for (SysAgencyLeader sysAgencyLeader : leaderList) {
|
|
|
- //获取机构下的团队
|
|
|
- List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
- .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
|
|
|
- .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
|
|
|
- .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
|
|
|
- if (sysDeptList.size() > 0) {
|
|
|
- for (SysDept sysDept : sysDeptList) {
|
|
|
- List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
- .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
|
|
|
- deptManNum = deptManNum + sysUsers.size();
|
|
|
-
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- appPartnerNumVo.setTeamManNum(deptManNum);
|
|
|
+ appPartnerNumVo.setTeamManNum(deptManNum);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
int deptManNum = 0;
|
|
|
@@ -887,20 +1036,26 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
.eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, userId));
|
|
|
SysPartnerConfig sysPartnerConfig = sysPartnerConfigMapper.selectOne(new LambdaQueryWrapper<SysPartnerConfig>()
|
|
|
- .eq(SysPartnerConfig::getDelFlag,1).eq(SysPartnerConfig::getLevel,sysPartner.getType()));
|
|
|
+ .eq(SysPartnerConfig::getDelFlag, 1).eq(SysPartnerConfig::getLevel, sysPartner.getType()));
|
|
|
|
|
|
appUserInfoVo.setSysPartnerConfig(sysPartnerConfig);
|
|
|
+ appUserInfoVo.setLevel(sysPartner.getType());
|
|
|
+ }else {
|
|
|
+ SysPartnerConfig sysPartnerConfig = sysPartnerConfigMapper.selectOne(new LambdaQueryWrapper<SysPartnerConfig>()
|
|
|
+ .eq(SysPartnerConfig::getDelFlag, 1).eq(SysPartnerConfig::getLevel, 0));
|
|
|
+ appUserInfoVo.setSysPartnerConfig(sysPartnerConfig);
|
|
|
}
|
|
|
+
|
|
|
// 获取当前日期
|
|
|
- LocalDate currentDate = LocalDate.now();
|
|
|
- ZoneId zoneId = ZoneId.systemDefault();
|
|
|
- Date entryTime = appUserInfoVo.getEntryTime();
|
|
|
- if (entryTime != null) {
|
|
|
- LocalDate localDate = entryTime.toInstant().atZone(zoneId).toLocalDate();
|
|
|
- // 计算年数
|
|
|
- long years = ChronoUnit.YEARS.between(localDate, currentDate);
|
|
|
- appUserInfoVo.setYears(years);
|
|
|
- }
|
|
|
+// LocalDate currentDate = LocalDate.now();
|
|
|
+// ZoneId zoneId = ZoneId.systemDefault();
|
|
|
+// Date entryTime = appUserInfoVo.getEntryTime();
|
|
|
+// if (entryTime != null) {
|
|
|
+// LocalDate localDate = entryTime.toInstant().atZone(zoneId).toLocalDate();
|
|
|
+// // 计算年数
|
|
|
+// long years = ChronoUnit.YEARS.between(localDate, currentDate);
|
|
|
+// appUserInfoVo.setYears(years);
|
|
|
+// }
|
|
|
|
|
|
return appUserInfoVo;
|
|
|
}
|
|
|
@@ -926,10 +1081,11 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
//按等级查询
|
|
|
Integer partnerType = partnerInfoDto.getPartnerType();
|
|
|
if (partnerType != null) {
|
|
|
- List<SysPartner> sysPartnerList1 = listMap.get(sysPartner.getType() + partnerType);
|
|
|
+ List<SysPartner> sysPartnerList1 = listMap.get(partnerType + 1);
|
|
|
|
|
|
if (sysPartnerList1 != null) {
|
|
|
AppSysPartnerVo appSysPartnerVo = new AppSysPartnerVo();
|
|
|
+ appSysPartnerVo.setPartnerType(partnerType + 1);
|
|
|
//下级合伙人数
|
|
|
appSysPartnerVo.setPartnerNumber(sysPartnerList1.size());
|
|
|
List<String> ids = sysPartnerList1.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
@@ -981,72 +1137,33 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
} else {
|
|
|
|
|
|
//获取上一级合伙人,查询工作室数量
|
|
|
- List<SysPartner> sysPartners = listMap.get(sysPartner.getType() + partnerType - 1);
|
|
|
- //上一级直接推荐的工作室数量
|
|
|
- List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
- list.addAll(list1);
|
|
|
- }
|
|
|
- List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
- .in(CollectionUtil.isNotEmpty(list), SysRelationPerson::getSuggestId, list)
|
|
|
- .eq(SysRelationPerson::getDelFlag, 1)
|
|
|
- .eq(SysRelationPerson::getSource, 0)
|
|
|
- .eq(SysRelationPerson::getType, 1));
|
|
|
- appSysPartnerVo.setWorkNumber(sysRelationPersons.size());
|
|
|
- List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
- appSysPartnerVo.setLeaderIds(list1);
|
|
|
-
|
|
|
- //直接工作室保费
|
|
|
- List<SysPremiumDetails> sysPremiumDetails1 = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
|
|
|
- .in(CollectionUtil.isNotEmpty(ids), SysPremiumDetails::getUserId, list1)
|
|
|
- .between(StringUtils.isNotEmpty(partnerInfoDto.getBeginTime()) && StringUtils.isNotEmpty(partnerInfoDto.getEndTime()),
|
|
|
- SysPremiumDetails::getCreateTime, partnerInfoDto.getBeginTime(), partnerInfoDto.getEndTime())
|
|
|
- .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector()));
|
|
|
- BigDecimal sumPremium1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal extractFee1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
-
|
|
|
- appSysPartnerVo.setSumPremium(sumPremium.add(sumPremium1));
|
|
|
- appSysPartnerVo.setExtractFee(extractFee.add(extractFee1));
|
|
|
- int leaderManNum=0;
|
|
|
- //直接工作室总
|
|
|
- List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
|
|
|
- .in(CollectionUtil.isNotEmpty(list1), SysAgencyLeader::getUserId, list1).eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
-
|
|
|
- if (leaderList.size() > 0) {
|
|
|
- for (SysAgencyLeader sysAgencyLeader : leaderList) {
|
|
|
- //获取机构下的团队
|
|
|
- List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
- .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
|
|
|
- .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
|
|
|
- .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
|
|
|
- if (sysDeptList.size() > 0) {
|
|
|
- for (SysDept sysDept : sysDeptList) {
|
|
|
- List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
- .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
|
|
|
- leaderManNum = leaderManNum + sysUsers.size();
|
|
|
+ List<SysPartner> sysPartners = listMap.get(partnerType - 1);
|
|
|
+ if (sysPartners != null) {
|
|
|
+ //上一级直接推荐的工作室数量
|
|
|
+ List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
+ list.addAll(list1);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
+ appSysPartnerVo.setTeamManNum(deptManNum);
|
|
|
|
|
|
- }
|
|
|
- }
|
|
|
+ appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- appSysPartnerVo.setTeamManNum(deptManNum+leaderManNum);
|
|
|
-
|
|
|
- appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber() + appSysPartnerVo.getWorkNumber());
|
|
|
-
|
|
|
//每一级存入map
|
|
|
- appSysPartnerVo.setPartnerType(partnerType);
|
|
|
+
|
|
|
appSysPartnerVos.add(appSysPartnerVo);
|
|
|
}
|
|
|
|
|
|
return appSysPartnerVos;
|
|
|
|
|
|
}
|
|
|
-
|
|
|
- for (int i = 1; i <= listMap.size(); i++) {
|
|
|
+ for (Integer integer : listMap.keySet()) {
|
|
|
//二级
|
|
|
- List<SysPartner> sysPartnerList1 = listMap.get(sysPartner.getType() + i);
|
|
|
+ List<SysPartner> sysPartnerList1 = listMap.get(integer);
|
|
|
if (sysPartnerList1.size() > 0) {
|
|
|
AppSysPartnerVo appSysPartnerVo = new AppSysPartnerVo();
|
|
|
+ appSysPartnerVo.setPartnerType(integer);
|
|
|
//下级合伙人数
|
|
|
appSysPartnerVo.setPartnerNumber(sysPartnerList1.size());
|
|
|
List<String> ids = sysPartnerList1.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
@@ -1089,71 +1206,158 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
}
|
|
|
|
|
|
List<String> list = new ArrayList<>();
|
|
|
- if (i == 1) {
|
|
|
- //一级获取登陆人的之际工作室
|
|
|
- list.add(userId);
|
|
|
- } else {
|
|
|
+ int type = sysPartner.getType();
|
|
|
+ if (type == 1) {
|
|
|
+ if (integer == 2) {
|
|
|
+ //一级获取登陆人的之际工作室
|
|
|
+ list.add(userId);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
|
|
|
- //获取上一级合伙人,查询工作室数量
|
|
|
- List<SysPartner> sysPartners = listMap.get(sysPartner.getType() + i - 1);
|
|
|
- //上一级直接推荐的工作室数量
|
|
|
- List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
- list.addAll(list1);
|
|
|
- }
|
|
|
- List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
- .in(CollectionUtil.isNotEmpty(list), SysRelationPerson::getSuggestId, list)
|
|
|
- .eq(SysRelationPerson::getDelFlag, 1)
|
|
|
- .eq(SysRelationPerson::getSource, 0)
|
|
|
- .eq(SysRelationPerson::getType, 1));
|
|
|
- appSysPartnerVo.setWorkNumber(sysRelationPersons.size());
|
|
|
- List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
- appSysPartnerVo.setLeaderIds(list1);
|
|
|
- //直接工作室保费
|
|
|
- List<SysPremiumDetails> sysPremiumDetails1 = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
|
|
|
- .in(CollectionUtil.isNotEmpty(ids), SysPremiumDetails::getUserId, list1)
|
|
|
- .between(StringUtils.isNotEmpty(partnerInfoDto.getBeginTime()) && StringUtils.isNotEmpty(partnerInfoDto.getEndTime()),
|
|
|
- SysPremiumDetails::getCreateTime, partnerInfoDto.getBeginTime(), partnerInfoDto.getEndTime())
|
|
|
- .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector()));
|
|
|
- BigDecimal sumPremium1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal extractFee1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ //获取上一级合伙人,查询工作室数量
|
|
|
+ List<SysPartner> sysPartners = listMap.get(integer - 1);
|
|
|
+ if (sysPartners != null) {
|
|
|
+ //上一级直接推荐的工作室数量
|
|
|
+ List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
+ list.addAll(list1);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
+ appSysPartnerVo.setTeamManNum(deptManNum);
|
|
|
+
|
|
|
+ appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (type == 2) {
|
|
|
+ if (integer == 3) {
|
|
|
+ //一级获取登陆人的之际工作室
|
|
|
+ list.add(userId);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
+ //获取上一级合伙人,查询工作室数量
|
|
|
+ List<SysPartner> sysPartners = listMap.get(integer - 1);
|
|
|
+ if (sysPartners != null) {
|
|
|
+ //上一级直接推荐的工作室数量
|
|
|
+ List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
+ list.addAll(list1);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
+ appSysPartnerVo.setTeamManNum(deptManNum);
|
|
|
+
|
|
|
+ appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- appSysPartnerVo.setSumPremium(sumPremium.add(sumPremium1));
|
|
|
- appSysPartnerVo.setExtractFee(extractFee.add(extractFee1));
|
|
|
- int leaderManNum=0;
|
|
|
- //直接工作室总
|
|
|
- List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
|
|
|
- .in(CollectionUtil.isNotEmpty(list1), SysAgencyLeader::getUserId, list1).eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
+ } else if (type == 3) {
|
|
|
+ if (integer == 4) {
|
|
|
+ //一级获取登陆人的之际工作室
|
|
|
+ list.add(userId);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
|
|
|
- if (leaderList.size() > 0) {
|
|
|
- for (SysAgencyLeader sysAgencyLeader : leaderList) {
|
|
|
- //获取机构下的团队
|
|
|
- List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
- .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
|
|
|
- .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
|
|
|
- .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
|
|
|
- if (sysDeptList.size() > 0) {
|
|
|
- for (SysDept sysDept : sysDeptList) {
|
|
|
- List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
- .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
|
|
|
- leaderManNum = leaderManNum + sysUsers.size();
|
|
|
+ //获取上一级合伙人,查询工作室数量
|
|
|
+ List<SysPartner> sysPartners = listMap.get(integer - 1);
|
|
|
+ if (sysPartners != null) {
|
|
|
+ //上一级直接推荐的工作室数量
|
|
|
+ List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
+ list.addAll(list1);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
+ appSysPartnerVo.setTeamManNum(deptManNum);
|
|
|
+
|
|
|
+ appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
+ } else if (type == 4) {
|
|
|
+ if (integer == 5) {
|
|
|
+ //一级获取登陆人的之际工作室
|
|
|
+ list.add(userId);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
+ //获取上一级合伙人,查询工作室数量
|
|
|
+ List<SysPartner> sysPartners = listMap.get(integer - 1);
|
|
|
+ if (sysPartners != null) {
|
|
|
+ //上一级直接推荐的工作室数量
|
|
|
+ List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
|
|
|
+ list.addAll(list1);
|
|
|
+ extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
+ } else {
|
|
|
+ appSysPartnerVo.setTeamManNum(deptManNum);
|
|
|
+
|
|
|
+ appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- appSysPartnerVo.setTeamManNum(deptManNum+leaderManNum);
|
|
|
+// extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
|
|
|
|
|
|
- appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber() + appSysPartnerVo.getWorkNumber());
|
|
|
- appSysPartnerVo.setPartnerType(i);
|
|
|
//每一级存入map
|
|
|
appSysPartnerVos.add(appSysPartnerVo);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
return appSysPartnerVos;
|
|
|
}
|
|
|
|
|
|
+ private void extracted(PartnerInfoDto partnerInfoDto, AppSysPartnerVo appSysPartnerVo, BigDecimal sumPremium, BigDecimal extractFee, int deptManNum, List<String> list) {
|
|
|
+ List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
+ .in(CollectionUtil.isNotEmpty(list), SysRelationPerson::getSuggestId, list)
|
|
|
+ .eq(SysRelationPerson::getDelFlag, 1)
|
|
|
+ .eq(SysRelationPerson::getSource, 0)
|
|
|
+ .eq(SysRelationPerson::getType, 1));
|
|
|
+ appSysPartnerVo.setWorkNumber(sysRelationPersons.size());
|
|
|
+ if (sysRelationPersons.size()>0) {
|
|
|
+
|
|
|
+ List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
+ appSysPartnerVo.setLeaderIds(list1);
|
|
|
+ //直接工作室保费
|
|
|
+ List<SysPremiumDetails> sysPremiumDetails1 = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
|
|
|
+ .in(CollectionUtil.isNotEmpty(list1), SysPremiumDetails::getUserId, list1)
|
|
|
+ .between(StringUtils.isNotEmpty(partnerInfoDto.getBeginTime()) && StringUtils.isNotEmpty(partnerInfoDto.getEndTime()),
|
|
|
+ SysPremiumDetails::getCreateTime, partnerInfoDto.getBeginTime(), partnerInfoDto.getEndTime())
|
|
|
+ .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector()));
|
|
|
+ if (sysPremiumDetails1.size()>0) {
|
|
|
+
|
|
|
+ BigDecimal sumPremium1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal extractFee1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+
|
|
|
+ appSysPartnerVo.setSumPremium(sumPremium.add(sumPremium1));
|
|
|
+ appSysPartnerVo.setExtractFee(extractFee.add(extractFee1));
|
|
|
+ } else {
|
|
|
+ appSysPartnerVo.setSumPremium(sumPremium);
|
|
|
+ appSysPartnerVo.setExtractFee(extractFee);
|
|
|
+ }
|
|
|
+ int leaderManNum = 0;
|
|
|
+ //直接工作室总
|
|
|
+ List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
|
|
|
+ .in(CollectionUtil.isNotEmpty(list1), SysAgencyLeader::getUserId, list1).eq(SysAgencyLeader::getDelFlag, 1));
|
|
|
+
|
|
|
+ if (leaderList.size() > 0) {
|
|
|
+ for (SysAgencyLeader sysAgencyLeader : leaderList) {
|
|
|
+ //获取机构下的团队
|
|
|
+ List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
+ .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
|
|
|
+ .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
|
|
|
+ .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
|
|
|
+ if (sysDeptList.size() > 0) {
|
|
|
+ for (SysDept sysDept : sysDeptList) {
|
|
|
+ List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
|
|
|
+ leaderManNum = leaderManNum + sysUsers.size();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ appSysPartnerVo.setTeamManNum(deptManNum + leaderManNum);
|
|
|
+
|
|
|
+ appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber() + appSysPartnerVo.getWorkNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public PartnerInfoFreeVo queryPartnerInfo(PartnerGradeInfo partnerGradeInfo) {
|
|
|
PartnerInfoFreeVo partnerInfoFreeVo = new PartnerInfoFreeVo();
|
|
|
@@ -1393,13 +1597,13 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
.between(StringUtils.isNotEmpty(teamUserInfosDto.getBeginTime()) && StringUtils.isNotEmpty(teamUserInfosDto.getEndTime()),
|
|
|
SysPremiumDetails::getCreateTime, teamUserInfosDto.getBeginTime(), teamUserInfosDto.getEndTime())
|
|
|
.eq(teamUserInfosDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, teamUserInfosDto.getIndustrySector()));
|
|
|
- BigDecimal sumPremium1 = sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal sumPremium1 = sysPremiumDetail.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
teamUserInfosVo.setSumPremium(sumPremium1);
|
|
|
List<SysUserAccountHistory> sysUserAccountHistorie = sysUserAccountHistoryMapper.selectList(new LambdaQueryWrapper<SysUserAccountHistory>()
|
|
|
.in(SysUserAccountHistory::getUserId, sysUser.getId()).eq(SysUserAccountHistory::getProperty, 3)
|
|
|
.eq(teamUserInfosDto.getIndustrySector() != null, SysUserAccountHistory::getBusinessSegmentsType, teamUserInfosDto.getIndustrySector()));
|
|
|
|
|
|
- BigDecimal extractFee1 = sysUserAccountHistories.stream().map(SysUserAccountHistory::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal extractFee1 = sysUserAccountHistorie.stream().map(SysUserAccountHistory::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
teamUserInfosVo.setExtractFee(extractFee1);
|
|
|
|
|
|
userInfosVoList.add(teamUserInfosVo);
|
|
|
@@ -1612,5 +1816,125 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
return partnerLeaderInfoVo;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<SysPartnerVo> getRelationInfo(String userId) {
|
|
|
+ List<SysPartnerVo> sysPartners = new ArrayList<>();
|
|
|
+ //登陆人的上三级合伙人信息
|
|
|
+ SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
|
|
|
+ .eq(SysPartner::getUserId, userId).eq(SysPartner::getDelFlag, 1));
|
|
|
+ SysPartnerVo sysPartnerVo = BeanUtil.copyProperties(sysPartner, SysPartnerVo.class);
|
|
|
+ sysPartners.add(sysPartnerVo);
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
+ .eq(SysRelationPerson::getAgencyLeaderId, userId).eq(SysRelationPerson::getType, 0).orderByDesc(SysRelationPerson::getId));
|
|
|
+ if (sysRelationPersonList.size() > 0) {
|
|
|
+ List<String> collect = sysRelationPersonList.stream().map(SysRelationPerson::getSuggestId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (collect.size() >4) {
|
|
|
+ List<String> collect1 = collect.stream().limit(4).collect(Collectors.toList());
|
|
|
+ ids.addAll(collect1);
|
|
|
+ }else {
|
|
|
+ ids.addAll(collect);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ List<SysRelationPerson> sysRelationList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
+ .eq(SysRelationPerson::getSuggestId, userId).eq(SysRelationPerson::getType, 0));
|
|
|
+ if (sysRelationList.size() > 0) {
|
|
|
+
|
|
|
+ List<String> collect1 = sysRelationList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
+ if (collect1.size()>4) {
|
|
|
+ List<String> collect2 = collect1.stream().limit(4).collect(Collectors.toList());
|
|
|
+ ids.addAll(collect2);
|
|
|
+ }else {
|
|
|
+ ids.addAll(collect1);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (CollectionUtil.isNotEmpty(ids)) {
|
|
|
+ List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>()
|
|
|
+ .in(SysPartner::getUserId, ids).eq(SysPartner::getDelFlag, 1));
|
|
|
+ List<SysPartnerVo> sysPartnerVos = BeanUtil.copyToList(sysPartnerList, SysPartnerVo.class);
|
|
|
+ sysPartners.addAll(sysPartnerVos);
|
|
|
+ }
|
|
|
+ List<SysPartnerVo> sysPartnerVoList = sysPartners.stream().sorted(Comparator.comparing(SysPartner::getId)).collect(Collectors.toList());
|
|
|
+ if (sysPartnerVoList.size()>0) {
|
|
|
+ for (SysPartnerVo partner : sysPartnerVoList) {
|
|
|
+ SysUser sysUser1 = sysUserMapper.selectById(partner.getUserId());
|
|
|
+ partner.setMobile(sysUser1.getMobile());
|
|
|
+ SysDept sysDept = sysDeptMapper.selectById(sysUser1.getDeptId());
|
|
|
+ partner.setDeptName(sysDept.getName());
|
|
|
+ SysDept sysDept1 = sysDeptMapper.selectById(sysDept.getParentId());
|
|
|
+ partner.setAgencyName(sysDept1.getName());
|
|
|
+
|
|
|
+ String suggestId = partner.getSuggestId();
|
|
|
+ if (StringUtils.isNotEmpty(suggestId)) {
|
|
|
+ SysUser sysUser = sysUserMapper.selectById(partner.getSuggestId());
|
|
|
+ partner.setSuggestName(sysUser.getName());
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return sysPartnerVoList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public CountUserVo getCountUser(CountUserDto countUserDto) {
|
|
|
+ CountUserVo countUserVo = new CountUserVo();
|
|
|
+ String userId = BaseController.getUserId();
|
|
|
+ //原始参数
|
|
|
+ String startTime1 = countUserDto.getBeginTime();
|
|
|
+ String endTime1 = countUserDto.getEndTime();
|
|
|
+
|
|
|
+ List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getReferrerId,userId)
|
|
|
+ .eq(SysUser::getType,3)
|
|
|
+ .in(SysUser::getStatus,Arrays.asList(1, 4, 5, 6, 7))
|
|
|
+ .between(StringUtils.isNotEmpty(countUserDto.getBeginTime()) && StringUtils.isNotEmpty(countUserDto.getEndTime())
|
|
|
+ ,SysUser::getCreateTime,countUserDto.getBeginTime(),countUserDto.getEndTime()));
|
|
|
+ if (sysUsers != null) {
|
|
|
+ countUserVo.setDeptSum(sysUsers.size());
|
|
|
+
|
|
|
+ List<String> deptIds = sysUsers.stream().map(SysUser::getDeptId).collect(Collectors.toList());
|
|
|
+ int deptManNum=0;
|
|
|
+ for (String deptId : deptIds) {
|
|
|
+ List<SysUser> sysUserList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .likeRight(SysUser::getId,deptId)
|
|
|
+ .in(SysUser::getStatus,Arrays.asList(1, 4, 5, 6, 7)));
|
|
|
+ deptManNum=deptManNum+sysUserList.size();
|
|
|
+
|
|
|
+ }
|
|
|
+ countUserVo.setDeptLeaderSum(deptManNum);
|
|
|
+
|
|
|
+ countUserVo.setCountSum(countUserVo.getDeptSum()+deptManNum);
|
|
|
+
|
|
|
+ }
|
|
|
+ List<CountUserNumVo> countUserNumVoList = null;
|
|
|
+ int type = countUserDto.getType();
|
|
|
+ if (type == 1) {
|
|
|
+ if (StringUtils.isNotEmpty(startTime1) && startTime1.split(" ")[0].equals(endTime1.split(" ")[0])) {
|
|
|
+
|
|
|
+ countUserNumVoList = sysPartnerMapper.queryDeptByTimes(userId,countUserDto);
|
|
|
+ }else {
|
|
|
+ countUserNumVoList = sysPartnerMapper.queryDeptByTime(userId,countUserDto);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ List<String> deptIds = sysUsers.stream().map(SysUser::getDeptId).collect(Collectors.toList());
|
|
|
+ if (StringUtils.isNotEmpty(startTime1) && startTime1.split(" ")[0].equals(endTime1.split(" ")[0])){
|
|
|
+
|
|
|
+ countUserNumVoList = sysPartnerMapper.queryUserByTimes(deptIds,countUserDto);
|
|
|
+ }else {
|
|
|
+ countUserNumVoList = sysPartnerMapper.queryUserByTime(deptIds,countUserDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ countUserVo.setCountUserNumVoList(countUserNumVoList);
|
|
|
+
|
|
|
+ return countUserVo;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|