|
|
@@ -2,14 +2,20 @@ package com.jzg.quotation.summary.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.jzg.commons.constants.CompanyConstants;
|
|
|
import com.jzg.commons.core.page.HttpResult;
|
|
|
import com.jzg.commons.entity.dto.InsOrdersAdd;
|
|
|
import com.jzg.commons.entity.dto.InsOrdersParam;
|
|
|
import com.jzg.commons.entity.dto.InsuranceInfo;
|
|
|
import com.jzg.commons.entity.orders.po.*;
|
|
|
+import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
|
|
|
import com.jzg.commons.entity.vo.InsOrdersOtherInfoVo;
|
|
|
import com.jzg.commons.entity.vo.InsOrdersVo;
|
|
|
import com.jzg.commons.entity.vo.OrdersListVo;
|
|
|
+import com.jzg.commons.util.StringUtils;
|
|
|
+import com.jzg.commons.util.idgen.IdGenerate;
|
|
|
+import com.jzg.quotation.commons.constant.enums.base.ProductsType;
|
|
|
+import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
|
|
|
import com.jzg.quotation.commons.utils.SnowFlakeUtil;
|
|
|
import com.jzg.quotation.summary.mapper.InsOrdersMapper;
|
|
|
import com.jzg.quotation.summary.service.*;
|
|
|
@@ -17,6 +23,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
|
@@ -43,6 +53,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
@Autowired
|
|
|
private InsOrdersTaxService insOrdersTaxService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InsOrdersCostsService insOrdersCostsService;
|
|
|
+
|
|
|
/**
|
|
|
* 保存订单信息
|
|
|
*
|
|
|
@@ -144,6 +157,51 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
+ public void generateOrders(QuoteVo quoteVo) {
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ // 保存主订单信息
|
|
|
+ InsOrders insOrders = new InsOrders();
|
|
|
+ insOrders.setQuoteNo(SnowFlakeUtil.getSnowFlakeId());
|
|
|
+ insOrders.setAgreementId(quoteVo.getOrder().getAgreementId());
|
|
|
+ insOrders.setOrderStatus("1");
|
|
|
+ insOrders.setApiType(String.valueOf(quoteVo.getOrder().getApiType()));
|
|
|
+ insOrders.setCompanyId(quoteVo.getOrder().getInsuranceCompanyCode());
|
|
|
+ insOrders.setOrderStatus("1");
|
|
|
+ String companyName = CompanyConstants.getCompanyNameByCode(quoteVo.getOrder().getInsuranceCompanyCode());
|
|
|
+ insOrders.setCompanyName(companyName);
|
|
|
+ insOrders.setProductId(quoteVo.getOrder().getProductsCode());
|
|
|
+ String productName = ProductsType.getProductNameByCode(quoteVo.getOrder().getProductsCode());
|
|
|
+ insOrders.setProductName(productName);
|
|
|
+ insOrdersMapper.insert(insOrders);
|
|
|
+
|
|
|
+ // 保存订单车辆信息
|
|
|
+ ordersCarInfoService.createCarInfo(insOrders, quoteVo.getCarInfoVo(), formatter);
|
|
|
+
|
|
|
+ // 保存订单用户信息
|
|
|
+ List<InsOrdersCarUserInfo> insOrdersCarUserInfoList = new ArrayList<>();
|
|
|
+ // 添加车主信息
|
|
|
+ insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getOwnersInfo(), formatter));
|
|
|
+ // 添加投保人信息
|
|
|
+ insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getPolicyHolderInfo(), formatter));
|
|
|
+ // 添加被保险人信息
|
|
|
+ insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getInsuredPersonInfo(), formatter));
|
|
|
+ ordersCarUserInfoService.saveBatch(insOrdersCarUserInfoList);
|
|
|
+
|
|
|
+ // 保存订单费用信息 ins_orders_costs
|
|
|
+ insOrdersCostsService.createCosts(insOrders);
|
|
|
+
|
|
|
+ // 保存订单险种信息 ins_orders_kind
|
|
|
+
|
|
|
+ // 保存订单其他信息 ins_orders_other
|
|
|
+
|
|
|
+ // 保存订单投保单号 保单号信息 ins_orders_policy
|
|
|
+
|
|
|
+ // 保存订单险种信息 ins_orders_risk
|
|
|
+
|
|
|
+ // 保存订单车船税税信息 ins_orders_tax
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|