|
|
@@ -3,6 +3,7 @@ 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.constants.dict.InsOrderStatusEnum;
|
|
|
import com.jzg.commons.core.page.HttpResult;
|
|
|
import com.jzg.commons.entity.dto.InsOrdersAdd;
|
|
|
import com.jzg.commons.entity.dto.InsOrdersParam;
|
|
|
@@ -16,9 +17,12 @@ 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.commons.util.idgen.IdGenerate;
|
|
|
+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.*;
|
|
|
+import org.apache.commons.beanutils.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -27,6 +31,7 @@ import java.math.BigDecimal;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
|
@@ -80,7 +85,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
if (quoteNo == null) {
|
|
|
return HttpResult.error("生成引用编号失败");
|
|
|
}
|
|
|
- insOrders.setQuoteNo(quoteNo);
|
|
|
+ insOrders.setQuoteNo(String.valueOf(quoteNo));
|
|
|
|
|
|
// 插入订单信息,如果插入失败,则返回错误信息
|
|
|
int insertResult = insOrdersMapper.insert(insOrders);
|
|
|
@@ -91,13 +96,13 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
// 获取车辆信息对象,并设置订单编号,然后保存车辆信息
|
|
|
InsOrdersCarInfo carInfoVo = ordersAdd.getCarInfoVo();
|
|
|
- carInfoVo.setOrderNo(quoteNo);
|
|
|
+ carInfoVo.setOrderNo(String.valueOf(quoteNo));
|
|
|
ordersCarInfoService.save(carInfoVo);
|
|
|
|
|
|
// 获取用户信息对象,并设置订单编号,然后保存用户信息
|
|
|
List<InsOrdersCarUserInfo> carUserInfoList = ordersAdd.getCarUserInfoList();
|
|
|
for (InsOrdersCarUserInfo carUserInfo : carUserInfoList) {
|
|
|
- carUserInfo.setOrderNo(quoteNo);
|
|
|
+ carUserInfo.setOrderNo(String.valueOf(quoteNo));
|
|
|
}
|
|
|
ordersCarUserInfoService.saveBatch(carUserInfoList);
|
|
|
|
|
|
@@ -144,6 +149,33 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public boolean saveQuoteOrders(QuoteVo quoteVo) throws InvocationTargetException, IllegalAccessException {
|
|
|
+ InsOrders insOrders = new InsOrders();
|
|
|
+ insOrders.setId(IdGenerate.nextId());
|
|
|
+ insOrders.setQuoteNo(quoteVo.getOrder().getQuoteNo());
|
|
|
+ insOrders.setOrderStatus(InsOrderStatusEnum.QUOTE_ING.getCode());
|
|
|
+ insOrders.setCompanyId(quoteVo.getOrder().getInsuranceCompanyCode());
|
|
|
+ insOrders.setProductId(quoteVo.getOrder().getProductsCode());
|
|
|
+// insOrdersMapper.insert(insOrders);
|
|
|
+
|
|
|
+ InsOrdersCarInfo carInfo = new InsOrdersCarInfo();
|
|
|
+ BeanUtils.copyProperties(carInfo,quoteVo.getCarInfoVo());
|
|
|
+ carInfo.setOrderNo(insOrders.getId());
|
|
|
+
|
|
|
+ InsOrdersCarUserInfo ownersInfo = new InsOrdersCarUserInfo();
|
|
|
+ BeanUtils.copyProperties(ownersInfo,quoteVo.getOwnersInfo());
|
|
|
+
|
|
|
+ InsOrdersCarUserInfo insuredPersonInfo = new InsOrdersCarUserInfo();
|
|
|
+ BeanUtils.copyProperties(insuredPersonInfo,quoteVo.getInsuredPersonInfo());
|
|
|
+
|
|
|
+ InsOrdersCarUserInfo policyHolderInfo = new InsOrdersCarUserInfo();
|
|
|
+ BeanUtils.copyProperties(policyHolderInfo,quoteVo.getPolicyHolderInfo());
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public IPage<OrdersListVo> pageList(InsOrdersParam insOrdersParam) {
|
|
|
@@ -159,15 +191,14 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
@Override
|
|
|
public void generateOrders(QuoteVo quoteVo) {
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
// 保存主订单信息
|
|
|
InsOrders insOrders = new InsOrders();
|
|
|
- insOrders.setQuoteNo(SnowFlakeUtil.getSnowFlakeId());
|
|
|
+ insOrders.setQuoteNo(String.valueOf(SnowFlakeUtil.getSnowFlakeId()));
|
|
|
insOrders.setAgreementId(quoteVo.getOrder().getAgreementId());
|
|
|
- insOrders.setOrderStatus("1");
|
|
|
+ insOrders.setOrderStatus(InsOrderStatusEnum.QUOTE_ING.getCode()); // 订单状态 报价中
|
|
|
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());
|
|
|
@@ -181,11 +212,11 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
// 保存订单用户信息
|
|
|
List<InsOrdersCarUserInfo> insOrdersCarUserInfoList = new ArrayList<>();
|
|
|
// 添加车主信息
|
|
|
- insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getOwnersInfo(), formatter));
|
|
|
+ insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getOwnersInfo(), formatter,1));
|
|
|
// 添加投保人信息
|
|
|
- insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getPolicyHolderInfo(), formatter));
|
|
|
+ insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getPolicyHolderInfo(), formatter,2));
|
|
|
// 添加被保险人信息
|
|
|
- insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getInsuredPersonInfo(), formatter));
|
|
|
+ insOrdersCarUserInfoList.add(ordersCarUserInfoService.createUserInfo(insOrders.getId(), quoteVo.getInsuredPersonInfo(), formatter,3));
|
|
|
ordersCarUserInfoService.saveBatch(insOrdersCarUserInfoList);
|
|
|
|
|
|
// 保存订单费用信息 ins_orders_costs
|