Commit f58a255f by jianan

新单跟进77

parent 0b5bfb3d
package com.yd.csf.api.controller;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
......@@ -31,7 +32,9 @@ import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -256,7 +259,7 @@ public class ApiCommissionController {
if (commissionStatisticsRequest == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
}
return Result.success(commissionService.getCommissionStatistics(commissionStatisticsRequest));
return Result.success(commissionService.getCommissionStatistics(commissionStatisticsRequest.getCommissionIds()));
}
......@@ -307,16 +310,26 @@ public class ApiCommissionController {
*/
@PostMapping("/list/page/vo")
@Operation(summary = "分页获取保单来佣列表")
public Result<Page<CommissionVO>> listPolicyFollowByPage(@RequestBody CommissionQueryRequest commissionQueryRequest,
public Result<Map<String, Object>> listPolicyFollowByPage(@RequestBody CommissionQueryRequest commissionQueryRequest,
HttpServletRequest request) {
long current = commissionQueryRequest.getPageNo();
long size = commissionQueryRequest.getPageSize();
// 查询数据库
// 查询列表数据
QueryWrapper<Commission> queryWrapper = commissionService.getQueryWrapper(commissionQueryRequest);
Page<Commission> commissionPage = commissionService.page(new Page<>(current, size),
commissionService.getQueryWrapper(commissionQueryRequest));
// 获取封装类
return Result.success(commissionService.getCommissionVOPage(commissionPage));
queryWrapper);
// 查询统计数据
List<Commission> commissionList = commissionService.list(queryWrapper);
// 计算统计数据
List<Long> commissionIds = commissionList.stream().map(Commission::getId).collect(Collectors.toList());
CommissionStatisticsVO commissionStatisticsVO = commissionService.getCommissionStatistics(commissionIds);
// 组装返回值
Map<String, Object> map = new HashMap<>();
map.put("commissionStatisticsVO", commissionStatisticsVO);
map.put("page", commissionService.getCommissionVOPage(commissionPage));
return Result.success(map);
}
}
......@@ -38,5 +38,5 @@ public interface CommissionService extends IService<Commission> {
List<CommissionBindPolicyBrokerDto> queryCommissionBindPolicyBrokerList(CommissionDto dto);
CommissionStatisticsVO getCommissionStatistics(CommissionStatisticsRequest commissionStatisticsRequest);
CommissionStatisticsVO getCommissionStatistics(List<Long> commissionIds);
}
......@@ -180,6 +180,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
List<PolicyBroker> policyBrokers = brokerMap.get(policyNo);
if (CollectionUtils.isNotEmpty(policyBrokers)) {
for (PolicyBroker policyBroker : policyBrokers) {
for (Commission commission : commissionList) {
Fortune fortune = new Fortune();
fortune.setFortuneBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_FORTUNE.getCode()));
fortune.setPolicyNo(policyNo);
......@@ -193,6 +194,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
}
}
}
// 5. 保存发佣记录
if (CollUtil.isNotEmpty(newFortuneList)) {
boolean saveSuccess = fortuneService.saveBatch(newFortuneList);
......@@ -291,9 +293,9 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
@Override
public CommissionStatisticsVO getCommissionStatistics(CommissionStatisticsRequest commissionStatisticsRequest) {
public CommissionStatisticsVO getCommissionStatistics(List<Long> commissionIds) {
// 自定义统计数据
CommissionStatisticsVO commissionStatistics = baseMapper.getCommissionStatistics(commissionStatisticsRequest.getCommissionIds());
CommissionStatisticsVO commissionStatistics = baseMapper.getCommissionStatistics(commissionIds);
// 计算待入账金额
commissionStatistics.setPendingPaidAmount(commissionStatistics.getTotalAmount().subtract(commissionStatistics.getTotalPaidAmount()));
// 计算已入账比例
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment