Przeglądaj źródła

诚泰 bug修改

785834757 4 miesięcy temu
rodzic
commit
222576282b

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/api/chengtai/request/PremiumCalculationRequest.java

@@ -624,7 +624,7 @@ public class PremiumCalculationRequest {
             this.loanVehicleFlag = "0";
             this.seatNum = Integer.valueOf(vehicle.getSeat());
             this.displacement = vehicle.getVehicleDisplacement();
-            this.power = Integer.valueOf(carInfoVo.getPowerScale());
+            this.power = (int) Double.parseDouble(carInfoVo.getPowerScale());
             if (carInfoVo.getEnergyType().equals("0")) {
                 this.energyFlag = "0";
             } else {

+ 29 - 9
src/main/java/com/ydtech/modules/order/service/impl/ChengTaiOrderApiServiceImpl.java

@@ -54,6 +54,8 @@ import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.OffsetDateTime;
@@ -262,13 +264,24 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
                 if (startDate.endsWith("00:00:00")) {
                     endDate = TimeProcessing.minusOneSecondAfterYear(startDate);
                 } else {
-                    endDate = TimeProcessing.minusOneDayAfterYear(startDate);
+                    endDate = TimeProcessing.plusOneYearToString(startDate);
                 }
-                final String formatStartDate = XmlDateTimeFormatter.format(startDate);
-                final String formatEndDate = XmlDateTimeFormatter.format(endDate);
+                final String formatStartDate = startDate;
+                final String formatEndDate = endDate;
                 quoteInfoVo.getRiskList().forEach(riskInfoVo -> {
-                    riskInfoVo.setStartDate(formatStartDate);
-                    riskInfoVo.setEndDate(formatEndDate);
+                    String start,end = "";
+                    // 处理商业险的即时起保
+                    if(riskInfoVo.getRiskCode().equals("0510")){
+                        if(!formatStartDate.endsWith("00:00:00")){
+                            start = TimeProcessing.tomorrowDateTime(formatStartDate);
+                            end = TimeProcessing.tomorrowDateTime(formatEndDate);
+                            riskInfoVo.setStartDate(start);
+                            riskInfoVo.setEndDate(end);
+                        }
+                    }else {
+                        riskInfoVo.setStartDate(formatStartDate);
+                        riskInfoVo.setEndDate(formatEndDate);
+                    }
                 });
                 premiumCalculationRequest = new PremiumCalculationRequest(quoteInfoVo,carActualValue,parameters,vehicle,quoteVo,quoteInfoVo.getRiskList(),null);
                 premiumCalculationResponse = chengTaiRequestApiComponent.premiumCalculation(premiumCalculationRequest);
@@ -931,6 +944,8 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
 
     @Override
     public HttpResult<Object> policyStatus(String companyId) throws Exception {
+
+        StringBuilder errorMessage = new StringBuilder();
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
 
         // 1 通过 协议id获取配置实体
@@ -992,13 +1007,18 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
                 insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
                 return HttpResult.ok("状态更新成功");
             }
-        } else {
+
+            if (ebCallbackData.getUnderWriteInd().equals("2") || ebCallbackData.getUnderWriteInd().equals("4")){
+                errorMessage.append(ebCallbackData.getOperateText());
+            }
+        }
+        if(!errorMessage.toString().equals("")){
             insSubOrderUpdateDetailService.insertData(insAreaCompany, insAreaCompany.getOrderstatus(), InsOrderStatusEnum.TO_BACK.getCode(), "1");
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
-            insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, policyStatusResponse.getResponseHead().getErrorMessage());
-            return HttpResult.error(policyStatusResponse.getResponseHead().getErrorMessage());
+            insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, errorMessage.toString());
+            return HttpResult.error(errorMessage.toString());
         }
-        return null;
+        return HttpResult.error(errorMessage.toString());
     }
 
 

+ 17 - 0
src/main/java/com/ydtech/modules/order/utils/TimeProcessing.java

@@ -139,6 +139,23 @@ public final class TimeProcessing {
         return LocalDateTime.now().format(DATE_TIME_FORMATTER);
     }
 
+
+    /**
+     * 明天的 整点日期
+     * @param time
+     * @return
+     */
+    public static String tomorrowDateTime(String time) {
+        // 解析传入的时间字符串
+        LocalDateTime localDateTime = LocalDateTime.parse(time, DATE_TIME_FORMATTER);
+
+        // 加1天,并设置为 00:00:00
+        return localDateTime.plusDays(1)
+                .toLocalDate()
+                .atStartOfDay()
+                .format(DATE_TIME_FORMATTER);
+    }
+
     /**
      * 明天的 明天0点0分0秒
      *