|
@@ -34,9 +34,7 @@ import com.ydtech.modules.fnc.service.InsFeeAuditService;
|
|
|
import com.ydtech.modules.ins.dao.InsFileMapper;
|
|
import com.ydtech.modules.ins.dao.InsFileMapper;
|
|
|
import com.ydtech.modules.ins.model.InsOrdersExcel;
|
|
import com.ydtech.modules.ins.model.InsOrdersExcel;
|
|
|
import com.ydtech.modules.ins.model.InsOrdersExcelVo;
|
|
import com.ydtech.modules.ins.model.InsOrdersExcelVo;
|
|
|
-import com.ydtech.modules.ins.model.vo.CarInfoVo;
|
|
|
|
|
-import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
|
|
|
|
|
-import com.ydtech.modules.ins.model.vo.QuoteKindRespVo;
|
|
|
|
|
|
|
+import com.ydtech.modules.ins.model.vo.*;
|
|
|
import com.ydtech.modules.ins.model.ya.CarModelDTO;
|
|
import com.ydtech.modules.ins.model.ya.CarModelDTO;
|
|
|
import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
|
|
import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
|
|
|
import com.ydtech.modules.ins.model.ya.ResponseDataC2;
|
|
import com.ydtech.modules.ins.model.ya.ResponseDataC2;
|
|
@@ -44,18 +42,15 @@ import com.ydtech.modules.inv.utils.EasyExcelUtils;
|
|
|
import com.ydtech.modules.order.convert.CarModelDTOConvert;
|
|
import com.ydtech.modules.order.convert.CarModelDTOConvert;
|
|
|
import com.ydtech.modules.order.convert.MapToYaExtendInfoDto;
|
|
import com.ydtech.modules.order.convert.MapToYaExtendInfoDto;
|
|
|
import com.ydtech.modules.order.dao.InsOrdersMapper;
|
|
import com.ydtech.modules.order.dao.InsOrdersMapper;
|
|
|
-import com.ydtech.modules.order.entity.BasePageResult;
|
|
|
|
|
-import com.ydtech.modules.order.entity.InsAreaCompany;
|
|
|
|
|
-import com.ydtech.modules.order.entity.InsOrders;
|
|
|
|
|
-import com.ydtech.modules.order.entity.InsOrdersTrack;
|
|
|
|
|
|
|
+import com.ydtech.modules.order.entity.*;
|
|
|
import com.ydtech.modules.order.entity.bo.InsOrdersBo;
|
|
import com.ydtech.modules.order.entity.bo.InsOrdersBo;
|
|
|
import com.ydtech.modules.order.entity.bo.UnderwritingRulesBo;
|
|
import com.ydtech.modules.order.entity.bo.UnderwritingRulesBo;
|
|
|
import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse;
|
|
import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse;
|
|
|
import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
|
|
import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
|
|
|
import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
|
|
import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
|
|
|
-import com.ydtech.modules.order.entity.po.InsOrdersCarInfo;
|
|
|
|
|
-import com.ydtech.modules.order.entity.po.InsOrdersCarUserInfo;
|
|
|
|
|
|
|
+import com.ydtech.modules.order.entity.po.*;
|
|
|
import com.ydtech.modules.order.entity.vo.*;
|
|
import com.ydtech.modules.order.entity.vo.*;
|
|
|
|
|
+import com.ydtech.modules.order.entity.vo.OrderVo;
|
|
|
import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
|
|
import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
|
|
|
import com.ydtech.modules.order.service.*;
|
|
import com.ydtech.modules.order.service.*;
|
|
|
import com.ydtech.modules.protocol.entity.constants.PtlApiType;
|
|
import com.ydtech.modules.protocol.entity.constants.PtlApiType;
|
|
@@ -138,6 +133,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private InsOrdersCarInfoService insOrdersCarInfoService;
|
|
private InsOrdersCarInfoService insOrdersCarInfoService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private InsOrdersRiskService insOrdersRiskService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private InsOrdersKingService insOrdersKingService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private InsOrdersTaxService insOrdersTaxService;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
public InsOrdersServiceImpl(OrderComponents orderComponents, SysUserService sysUserService,
|
|
public InsOrdersServiceImpl(OrderComponents orderComponents, SysUserService sysUserService,
|
|
|
SysUserRoleService sysUserRoleService,
|
|
SysUserRoleService sysUserRoleService,
|
|
@@ -210,13 +214,17 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<CarModelDTO> vinSearch(String vin) {
|
|
public List<CarModelDTO> vinSearch(String vin) {
|
|
|
- LambdaQueryWrapper<InsOrders> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
- wrapper.select(InsOrders::getCarinfo);
|
|
|
|
|
- wrapper.eq(InsOrders::getFrameno, vin).eq(InsOrders::getOrderstatus,
|
|
|
|
|
- InsOrderStatusEnum.ACCEPT_INSURANCE.getCode()).orderByAsc(InsOrders::getCreatetime).last("limit 1");
|
|
|
|
|
- InsOrders insOrders = baseMapper.selectOne(wrapper);
|
|
|
|
|
- if (!ObjectUtils.isEmpty(insOrders)) {
|
|
|
|
|
- CarInfoVo carInfoVo = JSON.parseObject(JSONObject.toJSONString(insOrders.getCarinfo()), CarInfoVo.class);
|
|
|
|
|
|
|
+ LambdaQueryWrapper<InsOrdersCarInfo> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+// wrapper.select(InsOrdersBo::getCarinfo);
|
|
|
|
|
+// wrapper.eq(InsOrdersCarInfo::getFrameno, vin).eq(InsOrdersBo::getOrderstatus,
|
|
|
|
|
+// InsOrderStatusEnum.ACCEPT_INSURANCE.getCode()).orderByAsc(InsOrdersBo::getCreatetime).last("limit 1");
|
|
|
|
|
+ wrapper.inSql(InsOrdersCarInfo::getOrderNo, "select orderno from ins_orders where orderstatus = 3 orderByAsc createtime limit 1");
|
|
|
|
|
+ wrapper.eq(InsOrdersCarInfo::getFrameNo, vin);
|
|
|
|
|
+
|
|
|
|
|
+ InsOrdersCarInfo insOrdersCarInfo = insOrdersCarInfoService.getOne(wrapper);
|
|
|
|
|
+ if (!ObjectUtils.isEmpty(insOrdersCarInfo)) {
|
|
|
|
|
+// CarInfoVo carInfoVo = JSON.parseObject(JSONObject.toJSONString(insOrders.getCarinfo()), CarInfoVo.class);
|
|
|
|
|
+ CarInfoVo carInfoVo = insOrdersCarInfo.toCarInfoVo();
|
|
|
CarModelDTO carModelDTO = CarModelDTOConvert.INSTANCE.CarInfoVotoCarModelDTO(carInfoVo);
|
|
CarModelDTO carModelDTO = CarModelDTOConvert.INSTANCE.CarInfoVotoCarModelDTO(carInfoVo);
|
|
|
return Collections.singletonList(carModelDTO);
|
|
return Collections.singletonList(carModelDTO);
|
|
|
}
|
|
}
|
|
@@ -224,12 +232,20 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public InsOrders existOrder(String orderNo) {
|
|
|
|
|
|
|
+ public InsOrdersBo existOrder(String orderNo) {
|
|
|
InsOrders insOrders = this.getById(orderNo);
|
|
InsOrders insOrders = this.getById(orderNo);
|
|
|
|
|
+ InsOrdersBo insOrdersBo = new InsOrdersBo();
|
|
|
|
|
+ BeanUtils.copyProperties(insOrders, insOrdersBo);
|
|
|
|
|
+
|
|
|
|
|
+ insOrdersBo.setCarinfo(insOrdersCarInfoService.getCarInfoByOrderNo(insOrders.getOrderno()));
|
|
|
|
|
+ insOrdersBo.setCarUserInfo(insOrdersCarUserInfoService.getCarUserInfoByOrderNo(insOrders.getOrderno()));
|
|
|
|
|
+ insOrdersBo.setRisk(insOrdersRiskService.queryByOrderNo(insOrders.getOrderno()));
|
|
|
|
|
+ insOrdersBo.setKing(insOrdersKingService.queryByOrderNo(insOrders.getOrderno()));
|
|
|
|
|
+
|
|
|
if (ObjectUtils.isEmpty(insOrders)) {
|
|
if (ObjectUtils.isEmpty(insOrders)) {
|
|
|
throw new SystemException("订单不存在");
|
|
throw new SystemException("订单不存在");
|
|
|
}
|
|
}
|
|
|
- return insOrders;
|
|
|
|
|
|
|
+ return insOrdersBo;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -267,14 +283,14 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
SysUser user = sysUserService.getById(realUserId);
|
|
SysUser user = sysUserService.getById(realUserId);
|
|
|
SysDept dept = sysDeptService.getById(user.getDeptId());
|
|
SysDept dept = sysDeptService.getById(user.getDeptId());
|
|
|
// 2 构造订单
|
|
// 2 构造订单
|
|
|
- InsOrders insOrders = new InsOrders(user, dept, quoteInfoVo);
|
|
|
|
|
|
|
+ InsOrdersBo insOrders = new InsOrdersBo(user, dept, quoteInfoVo);
|
|
|
if (daikeFlag) {//当时代客录单业务时,才需要赋值该字段
|
|
if (daikeFlag) {//当时代客录单业务时,才需要赋值该字段
|
|
|
insOrders.setOperatorid(userId);//赋值代客录单操作人为登录人
|
|
insOrders.setOperatorid(userId);//赋值代客录单操作人为登录人
|
|
|
}
|
|
}
|
|
|
if (isCdy) {//赋值出单员 操作人为登录人
|
|
if (isCdy) {//赋值出单员 操作人为登录人
|
|
|
insOrders.setOperatorid(userId);
|
|
insOrders.setOperatorid(userId);
|
|
|
}
|
|
}
|
|
|
- InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
|
|
|
|
|
|
|
+ InsOrdersBo insOrders1 = this.queryInsOrders(quoteInfoVo.getOrderNo());
|
|
|
|
|
|
|
|
//需要赋值代录单人ID
|
|
//需要赋值代录单人ID
|
|
|
|
|
|
|
@@ -303,7 +319,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
} else {
|
|
} else {
|
|
|
// 修改订单
|
|
// 修改订单
|
|
|
insOrders.setOrderno(quoteInfoVo.getOrderNo());
|
|
insOrders.setOrderno(quoteInfoVo.getOrderNo());
|
|
|
- this.updateById(insOrders);
|
|
|
|
|
|
|
+ this.updateById(insOrders.toInsOrders());
|
|
|
}
|
|
}
|
|
|
// 4 将报价信息存入redis 中
|
|
// 4 将报价信息存入redis 中
|
|
|
String s = JSON.toJSONString(quoteInfoVo);
|
|
String s = JSON.toJSONString(quoteInfoVo);
|
|
@@ -315,7 +331,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
redisTemplate.opsForValue().set(QUOTE_RULES_KEY + insOrders.getOrderno(), rules, QUOTE_RULES_KEY_TIME,
|
|
redisTemplate.opsForValue().set(QUOTE_RULES_KEY + insOrders.getOrderno(), rules, QUOTE_RULES_KEY_TIME,
|
|
|
TimeUnit.HOURS);
|
|
TimeUnit.HOURS);
|
|
|
|
|
|
|
|
- return insOrders;
|
|
|
|
|
|
|
+ return insOrders.toInsOrders();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -698,7 +714,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public InsOrdersEditingVo revise(String orderNo) {
|
|
public InsOrdersEditingVo revise(String orderNo) {
|
|
|
- InsOrders insOrders = getById(orderNo);
|
|
|
|
|
|
|
+ InsOrdersBo insOrders = queryInsOrders(orderNo);
|
|
|
List<InsAreaCompany> insAreaCompanyList =
|
|
List<InsAreaCompany> insAreaCompanyList =
|
|
|
insAreaCompanyService.lambdaQuery().eq(InsAreaCompany::getOrderno, orderNo).orderByDesc(InsAreaCompany::getCreatetime).list();
|
|
insAreaCompanyService.lambdaQuery().eq(InsAreaCompany::getOrderno, orderNo).orderByDesc(InsAreaCompany::getCreatetime).list();
|
|
|
insOrders.setInsAreaCompanyList(insAreaCompanyList);
|
|
insOrders.setInsAreaCompanyList(insAreaCompanyList);
|
|
@@ -764,12 +780,56 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional
|
|
@Transactional
|
|
|
- public boolean saveAndTrajectories(InsOrders insOrders) {
|
|
|
|
|
- this.baseMapper.insert(insOrders);
|
|
|
|
|
|
|
+ public boolean saveAndTrajectories(InsOrdersBo insOrders) {
|
|
|
|
|
+ // 订单信息
|
|
|
|
|
+ final String orderNo = insOrders.getOrderno();
|
|
|
|
|
+
|
|
|
|
|
+ //1. 车辆信息
|
|
|
|
|
+ insOrdersCarInfoService.save(insOrders.getCarinfo());
|
|
|
|
|
+
|
|
|
|
|
+ // 2 人员信息
|
|
|
|
|
+ List<InsOrdersCarUserInfo> carUserInfoList = new ArrayList<>();
|
|
|
|
|
+ carUserInfoList.add(insOrders.getOwnerinfo());
|
|
|
|
|
+ carUserInfoList.add(insOrders.getApplyinfo());
|
|
|
|
|
+ carUserInfoList.add(insOrders.getInsureinfo());
|
|
|
|
|
+ insOrdersCarUserInfoService.saveBatch(carUserInfoList);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 3 车船税信息
|
|
|
|
|
+ InsOrdersTax insOrdersTax = insOrders.getVehicleAndVesselTax();
|
|
|
|
|
+ insOrdersTaxService.save(insOrdersTax);
|
|
|
|
|
+
|
|
|
|
|
+ // 4 交强商业信息表
|
|
|
|
|
+ List<InsOrdersKing> kingList = insOrders.getKing();
|
|
|
|
|
+ insOrdersKingService.saveBatch(kingList);
|
|
|
|
|
+
|
|
|
|
|
+ // 5 商业险险种信息
|
|
|
|
|
+ List<InsOrdersRisk> riskList = insOrders.getRisk();
|
|
|
|
|
+ insOrdersRiskService.saveBatch(riskList);
|
|
|
|
|
+
|
|
|
SaSession saSession = StpUtil.getSessionByLoginId(StpUtil.getLoginId());
|
|
SaSession saSession = StpUtil.getSessionByLoginId(StpUtil.getLoginId());
|
|
|
SysUser sysUser = (SysUser) saSession.get(SaSession.USER);
|
|
SysUser sysUser = (SysUser) saSession.get(SaSession.USER);
|
|
|
final InsOrdersTrack insOrdersTrack = new InsOrdersTrack(insOrders, sysUser.getId(), sysUser.getName());
|
|
final InsOrdersTrack insOrdersTrack = new InsOrdersTrack(insOrders, sysUser.getId(), sysUser.getName());
|
|
|
insOrdersTrackService.save(insOrdersTrack);
|
|
insOrdersTrackService.save(insOrdersTrack);
|
|
|
|
|
+ this.baseMapper.insert(insOrders.toInsOrders());
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional
|
|
|
|
|
+ public boolean updateInsOrders(InsOrdersBo insOrders) {
|
|
|
|
|
+ // 订单信息
|
|
|
|
|
+ final String orderNo = insOrders.getOrderno();
|
|
|
|
|
+
|
|
|
|
|
+ //1. 车辆信息
|
|
|
|
|
+ insOrdersCarInfoService.updateByOrderNo(insOrders.getCarinfo());
|
|
|
|
|
+
|
|
|
|
|
+ // 2 人员信息
|
|
|
|
|
+ List<InsOrdersCarUserInfo> carUserInfoList = new ArrayList<>();
|
|
|
|
|
+ carUserInfoList.add(insOrders.getOwnerinfo());
|
|
|
|
|
+ carUserInfoList.add(insOrders.getApplyinfo());
|
|
|
|
|
+ carUserInfoList.add(insOrders.getInsureinfo());
|
|
|
|
|
+ insOrdersCarUserInfoService.updateBatchById(carUserInfoList);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -874,7 +934,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersBo.setCarUserInfo(ordersCarUserInfos);
|
|
insOrdersBo.setCarUserInfo(ordersCarUserInfos);
|
|
|
//获取车辆信息
|
|
//获取车辆信息
|
|
|
InsOrdersCarInfo insOrdersCarInfo = insOrdersCarInfoService.getCarInfoByOrderNo(orderNo);
|
|
InsOrdersCarInfo insOrdersCarInfo = insOrdersCarInfoService.getCarInfoByOrderNo(orderNo);
|
|
|
- insOrdersBo.setCarAllInfo(insOrdersCarInfo);
|
|
|
|
|
|
|
+// insOrdersBo.setCarAllInfo(insOrdersCarInfo);
|
|
|
return insOrdersBo;
|
|
return insOrdersBo;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|