From da5df77bf60dcc9a67d5560a210fea96d225133f Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 12 十一月 2025 11:49:21 +0800
Subject: [PATCH] 简道云对接

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java          |    2 ++
 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java                                 |    7 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java               |    3 +++
 4 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index 6213c15..bd7699c 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -3604,6 +3604,13 @@
         return getDayEndTime(cal.getTime());
     }
 
+    public static String getDateStrOfUTCStr(String utcDate){
+        ZonedDateTime utcTime = ZonedDateTime.parse(utcDate,
+                DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssX").withZone(ZoneId.of("UTC")));
+        // 杞崲涓哄寳浜椂闂�
+        ZonedDateTime beijingTime = utcTime.withZoneSameInstant(ZoneId.of("Asia/Shanghai"));
+        return beijingTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+    }
     // 鑾峰彇褰撳ぉ鐨勫紑濮嬫椂闂�
     public static java.util.Date getDayBegin() {
         Calendar cal = new GregorianCalendar();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
index 31d9358..9c9270e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
@@ -156,6 +156,9 @@
     @ApiModelProperty(value = "閽夐拤寰呭姙浠诲姟褰掑睘浜轰富閿�")
     private String ddBelongToUnionId;
 
+    @ApiModelProperty(value = "绠�閬撲簯涓氬姟涓婚敭")
+    private String jdyId;
+
     @ApiModelProperty(value = "鍙告満濮撳悕", example = "1")
     @TableField(exist = false)
     private String driverName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java
index bc5f3aa..dd828c9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java
@@ -105,4 +105,6 @@
     List<DateIntervalVO> checkDateUse(Integer cars, String dateDay);
 
     void revoke(Integer id, String info, LoginUserInfo loginUserInfo);
+
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index e4fcb35..b020f1f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
@@ -44,6 +45,7 @@
 
 import java.time.LocalDateTime;
 import java.time.ZoneId;
+import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.Date;
@@ -642,4 +644,48 @@
     }
 
 
+    public void jdyPushCarUseBook(String dataInfo){
+        JSONObject dataInfoJSON = JSONObject.parseObject(dataInfo);
+        if(dataInfoJSON.isEmpty()){
+            return;
+        }
+        JSONObject dataJSON = dataInfoJSON.getJSONObject("data");
+        String id = dataJSON.getString("_id");
+        if(StringUtils.isEmpty(id)){
+            return;
+        }
+        String carCode = dataJSON.getString("car_no");
+        String startDate = dataJSON.getString("start_date");
+        String endDate = dataJSON.getString("end_date");
+        Integer status = dataJSON.getInteger("flowState");
+        String typeInfo =   dataJSON.getString("scope");
+        String reason =   dataJSON.getString("reason");
+        String addr =   dataJSON.getString("addr");
+        JSONArray usersArray =   dataJSON.getJSONArray("users");
+        JSONObject driverJSON = dataJSON.getJSONObject("driver");
+        if(!(Constants.equalsInteger(status,Constants.ONE)||Constants.equalsInteger(status,Constants.TWO))){
+
+        }
+
+        CarUseBook carUseBook = carUseBookJoinMapper.selectOne(new QueryWrapper<CarUseBook>()
+                .lambda().eq(CarUseBook::getJdyId,id).last("limit 1"));
+        if(Objects.isNull(carUseBook)){
+            carUseBook = new CarUseBook();
+            carUseBook.setCreateDate(new Date());
+            carUseBook.setCarCode(carCode);
+            carUseBook.setCarId(null);
+            carUseBook.setStartTime(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",DateUtil.getDateStrOfUTCStr(startDate)));
+            carUseBook.setEndTime(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",DateUtil.getDateStrOfUTCStr(endDate)));
+
+
+        }else{
+
+        }
+
+
+
+        
+    }
+    
+    
 }

--
Gitblit v1.9.3