|
@@ -15,18 +15,12 @@ import com.ydtech.modules.admin.model.dto.SysAgencyLeaderPageDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerDto;
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
|
|
|
-import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
|
|
|
|
|
-import com.ydtech.modules.admin.model.vo.SysPartnerAPPPageVo;
|
|
|
|
|
-import com.ydtech.modules.admin.model.vo.SysUserPartner;
|
|
|
|
|
|
|
+import com.ydtech.modules.admin.model.vo.*;
|
|
|
import com.ydtech.modules.admin.service.SysAgencyLeaderService;
|
|
import com.ydtech.modules.admin.service.SysAgencyLeaderService;
|
|
|
import com.ydtech.modules.admin.service.SysPartnerService;
|
|
import com.ydtech.modules.admin.service.SysPartnerService;
|
|
|
import com.ydtech.modules.admin.service.SysUserService;
|
|
import com.ydtech.modules.admin.service.SysUserService;
|
|
|
import com.ydtech.modules.base.controller.BaseController;
|
|
import com.ydtech.modules.base.controller.BaseController;
|
|
|
-import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
|
|
|
|
|
-import com.ydtech.modules.order.dao.InsOrdersMapper;
|
|
|
|
|
import com.ydtech.modules.order.entity.BasePageResult;
|
|
import com.ydtech.modules.order.entity.BasePageResult;
|
|
|
-import com.ydtech.modules.order.entity.InsAreaCompany;
|
|
|
|
|
-import com.ydtech.modules.order.entity.InsOrders;
|
|
|
|
|
import com.ydtech.utils.StringUtils;
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -75,7 +69,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
public List<SysPartner> queryRecommendAndPartner(String id) {
|
|
public List<SysPartner> queryRecommendAndPartner(String id) {
|
|
|
List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1)
|
|
List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1)
|
|
|
.likeRight(SysPartner::getUserId, id).orderByDesc(SysPartner::getId));
|
|
.likeRight(SysPartner::getUserId, id).orderByDesc(SysPartner::getId));
|
|
|
- if (sysPartnerList.size()>0) {
|
|
|
|
|
|
|
+ if (sysPartnerList.size() > 0) {
|
|
|
for (SysPartner sysPartner : sysPartnerList) {
|
|
for (SysPartner sysPartner : sysPartnerList) {
|
|
|
SysUser sysUser = sysUserMapper.selectById(sysPartner.getUserId());
|
|
SysUser sysUser = sysUserMapper.selectById(sysPartner.getUserId());
|
|
|
sysPartner.setUserName(sysUser.getName());
|
|
sysPartner.setUserName(sysUser.getName());
|
|
@@ -108,8 +102,8 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
}
|
|
}
|
|
|
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.ne(SysUser::getStatus, 0);
|
|
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.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.likeRight(StringUtils.isNotEmpty(sysPartnerPageDto.getDeptId()), SysUser::getId, sysPartnerPageDto.getDeptId());
|
|
|
wrapper.notLike(SysUser::getId, "M");
|
|
wrapper.notLike(SysUser::getId, "M");
|
|
|
wrapper.notIn(CollectionUtil.isNotEmpty(stringList), SysUser::getId, stringList);
|
|
wrapper.notIn(CollectionUtil.isNotEmpty(stringList), SysUser::getId, stringList);
|
|
@@ -212,6 +206,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
b = sysPartnerMapper.insert(sysPartner) > 0;
|
|
b = sysPartnerMapper.insert(sysPartner) > 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
return b;
|
|
return b;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -312,7 +307,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
} else {
|
|
} else {
|
|
|
dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
|
|
dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
|
|
|
}
|
|
}
|
|
|
- HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr,null,null);
|
|
|
|
|
|
|
+ HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr, null, null);
|
|
|
if (CollectionUtil.isNotEmpty(map)) {
|
|
if (CollectionUtil.isNotEmpty(map)) {
|
|
|
bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
|
|
bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
|
|
|
}
|
|
}
|
|
@@ -438,7 +433,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
} else {
|
|
} else {
|
|
|
dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
|
|
dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
|
|
|
}
|
|
}
|
|
|
- HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysDept1.getId(), dateStr,null,null);
|
|
|
|
|
|
|
+ HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysDept1.getId(), dateStr, null, null);
|
|
|
if (CollectionUtil.isNotEmpty(map)) {
|
|
if (CollectionUtil.isNotEmpty(map)) {
|
|
|
bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
|
|
bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
|
|
|
}
|
|
}
|
|
@@ -476,12 +471,17 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
.eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getUserId()));
|
|
.eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getUserId()));
|
|
|
if (sysPartner == null) throw new DescribeException("系统错误,请联系管理员!");
|
|
if (sysPartner == null) throw new DescribeException("系统错误,请联系管理员!");
|
|
|
|
|
|
|
|
- if (StringUtils.isNullOrEmpty(sysPartner.getSuggestId()) && StringUtils.isNotEmpty(sysPartnerDto.getSuggestId())) {
|
|
|
|
|
|
|
+ if (StringUtils.isNullOrEmpty(sysPartner.getSuggestId()) && StringUtils.isNotEmpty(sysPartnerDto.getSuggestId())) {
|
|
|
SysPartner partner = new SysPartner();
|
|
SysPartner partner = new SysPartner();
|
|
|
partner.setId(sysPartner.getId());
|
|
partner.setId(sysPartner.getId());
|
|
|
partner.setProportional(sysPartnerDto.getProportional());
|
|
partner.setProportional(sysPartnerDto.getProportional());
|
|
|
|
|
+
|
|
|
partner.setSuggestId(sysPartnerDto.getSuggestId());
|
|
partner.setSuggestId(sysPartnerDto.getSuggestId());
|
|
|
partner.setSuggestName(sysPartnerDto.getSuggestName());
|
|
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;
|
|
b = sysPartnerMapper.updateById(partner) > 0;
|
|
|
|
|
|
|
|
SysRelationPerson sysRelationPerson = new SysRelationPerson();
|
|
SysRelationPerson sysRelationPerson = new SysRelationPerson();
|
|
@@ -515,6 +515,8 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
SysPartner partner = new SysPartner();
|
|
SysPartner partner = new SysPartner();
|
|
|
partner.setId(sysPartner.getId());
|
|
partner.setId(sysPartner.getId());
|
|
|
partner.setProportional(sysPartnerDto.getProportional());
|
|
partner.setProportional(sysPartnerDto.getProportional());
|
|
|
|
|
+ //判断本月是否已修改比例 TODO
|
|
|
|
|
+
|
|
|
b = sysPartnerMapper.updateById(partner) > 0;
|
|
b = sysPartnerMapper.updateById(partner) > 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -528,8 +530,8 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
.eq(SysRelationPerson::getSuggestId, sysAgencyLeaderPageDto.getUserId()).eq(SysRelationPerson::getType, 1));
|
|
.eq(SysRelationPerson::getSuggestId, sysAgencyLeaderPageDto.getUserId()).eq(SysRelationPerson::getType, 1));
|
|
|
|
|
|
|
|
- //获取所有推荐的机构负责人id
|
|
|
|
|
- List<String> agencyLeaderIds = sysRelationPeople.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
|
|
|
|
+ //获取所有推荐的机构负责人id
|
|
|
|
|
+ List<String> agencyLeaderIds = sysRelationPeople.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
Page<SysAgencyLeader> page = new Page<>(sysAgencyLeaderPageDto.getPageNum(), sysAgencyLeaderPageDto.getPageSize());
|
|
Page<SysAgencyLeader> page = new Page<>(sysAgencyLeaderPageDto.getPageNum(), sysAgencyLeaderPageDto.getPageSize());
|
|
|
LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
|
|
@@ -564,7 +566,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
|
|
dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
|
|
|
agencyExtractFee.setStartTime(createTime);
|
|
agencyExtractFee.setStartTime(createTime);
|
|
|
}
|
|
}
|
|
|
- HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr,null,null);
|
|
|
|
|
|
|
+ HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr, null, null);
|
|
|
if (CollectionUtil.isNotEmpty(map)) {
|
|
if (CollectionUtil.isNotEmpty(map)) {
|
|
|
|
|
|
|
|
bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
|
|
bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
|
|
@@ -603,5 +605,77 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<SysPartner> partnerInfo(String beginTime, String endTime) {
|
|
|
|
|
+
|
|
|
|
|
+ List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
|
|
+ .eq(StringUtils.isNotEmpty(BaseController.getUserId()), SysRelationPerson::getSuggestId, BaseController.getUserId())
|
|
|
|
|
+ .eq(SysRelationPerson::getDelFlag, 1)
|
|
|
|
|
+ .eq(SysRelationPerson::getType, 0));
|
|
|
|
|
+ if (sysRelationPersonList.size() == 0) return null;
|
|
|
|
|
+ List<String> collect = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
|
|
+ List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>()
|
|
|
|
|
+ .eq(SysPartner::getDelFlag, 1).in(CollectionUtil.isNotEmpty(collect), SysPartner::getUserId, collect)
|
|
|
|
|
+ .between(StringUtils.isNotEmpty(beginTime) && StringUtils.isNotEmpty(endTime)
|
|
|
|
|
+ ,SysPartner::getCreateTime,beginTime,endTime));
|
|
|
|
|
+
|
|
|
|
|
+ return sysPartnerList;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public APPPartnerInfo getLeaderInfo(String userId) {
|
|
|
|
|
+ APPPartnerInfo appPartnerInfo = new APPPartnerInfo();
|
|
|
|
|
+ //查询合伙人有关系的工作室管理员
|
|
|
|
|
+ List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
|
|
+ .eq(StringUtils.isNotEmpty(userId), SysRelationPerson::getSuggestId, userId)
|
|
|
|
|
+ .eq(SysRelationPerson::getDelFlag, 1)
|
|
|
|
|
+ .eq(SysRelationPerson::getType, 1));
|
|
|
|
|
+ if (sysRelationPersonList.size() == 0) return null;
|
|
|
|
|
+
|
|
|
|
|
+ List<String> collect = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
|
|
|
|
|
+ List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
|
|
|
|
|
+ .eq(SysAgencyLeader::getDelFlag, 1).in(CollectionUtil.isNotEmpty(collect), SysAgencyLeader::getUserId, collect));
|
|
|
|
|
+
|
|
|
|
|
+ List<AgencyLeaderInfo> agencyLeaderInfos = BeanUtil.copyToList(leaderList, AgencyLeaderInfo.class);
|
|
|
|
|
+ for (AgencyLeaderInfo agencyLeaderInfo : agencyLeaderInfos) {
|
|
|
|
|
+
|
|
|
|
|
+ SysUser sysUser = sysUserMapper.selectById(agencyLeaderInfo.getUserId());
|
|
|
|
|
+ agencyLeaderInfo.setUserName(sysUser.getName());
|
|
|
|
|
+ SysUser sysUser1 = sysUserMapper.selectById(agencyLeaderInfo.getSuggestId());
|
|
|
|
|
+ agencyLeaderInfo.setSuggestName(sysUser1.getName());
|
|
|
|
|
+ SysDept sysDept = sysDeptMapper.selectById(agencyLeaderInfo.getDeptId());
|
|
|
|
|
+ agencyLeaderInfo.setDeptName(sysDept.getName());
|
|
|
|
|
+ //填充费用
|
|
|
|
|
+ AgencyExtractFee agencyExtractFee = sysAgencyLeaderService.queryExtractFee(agencyLeaderInfo.getUserId());
|
|
|
|
|
+ BigDecimal sumpremium = agencyExtractFee.getSumpremium();
|
|
|
|
|
+ agencyLeaderInfo.setSumPremium(sumpremium);
|
|
|
|
|
+ BigDecimal percentage = new BigDecimal(agencyLeaderInfo.getProportional()).divide(new BigDecimal("100"));
|
|
|
|
|
+ agencyLeaderInfo.setProportional(percentage.toString());
|
|
|
|
|
+ BigDecimal extractFee = sumpremium.multiply(percentage).setScale(2, RoundingMode.DOWN);
|
|
|
|
|
+ agencyLeaderInfo.setExtractFee(extractFee);
|
|
|
|
|
+
|
|
|
|
|
+ List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
|
|
+ .likeRight(SysUser::getId, agencyLeaderInfo.getDeptId()).ne(SysUser::getStatus, 0));
|
|
|
|
|
+ agencyLeaderInfo.setNumber(sysUsers.size());
|
|
|
|
|
+ }
|
|
|
|
|
+ appPartnerInfo.setAgencyLeaderInfo(agencyLeaderInfos);
|
|
|
|
|
+ //机构总人数
|
|
|
|
|
+ long count = agencyLeaderInfos.stream().mapToInt(AgencyLeaderInfo::getNumber).count();
|
|
|
|
|
+ appPartnerInfo.setNumber(count);
|
|
|
|
|
+ //总保费
|
|
|
|
|
+ BigDecimal reduce = agencyLeaderInfos.stream().map(AgencyLeaderInfo::getSumPremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ appPartnerInfo.setSumpremium(reduce);
|
|
|
|
|
+
|
|
|
|
|
+ SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getUserId, userId));
|
|
|
|
|
+ BigDecimal percentage = new BigDecimal(sysPartner.getProportional()).divide(new BigDecimal("100"));
|
|
|
|
|
+ appPartnerInfo.setExtractFee(reduce.multiply(percentage).setScale(2, RoundingMode.DOWN));
|
|
|
|
|
+
|
|
|
|
|
+ return appPartnerInfo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
}
|
|
}
|