|
@@ -76,9 +76,14 @@ import com.ydtech.modules.order.utils.InsuranceLog;
|
|
|
import com.ydtech.modules.protocol.entity.constants.PtlApiType;
|
|
import com.ydtech.modules.protocol.entity.constants.PtlApiType;
|
|
|
import com.ydtech.modules.protocol.utils.AssertionUtils;
|
|
import com.ydtech.modules.protocol.utils.AssertionUtils;
|
|
|
import com.ydtech.utils.DateTimeUtil;
|
|
import com.ydtech.utils.DateTimeUtil;
|
|
|
|
|
+import com.ydtech.utils.ObjectUtil;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import com.ydtech.utils.baidu.FileUtil;
|
|
import com.ydtech.utils.baidu.FileUtil;
|
|
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
|
|
+import lombok.Data;
|
|
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -451,15 +456,6 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- public String processingTime(String errorMsg, String regex){
|
|
|
|
|
- String coverageEndDate = GuorenDuplicateInsuranceComponent.getEndDate(errorMsg, regex);
|
|
|
|
|
-
|
|
|
|
|
- if (coverageEndDate.isEmpty()) {
|
|
|
|
|
- coverageEndDate = GuorenDuplicateInsuranceComponent.getEndDate(errorMsg, REGEX_ALONE);
|
|
|
|
|
- }
|
|
|
|
|
- return coverageEndDate;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 报价 交强险 重复 投保业务处理
|
|
* 报价 交强险 重复 投保业务处理
|
|
|
*/
|
|
*/
|
|
@@ -470,32 +466,86 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
|
|
|
requestInfoList.add(errorMsg);
|
|
requestInfoList.add(errorMsg);
|
|
|
log.info("永诚API方式 - xml请求 ------------报价 -> 交强重复投保----------------");
|
|
log.info("永诚API方式 - xml请求 ------------报价 -> 交强重复投保----------------");
|
|
|
|
|
|
|
|
- String coverageEndDate = processingTime(errorMsg, JQ_REGEX);
|
|
|
|
|
- if (coverageEndDate.isEmpty()) {
|
|
|
|
|
|
|
+ TimeEntity timeEntity = getRepeatStartEndTime(errorMsg, JQ_REGEX);
|
|
|
|
|
+
|
|
|
|
|
+ if(ObjectUtils.isEmpty(timeEntity)){
|
|
|
return "";
|
|
return "";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //判断是否是及时起保
|
|
|
|
|
- LocalDateTime start;
|
|
|
|
|
- if (coverageEndDate.contains(END_TIME)) {
|
|
|
|
|
- start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN).plusSeconds(1);
|
|
|
|
|
- } else {
|
|
|
|
|
- start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
- }
|
|
|
|
|
- LocalDateTime end = start.plusYears(1L).minusDays(1L);
|
|
|
|
|
- String newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
- String newEndDate = DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
- log.error("新起:{}", newStartDate);
|
|
|
|
|
- log.error("新止:{}", newEndDate);
|
|
|
|
|
- CarInsDateDto cidd = Base.buildInsDate(newStartDate, newEndDate);
|
|
|
|
|
|
|
+ log.error("新起:{}", timeEntity.getNewStartDate());
|
|
|
|
|
+ log.error("新止:{}", timeEntity.getNewEndDate());
|
|
|
|
|
+ CarInsDateDto cidd = Base.buildInsDate(timeEntity.getNewStartDate(), timeEntity.getNewEndDate());
|
|
|
m.getRequestLabel().getCondition().getBase().setTInsrncBgnTmJQ(cidd.getStartDate());
|
|
m.getRequestLabel().getCondition().getBase().setTInsrncBgnTmJQ(cidd.getStartDate());
|
|
|
m.getRequestLabel().getCondition().getBase().setTInsrncEndTmJQ(cidd.getEndDate());
|
|
m.getRequestLabel().getCondition().getBase().setTInsrncEndTmJQ(cidd.getEndDate());
|
|
|
m.getRequestLabel().getCondition().getBase().setCImmeffMrk(cidd.isForthwith() ? "1" : "0");
|
|
m.getRequestLabel().getCondition().getBase().setCImmeffMrk(cidd.isForthwith() ? "1" : "0");
|
|
|
- return coverageEndDate;
|
|
|
|
|
|
|
+ return timeEntity.getCoverageEndDate();
|
|
|
}
|
|
}
|
|
|
return "";
|
|
return "";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 处理时间
|
|
|
|
|
+ * @param errorMsg 报错信息
|
|
|
|
|
+ * @param regex 正则表达是
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ private String processingTime(String errorMsg, String regex){
|
|
|
|
|
+ String coverageEndDate = GuorenDuplicateInsuranceComponent.getEndDate(errorMsg, regex);
|
|
|
|
|
+
|
|
|
|
|
+ if (coverageEndDate.isEmpty()) {
|
|
|
|
|
+ coverageEndDate = GuorenDuplicateInsuranceComponent.getEndDate(errorMsg, REGEX_ALONE);
|
|
|
|
|
+ }
|
|
|
|
|
+ return coverageEndDate;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 通过报错信息获取开始时间和结束时间
|
|
|
|
|
+ * @param errorMsg
|
|
|
|
|
+ * @param regex
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ private TimeEntity getRepeatStartEndTime(String errorMsg, String regex){
|
|
|
|
|
+ String coverageEndDate = processingTime(errorMsg, regex);
|
|
|
|
|
+ TimeEntity timeEntity = new TimeEntity();
|
|
|
|
|
+
|
|
|
|
|
+ if (coverageEndDate.isEmpty()) {
|
|
|
|
|
+ return timeEntity;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ timeEntity.setCoverageEndDate(coverageEndDate);
|
|
|
|
|
+ LocalDateTime start;
|
|
|
|
|
+ if (coverageEndDate.contains(END_TIME)) {
|
|
|
|
|
+ start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN).plusSeconds(1);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
+ }
|
|
|
|
|
+ LocalDateTime end = start.plusYears(1L).minusDays(1L);
|
|
|
|
|
+ timeEntity.setNewStartDate(DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN));
|
|
|
|
|
+ timeEntity.setNewEndDate(DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN));
|
|
|
|
|
+ return timeEntity;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @AllArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class TimeEntity{
|
|
|
|
|
+
|
|
|
|
|
+ private String coverageEndDate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 开始时间
|
|
|
|
|
+ */
|
|
|
|
|
+ private String newStartDate ;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 结束时间
|
|
|
|
|
+ */
|
|
|
|
|
+ private String newEndDate;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 报价 商业 重复 投保业务处理
|
|
* 报价 商业 重复 投保业务处理
|
|
@@ -506,29 +556,20 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
|
|
|
if (appSYFlag) {
|
|
if (appSYFlag) {
|
|
|
requestInfoList.add(errorMsg);
|
|
requestInfoList.add(errorMsg);
|
|
|
log.info("永诚API方式 - xml请求 ------------报价 -> 商业险重复投保----------------");
|
|
log.info("永诚API方式 - xml请求 ------------报价 -> 商业险重复投保----------------");
|
|
|
|
|
+ TimeEntity timeEntity = getRepeatStartEndTime(errorMsg, SY_REGEX);
|
|
|
|
|
|
|
|
- String coverageEndDate = processingTime(errorMsg, SY_REGEX);
|
|
|
|
|
- if (coverageEndDate.isEmpty()) {
|
|
|
|
|
|
|
+ if(ObjectUtils.isEmpty(timeEntity)){
|
|
|
return "";
|
|
return "";
|
|
|
}
|
|
}
|
|
|
- LocalDateTime start;
|
|
|
|
|
- if (coverageEndDate.contains(END_TIME)) {
|
|
|
|
|
- start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN).plusSeconds(1);
|
|
|
|
|
- } else {
|
|
|
|
|
- start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
- }
|
|
|
|
|
- LocalDateTime end = start.plusYears(1L).minusDays(1L);
|
|
|
|
|
- String newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
- String newEndDate = DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
|
|
|
|
|
- log.error("商业新起:{}", newStartDate);
|
|
|
|
|
- log.error("商业新止:{}", newEndDate);
|
|
|
|
|
|
|
+ log.error("商业新起:{}", timeEntity.getNewStartDate());
|
|
|
|
|
+ log.error("商业新止:{}", timeEntity.getNewEndDate());
|
|
|
|
|
|
|
|
- m.getRequestLabel().getCondition().getBase().setTInsrncBgnTmSY(newStartDate);
|
|
|
|
|
- m.getRequestLabel().getCondition().getBase().setTInsrncEndTmSY(newEndDate);
|
|
|
|
|
|
|
+ m.getRequestLabel().getCondition().getBase().setTInsrncBgnTmSY(timeEntity.getNewStartDate());
|
|
|
|
|
+ m.getRequestLabel().getCondition().getBase().setTInsrncEndTmSY(timeEntity.getNewEndDate());
|
|
|
//转保信息清空 重新报价
|
|
//转保信息清空 重新报价
|
|
|
m.getRequestLabel().getCondition().getVhl().setCBusType("0");
|
|
m.getRequestLabel().getCondition().getVhl().setCBusType("0");
|
|
|
- return coverageEndDate;
|
|
|
|
|
|
|
+ return timeEntity.getCoverageEndDate();
|
|
|
}
|
|
}
|
|
|
return "";
|
|
return "";
|
|
|
}
|
|
}
|