From e7db6d5fe551a275ad5457cf9da8e52ee385296f Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期一, 14 八月 2023 18:17:22 +0800 Subject: [PATCH] 优化4.0版本-监控点位同步更新 --- src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService11.java | 55 +++++++ src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java | 113 ++++++++++++++++ src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java | 46 ++++++ src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1111Rep.java | 24 +++ src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java | 114 ++++++++++++++++ src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java | 23 +++ src/main/resources/application.yml | 2 7 files changed, 376 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService11.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService11.java new file mode 100644 index 0000000..e82fd5f --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService11.java @@ -0,0 +1,55 @@ +package com.fzzy.async.fzzy40; + +import com.fzzy.api.data.ApiParam; +import com.fzzy.api.data.SyncProtocol; +import com.fzzy.api.service.SyncService11; +import com.fzzy.async.fzzy40.impl.Fzzy40Sync1111; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import java.util.Date; + + +/** + * @Desc: 鍩虹淇℃伅鍚屾 + * + * @author: czt + * @update-time: 2023/08/14 + * + */ +@Slf4j +@Component +public class Fzzy40SyncService11 implements SyncService11 { + + + @Autowired + private Fzzy40Sync1111 fzzy40Sync1111; + + @Override + public String getProtocol() { + return SyncProtocol.FZZY_V35_GB.getCode(); + } + + @Override + public void syncData(ApiParam param) { + log.info("--------------鍩虹鏁版嵁鎵嬪姩閰嶇疆鎺ㄩ��--------"); + String kqdm = param.getKqdm(); + String deptId = param.getDeptId(); + Date start = param.getStart(); + Date end = param.getEnd(); + + //鏂囦欢淇℃伅鍚屾锛岃浆绉诲埌12澶х被涓�,涓昏鏄嚭鍏ュ簱杩芥函鐓х墖 + + //鐩戞帶鐐逛綅淇℃伅鍚屾 + fzzy40Sync1111.syncData(kqdm, deptId, start, end); + + //鑽墏淇℃伅鍚屾 TODO + + //璁惧淇℃伅鍚屾 TODO + + //浜哄憳淇℃伅鍚屾 TODO + + //浼佷笟淇$敤淇℃伅鍚屾--鏆備笉鎵ц + } + +} diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java index c4998a3..13eb1a0 100644 --- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java +++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java @@ -43,15 +43,38 @@ //瀹㈡埛鍚屾 fzzySync1212.syncData(kqdm, deptId, start, end); + //鍚堝悓鍚屾 fzzySync1201.syncData(kqdm, deptId, start, end); //绮鍏ュ簱鍚屾 fzzySync1202.syncData(kqdm, deptId, start, end); + //绮鍏ュ簱璐ㄦ TODO + + //绮鍏ュ簱缁撶畻 TODO + //绮鍑哄簱鍚屾 fzzySync1205.syncData(kqdm, deptId, start, end); + //绮鍑哄簱缁撶畻 TODO + + //绮鎹熺泭 TODO + + //鍊掍粨淇℃伅鍚屾 TODO + + + //鍑哄叆搴撴枃浠朵俊鎭悓姝� TODO + + + //绮搴撳瓨鍚屾 TODO + + + //绮鎬ц川杞彉淇℃伅鍚屾 TODO + + + //璐﹂潰搴撳瓨淇℃伅鍚屾 TODO + } } diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java new file mode 100644 index 0000000..09f259f --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java @@ -0,0 +1,46 @@ +package com.fzzy.async.fzzy40; + +import com.fzzy.api.data.ApiParam; +import com.fzzy.api.data.SyncProtocol; +import com.fzzy.api.service.SyncService13; +import org.springframework.stereotype.Component; + +/** + * @Desc: 绮绠$悊淇℃伅鍚屾 + * + * @author: czt + * @update-time: 2023/08/14 + * + */ +@Component +public class Fzzy40SyncService13 implements SyncService13 { + + + @Override + public String getProtocol() { + return SyncProtocol.FZZY_V35_GB.getCode(); + } + + @Override + public void syncData(ApiParam param) { + + //娓╂箍搴︽娴嬫暟鎹悓姝� TODO + + + //铏妫�娴嬪悓姝� TODO + + + //姘斾綋妫�娴嬪悓姝� TODO + + + //璐ㄦ鍚屾 TODO + + //閫氶浣滀笟淇℃伅鍚屾 TODO + + //鐔忚捀浣滀笟淇℃伅鍚屾 TODO + + //鐔忚捀澶囨鏁版嵁鍚屾 TODO--寰呭畾 + + } + +} diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java new file mode 100644 index 0000000..d9b0949 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java @@ -0,0 +1,113 @@ +package com.fzzy.async.fzzy40.entity; + +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.io.Serializable; +import java.util.Date; + +/** + * 瀹夐槻瑙嗛鐩戞帶璁惧 + * + * @author: czt + * @data: 2023骞�8鏈�14鏃� + */ +@Data +@Entity +@Table(name = "D_SEC_CAMERA") +public class Fz40SecCamera implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @Column(name = "ID_", length = 40) + @PropertyDef(label = "ID") + private String id; + + @Column(name = "SN_", length = 50) + @PropertyDef(label = "璁惧搴忓垪鍙�") + private String sn; + + @Column(name = "COMPANY_ID_", length = 10) + @PropertyDef(label = "缁勭粐缂栫爜") + private String companyId; + + @Column(name = "DEPT_ID_", length = 40) + @PropertyDef(label = "鎵�灞炲垎搴�") + private String deptId; + + @Column(name = "TYPE_", length = 10) + @PropertyDef(label = "璁惧绫诲瀷") + private String type; + + @Column(name = "PLAY_TYPE_", length = 40) + @PropertyDef(label = "鎾斁鏂瑰紡") + private String playType; + + @Column(name = "SNAP_TYPE_", length = 25) + @PropertyDef(label = "鎶撴媿鏂瑰紡") + private String snapType; + + @Column(name = "NAME_", length = 50) + @PropertyDef(label = "鍚嶇О") + private String name; + + @Column(name = "LOGIN_ID_", length = 20) + @PropertyDef(label = "甯愬彿") + private String loginId; + + @Column(name = "PWD_", length = 20) + @PropertyDef(label = "瀵嗙爜") + private String pwd; + + @Column(name = "IP_IN_", length = 20) + @PropertyDef(label = "鍐呯綉IP") + private String ipIn; + + @Column(name = "PORT_IN_C_") + @PropertyDef(label = "鍐呯綉鎺у埗绔彛") + private Integer portInC; + + @Column(name = "PORT_IN_V_") + @PropertyDef(label = "鍐呯綉WEB绔彛") + private Integer portInV; + + @Column(name = "CHAN_NUM_") + @PropertyDef(label = "閫氶亾鍙�") + private int chanNum = 0; + + @Column(name = "BRAND_", length = 50) + @PropertyDef(label = "璁惧鍝佺墝") + private String brand; + + @Column(name = "MEDIA_ADDR_", length = 100) + @PropertyDef(label = "娴佸獟浣撳湴鍧�") + private String mediaAddr; + + @Column(name = "REMARK_", length = 300) + @PropertyDef(label = "澶囨敞") + private String remark; + + @PropertyDef(label = "椤甸潰涓殑鍧愭爣") + @Column(name = "POS_X_",updatable = false) + private double posX; + + @PropertyDef(label = "椤甸潰涓殑鍧愭爣") + @Column(name = "POS_Y_",updatable = false) + private double posY; + + @Column(name = "SCREEN_SHOW_", length = 1) + @PropertyDef(label = "澶у睆鏄剧ず鏍囪") + private String screenShow; + + @Column(name = "SNAP_TAG_", length = 1) + @PropertyDef(label = "鐩戠鑷姩鎶撴媿") + private String snapTag; + + @Column(name = "UPDATE_TIME_") + @PropertyDef(label = "鏇存柊鏃堕棿") + private Date updateTime; +} \ No newline at end of file diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java new file mode 100644 index 0000000..4219cce --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java @@ -0,0 +1,114 @@ +package com.fzzy.async.fzzy40.impl; + +import com.fzzy.api.Constant; +import com.fzzy.api.entity.Api1101; +import com.fzzy.api.entity.Api1102; +import com.fzzy.api.entity.Api1111; +import com.fzzy.api.entity.ApiLog; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.Api1101Rep; +import com.fzzy.api.view.repository.Api1102Rep; +import com.fzzy.api.view.repository.Api1111Rep; +import com.fzzy.api.view.repository.ApiLogRep; +import com.fzzy.async.fzzy40.entity.Fz40SecCamera; +import com.fzzy.async.fzzy40.repository.Fzzy40Sync1111Rep; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import java.util.Date; +import java.util.List; + +/** + * 搴撳尯鍥捐棰戠洃鎺ц澶囩偣浣嶆爣娉� + */ +@Slf4j +@Component +public class Fzzy40Sync1111 { + + @Autowired + private Fzzy40Sync1111Rep fzzy40Sync1111Rep; + @Autowired + private Api1101Rep api1101Rep; + @Autowired + private Api1102Rep api1102Rep; + @Autowired + private Api1111Rep api1111Rep; + @Autowired + private ApiLogRep apiLogRep; + + /** + * 鍚屾鐩戞帶鎺ュ彛 + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + + log.info("-------------1111鎺ュ彛鐩戞帶鐐逛綅鏁版嵁寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(Constant.API_CODE_1111); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + List<Fz40SecCamera> list = fzzy40Sync1111Rep.listCamera(deptId); + + if (null == list || list.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒扮洃鎺т俊鎭�------------------"); + return; + } + + //鏍规嵁搴撳尯浠g爜鑾峰彇鍗曚綅浠g爜 + Api1102 api1102 = api1102Rep.findById(kqdm).get(); + Api1101 api1101 = api1101Rep.findById(api1102.getDwdm()).get(); + Api1111 apiData; + List<Api1111> listApi1111; + Integer num = 1000001; + String spjksbwzys = "left: {X}px ; top : {Y}px ; width : 10px ; height: 10px"; + for (Fz40SecCamera sysData : list) { + + apiData = new Api1111(); + apiData.setDwmc(api1101.getDwmc()); + apiData.setDwdm(api1101.getDwdm()); + apiData.setKqdm(api1102.getKqdm()); + apiData.setKqmc(api1102.getKqmc()); + + apiData.setSpjksbmc(api1102.getKqmc() + "-" + sysData.getName()); + apiData.setSpjksbid(api1102.getKqdm().substring(2,8) + "00401327" + String.valueOf(num).substring(1)); + + apiData.setSpjksbxdwz("(" + Math.round(sysData.getPosX()*100) + "," + Math.round(sysData.getPosY()*100) + ")"); + apiData.setSpjksbwzys(spjksbwzys.replace("{X}",Math.round(sysData.getPosX()*100) + "").replace("{Y}",Math.round(sysData.getPosY()*100) + "")); + apiData.setBz(sysData.getRemark()); + //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� + apiData.setZhgxsj(new Date()); + //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� + apiData.setSyncTime(new Date()); + apiData.setCzbz(Constant.CZBZ_I); + apiData.setSpjklx("1"); + listApi1111 = api1111Rep.getApi1111ById(apiData.getSpjksbid()); + if(null != listApi1111 && listApi1111.size() > 0){ + apiData.setCzbz(listApi1111.get(0).getCzbz()); + if(StringUtils.isNotEmpty(listApi1111.get(0).getSpjklx())){ + apiData.setSpjklx(listApi1111.get(0).getSpjklx()); + } + } + apiData.setBizId(sysData.getId()); + + //淇濆瓨鏁版嵁 + api1111Rep.save(apiData); + num ++; + log.info("1111---鍚屾鏁版嵁锛歿}", apiData.toString()); + } + } catch (Exception e) { + log.error("---鐩戞帶鐐逛綅鍚屾鎵ц澶辫触----{}", e.toString()); + apiLog.setResult("鐩戞帶鐐逛綅鍚屾鎵ц澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } +} diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1111Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1111Rep.java new file mode 100644 index 0000000..2f2903c --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1111Rep.java @@ -0,0 +1,24 @@ +package com.fzzy.async.fzzy40.repository; + +import com.fzzy.async.fzzy40.entity.Fz40SecCamera; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import java.util.List; + +/** + * 鐩戞帶淇℃伅 + */ +public interface Fzzy40Sync1111Rep extends JpaRepository<Fz40SecCamera, String> { + + /** + * 鑾峰彇鎽勫儚澶翠俊鎭� + * + * @return + */ +// @Query("from Fz40SecCamera where deptId=:deptId and updateTime >=:start and updateTime <:end order by updateTime ") +// List<Fz40SecCamera> listCamera(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end); + @Query("from Fz40SecCamera where deptId=:deptId order by ipIn") + List<Fz40SecCamera> listCamera(@Param("deptId") String deptId); + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index bf2561d..0e225ad 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,7 +1,7 @@ ########################## Server ########################## spring: profiles: - active: pro + active: dev application: name: igds-api main: -- Gitblit v1.9.3