Commit ed662d1d by jianan

前端对接问题修复4

parent 3c7f843a
......@@ -11,6 +11,7 @@ import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.csf.api.dto.CommissionExcelDTO;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.component.CommissionAsyncService;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.CommissionStatusEnum;
import com.yd.csf.service.model.Commission;
......
......@@ -37,21 +37,21 @@ import java.util.stream.Collectors;
*/
@RestController
@RequestMapping("/CommissionExpected")
@Tag(name = "预计来佣接口")
@Tag(name = "预计入账接口")
public class ApiCommissionExpectedController {
@Resource
private CommissionExpectedService commissionExpectedService;
/**
* 批量新增预计来佣
* 批量新增预计入账
*
* @param commissionExpectedAddRequest
* @param request
* @return
*/
@PostMapping("/add")
@Operation(summary = "新增预计来佣")
@Operation(summary = "新增预计入账")
public Result<Boolean> addCommissionExpected(@RequestBody CommissionExpectedAddRequest commissionExpectedAddRequest, HttpServletRequest request) {
if (commissionExpectedAddRequest == null) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), ResultCode.PARAMS_ERROR.getMessage());
......@@ -60,29 +60,29 @@ public class ApiCommissionExpectedController {
}
/**
* 删除预计来佣
* 删除预计入账
*
* @param commissionExpectedBizId 预计来佣业务id
* @param commissionExpectedBizId 预计入账业务id
* @param request
* @return
*/
@DeleteMapping("/delete")
@Operation(summary = "删除预计来佣")
@Operation(summary = "删除预计入账")
public Result<Boolean> deleteCommissionExpected(@RequestParam("commissionExpectedBizId") String commissionExpectedBizId, HttpServletRequest request) {
if (StringUtils.isBlank(commissionExpectedBizId)) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "预计来佣业务id不能为空");
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "预计入账业务id不能为空");
}
return Result.success(commissionExpectedService.deleteCommissionExpected(commissionExpectedBizId));
}
/**
* 更新预计来佣
* 更新预计入账
*
* @param commissionExpectedUpdateRequest
* @return
*/
@PostMapping("/update")
@Operation(summary = "更新预计来佣")
@Operation(summary = "更新预计入账")
public Result<Boolean> updateCommissionExpected(@RequestBody CommissionExpectedUpdateRequest commissionExpectedUpdateRequest) {
if (commissionExpectedUpdateRequest == null || StringUtils.isBlank(commissionExpectedUpdateRequest.getCommissionExpectedBizId())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "commissionExpectedBizId不能为空");
......@@ -93,11 +93,11 @@ public class ApiCommissionExpectedController {
/**
* 根据 CommissionExpectedBizId 获取CommissionExpected(封装类)
*
* @param commissionExpectedBizId 预计来佣业务id
* @param commissionExpectedBizId 预计入账业务id
* @return
*/
@GetMapping("/get/vo")
@Operation(summary = "预计来佣详情")
@Operation(summary = "预计入账详情")
public Result<CommissionExpectedVO> getCommissionExpectedVOByBizId(String commissionExpectedBizId, HttpServletRequest request) {
if (StringUtils.isBlank(commissionExpectedBizId)) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "commissionExpectedBizId不能为空");
......@@ -119,7 +119,7 @@ public class ApiCommissionExpectedController {
* @return
*/
@PostMapping("/list/page")
@Operation(summary = "分页获取预计来佣列表", description = "可根据 reconciliation_company、commission_name、commission_period、amount 排序,默认按照佣金期数升序排序")
@Operation(summary = "分页获取预计入账列表", description = "可根据 reconciliation_company、commission_name、commission_period、amount 排序,默认按照佣金期数升序排序")
public Result<Page<CommissionExpectedVO>> listCommissionExpectedByPage(@RequestBody CommissionExpectedQueryRequest CommissionExpectedQueryRequest) {
// 校验参数
if (CommissionExpectedQueryRequest == null || CommissionExpectedQueryRequest.getPolicyNo() == null) {
......
......@@ -20,6 +20,7 @@ import com.yd.csf.api.dto.PolicyExcelDTO;
import com.yd.csf.api.dto.PolicyFollowDTO;
import com.yd.csf.api.listener.PolicyDataListener;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.component.PolicyReportPdfService;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.*;
......
......@@ -437,9 +437,11 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
if (CollectionUtils.isEmpty(fortuneAddRequestList)) {
return true;
}
// 查询最新一条记录
List<ExpectedFortune> latestList = iExpectedFortuneService.list(new QueryWrapper<ExpectedFortune>().orderByDesc("id").last("limit 1"));
ExpectedFortune latest = latestList.isEmpty() ? null : latestList.get(0);
// 查询最新一条有 payableNo 记录
ExpectedFortune latest = iExpectedFortuneService.getOne(new QueryWrapper<ExpectedFortune>()
.isNotNull("payable_no")
.orderByDesc("id")
.last("limit 1"));
ArrayList<ExpectedFortune> fortuneList = new ArrayList<>();
for (ExpectedFortuneAddRequest expectedFortuneDto : fortuneAddRequestList) {
......
......@@ -18,7 +18,7 @@ public class ApiExpectedFortunePageResponse {
private Long id;
/**
* 预计发佣表唯一业务id
* 预计出账表唯一业务id
*/
@Schema(description = "expected fortune biz id")
private String expectedFortuneBizId;
......@@ -86,7 +86,7 @@ public class ApiExpectedFortunePageResponse {
/**
* 转介人业务ID
*/
@Schema(description = "broker biz id")
@Schema(description = "转介人业务ID")
private String brokerBizId;
/**
......@@ -98,7 +98,7 @@ public class ApiExpectedFortunePageResponse {
/**
* 所属团队业务ID
*/
@Schema(description = "所属团队 biz id")
@Schema(description = "所属团队业务ID")
private String teamBizId;
/**
......@@ -128,7 +128,7 @@ public class ApiExpectedFortunePageResponse {
/**
* 出账状态
*/
@Schema(description = "出账状态 0=待出账 1=可出帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出账, 已检核 7=未找到当前预计发佣对应的来佣 字典值: csf_expected_fortune_status")
@Schema(description = "出账状态 0=待出账 1=可出帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出账, 已检核 7=未找到当前预计出账对应的来佣 字典值: csf_expected_fortune_status")
private String status;
/**
......
package com.yd.csf.service.service;
package com.yd.csf.service.component;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yd.auth.core.dto.AuthUserDto;
......@@ -10,11 +10,12 @@ import com.yd.csf.service.enums.CommissionStatusEnum;
import com.yd.csf.service.model.Commission;
import com.yd.csf.service.model.CommissionCompareRecord;
import com.yd.csf.service.model.CommissionExpected;
import com.yd.csf.service.service.CommissionCompareRecordService;
import com.yd.csf.service.service.CommissionExpectedService;
import com.yd.csf.service.service.CommissionService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -22,7 +23,6 @@ import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......
package com.yd.csf.service.service;
package com.yd.csf.service.component;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
......
package com.yd.csf.service.service;
package com.yd.csf.service.component;
import com.yd.csf.service.dto.CommissionExpectedAddDto;
import org.apache.commons.codec.digest.DigestUtils;
......
......@@ -8,18 +8,23 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* 更新预计来佣请求
*
* 更新预计入账请求
*/
@Data
public class CommissionExpectedUpdateRequest implements Serializable {
/**
* 预计来佣业务id
* 预计入账业务id
*/
@Schema(description = "预计来佣业务id")
@Schema(description = "预计入账业务id")
private String commissionExpectedBizId;
/**
* 入账状态
*/
@Schema(description = "入账状态 字典值: csf_expected_commission_status")
private String status;
/**
* 新单跟进业务id
*/
@Schema(description = "新单跟进业务id", requiredMode = Schema.RequiredMode.REQUIRED)
......@@ -50,50 +55,45 @@ public class CommissionExpectedUpdateRequest implements Serializable {
private Integer commissionPeriod;
/**
* 总来佣期数
* 总入账期数
*/
@Schema(description = "总来佣期数")
@Schema(description = "总入账期数")
private Integer totalPeriod;
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
* 入账名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema(description = "来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
@Schema(description = "入账名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
private String commissionName;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
* 入账类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema(description = "来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
@Schema(description = "入账类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
private String commissionType;
/**
* 来佣比例
*/
@Schema(description = "来佣比例")
private BigDecimal commissionRatio;
/**
* 来佣比例
* 入账比例
*/
private BigDecimal ratio;
@Schema(description = "入账比例")
private BigDecimal commissionRatio;
/**
* 来佣金额
* 入账金额
*/
@Schema(description = "来佣金额")
@Schema(description = "入账金额")
private BigDecimal amount;
/**
* 来佣币种
* 入账币种
*/
@Schema(description = "来佣币种")
@Schema(description = "入账币种")
private String currency;
/**
* 来佣日期
* 入账日期
*/
@Schema(description = "来佣日期 format:yyyy-MM-dd")
@Schema(description = "入账日期 format:yyyy-MM-dd")
private Date commissionDate;
/**
......
......@@ -8,6 +8,7 @@ import com.yd.common.constant.CommonConstant;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.component.ReceivableService;
import com.yd.csf.service.dto.CommissionExpectedAddDto;
import com.yd.csf.service.dto.CommissionExpectedAddRequest;
import com.yd.csf.service.dto.CommissionExpectedQueryRequest;
......@@ -36,7 +37,7 @@ import java.util.stream.Collectors;
/**
* @author Zhang Jianan
* @description 针对表【commission_expected(预计来佣表)】的数据库操作Service实现
* @description 针对表【commission_expected(预计入账表)】的数据库操作Service实现
* @createDate 2025-10-08 19:47:40
*/
@Service
......@@ -94,9 +95,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
@Override
public void validCommissionExpected(CommissionExpected commissionExpected, boolean add) {
if (commissionExpected == null) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "预计来佣对象不能为空");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "预计入账对象不能为空");
}
// 来佣业务类型不能为空
// 入账业务类型不能为空
String commissionBizType = commissionExpected.getCommissionBizType();
if (ObjectUtils.isEmpty(commissionBizType)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "应收款类型不能为空");
......@@ -109,11 +110,11 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
String commissionName = commissionExpected.getCommissionName();
if (StringUtils.isBlank(commissionName)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "来佣名称不能为空");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "入账名称不能为空");
}
BigDecimal commissionRatio = commissionExpected.getCommissionRatio();
if (ObjectUtils.isEmpty(commissionRatio)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "来佣比例不能为空");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "入账比例不能为空");
}
Integer commissionPeriod = commissionExpected.getCommissionPeriod();
if (ObjectUtils.isEmpty(commissionPeriod)) {
......@@ -121,11 +122,12 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
Integer totalPeriod = commissionExpected.getTotalPeriod();
if (ObjectUtils.isEmpty(totalPeriod)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "总来佣期数不能为空");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "总入账期数不能为空");
}
} else if ("U".equals(commissionBizType)) {
}
if ("U".equals(commissionBizType)) {
if (ObjectUtils.isEmpty(commissionExpected.getAmount())) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "来佣金额不能为空");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "入账金额不能为空");
}
}
// 创建数据时,参数不能为空
......@@ -193,7 +195,7 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
/**
* 获取预计来佣封装
* 获取预计入账封装
*
* @param commissionExpected
* @return
......@@ -203,9 +205,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
// 对象转封装类
CommissionExpectedVO commissionExpectedVO = CommissionExpectedVO.objToVo(commissionExpected);
// 查询已入账来佣记录
// 查询已入账入账记录
List<Commission> commissionList = commissionService.list(new QueryWrapper<Commission>().eq("commissionExpectedBizId", commissionExpected.getCommissionExpectedBizId()));
// 关联已入账来佣记录
// 关联已入账入账记录
commissionExpectedVO.setCommissionList(commissionList);
return commissionExpectedVO;
......@@ -216,7 +218,7 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
public Boolean addCommissionExpected(CommissionExpectedAddRequest commissionExpectedAddRequest) {
List<CommissionExpectedAddDto> addDtoList = commissionExpectedAddRequest.getCommissionExpectedAddDtoList();
if (CollUtil.isEmpty(addDtoList)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "预计来佣列表不能为空");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "预计入账列表不能为空");
}
// 查询保单信息
String policyNo = addDtoList.get(0).getPolicyNo();
......@@ -261,7 +263,7 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
updateList.add(commissionExpected);
}
}
// 新增预计来佣
// 新增预计入账
if (CollectionUtils.isNotEmpty(addList)) {
this.saveBatch(addList);
}
......@@ -281,41 +283,32 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
@Override
public Boolean deleteCommissionExpected(String commissionExpectedBizId) {
if (StringUtils.isBlank(commissionExpectedBizId)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "预计来佣业务id不能为空");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "预计入账业务id不能为空");
}
// 校验预计来佣是否存在
// 校验预计入账是否存在
CommissionExpected commissionExpected = getByBizId(commissionExpectedBizId);
if (commissionExpected == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计来佣不存在");
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计入账不存在");
}
return this.removeById(commissionExpected.getId());
}
@Override
public Boolean updateCommissionExpected(CommissionExpectedUpdateRequest commissionExpectedUpdateRequest) {
// 校验预计来佣是否存在
// 校验预计入账是否存在
CommissionExpected commissionExpected = getByBizId(commissionExpectedUpdateRequest.getCommissionExpectedBizId());
if (commissionExpected == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计来佣不存在");
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计入账不存在");
}
if (commissionExpected.getCommissionRatio() == null) {
if (commissionExpectedUpdateRequest.getRatio() != null) {
commissionExpected.setCommissionRatio(commissionExpectedUpdateRequest.getRatio());
} else {
commissionExpected.setCommissionRatio(commissionExpectedUpdateRequest.getCommissionRatio());
}
commissionExpected.setCommissionRatio(commissionExpectedUpdateRequest.getCommissionRatio());
}
// 校验数据
validCommissionExpected(commissionExpected, false);
// 转换为实体类
BeanUtils.copyProperties(commissionExpectedUpdateRequest, commissionExpected);
if (commissionExpectedUpdateRequest.getRatio() != null) {
commissionExpected.setCommissionRatio(commissionExpectedUpdateRequest.getRatio());
} else {
commissionExpected.setCommissionRatio(commissionExpectedUpdateRequest.getCommissionRatio());
}
commissionExpected.setUpdateTime(new Date());
// 更新预计来佣
// 更新预计入账
return this.updateById(commissionExpected);
}
......
package com.yd.csf.service.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.auth.core.dto.AuthUserDto;
......@@ -13,6 +12,7 @@ import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.component.CommissionAsyncService;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.CommissionExpectedStatusEnum;
import com.yd.csf.service.enums.CommissionStatusEnum;
......@@ -37,7 +37,6 @@ import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
......
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