|
|
@@ -11,6 +11,7 @@ import com.ydtech.aop.exception.DescribeException;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.modules.admin.dao.*;
|
|
|
import com.ydtech.modules.admin.model.*;
|
|
|
+import com.ydtech.modules.admin.model.dto.SysAgencyLeaderPageDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
|
|
|
@@ -18,6 +19,7 @@ import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
|
|
|
import com.ydtech.modules.admin.model.vo.SysAgencyLeaderVo;
|
|
|
import com.ydtech.modules.admin.model.vo.SysPartnerAPPPageVo;
|
|
|
import com.ydtech.modules.admin.model.vo.SysUserPartner;
|
|
|
+import com.ydtech.modules.admin.service.SysAgencyLeaderService;
|
|
|
import com.ydtech.modules.admin.service.SysPartnerService;
|
|
|
import com.ydtech.modules.admin.service.SysUserService;
|
|
|
import com.ydtech.modules.base.controller.BaseController;
|
|
|
@@ -73,6 +75,8 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
|
|
|
@Resource
|
|
|
private SysAgencyFeeApprovalMapper sysAgencyFeeApprovalMapper;
|
|
|
+ @Resource
|
|
|
+ private SysAgencyLeaderService sysAgencyLeaderService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -678,20 +682,83 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<SysAgencyLeader> queryAgencyLeaderById(String userId) {
|
|
|
+ public BasePageResult<AgencyExtractFeeVo> queryAgencyLeaderById(SysAgencyLeaderPageDto sysAgencyLeaderPageDto) {
|
|
|
+ List<AgencyExtractFeeVo> agencyExtractFeeList = new ArrayList<>();
|
|
|
List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
|
|
|
- .eq(SysRelationPerson::getSuggestId, userId).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());
|
|
|
|
|
|
- //获取机构负责人信息
|
|
|
- List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
|
|
|
- .in(SysAgencyLeader::getUserId, agencyLeaderIds)
|
|
|
- .eq(SysAgencyLeader::getDelFlag, 1)
|
|
|
- .orderByDesc(SysAgencyLeader::getId));
|
|
|
+ Page<SysAgencyLeader> page = new Page<>(sysAgencyLeaderPageDto.getPageNum(), sysAgencyLeaderPageDto.getPageSize());
|
|
|
+ LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.in(SysAgencyLeader::getUserId, agencyLeaderIds);
|
|
|
+ wrapper.eq(SysAgencyLeader::getDelFlag, 1);
|
|
|
+ wrapper.orderByDesc(SysAgencyLeader::getId);
|
|
|
+
|
|
|
+ Page<SysAgencyLeader> insOrdersPage = sysAgencyLeaderService.page(page, wrapper);
|
|
|
+ List<SysAgencyLeader> records = insOrdersPage.getRecords();
|
|
|
+ if (records.size() > 0) {
|
|
|
+ for (SysAgencyLeader sysAgencyLeaders : records) {
|
|
|
+ AgencyExtractFeeVo agencyExtractFee = new AgencyExtractFeeVo();
|
|
|
+ //总保费
|
|
|
+ BigDecimal bigDecimal = BigDecimal.ZERO;
|
|
|
+ //已提现抽成费用
|
|
|
+ BigDecimal historyFee = BigDecimal.ZERO;
|
|
|
+ SysUser sysUser = sysUserMapper.selectById(sysAgencyLeaders.getUserId());
|
|
|
+ SysDept sysDept = sysDeptMapper.selectById(sysAgencyLeaders.getDeptId());
|
|
|
+ agencyExtractFee.setUserId(sysAgencyLeaders.getUserId());
|
|
|
+ agencyExtractFee.setUserName(sysUser.getName());
|
|
|
+ agencyExtractFee.setDeptId(sysAgencyLeaders.getDeptId());
|
|
|
+ agencyExtractFee.setDeptName(sysDept.getName());
|
|
|
+ agencyExtractFee.setProportional(sysAgencyLeaders.getProportional());
|
|
|
+ //筛选订单,选择时间
|
|
|
+ Date updateTime = sysAgencyLeaders.getUpdateTime();
|
|
|
+ Date createTime = sysAgencyLeaders.getCreateTime();
|
|
|
+ String dateStr = "";
|
|
|
+ if (updateTime != null) {
|
|
|
+ dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(updateTime);
|
|
|
+ agencyExtractFee.setStartTime(updateTime);
|
|
|
+ } else {
|
|
|
+ dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
|
|
|
+ agencyExtractFee.setStartTime(createTime);
|
|
|
+ }
|
|
|
+ HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr,null,null);
|
|
|
+ if (CollectionUtil.isNotEmpty(map)) {
|
|
|
+
|
|
|
+ bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
|
|
|
+ }
|
|
|
+ agencyExtractFee.setSumpremium(bigDecimal);
|
|
|
+ BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
|
|
|
+ .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
|
|
|
+ agencyExtractFee.setExtractFee(multiply);
|
|
|
+ // 填充 已提现抽成费用和可提现抽成费用
|
|
|
+ List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
|
|
|
+ .eq(SysAgencyFeeApproval::getUserId, sysAgencyLeaders.getUserId())
|
|
|
+ .eq(SysAgencyFeeApproval::getStatus, 1));
|
|
|
+ if (sysAgencyFeeApprovals.size() > 0) {
|
|
|
+ for (SysAgencyFeeApproval sysAgencyFeeApproval : sysAgencyFeeApprovals) {
|
|
|
+ historyFee = historyFee.add(sysAgencyFeeApproval.getHistoryFee());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- return sysAgencyLeaders;
|
|
|
+ if (!bigDecimal.equals(BigDecimal.ZERO)) {
|
|
|
+ //已提现
|
|
|
+ agencyExtractFee.setHistoryFee(historyFee);
|
|
|
+ //可提现 = 总抽成-已提现
|
|
|
+ agencyExtractFee.setCashFee(multiply.subtract(historyFee));
|
|
|
+ } else {
|
|
|
+ agencyExtractFee.setHistoryFee(BigDecimal.ZERO);
|
|
|
+ agencyExtractFee.setCashFee(multiply.subtract(BigDecimal.ZERO));
|
|
|
+ }
|
|
|
+ agencyExtractFeeList.add(agencyExtractFee);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return new BasePageResult<>(sysAgencyLeaderPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
|
|
|
+ agencyExtractFeeList);
|
|
|
|
|
|
}
|
|
|
|