From eaf169bd3379554b5f5b9052c76f7d82e5dcae17 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 27 二月 2024 15:15:25 +0800
Subject: [PATCH] 整理

---
 admin/src/views/business/carEvent.vue                                                                    |   20 ++--
 server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java                  |    2 
 server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java                                |    4 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java |  117 +++++++++++++++++++++++++++++
 admin/src/components/business/OperaVisitsDesWindow.vue                                                   |   14 +++
 admin/src/views/business/parkBook.vue                                                                    |   45 +++++++++-
 server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java                                     |    8 ++
 admin/src/api/business/parkBook.js                                                                       |    4 +
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java  |    4 +
 9 files changed, 201 insertions(+), 17 deletions(-)

diff --git a/admin/src/api/business/parkBook.js b/admin/src/api/business/parkBook.js
index f5efbe0..b53a6a3 100644
--- a/admin/src/api/business/parkBook.js
+++ b/admin/src/api/business/parkBook.js
@@ -16,6 +16,10 @@
 export function updateById (data) {
   return request.post('/business/parkBook/updateById', data)
 }
+// 淇敼
+export function reUpdate (data) {
+  return request.post('/business/parkBook/reUpdate', data)
+}
 
 // 鍒犻櫎
 export function deleteById (id) {
diff --git a/admin/src/components/business/OperaVisitsDesWindow.vue b/admin/src/components/business/OperaVisitsDesWindow.vue
index 2e8bf42..706aa05 100644
--- a/admin/src/components/business/OperaVisitsDesWindow.vue
+++ b/admin/src/components/business/OperaVisitsDesWindow.vue
@@ -26,6 +26,20 @@
                         border
                         :header-cell-style="{background: '#dcdde2', color: 'rgb(51, 51, 51)'}"
                         style="width: 100%">
+                      <el-table-column prop="status"   label="鐘舵��" min-width="100px">
+                        <template slot-scope="{row}">
+                          <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">寰呮彁浜ゅ鎵�</span>
+                          <span v-if="row.status === 1">瀹℃壒涓�</span>
+                          <span v-if="row.status === 2">瀹℃牳閫氳繃</span>
+                          <span style="color: red;" v-if="row.status === 3">瀹℃牳涓嶉�氳繃</span>
+                          <span v-if="row.status === 4">鍙栨秷</span>
+                          <span v-if="row.status === 5">棰勭害鎴愬姛</span>
+                          <span v-if="row.status === 6">棰勭害澶辫触</span>
+                          <span v-if="row.status === 7">鎷滆涓�</span>
+                          <span v-if="row.status === 8">宸茬绂�</span>
+                          <span v-if="row.status === 9">宸插け鏁�</span>
+                        </template>
+                      </el-table-column>
                         <el-table-column
                             width="150"
                             label="濮撳悕">
diff --git a/admin/src/views/business/carEvent.vue b/admin/src/views/business/carEvent.vue
index bded4fb..1837fe2 100644
--- a/admin/src/views/business/carEvent.vue
+++ b/admin/src/views/business/carEvent.vue
@@ -59,16 +59,6 @@
                 stripe
             >
                 <el-table-column prop="plateNos" label="杞︾墝鍙�" min-width="100px"></el-table-column>
-                <el-table-column label="褰掑睘鐢ㄦ埛绫诲瀷" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.personType === '0'">鍔冲姟璁垮</span>
-                        <span v-if="row.personType === '1'">鏅�氳瀹�</span>
-                        <span v-if="row.personType === '2'">鍐呴儴浜哄憳</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="personName" label="濮撳悕" min-width="100px"></el-table-column>
-                <el-table-column prop="personPhone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="personCompanyName" label="鍏徃/閮ㄩ棬" min-width="100px"></el-table-column>
                 <el-table-column prop="parkName" label="鍋滆溅搴撳悕绉�" min-width="100px"></el-table-column>
                 <el-table-column prop="gateName" label="鍑哄叆鍙e悕绉�" min-width="100px"></el-table-column>
                 <el-table-column prop="eventTypeName" label="浜嬩欢绫诲瀷" min-width="100px"></el-table-column>
@@ -78,6 +68,16 @@
                         <span v-if="row.inoutType === 1">鍑哄満</span>
                     </template>
                 </el-table-column>
+              <el-table-column label="褰掑睘鐢ㄦ埛绫诲瀷" min-width="100px">
+                <template slot-scope="{row}">
+                  <span v-if="row.personType === '0'">鍔冲姟璁垮</span>
+                  <span v-if="row.personType === '1'">鏅�氳瀹�</span>
+                  <span v-if="row.personType === '2'">鍐呴儴浜哄憳</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="personName" label="濮撳悕" min-width="100px"></el-table-column>
+              <el-table-column prop="personPhone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
+              <el-table-column prop="personCompanyName" label="鍏徃/閮ㄩ棬" min-width="100px"></el-table-column>
               <el-table-column label="杞︾墝鎶撴媿鍥�" min-width="100px">
                 <template slot-scope="{row}">
                   <div  v-if="row.platePicUrl!=null">
diff --git a/admin/src/views/business/parkBook.vue b/admin/src/views/business/parkBook.vue
index 1a9aea1..a3709ff 100644
--- a/admin/src/views/business/parkBook.vue
+++ b/admin/src/views/business/parkBook.vue
@@ -19,9 +19,9 @@
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
             <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
-<!--                <li><el-button type="primary" @click="$refs.operaCarsWindow.open('鏂板缓杞﹁締淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓</el-button></li>-->
-                <li><el-button @click="syncCars" icon="el-icon-delete" v-permissions="['business:cars:sync']">鍚屾</el-button></li>
+<!--
                 <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:cars:delete']">鍒犻櫎</el-button></li>
+-->
             </ul>
             <el-table
                 v-loading="isWorking.search"
@@ -30,7 +30,7 @@
                 @selection-change="handleSelectionChange"
             >
                 <el-table-column type="selection" width="55"></el-table-column>
-                <el-table-column prop="code" label="杞︾墝鍙�" min-width="100px"></el-table-column>
+                <el-table-column prop="carCode" label="杞︾墝鍙�" min-width="100px"></el-table-column>
                 <el-table-column prop="parksName" label="鍋滆溅鍦�" min-width="100px"></el-table-column>
                 <el-table-column label="鐢ㄦ埛绫诲瀷" min-width="100px">
                     <template slot-scope="{row}">
@@ -42,14 +42,28 @@
                 <el-table-column prop="memberName" label="濮撳悕" min-width="100px"></el-table-column>
                 <el-table-column prop="memberPhone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
                 <el-table-column prop="companyName" label="閮ㄩ棬/鍏徃" min-width="100px"></el-table-column>
-                <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
-                <el-table-column prop="remark" label="鏈夋晥鏈�" min-width="100px">
+                <el-table-column prop="startTime" label="鏈夋晥鏈�" min-width="100px">
                     <template slot-scope="{row}">
                         <span>{{validity(row.startTime, row.endTime)}}</span>
 <!--                        <span v-if="!row.startTime || !row.endTime">闀挎湡</span>-->
 <!--                        <span v-else>{{row.startTime}} 鑷� {{row.endTime}}</span>-->
                     </template>
                 </el-table-column>
+              <el-table-column prop="startTime" label="鐘舵��" min-width="100px">
+                <template slot-scope="{row}">
+                  <div v-if="row.isdeleted==1"  style="color: red">宸插垹闄�</div>
+                  <div v-else style="color: green">
+                      <span v-if="row.hkStatus==0"  style="color: #435EBE">寰呬笅鍙�</span>
+                      <span v-if="row.hkStatus==1"  style="color: green">涓嬪彂鎴愬姛</span>
+                     <span v-if="row.hkStatus==2"  style="color: red">涓嬪彂澶辫触</span>
+                   </div>
+                </template>
+              </el-table-column>
+              <el-table-column prop="remark" label="澶囨敞" min-width="100px">
+                <template slot-scope="{row}">
+                  <span v-if="row.isdeleted !=2">{{row.remark}}</span>
+                </template>
+              </el-table-column>
                 <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
                 <el-table-column
                     v-if="containPermissions(['business:member:update', 'business:member:delete'])"
@@ -59,7 +73,10 @@
                 >
                     <template slot-scope="{row}">
 <!--                        <el-button type="text" @click="$refs.operaCarsWindow.open('缂栬緫杞﹁締淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:member:update']">缂栬緫</el-button>-->
-                        <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button>
+                        <el-button type="text" @click="deleteById(row)" v-if="row.isdeleted !=1" icon="el-icon-delete" v-permissions="['business:parkbook:delete']">鍒犻櫎</el-button>
+<!--
+                        <el-button type="text" @click="reUpdate(row)" v-if="row.isdeleted !=1 && row.hkStatus ==0" icon="el-icon-edit" v-permissions="['business:parkbook:update']">绔嬪埢涓嬪彂</el-button>
+-->
                     </template>
                 </el-table-column>
             </el-table>
@@ -80,6 +97,10 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaCarsWindow from '@/components/business/OperaCarsWindow'
+import { validity } from '@/utils/util'
+import { sync } from '@/api/business/cars'
+import { batchLoss } from '@/api/business/memberCard'
+import {reUpdate} from "@/api/business/parkBook";
 export default {
   name: 'parkBook',
   extends: BaseTable,
@@ -102,6 +123,18 @@
       'field.main': 'id'
     })
     this.search()
+  },
+  methods: {
+    validity (startTime, endTime) {
+      return validity(startTime, endTime)
+    },
+    reUpdate (row) {
+      reUpdate({ id: row.id })
+        .then(res => {
+          this.$message.success('鎿嶄綔鎴愬姛')
+          this.search()
+        })
+    }
   }
 }
 </script>
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
index f0fb7eb..b947a79 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -80,6 +80,14 @@
         }
     }
     /**
+     * 姣�10鍒嗛挓鎷夊彇涓�娆℃渶鏂拌瀹㈢櫥璁扮姸鎬侊紙棰勭害鎴愬姛鍜屽凡鐧昏锛�
+     * @throws Exception
+     */
+    @Scheduled(fixedDelay= 10*60*1000)
+    public void syncVisitOuttimeStatus() throws Exception {
+        hkSyncVisitService.getOutTimeVisitRecord();
+    }
+    /**
      * 涓嬭浇娴峰悍绯荤粺鍥剧墖鏁版嵁
      * @throws Exception
      */
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index a1f5f3f..6cb05a2 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -85,6 +85,7 @@
     public static  boolean DEALING_HK_ORG = false;
     public static  boolean DEALING_HK_USER = false;
     public static  boolean DEALING_HK_VISIT = false;
+    public static  boolean DEALING_HK_VISIT_EXPIRE = false;
     public static  boolean DEALING_FROM_HK_VISIT = false;
     public static  boolean DEALING_HK_EMPOWER = false;
     public static  boolean DEALING_HK_EMPOWER_DETAIL = false;
@@ -209,7 +210,7 @@
          int nb = 2;//鍐呴儴璁垮
     }
     public interface VisitStatus{
-        //瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒  2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触 7宸茬櫥璁� 8宸茬绂�
+        //瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒  2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触 7宸茬櫥璁� 8宸茬绂� 9宸插け鏁�
          int waitCheck = 0;
          int submitCheck = 1;
          int pass = 2;
@@ -219,6 +220,7 @@
          int xfFail = 6;
          int signin= 7;
          int signout =  8;
+         int invalid =9;
     }
     public interface EmpowerStatus{
         //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛   3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉�
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
index ea02316..96ea7fa 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
@@ -7,6 +7,7 @@
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
 import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
 import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
+import com.doumee.core.haikang.model.param.respose.AppointmentInfoResponse;
 import com.doumee.dao.business.model.ParkBook;
 
 import javax.servlet.http.HttpServletResponse;
@@ -67,6 +68,7 @@
     void syncOrgUpdateData(Date start, Date end);
 
     void syncVisitData();
+    void getOutTimeVisitRecord( );
     void syncEmpowerData();
     void syncParkBookData();
     void syncParkBookBySingleModel(ParkBook c);
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index f72feaf..e485929 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -8,6 +8,7 @@
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
 import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
 import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
+import com.doumee.core.haikang.model.param.respose.AppointmentInfoResponse;
 import com.doumee.core.haikang.model.param.respose.TaskAdditionResponse;
 import com.doumee.core.haikang.service.HKService;
 import com.doumee.dao.business.model.Device;
@@ -107,6 +108,9 @@
     public  void  syncVisitData() {
     }
     @Override
+    public void getOutTimeVisitRecord(){
+    }
+    @Override
     public  void syncEmpowerData() {
     }
     @Override
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index 4a44285..322d2e8 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -2,7 +2,10 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.*;
 import com.doumee.core.haikang.model.param.respose.*;
@@ -44,6 +47,112 @@
     /**
      * 鍚屾娴峰悍璁垮淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
      */
+    @Override
+    public void getOutTimeVisitRecord(){
+        if(Constants.DEALING_HK_VISIT_EXPIRE){
+            return   ;
+        }
+        Constants.DEALING_HK_VISIT_EXPIRE =true;
+        try {
+            //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
+            List<Visits> list = getExpireVisitList();
+            //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
+            if(list ==null || list.size()==0){
+                return;
+            }
+            Date date = new Date();
+            for(Visits c : list) {
+                //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈�
+                AppointmentInfoResponse model =  getVisitRecord(c.getHkId());
+                if(model == null){
+                    Visits update = new Visits();
+                    //宸插け鏁�
+                    update.setStatus(Constants.VisitStatus.invalid);
+                    update.setEditDate(date);
+                    update.setId(c.getId());
+                    update.setRemark("棰勭害宸茶娓呴櫎");
+                    visitsMapper.updateById(update);
+                    continue;
+                }
+                /**
+                 *      * 0锛氬緟瀹℃牳锛堥绾﹀緟瀹℃壒锛夈��
+                 *      * 1锛氭甯革紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂存湭瓒呰繃棰勮鏉ヨ鏃堕棿锛夈��
+                 *      * 2锛氳繜鍒帮紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂磋秴杩囬璁℃潵璁挎椂闂达紝浣嗘湭瓒呰繃棰勮绂诲紑鏃堕棿锛夈��
+                 *      * 3锛氬け鏁堬紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂村凡瓒呰繃棰勮绂诲紑鏃堕棿锛夈��
+                 *      * 4锛氬鏍搁��鍥烇紙棰勭害寰呭鎵癸紝瀹℃壒浜哄憳瀹℃壒閫�鍥烇級銆�
+                 *      * 5锛氳秴鏈熻嚜鍔ㄧ绂伙紙瓒呮湡鏈绂昏褰曡瀹紝鐢卞悗鍙颁换鍔″畾鏃跺鐞嗙绂伙級銆�
+                 *      * 6锛氬凡绛剧锛堣瀹㈢绂伙級銆�
+                 *      * 7锛氳秴鏈熸湭绛剧锛堣瀹㈢櫥璁帮紝褰撳墠鏃堕棿宸茶秴杩囬璁$寮�鏃堕棿锛岃繕鏈繘琛岀绂伙級銆�
+                 *      * 8锛氬凡鍒拌揪锛涳紙璁垮鐧昏锛屽綋鍓嶆椂闂存湭瓒呰繃棰勮绂诲紑鏃堕棿锛夈��
+                 *      * 9锛氬鏍稿け鏁堬紙棰勭害寰呭鎵癸紝涓�鐩村埌褰撳墠鏃堕棿瓒呰繃棰勮绂诲紑鏃堕棿锛岃繕鏈鎵归�氳繃锛夈��
+                 *      * 10锛氶個绾︿腑锛堝憳宸ュ彂璧烽個绾︼紝璁垮杩樻湭搴旈個锛夈��
+                 *      * 11锛氶個绾﹀け鏁堬紙鍛樺伐鍙戣捣閭�绾︼紝涓�鐩村埌褰撳墠鏃堕棿瓒呰繃棰勮绂诲紑鏃堕棿锛岃瀹㈣繕鏈簲閭�锛�
+                 */
+                if (model.getVisitorStatus()!=null && "3,4,11".contains( model.getVisitorStatus()+"" )){
+                    //瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡澶辨晥銆戝鐞�
+                    Visits update = new Visits();
+                    //宸插け鏁�
+                    update.setStatus(Constants.VisitStatus.invalid);
+                    update.setEditDate(date);
+                    update.setId(c.getId());
+                    update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime()));
+                    update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime()));
+                    update.setRemark("瓒呮椂鏈櫥璁�");
+                    visitsMapper.updateById(update);
+                }
+                if (model.getVisitorStatus()!=null && "5,6".contains( model.getVisitorStatus()+"" )){
+                    // 瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡绛剧銆戝鐞�
+                    if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signout)){
+                        Visits update = new Visits();
+                        //宸插け鏁�
+                        update.setStatus(Constants.VisitStatus.invalid);
+                        update.setEditDate(date);
+                        update.setId(c.getId());
+                        update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime()));
+                        update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime()));
+                        update.setRemark("宸茬绂�");
+                        visitsMapper.updateById(update);
+                    }
+                }
+                if (model.getVisitorStatus()!=null&& "7,8".contains( model.getVisitorStatus()+"")){
+                    //濡傛灉宸茬櫥璁�
+                    if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signin)){
+                        Visits update = new Visits();
+                        //宸插け鏁�
+                        update.setStatus(Constants.VisitStatus.signin);
+                        update.setEditDate(date);
+                        update.setId(c.getId());
+                        update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime()));
+                        update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime()));
+                        update.setRemark("瓒呮椂鏈鍒�");
+                        visitsMapper.updateById(update);
+                    }
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            Constants.DEALING_HK_VISIT_EXPIRE =false;
+        }
+    }
+    public AppointmentInfoResponse getVisitRecord(String orderId){
+        //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+        if(StringUtils.isBlank(orderId)){
+            return  null;
+        }
+        AppointmentListRequest param =  new AppointmentListRequest();
+        param.setPageNo(1);
+        param.setPageSize(1);
+        param.setOrderId(orderId);
+        BaseResponse<BaseListPageResponse<AppointmentInfoResponse>> response = HKService.appointmentRecords(param);
+        if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)  ){
+           return null;
+        }
+        if(response.getData() == null || response.getData().getList() == null|| response.getData().getList().size() ==0){
+           return  null;
+        }
+        return response.getData().getList().get(0);
+    }
     @Override
     public  void syncVisitData(){
         if(Constants.DEALING_HK_VISIT){
@@ -292,5 +401,13 @@
         List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper);
         return list;
     }
+    private List<Visits> getExpireVisitList() {
+        MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(Visits.class);
+        queryWrapper.in(Visits::getStatus, Arrays.asList(new Integer[]{Constants.VisitStatus.xfSuccess,Constants.VisitStatus.signin}) );
+        List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper);
+        return list;
+    }
+
 
 }

--
Gitblit v1.9.3