|
|
@@ -198,12 +198,20 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
|
|
|
// 统一调整为次日北京时间0点(已0点则不变),避免继续判定为重复投保
|
|
|
utcTime = DateUtil.getNextDayMidnightUtc(utcTime);
|
|
|
|
|
|
- // 根据重复投保类型分别设置起保时间:交强险只改 begintimeCi,商业险只改 begintimeBi
|
|
|
- // 注意:商业险错误信息不含"商业险平台返回",故通过"交强险平台返回"反推
|
|
|
- if (errorMsg.contains("交强险平台返回")) {
|
|
|
+ // 根据本次投保险种类型分别设置起保时间:
|
|
|
+ // 单交(仅交强险)只改 begintimeCi,单商(仅商业险)只改 begintimeBi;
|
|
|
+ // 交商(交强险+商业险同时投保)时商业险时间和交强险时间都需要修改,否则仅改其一仍会被判定重复投保
|
|
|
+ boolean hasCiRisk = quoteVo.getCiRiskInfoVo() != null;
|
|
|
+ boolean hasBiRisk = CollUtil.isNotEmpty(quoteVo.getKindInfoVo());
|
|
|
+ if (hasCiRisk && hasBiRisk) {
|
|
|
+ // 交商:商业险、交强险起保时间都修改
|
|
|
+ calculationRequest.setBegintimeCi(utcTime);
|
|
|
+ calculationRequest.setBegintimeBi(utcTime);
|
|
|
+ } else if (hasCiRisk) {
|
|
|
+ // 单交:仅修改交强险起保时间
|
|
|
calculationRequest.setBegintimeCi(utcTime);
|
|
|
} else {
|
|
|
- // 不含交强险标识则为商业险重复投保
|
|
|
+ // 单商:仅修改商业险起保时间
|
|
|
calculationRequest.setBegintimeBi(utcTime);
|
|
|
}
|
|
|
// 驾意险不支持即时起保:北京时间0点则直接复用,非0点则自动设为下一日0点
|