server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -91,6 +91,14 @@ String applyCTGT= "/api/lsm/ssoService/v1/applyCTGT";//æ ¹æ®ç¨æ·æ è¯è·å客æ·ç«¯TGCæ¥å£ String applyST= "/api/lsm/ssoService/v1/applyST";//æ ¹æ®ç»å½æ è¯TGCç³è¯·ç»å½åè¯STæ¥å£ String tokenLoginUrl= "/lsm/ssoService/v1/tokenLogin?token=${st}&service=${service}";//ç»ä»¶ææç»å½æ¼æ¥å°å String fetchAudioChannel= "/api/ibas/resource/v1/fetchAudioChannel";//1.1.4.1å页è·å广æç¹ String fetchAudioDevice= "/api/ibas/resource/v1/fetchAudioDevice";//1.1.4.2å页è·å广æè®¾å¤å表 String fetchAudioChannelByDevice= "/api/ibas/resource/v1/fetchAudioChannelByDevice";//1.1.4.3æ ¹æ®è®¾å¤ä¿¡æ¯è·å广æç¹ String ledRecords= "/api/v1/model/tb_led_info/records";//è·åæå°ç»ä»¶é ç½®çLEDè®¾å¤æ¸ å String transparentchannel= "/api/v1/transparentchannel";//åéæ¶æ¯ç»LED String platformsList= "/api/platformService/v1/platforms";//è·åå ¨é¨æå°ä¿¡æ¯ String platformStatus= "/api/platformService/v1/platform/status";//è·åæå°ç¶æ String customBroadcast= "/api/ibas/v1/customBroadcast";//ç¨äºè®¾ç½®å¹¿æçèªå®ææ¾å忢 } /** server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -361,6 +361,14 @@ return result; } public static String startDoPostStringArtemis(String pathStr,Map<String, String> querys,Map<String, String> header,String body){ Map<String, String> path = getPath(pathStr); header.put("tagId", UUID.randomUUID().toString().replace("-", "")); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, querys, null, "application/json", header);// post请æ±application/jsonç±»ååæ° saveInterfaceLog(body,result,path); return result; } /** * ç¾ç¦»è®¿å®¢é¢çº¦ * @param body @@ -583,6 +591,70 @@ public static String acsDeviceStatus(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.acsDeviceStatus,body); } /** * å页è·å广æç¹ * @param body * @return */ public static String fetchAudioChannel(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.fetchAudioChannel,body); } /** * å页è·å广æè®¾å¤å表 * @param body * @return */ public static String fetchAudioDevice(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.fetchAudioDevice,body); } /** * æ ¹æ®è®¾å¤ä¿¡æ¯è·å广æç¹ * @param body * @return */ public static String fetchAudioChannelByDevice(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.fetchAudioChannelByDevice,body); } /** * è·åå ¨é¨æå°ä¿¡æ¯ * @param body * @return */ public static String platformsList(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.platformsList,body); } /** * è·åæå°ç¶æ * @param body * @return */ public static String platformStatus(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.platformStatus,body); } /** * è·åæå°ç»ä»¶é ç½®çLEDè®¾å¤æ¸ å * @param body * @return */ public static String ledRecords(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.ledRecords,body); } /** * ç¨äºè®¾ç½®å¹¿æçèªå®ææ¾å忢 * @param body * @return */ public static String customBroadcast(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.customBroadcast,body); } /** * åéæ¶æ¯ç»LED * @param body * @return */ public static String transparentchannel(Map<String,String> header,String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.transparentchannel,null,header,body); } /** * æ¥è¯¢åºå 车åè½¦ä¿¡æ¯ server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/FetchAudioChannelRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class FetchAudioChannelRequest { private String audioChannelName ;//String false 广æç¹åç§° private String audioChannelIndexCode ;//String false 广æç¹å¯ä¸æ è¯ï¼å¤ä¸ªç¨â,âåé private String channelType ;//String false ééç±»å,audioTalk-广æè®¾å¤å¹¿æç¹ï¼talk-è§é¢è®¾å¤å¯¹è®²éé private String regionIndexCode ;//String false åºåå¯ä¸æ è¯ï¼å¤ä¸ªç¨â,âåé private String audioArea ;//String false 广æååºå¯ä¸æ è¯ï¼å¤ä¸ªç¨â,âåé private Integer pageNo ;//String true å页页ç private Integer pageSize ;//String true åé¡µå¤§å° private Integer hasChild ;// Number false æ¯å¦å å«ä¸çº§åºå 1-å å«ä¸çº§ 0-æ¬çº§ï¼é»è®¤æ¬çº§ï¼å½éæ©å å«ä¸çº§æ¶ï¼åºåæ è¯å¿ å¡« private Integer isMachineSync ;// Number false ç鿝å¦å¹¿æä¸»æºåæ¥æ°æ®ï¼1-广æä¸»æºåæ¥æ°æ®ï¼0-æ¬çº§æ·»å æ°æ® private Integer isCascadeSync ;// Number false ç鿝å¦å¹¿æçº§èåæ¥æ°æ®ï¼1-广æçº§èåæ¥æ°æ®ï¼0-æ¬çº§æ·»å æ°æ® } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/FetchAudioDeviceRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class FetchAudioDeviceRequest { private String deviceName ;//String false 广æè®¾å¤æç §åç§°æ¨¡ç³æ¥è¯¢ private String regionIndexCode ;//String false åºåç¼å·,å¯ä»¥ä¸ºç©º; private String subRegion;// Boolean false æ¯å¦å å«ä¸çº§åºåï¼æ³¨ï¼ 1ãåæ°subRegionä½¿ç¨æ¶ï¼regionIndexCodeä¸ºå¿ å¡«,trueå å«ä¸çº§ï¼false为ä¸å å«ï¼é»è®¤ä¸å å« private String deviceTreaty ;//String false å议类åï¼isapi_netï¼isup5_regï¼otap_iot,sip_reg private Integer pageNo ;//Number true å½å页ç ï¼0 < pageNo private Integer pageSize ;// Number true å页大å°ï¼0<pageSizeâ¤1000 private String deviceUseType ;//String false 设å¤ç±»åloudspeaker: 'ç½ç»åæ¾', box: 'ç½ç»é³ç®±', microphone: 'ç½ç»å¯»å¼è¯ç', machine: '广æä¸»æº' private String ip ;//String false 设å¤å¯¹åºip,æ¯ææ¨¡ç³æ¥è¯¢ private String port ;//String false 设å¤å¯¹åºç«¯å£ï¼æ¯ææ¨¡ç³æ¥è¯¢ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/LedRecordsRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class LedRecordsRequest { } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/PlatformStatusRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class PlatformStatusRequest { private String platformIds ;//Query String false æå°ID } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/PlatformsListRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class PlatformsListRequest { } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TransparentChannelBodyRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class TransparentChannelBodyRequest { private String method ; //String true æ¹æ³åï¼æ§å¶ledå¿ é¡»åControlLedGereral private String indexCode ; // String false 设å¤ç¼ç private Integer operationType ; //Number false æä½ç±»å private Integer regionNo ; // Number false æ¾ç¤ºåºåå· private Integer regionType ; // Number false åºåç±»å(14:åéæåï¼45ï¼è¯é³ææ¥) private String content ; //String false å 容 private Integer circleTimes ; // Number false å¾ªç¯æ¬¡æ° private Integer regionLeftTopXPos ; // Number false åºåå·¦ä¸è§xåæ private Integer regionLeftTopYPos ; //Number false åºåå·¦ä¸è§yåæ private Integer regionRightBottomXPos ; // Number false åºåå³ä¸è§xåæ private Integer regionRightBottomYPos ; //Number false åºåå³ä¸è§yåæ /** * Number false æ»å¨æ¹å¼ï¼STATIC_DISPLAY = 0x01, * // 鿢æ¾ç¤º/ç«å³æ¾ç¤º/翻页æ¾ç¤º LEFT_MOVE = 0x1C, * // åå·¦ç§»å¨ RIGHT_MOVE = 0x1D, * // åå³ç§»å¨ UP_MOVE = 0x1A, * // åä¸ç§»å¨ DOWN_MOVE = 0x1B, * // åä¸ç§»å¨ LEFT_LOOP = 0x1E, * // åå·¦è¿ç»ç§»å¨ RIGHT_LOOP = 0x1F, * // åå³è¿ç»ç§»å¨ UP_LOOP = 0x20, * // åä¸è¿ç»ç§»å¨ DOWN_LOOP = 0x21, * // åä¸è¿ç»ç§»å¨ TWINKLE = 0x29 * // éªçï¼ */ private Integer actionType ; // private Integer speed ; // Number false é度 private Integer stayTime ; //Number false åçæ¶é´ private Integer fontSize ; //Number false åä½å¤§å° } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TransparentChannelHeadRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class TransparentChannelHeadRequest { private String deviceIndexCode ;// Head String true 设å¤ç¼ç private String ability ;// Head String true è½åæ è¯ private String treatyType ;// Head String true åè®®å } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/FetchAudioChannelInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class FetchAudioChannelInfoResponse { private String audioChannelName ;//String false 广æç¹åç§° private String audioChannelIndexCode ;//String false 广æç¹å¯ä¸æ è¯ private String audioChannelType ;//String false 广æç¹ç±»å private String channelType ;//String false ééç±»åï¼audioTalk-广æè®¾å¤å¹¿æç¹ï¼talk-è§é¢è®¾å¤å¯¹è®²éé private String channelNo ;//String false ééå· private String parentDevIndexCode ;//String false å ³è设å¤å¯ä¸æ è¯ private String parentDevTreaty ;//String false å ³è设å¤çå议类å private String regionIndexCode ;//String false åºåå¯ä¸æ è¯ï¼å¤ä¸ªç¨â,âåé private String audioArea ;//String false 广æååºå¯ä¸æ è¯ï¼å¤ä¸ªç¨â,âåé private Integer state ;//Number false 广æç¹å¨çº¿ç¶æ0-å¨çº¿ 1-离线 private String regionName ;//String false åºååç§° private String volume ;//String false 广æç¹é³é private Integer isMachineSync ;//Number false æ¯å¦å¹¿æä¸»æºæ°æ®ï¼1-åæ¥æ°æ®ï¼0-æ¬çº§æ°æ® private Integer isCascadeSync;// Number false æ¯å¦å¹¿æçº§èæ°æ®ï¼1-åæ¥æ°æ®ï¼0-æ¬çº§æ°æ® } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/FetchAudioDeviceInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class FetchAudioDeviceInfoResponse { private String deviceIndexCode ;//String false 设å¤å¯ä¸æ è¯ private String deviceName ;//String false 设å¤åç§° private String regionIndexCode ;//String false åºåç¼å· private String ip ;//String false ipå°å private String port ;//String false ç«¯å£ private String deviceTreaty ;//String false å议类å private String domainId ;//String false è®¾å¤æå±ç½åid private String deviceType ;//String false 设å¤ç±»å private String deviceCode ;//String false 设å¤ä¸»å¨æ³¨åç¼ç private String deviceUseType ;//String false 设å¤åè½ç±»åloudspeaker: 'ç½ç»åæ¾', box: 'ç½ç»é³ç®±', microphone: 'ç½ç»å¯»å¼è¯ç', machine: '广æä¸»æº' private String desc ;//String false 广æè®¾å¤æè¿°ä¿¡æ¯ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/LedRecordsInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; import java.util.List; @Data public class LedRecordsInfoResponse { } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformCameraInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class PlatformCameraInfoResponse { private String cameraIdompan;// String false çæ§ç¹ID private String cameraName ;//String false çæ§ç¹åç§° } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformListInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; import java.util.List; @Data public class PlatformListInfoResponse { private String deviceIndexCode ;//String false 设å¤å¯ä¸æ è¯ private String platformtId;// String false æå°ID private List<PlatformCameraInfoResponse> cameras;// Array false å ³èçæ§ç¹ private String cyNames;// String false å ³èæ¿ç§å ¬å¸ private String platformName;// String false æå°åç§° private String createTime;// Number false å建æ¶é´ private Integer x ;//Number false Xåæ private Integer y ;//Number false Yåæ private Integer width;// Number false 宽度 private Integer height;// Number false é¿åº¦ private Integer angle;// Number false è§åº¦ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformStatusInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; import java.util.List; @Data public class PlatformStatusInfoResponse { private String platformtId ;//String false æå°ID private String cameraIndexcode ;//String false æå°å ³èçæ§ç¹ private String plateNo ;//String false 车çå· private String name;// String false æå°åç§° private String status;// Number false æå°ç¶æ private String loadingRate ;//String false æå°ææ°ç车è¾è£ è½½ç private String doorState;// String false æå°ä½ä¸è½¦è¾çå½åå¼å ³ä¹ç¶æ private String workingPerson;// Number false æå°çå½åä½ä¸äººæ° private String lastEventTime ;//String false æå°äºä»¶ææ°ä¸æ¥æ¶é´ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -10,12 +10,16 @@ import com.doumee.core.haikang.model.param.request.*; import com.doumee.core.haikang.model.param.respose.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.InputStream; import java.lang.reflect.Field; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j public class HKService { @@ -1018,6 +1022,144 @@ return null; } /** *å页è·å广æç¹ï¼åé¡µï¼ * @return */ public static BaseResponse<BaseListPageResponse<FetchAudioChannelInfoResponse>> fetchAudioChannel(FetchAudioChannelRequest param){ log.info("ãæµ·åº·è·åå页è·å广æç¹ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.fetchAudioChannel(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<BaseListPageResponse<FetchAudioChannelInfoResponse>> >(){}; BaseResponse<BaseListPageResponse<FetchAudioChannelInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康è·åå页è·å广æç¹"); return result; }catch (Exception e){ log.error("ãæµ·åº·è·åå页è·å广æç¹ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *å页è·å广æç¹ï¼åé¡µï¼ * @return */ public static BaseResponse<BaseListPageResponse<FetchAudioChannelInfoResponse>> fetchAudioDevice(FetchAudioChannelRequest param){ log.info("ãæµ·åº·è·åå页è·å广æç¹ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.fetchAudioDevice(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<BaseListPageResponse<FetchAudioChannelInfoResponse>> >(){}; BaseResponse<BaseListPageResponse<FetchAudioChannelInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康è·åå页è·å广æç¹"); return result; }catch (Exception e){ log.error("ãæµ·åº·è·åå页è·å广æç¹ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *è·åå ¨é¨æå°ä¿¡æ¯ * @return */ public static BaseResponse<BaseListPageResponse<PlatformListInfoResponse>> platformsList(PlatformsListRequest param){ log.info("ãæµ·åº·è·åå ¨é¨æå°ä¿¡æ¯ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.platformsList(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<BaseListPageResponse<PlatformListInfoResponse>> >(){}; BaseResponse<BaseListPageResponse<PlatformListInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康è·åå ¨é¨æå°ä¿¡æ¯"); return result; }catch (Exception e){ log.error("ãæµ·åº·è·åå ¨é¨æå°ä¿¡æ¯ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *è·åæå°ç»ä»¶é ç½®çLEDè®¾å¤æ¸ å * @return */ public static BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>> ledRecords(LedRecordsRequest param){ log.info("ãæµ·åº·è·åæå°ç»ä»¶é ç½®çLEDè®¾å¤æ¸ åã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.ledRecords(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>> >(){}; BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康è·åæå°ç»ä»¶é ç½®çLEDè®¾å¤æ¸ å"); return result; }catch (Exception e){ log.error("ãæµ·åº·è·åæå°ç»ä»¶é ç½®çLEDè®¾å¤æ¸ åã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *ç¨äºè®¾ç½®å¹¿æçèªå®ææ¾å忢 * @return */ public static BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>> customBroadcast(LedRecordsRequest param){ log.info("ãæµ·åº·ç¨äºè®¾ç½®å¹¿æçèªå®ææ¾å忢ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.customBroadcast(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>> >(){}; BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康ç¨äºè®¾ç½®å¹¿æçèªå®ææ¾å忢"); return result; }catch (Exception e){ log.error("ãæµ·åº·ç¨äºè®¾ç½®å¹¿æçèªå®ææ¾å忢ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *è·åå ¨é¨æå°ä¿¡æ¯ * @return */ public static BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>> platformStatus(PlatformStatusRequest param) { log.info("ãæµ·åº·è·åå ¨é¨æå°ä¿¡æ¯ã================å¼å§====" + JSONObject.toJSONString(param)); try { String res = HKTools.platformStatus(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference<BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>>>() { }; BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result, "海康è·åå ¨é¨æå°ä¿¡æ¯"); return result; } catch (Exception e) { log.error("ãæµ·åº·è·åå ¨é¨æå°ä¿¡æ¯ã================失败====ï¼\n" + e.getMessage()); } return null; } /** *åéæ¶æ¯ç»LED * @return */ public static BaseResponse transparentchannel(TransparentChannelHeadRequest head,TransparentChannelBodyRequest param){ log.info("ãæµ·åº·åéæ¶æ¯ç»LEDã================å¼å§===="+JSONObject.toJSONString(param)); try { Map<String,String> header = toMap(head); String res = HKTools.transparentchannel(header,JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference<BaseResponse>(){}; BaseResponse result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康åéæ¶æ¯ç»LED"); return result; }catch (Exception e){ log.error("ãæµ·åº·åéæ¶æ¯ç»LEDã================失败====ï¼\n"+ e.getMessage()); } return null; } public static Map<String, String> toMap(Object obj) throws IllegalAccessException { Map<String, String> map = new HashMap<>(); Class<?> clazz = obj.getClass(); for (Field field : clazz.getDeclaredFields()) { field.setAccessible(true); // 使å¾ç§æå段ä¹å¯ä»¥è®¿é® map.put(field.getName(), (String) field.get(obj)); } return map; } /** *æ¥è¯¢åºå 车å车信æ¯ï¼åé¡µï¼ * @return */