From efa500ff6072fb7e714fe28bb5009bb964478dc8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com>
Date: Mon, 17 Apr 2023 17:12:34 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=8B=E4=BB=B6=E8=AF=86?=
 =?UTF-8?q?=E5=88=AB=E5=91=8A=E8=AD=A6=E5=AE=9E=E7=8E=B0=E7=B1=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../xhx/busiz/req/appoint/AppointReq.java     | 13 +++
 .../{registerReq.java => RegisterReq.java}    |  2 +-
 .../busiz/rsp/appoint/AppointmentData.java    | 43 +++++++++
 .../appoint/AppointmentSubmitDataInfo.java    | 15 +++
 .../task/SyncSubmitAppointTaskImpl.java       | 92 +++++++++++++++++++
 .../daemon/task/SyncUserToHikTaskImpl.java    |  3 +
 6 files changed, 167 insertions(+), 1 deletion(-)
 create mode 100644 refined-manager/src/main/java/com/mortals/xhx/busiz/req/appoint/AppointReq.java
 rename refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/{registerReq.java => RegisterReq.java} (82%)
 create mode 100644 refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentData.java
 create mode 100644 refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentSubmitDataInfo.java
 create mode 100644 refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSubmitAppointTaskImpl.java

diff --git a/refined-manager/src/main/java/com/mortals/xhx/busiz/req/appoint/AppointReq.java b/refined-manager/src/main/java/com/mortals/xhx/busiz/req/appoint/AppointReq.java
new file mode 100644
index 0000000..2c13f20
--- /dev/null
+++ b/refined-manager/src/main/java/com/mortals/xhx/busiz/req/appoint/AppointReq.java
@@ -0,0 +1,13 @@
+package com.mortals.xhx.busiz.req.appoint;
+
+
+import lombok.Data;
+
+@Data
+public class AppointReq {
+
+    private String number;
+
+    private Long siteid;
+
+}
diff --git a/refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/registerReq.java b/refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/RegisterReq.java
similarity index 82%
rename from refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/registerReq.java
rename to refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/RegisterReq.java
index f405a8e..5737ef0 100644
--- a/refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/registerReq.java
+++ b/refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/RegisterReq.java
@@ -4,7 +4,7 @@ package com.mortals.xhx.busiz.req.register;
 import lombok.Data;
 
 @Data
-public class registerReq {
+public class RegisterReq {
 
     private Integer page;
 
diff --git a/refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentData.java b/refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentData.java
new file mode 100644
index 0000000..bb61542
--- /dev/null
+++ b/refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentData.java
@@ -0,0 +1,43 @@
+package com.mortals.xhx.busiz.rsp.appoint;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class AppointmentData {
+
+	@JSONField(name="summary")
+	private String summary;
+
+	@JSONField(name="queueid")
+	private String queueId;
+
+	@JSONField(name="flownum")
+	private String flownum;
+
+	@JSONField(name="idcard")
+	private String idCard;
+
+	@JSONField(name="count")
+	private int count;
+
+	@JSONField(name="businessid")
+	private Long businessid;
+
+	@JSONField(name="sitename")
+	private String siteName;
+
+	@JSONField(name="businessname")
+	private String businessName;
+
+	@JSONField(name="time",format = "yyyy-MM-dd HH:mm:ss")
+	private Date time;
+
+	@JSONField(name="windows")
+	private String windows;
+
+	@JSONField(name="region")
+	private String region;
+}
\ No newline at end of file
diff --git a/refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentSubmitDataInfo.java b/refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentSubmitDataInfo.java
new file mode 100644
index 0000000..b106d8c
--- /dev/null
+++ b/refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/appoint/AppointmentSubmitDataInfo.java
@@ -0,0 +1,15 @@
+package com.mortals.xhx.busiz.rsp.appoint;
+
+import java.util.List;
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+@Data
+public class AppointmentSubmitDataInfo {
+
+	@JSONField(name="data")
+	private AppointmentData data;
+
+	@JSONField(name="resdata")
+	private List<Object> resdata;
+}
\ No newline at end of file
diff --git a/refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSubmitAppointTaskImpl.java b/refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSubmitAppointTaskImpl.java
new file mode 100644
index 0000000..012581c
--- /dev/null
+++ b/refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSubmitAppointTaskImpl.java
@@ -0,0 +1,92 @@
+package com.mortals.xhx.daemon.task;
+
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.mortals.framework.common.Rest;
+import com.mortals.framework.exception.AppException;
+import com.mortals.framework.service.ITask;
+import com.mortals.framework.service.ITaskExcuteService;
+import com.mortals.framework.util.DateUtils;
+import com.mortals.xhx.busiz.req.appoint.AppointReq;
+import com.mortals.xhx.busiz.rsp.appoint.AppointmentSubmitDataInfo;
+import com.mortals.xhx.busiz.rsp.register.AppointmentDataInfo;
+import com.mortals.xhx.common.code.AppointmentStatusEnum;
+import com.mortals.xhx.common.code.YesNoEnum;
+import com.mortals.xhx.module.appointment.model.AppointmentRecordsEntity;
+import com.mortals.xhx.module.appointment.model.AppointmentRecordsQuery;
+import com.mortals.xhx.module.appointment.service.AppointmentPersonService;
+import com.mortals.xhx.module.appointment.service.AppointmentRecordsService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 浠婃棩鎸傚彿浠诲姟銆�
+ */
+@Slf4j
+@Service("SyncSubmitAppointTask")
+public class SyncSubmitAppointTaskImpl implements ITaskExcuteService {
+
+    @Autowired
+    private AppointmentPersonService appointmentPersonService;
+    @Autowired
+    private AppointmentRecordsService appointmentRecordsService;
+
+    @Value("${php.host:''}")
+    private String host;
+
+
+    @Override
+    public void excuteTask(ITask task) throws AppException {
+        log.info("鍚屾鎻愪氦棰勭害浠诲姟");
+        syncSubmitAppoint();
+        log.info("鍚屾鎻愪氦棰勭害浠诲姟瀹屾垚");
+
+    }
+
+
+    private void syncSubmitAppoint() {
+        String registerPath = "/inter/Actuary/orderTakebusiness";
+        String url = host + registerPath;
+
+        AppointmentRecordsQuery appointmentRecordsQuery = new AppointmentRecordsQuery();
+        appointmentRecordsQuery.setAppointmentStatus(AppointmentStatusEnum.鏈彇鍙�.getValue());
+        appointmentRecordsQuery.setCreateTime(DateUtils.getCurrDate());
+        List<AppointmentRecordsEntity> appointmentRecordsList = appointmentRecordsService.find(appointmentRecordsQuery);
+        for (AppointmentRecordsEntity appointmentRecordsEntity : appointmentRecordsList) {
+            //璇锋眰鍙栧彿
+            AppointReq appointReq = new AppointReq();
+            appointReq.setSiteid(appointmentRecordsEntity.getSiteId());
+            appointReq.setNumber(appointmentRecordsEntity.getReservationNumber());
+            log.info("appointment submit req=>{}",JSON.toJSONString(appointReq));
+            String respJson = HttpUtil.post(url, JSON.toJSONString(appointReq));
+            log.info("appointment submit respJson=>{}",respJson);
+            Rest<AppointmentSubmitDataInfo> rest = JSON.parseObject(respJson, new TypeReference<Rest<AppointmentSubmitDataInfo>>() {
+            });
+
+            if(rest.getCode()== YesNoEnum.YES.getValue()){
+                appointmentRecordsEntity.setFlowNum(rest.getData().getData().getFlownum());
+                appointmentRecordsEntity.setAppointmentStatus(AppointmentStatusEnum.鍙栧彿瀹屾垚.getValue());
+                appointmentRecordsEntity.setFlowTime(rest.getData().getData().getTime());
+                appointmentRecordsEntity.setUpdateTime(new Date());
+                appointmentRecordsEntity.setUpdateUserId(1L);
+                appointmentRecordsEntity.setUpdateUserName("system");
+                appointmentRecordsService.update(appointmentRecordsEntity);
+            }
+
+        }
+
+    }
+
+
+    @Override
+    public void stopTask(ITask task) throws AppException {
+
+    }
+
+}
diff --git a/refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserToHikTaskImpl.java b/refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserToHikTaskImpl.java
index 92e0ae5..5ad901e 100644
--- a/refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserToHikTaskImpl.java
+++ b/refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserToHikTaskImpl.java
@@ -44,6 +44,9 @@ import java.util.List;
  * 鍚屾鐢ㄦ埛浜鸿劯鏁版嵁鍒版捣搴锋寚瀹氬簱銆�
  * 鏃堕棿闂撮殧浠ュ悓姝ユ敞鍐岀敤鎴蜂箣鍚�
  * 榛樿鍚屾鍒颁竴涓汉鑴哥敤鎴风粍锛屽瑕佸叾瀹冪敤鎴风粍 鍒欓〉闈笂杩涜娣诲姞
+ * 闇€瑕佹牴鎹鍒掕繘琛屽悓姝ヤ汉鑴搁摼鎺�
+ * 榛樿
+ *
  */
 @Slf4j
 @Service("SyncUserToHikTask")
-- 
2.24.3