From 693f96878fb796a6f29ecbf22295e61fe96c94f1 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期二, 02 一月 2024 16:42:18 +0800
Subject: [PATCH] 新增1307-仓内视频图像数据同步
---
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java | 5 +
src/main/java/com/fzzy/api/view/repository/Api1306Rep.java | 3
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1307Rep.java | 29 +++++
src/main/java/com/fzzy/api/view/repository/Api1111Rep.java | 8 +
src/main/java/com/fzzy/api/entity/Api1307.java | 12 -
src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecSnapDepot.java | 61 ++++++++++++
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1307.java | 159 +++++++++++++++++++++++++++++++
src/main/java/com/fzzy/api/view/repository/Api1307Rep.java | 4
src/main/java/com/fzzy/api/utils/FileUtils.java | 14 ++
9 files changed, 281 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/fzzy/api/entity/Api1307.java b/src/main/java/com/fzzy/api/entity/Api1307.java
index 4c1a78d..4a590dc 100644
--- a/src/main/java/com/fzzy/api/entity/Api1307.java
+++ b/src/main/java/com/fzzy/api/entity/Api1307.java
@@ -2,22 +2,17 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
-
-import org.hibernate.annotations.GenericGenerator;
-
import javax.persistence.*;
-
import java.io.Serializable;
import java.util.Date;
/**
* 鎺ュ彛琛�-浠撳唴瑙嗛鍥惧儚鏁版嵁琛�
*
- * @author chen
- * @date 2022-09-02 15:57
+ * @author czt
+ * @date 2024-01-02 15:57
*/
@Data
@Entity
@@ -34,7 +29,7 @@
/*----------鎺ュ彛绯荤粺鑷畾涔夊瓧娈�----------*/
@Id
@JSONField(serialize = false)
- @Column(name = "ID_", length = 40)
+ @Column(name = "ID_", length = 60)
private String id;
@JSONField(serialize = false)
@@ -45,7 +40,6 @@
@JSONField(serialize = false)
@PropertyDef(label = "鏂囦欢鍦板潃")
@Column(name = "wjdz")
-
private String wjdz;
/*----------鍥芥爣瀛楁----------*/
diff --git a/src/main/java/com/fzzy/api/utils/FileUtils.java b/src/main/java/com/fzzy/api/utils/FileUtils.java
index df2a8e2..16e4605 100644
--- a/src/main/java/com/fzzy/api/utils/FileUtils.java
+++ b/src/main/java/com/fzzy/api/utils/FileUtils.java
@@ -96,4 +96,18 @@
return basePath;
}
+
+ public String getSnapFilePath(Date date) {
+ if (null == date) {
+ date = new Date();
+ }
+
+ String basePath = configData.getImgPath() + "SNAP/"
+ + DateFormatUtils.format(date, "yyyyMM") + "/";
+ File file = new File(basePath);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ return basePath;
+ }
}
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1111Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1111Rep.java
index 10b9098..c48690d 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1111Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1111Rep.java
@@ -51,4 +51,12 @@
*/
@Query("from Api1111 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
List<Api1111> findPushDataTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end);
+
+ /**
+ * 鏍规嵁涓氬姟ID鑾峰彇鐩戞帶鐐逛綅淇℃伅
+ * @param bizId
+ * @return
+ */
+ @Query("from Api1111 where bizId=:bizId")
+ List<Api1111> getApi1111ByBizId(@Param("bizId") String bizId);
}
\ No newline at end of file
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1306Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1306Rep.java
index f8aed5e..9849ee3 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1306Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1306Rep.java
@@ -1,7 +1,5 @@
package com.fzzy.api.view.repository;
-import com.fzzy.api.entity.Api1203;
-import com.fzzy.api.entity.Api1305;
import com.fzzy.api.entity.Api1306;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
@@ -9,7 +7,6 @@
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
-
import java.util.Date;
import java.util.List;
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1307Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1307Rep.java
index d5ac016..0b722ed 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1307Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1307Rep.java
@@ -1,12 +1,10 @@
package com.fzzy.api.view.repository;
-import com.fzzy.api.entity.Api1301;
import com.fzzy.api.entity.Api1307;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
-
import java.util.Date;
import java.util.List;
@@ -17,4 +15,6 @@
@Query("from Api1307 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
List<Api1307> findPushDataByTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end);
+ @Query("from Api1307 where bizId=:bizId ")
+ List<Api1307> getDataByBizId(@Param("bizId") String bizId);
}
diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
index 05cb5f6..fc2d2bb 100644
--- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
+++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
@@ -28,6 +28,8 @@
@Autowired
private Fzzy40Sync1306 fzzySync1306;
@Autowired
+ private Fzzy40Sync1307 fzzySync1307;
+ @Autowired
private Fzzy40Sync1310 fzzySync1310;
@Autowired
private Fzzy40Sync1023 fzzySync1023;
@@ -80,6 +82,9 @@
//鐔忚捀浣滀笟淇℃伅鍚屾
fzzySync1306.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
+ //浠撳唴瑙嗛鍥惧儚鎶撴媿鍚屾
+ fzzySync1307.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
+
}
}
diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecSnapDepot.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecSnapDepot.java
new file mode 100644
index 0000000..ac29a4c
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecSnapDepot.java
@@ -0,0 +1,61 @@
+package com.fzzy.async.fzzy40.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.bstek.dorado.annotation.PropertyDef;
+import lombok.Data;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+/**
+ * 浠撳唴瑙嗛鍥惧儚鏁版嵁琛�
+ */
+@Data
+@Entity
+@Table(name = "D_SEC_SNAP_DEPOT")
+public class Fz40SecSnapDepot {
+
+ @Id
+ @Column(name = "ID_", length = 40)
+ @PropertyDef(label = "涓婚敭")
+ private String id;
+
+ @Column(name = "COMPANY_ID_", length = 10)
+ @PropertyDef(label = "缁勭粐缂栫爜")
+ private String companyId;
+
+ @Column(name = "DEPT_ID_", length = 30)
+ @PropertyDef(label = "鎵�灞炲垎搴�")
+ private String deptId;
+
+ @Column(name = "DEPOT_ID_", length = 50)
+ @PropertyDef(label = "鎵�灞炰粨搴�")
+ private String depotId;
+
+ @Column(name = "CAMERA_ID_", length = 50)
+ @PropertyDef(label = "鍏宠仈鎽勫儚澶�")
+ private String cameraId;
+
+ @Column(name = "RESULT_", length = 30)
+ @PropertyDef(label = "鎶撴媿缁撴灉")
+ private String result = "SUCCESS";
+
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ @Column(name = "UPDATE_TIME_")
+ @PropertyDef(label = "鎶撴媿鏃堕棿")
+ private Date updateTime;
+
+ @Column(name = "FILE_SUFFIX_", length = 4)
+ @PropertyDef(label = "鍥惧儚鏂囦欢鍚庣紑鍚�")
+ private String fileSuffix = "jpg";
+
+ @Column(name = "FILE_NAME_", length = 100)
+ @PropertyDef(label = "鏂囦欢鍚嶇О")
+ private String fileName;
+
+ @Column(name = "PRESET_ ", length = 4)
+ @PropertyDef(label = "棰勭疆浣嶇紪鍙�")
+ private String preset;
+}
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1307.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1307.java
new file mode 100644
index 0000000..bbea747
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1307.java
@@ -0,0 +1,159 @@
+package com.fzzy.async.fzzy40.impl;
+
+import com.fzzy.api.Constant;
+import com.fzzy.api.data.PushProtocol;
+import com.fzzy.api.entity.*;
+import com.fzzy.api.service.ApiCommonService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.utils.FileUtils;
+import com.fzzy.api.view.repository.*;
+import com.fzzy.async.fzzy40.entity.Fz40SecSnapDepot;
+import com.fzzy.async.fzzy40.repository.Fzzy40Sync1307Rep;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import java.util.*;
+
+/**
+ * 浠撳唴瑙嗛鍥惧儚
+ * @author czt
+ */
+@Slf4j
+@Component
+public class Fzzy40Sync1307 {
+
+ @Autowired
+ private Fzzy40Sync1307Rep fzzySync1307Rep;
+ @Autowired
+ private Api1109Rep api1109Rep;
+ @Autowired
+ private Api1111Rep api1111Rep;
+ @Autowired
+ private Api1307Rep api1307Rep;
+ @Autowired
+ private ApiCommonService commonService;
+ @Autowired
+ private ApiLogRep apiLogRep;
+ @Autowired
+ private FileUtils fileUtil;
+ @Autowired
+ private ApiConfsRep apiConfsRep;
+
+ /**
+ * 鍚屾浠撳唴鎶撴媿鏂囦欢淇℃伅
+ *
+ * @param deptId
+ * @param start
+ * @param end
+ */
+ public void syncData(String kqdm, String deptId, Date start, Date end) {
+
+ log.info("-------------1307鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------");
+
+ //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
+ ApiLog apiLog = new ApiLog();
+ apiLog.setType(ApiLog.TYPE_SYNC);
+ apiLog.setKqdm(deptId);
+ apiLog.setUploadTime(new Date());
+ apiLog.setInteId(Constant.API_CODE_1109);
+ apiLog.setStatus(99);
+ apiLog.setId(ContextUtil.getUUID());
+ try {
+ //鑾峰彇浠撳唴鎶撴媿鍥剧墖
+ List<Fz40SecSnapDepot> list = fzzySync1307Rep.listSnapDepotData(deptId, start, end);
+
+ if (null == list || list.isEmpty()) {
+ log.info("-------------娌℃湁鑾峰彇鍒版枃浠朵俊鎭�------------------");
+ return;
+ }
+ Api1105 api1105;
+ Api1307 apiData;
+ List<Api1307> api1307List;
+ List<Api1111> api1111List;
+ Api1109 api1109;
+ List<Api1109> api1109List;
+ for (Fz40SecSnapDepot sysData : list) {
+ //鑾峰彇璐т綅淇℃伅
+ api1105 = commonService.getApi1105Cache(sysData.getDepotId());
+ if (null == api1105) {
+ continue;
+ }
+ api1111List = api1111Rep.getApi1111ByBizId(sysData.getCameraId());
+ if (null == api1111List || api1111List.isEmpty()) {
+ log.error("-------------娌℃湁鑾峰彇鍒颁粨鍐呰棰戠偣浣嶄俊鎭�------------------");
+ return;
+ }
+
+ apiData = new Api1307();
+ //涓婚敭id
+ apiData.setId(sysData.getFileName().replace(sysData.getDepotId() + "_", api1105.getHwdm()).replace(".jpg", ""));
+
+ //鏌ヨ鎽勫儚澶村搴旂洃鎺ц澶嘔D
+ apiData.setSpjksbid(api1111List.get(0).getSpjksbid());
+ apiData.setCfdm(api1105.getHwdm().substring(0,25));
+
+ apiData.setHwdm(api1105.getHwdm());
+ apiData.setZpsj(sysData.getUpdateTime());
+ apiData.setTxwjhzm("jpg");
+ apiData.setYzwbh(apiData.getHwdm() + "01");
+ //鏂囦欢璺緞
+ apiData.setWjdz(fileUtil.getSnapFilePath(sysData.getUpdateTime()) + sysData.getFileName());
+
+ //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
+ apiData.setZhgxsj(new Date());
+ //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
+ apiData.setBizId(sysData.getId());
+ apiData.setKqdm(kqdm);
+
+ //涓婃捣鐪佸钩鍙颁娇鐢ㄥ粧闂翠唬鐮併�佸浘鍍忕紪鐮佷袱涓瓧娈�
+ apiData.setAjdh(api1105.getHwdm().substring(0,28));
+ apiData.setTxbh(sysData.getFileName().replace(sysData.getDepotId() + "_", api1105.getHwdm()));
+
+ api1307List = api1307Rep.getDataByBizId(apiData.getBizId());
+ if (null == api1307List || api1307List.isEmpty()) {
+ apiData.setCzbz(Constant.CZBZ_I);
+ } else {
+ apiData.setCzbz(api1307List.get(0).getCzbz());
+ }
+
+ //淇濆瓨鏁版嵁
+ api1307Rep.save(apiData);
+ log.info("1307---鍚屾鏁版嵁锛歿}", apiData.toString());
+
+ //鑻ヤ负涓婃捣鐪佸钩鍙板崗璁紝鍒欓渶鍚屼簨鍚屾鏂囦欢淇℃伅
+ List<ApiConfs> apiConfs = apiConfsRep.getDataByKqdm(kqdm);
+ if(null != apiConfs && PushProtocol.SB_SH_2023.getCode().equals(apiConfs.get(0).getPushProtocol())){
+ api1109 = new Api1109();
+ //涓婚敭id
+ api1109.setId(UUID.randomUUID().toString());
+ //鏂囦欢璺緞
+ api1109.setWjdz(apiData.getWjdz());
+ //鏂囦欢鍚嶇О
+ api1109.setWjmc(apiData.getTxbh());
+ //鏂囦欢绫诲瀷
+ api1109.setWjlx("7"); //7-浠撳唴瑙嗛鍥惧儚
+ //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
+ api1109.setZhgxsj(new Date());
+
+ //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
+ api1109.setBizId(apiData.getBizId());
+ api1109.setKqdm(kqdm);
+ api1109.setSyncTime(new Date());
+ api1109List = api1109Rep.getDataByBizId(api1109.getBizId());
+ if (null == api1109List || api1109List.isEmpty()) {
+ apiData.setCzbz(Constant.CZBZ_I);
+ } else {
+ apiData.setCzbz(api1109List.get(0).getCzbz());
+ }
+ //淇濆瓨鏁版嵁
+ api1109Rep.save(api1109);
+ }
+
+ }
+ } catch (Exception e) {
+ log.error("---浠撳唴鎶撴媿鍚屾鎵ц澶辫触----{}", e);
+ apiLog.setResult("鍚屾浠撳唴鎶撴媿澶辫触锛�" + e.getMessage());
+ apiLogRep.save(apiLog);
+ }
+ }
+}
diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1307Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1307Rep.java
new file mode 100644
index 0000000..0c6793c
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1307Rep.java
@@ -0,0 +1,29 @@
+package com.fzzy.async.fzzy40.repository;
+
+import com.fzzy.async.fzzy40.entity.Fz40SecSnapDepot;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 浠撳唴瑙嗛鍥惧儚
+ *
+ * @author czt
+ * @date 2024-01-02
+ */
+public interface Fzzy40Sync1307Rep extends JpaRepository<Fz40SecSnapDepot, String> {
+
+ /**
+ * 鏍规嵁淇℃伅鑾峰彇浠撳唴鎶撴媿淇℃伅
+ *
+ * @param deptId
+ * @param start
+ * @param end
+ * @return
+ */
+ @Query("from Fz40SecSnapDepot where deptId=:deptId and updateTime >=:start and updateTime <=:end order by id ")
+ List<Fz40SecSnapDepot> listSnapDepotData(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end);
+
+}
--
Gitblit v1.9.3