Commit 340acc22 by jianan

出账检核-分期出账

parent 5c2e1a32
......@@ -412,6 +412,22 @@ public class ApiFortuneController {
}
/**
* 分期出账
*
* @param fortuneSplitRequest 分期出账请求
* @return
*/
@PostMapping("/split")
@Operation(summary = "分期出账")
public Result<Boolean> splitFortune(@RequestBody FortuneSplitRequest fortuneSplitRequest) {
if (fortuneSplitRequest == null || CollectionUtils.isEmpty(fortuneSplitRequest.getFortuneSplitDtoList())) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "分期出账请求不能为空");
}
// 操作数据库
return Result.success(fortuneService.splitFortune(fortuneSplitRequest));
}
/**
* 修改出账状态
*
* @param fortuneStatusUpdateRequest
......
......@@ -95,6 +95,12 @@ public class FortuneAddRequest implements Serializable {
private String currency;
/**
* 结算汇率
*/
@Schema(description = "结算汇率", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal exchangeRate;
/**
* 出账日期
*/
@Schema(description = "出账日期", requiredMode = Schema.RequiredMode.REQUIRED)
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class FortuneSplitDto {
/**
* 出账比例
*/
@Schema(description = "出账比例")
private BigDecimal splitRatio;
/**
* 原币种金额(自动计算)
*/
@Schema(description = "原币种金额(自动计算)")
private BigDecimal originalAmount;
/**
* 结算汇率
*/
@Schema(description = "结算汇率")
private BigDecimal exchangeRate;
/**
* 港币出账金额
*/
@Schema(description = "港币出账金额")
private BigDecimal hkdAmount;
/**
* 出账年月(估)
*/
@Schema(description = "出账年月(估)")
private String payoutYearMonth;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class FortuneSplitRequest implements Serializable {
/**
* 保单出账业务id
*/
@Schema(description = "保单出账业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String fortuneBizId;
/**
* 分期出账列表
*/
@Schema(description = "分期出账列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<FortuneSplitDto> fortuneSplitDtoList;
private static final long serialVersionUID = 1L;
}
......@@ -40,4 +40,6 @@ public interface FortuneService extends IService<Fortune> {
FortuneStatisticsVO getFortuneStatistics(List<Long> fortuneIdList);
Boolean addFortuneBatch(List<FortuneAddRequest> fortuneAddRequestList);
Boolean splitFortune(FortuneSplitRequest fortuneSplitRequest);
}
......@@ -45,4 +45,6 @@ public interface IExpectedFortuneService extends IService<ExpectedFortune> {
IPage<PayableReportVO> payableReportPage(Page<PayableReportVO> page, List<Long> expectedFortuneIds);
void updateBatchByBizId(List<String> expectedFortuneBizIdList, String status);
ExpectedFortune getByBizId(String expectedFortuneBizId);
}
......@@ -2,6 +2,7 @@ package com.yd.csf.service.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest;
......@@ -10,6 +11,7 @@ import com.yd.csf.service.dto.UserGradeDto;
import com.yd.csf.service.enums.CurrencyEnum;
import com.yd.csf.service.model.ExpectedFortune;
import com.yd.csf.service.dao.ExpectedFortuneMapper;
import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.model.Policy;
import com.yd.csf.service.model.PolicyFollow;
import com.yd.csf.service.service.*;
......@@ -175,4 +177,9 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
public void updateBatchByBizId(List<String> expectedFortuneBizIdList, String status) {
baseMapper.updateBatchByBizId(expectedFortuneBizIdList, status);
}
@Override
public ExpectedFortune getByBizId(String expectedFortuneBizId) {
return this.getOne(new QueryWrapper<ExpectedFortune>().eq("expected_fortune_biz_id", expectedFortuneBizId));
}
}
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