Commit 6cda528c by jianan

来佣接口13

parent c9bc1d61
......@@ -6,7 +6,6 @@ import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.read.metadata.ReadSheet;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.gson.Gson;
import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.CommonEnum;
......@@ -19,14 +18,8 @@ import com.yd.csf.api.listener.PolicyDataListener;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.PolicyFollowQueryRequest;
import com.yd.csf.service.dto.PolicyFollowUpdateRequest;
import com.yd.csf.service.model.CommissionExpected;
import com.yd.csf.service.model.Policy;
import com.yd.csf.service.model.PolicyBroker;
import com.yd.csf.service.model.PolicyFollow;
import com.yd.csf.service.service.CommissionExpectedService;
import com.yd.csf.service.service.PolicyBrokerService;
import com.yd.csf.service.service.PolicyFollowService;
import com.yd.csf.service.service.PolicyService;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*;
import com.yd.csf.service.vo.PolicyFollowVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
......@@ -40,10 +33,15 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
......@@ -59,7 +57,7 @@ public class ApiPolicyFollowController {
private static final Logger log = LoggerFactory.getLogger(ApiPolicyFollowController.class);
private final static Gson GSON = new Gson();
private final DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");
@Resource
private PolicyFollowService policyFollowService;
......@@ -71,6 +69,9 @@ public class ApiPolicyFollowController {
private PolicyDataListener policyDataListener;
@Resource
private CommissionExpectedService commissionExpectedService;
@Resource
private CustomerService customerService;
@PostMapping("/upload/excel")
......@@ -146,9 +147,21 @@ public class ApiPolicyFollowController {
return Result.success(true);
}
private List<PolicyFollowDTO> convertToObj(List<PolicyExcelDTO> list) {
private List<PolicyFollowDTO> convertToObj(List<PolicyExcelDTO> list) throws ParseException {
List<PolicyFollowDTO> policyFollowDTOList = new ArrayList<>();
// 获取所有保单持有人
Set<String> customerNames = list.stream()
.map(PolicyExcelDTO::getPolicyHolder)
.collect(Collectors.toSet());
// 根据保单持有人名称查询用户业务ID
List<Customer> customerList = customerService.lambdaQuery()
.in(Customer::getName, customerNames)
.list();
// 构建保单持有人名称到用户业务ID的映射
Map<String, String> customerNameToBizIdMap = customerList.stream()
.collect(Collectors.toMap(Customer::getName, Customer::getCustomerBizId, (oldValue, newValue) -> oldValue));
for (PolicyExcelDTO policyExcelDTO : list) {
String policyNo = policyExcelDTO.getPolicyNo();
// 生成新单编号
......@@ -157,6 +170,12 @@ public class ApiPolicyFollowController {
PolicyFollow policyFollow = new PolicyFollow();
BeanUtils.copyProperties(policyExcelDTO, policyFollow);
policyFollow.setPolicyBizId(policyBizId);
policyFollow.setSignDate(LocalDate.parse(policyExcelDTO.getSignDate(), DateTimeFormatter.ofPattern("yyyy/MM/dd")));
policyFollow.setEffectiveDate(LocalDate.parse(policyExcelDTO.getEffectiveDate(), DateTimeFormatter.ofPattern("yyyy/MM/dd")));
policyFollow.setRenewalDate(LocalDate.parse(policyExcelDTO.getRenewalDate(), DateTimeFormatter.ofPattern("yyyy/MM/dd")));
policyFollow.setInitialPremium(decimalFormat.parse(policyExcelDTO.getInitialPremium()));
policyFollow.setCustomerName(policyExcelDTO.getPolicyHolder());
policyFollow.setCustomerBizId(customerNameToBizIdMap.get(policyExcelDTO.getPolicyHolder()));
// 转换为Policy对象
Policy policy = new Policy();
......
......@@ -4,7 +4,6 @@ import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
@Data
public class PolicyExcelDTO {
......@@ -55,8 +54,8 @@ public class PolicyExcelDTO {
@ExcelProperty("保单币种")
private String currency;
@ExcelProperty("首期保费(不含徽费,预缴保费)")
private BigDecimal initialPremium;
@ExcelProperty(value = "首期保费(不含徽费,预缴保费)", index = 16)
private String initialPremium;
@ExcelProperty("签单人")
private String signer;
......
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import lombok.Data;
......@@ -44,7 +45,7 @@ public class PolicyFollow implements Serializable {
/**
* 签单日期
*/
private Date signDate;
private LocalDate signDate;
/**
* 签单人
......@@ -54,12 +55,12 @@ public class PolicyFollow implements Serializable {
/**
* 生效日期
*/
private Date effectiveDate;
private LocalDate effectiveDate;
/**
* 续保日期
*/
private Date renewalDate;
private LocalDate renewalDate;
/**
* 供款年期
......@@ -119,7 +120,7 @@ public class PolicyFollow implements Serializable {
/**
* 首期保费(不含徽费,预缴保费)
*/
private Integer initialPremium;
private Object initialPremium;
/**
* 通用备注
......
......@@ -131,7 +131,7 @@ public class PolicyFollowVO implements Serializable {
* 首期保费(不含徽费,预缴保费)
*/
@Schema(description = "首期保费(不含徽费,预缴保费)")
private Integer initialPremium;
private Object initialPremium;
/**
* 转介人
......
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