From 6e3d13f32301eaa8af392f95b6f7966e06c5fcde Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 06 三月 2026 09:58:30 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java | 535 ++++++++++++++---------------------------------------------
1 files changed, 126 insertions(+), 409 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index e8b905c..0415313 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -11,15 +11,14 @@
import com.doumee.core.haikang.model.param.request.CustomBroadcastRequest;
import com.doumee.core.haikang.model.param.request.TransparentChannelSingleRequest;
import com.doumee.core.haikang.service.HKService;
-import com.doumee.core.utils.*;
+import com.doumee.core.utils.HttpsUtil;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
-import com.doumee.mqtt.config.MqttConfig;
-import com.doumee.mqtt.service.MqttBizService;
-import com.doumee.service.business.impl.mqtt.MqttClientCache;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
import com.doumee.service.business.DeviceService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -29,14 +28,11 @@
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.eclipse.paho.client.mqttv3.MqttClient;
-import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
-import java.util.Date;
import java.util.stream.Collectors;
/**
@@ -49,11 +45,7 @@
public class DeviceServiceImpl implements DeviceService {
@Autowired
- private MqttBizService mqttBizService;
- @Autowired
private DeviceMapper deviceMapper;
- @Autowired
- private DeviceDataMapper deviceDataMapper;
@Autowired
private PlatformMapper platformMapper;
@Autowired
@@ -62,8 +54,6 @@
private SystemDictDataBiz systemDictDataBiz;
@Autowired
private PlatformBroadcastLogMapper platformBroadcastLogMapper;
- @Autowired
- private InterfaceLogMapper interfaceLogMapper;
@Override
@@ -73,14 +63,6 @@
model.setIsdeleted(Constants.ZERO);
model.setEditDate(new Date());
model.setCreateDate(model.getEditDate());
- if(model.getDoorNameObj()!=null && Constants.equalsInteger(model.getType(),Constants.DEVICE_TYPE.duanluqi)){
- model.setDoorName(JSONObject.toJSONString(model.getDoorNameObj()));
- if(StringUtils.isNotBlank(model.getLevel())){
- if(getNumberByStr(model.getLevel()) <300){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鎺у埗鏃堕暱蹇呴』澶т簬绛変簬300绉�");
- }
- }
- }
deviceMapper.insert(model);
return model.getId();
}
@@ -115,35 +97,7 @@
public void updateById(Device device) {
device.setEdirot(device.getLoginUserInfo().getId()+"");
device.setEditDate(new Date());
- if(device.getDoorNameObj()!=null && Constants.equalsInteger(device.getType(),Constants.DEVICE_TYPE.duanluqi)){
- device.setDoorName(JSONObject.toJSONString(device.getDoorNameObj()));
- }
- Device model = deviceMapper.selectById(device.getId());
- if(model ==null){
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
- if(Constants.equalsInteger(model.getType(),Constants.DEVICE_TYPE.duanluqi)){
- //濡傛灉鏄柗璺櫒
- if( Constants.equalsInteger(model.getIsUsed(),Constants.ZERO)
- && StringUtils.equals(device.getDoorName(),model.getDoorName())){
- //濡傛灉閰嶇疆鍙傛暟鍙戠敓浜嗗彉鍖�,璁剧疆鐘舵�佹湭鍚敤
- device.setIsUsed(Constants.ONE);
- try {
- MqttClient mqttClient = MqttClientCache.clientMapCache.get("device"+device.getId());
- if(mqttClient !=null){
- if(mqttClient.isConnected()){
- mqttClient.disconnect();
- }
- mqttClient.close();
- MqttClientCache.clientMapCache.remove("device"+device.getId());
- }
- }catch (Exception e){
- log.error("==============绔彛mqtt閾炬帴澶辫触锛�"+model.getName()+e.getMessage());
- }
- }
- }
deviceMapper.updateById(device);
-
}
@Override
@@ -158,16 +112,7 @@
@Override
public Device findById(Integer id) {
- Device d = deviceMapper.selectById(id);
- if(StringUtils.isNotBlank(d.getDoorName()) &&Constants.equalsInteger(d.getType(),Constants.DEVICE_TYPE.duanluqi)){
- try {
- //鏂矾鍣ㄨ澶囧弬鏁�
- d.setDoorNameObj(JSONObject.parseObject(d.getDoorName()));
- }catch (Exception e){
-
- }
- }
- return d;
+ return deviceMapper.selectById(id);
}
@Override
@@ -178,7 +123,6 @@
@Override
public List<Device> findList(Device device) {
- device.setIsdeleted(Constants.ZERO);
QueryWrapper<Device> wrapper = new QueryWrapper<>(device);
return deviceMapper.selectList(wrapper);
}
@@ -191,20 +135,7 @@
.eq(null !=param.getIsdeleted(),Device::getIsdeleted,param.getIsdeleted())
.eq(Objects.isNull(param.getIsdeleted()),Device::getIsdeleted,Constants.ZERO)
.eq(null != param.getHkStatus(),Device::getHkStatus,param.getHkStatus());
- List<Device> list = deviceMapper.selectList(wrapper);
- if(list!=null){
- for(Device d : list){
- if(StringUtils.isNotBlank(d.getDoorName()) &&Constants.equalsInteger(d.getType(),Constants.DEVICE_TYPE.duanluqi)){
- try {
- //鏂矾鍣ㄨ澶囧弬鏁�
- d.setDoorNameObj(JSONObject.parseObject(d.getDoorName()));
- }catch (Exception e){
-
- }
- }
- }
- }
- return list;
+ return deviceMapper.selectList(wrapper);
}
@Override
@@ -241,12 +172,6 @@
}
if (pageWrap.getModel().getName() != null) {
queryWrapper.lambda().like(Device::getName, pageWrap.getModel().getName());
- }
- if (pageWrap.getModel().getDoorNo() != null) {
- queryWrapper.lambda().like(Device::getDoorNo, pageWrap.getModel().getDoorNo());
- }
- if (pageWrap.getModel().getNo() != null) {
- queryWrapper.lambda().like(Device::getNo, pageWrap.getModel().getNo());
}
if (pageWrap.getModel().getDoorName() != null) {
queryWrapper.lambda().like(Device::getDoorName, pageWrap.getModel().getDoorName());
@@ -319,20 +244,7 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- IPage<Device> result = deviceMapper.selectPage(page, queryWrapper);
- if(result!=null){
- for(Device d : result.getRecords()){
- if(StringUtils.isNotBlank(d.getDoorName()) &&Constants.equalsInteger(d.getType(),Constants.DEVICE_TYPE.duanluqi)){
- try {
- //鏂矾鍣ㄨ澶囧弬鏁�
- d.setDoorNameObj(JSONObject.parseObject(d.getDoorName()));
- }catch (Exception e){
-
- }
- }
- }
- }
- return PageData.from(result);
+ return PageData.from(deviceMapper.selectPage(page, queryWrapper));
}
@Override
@@ -357,191 +269,137 @@
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"鍙戦�佸け璐ワ細"+ JSONObject.toJSONString(response));
}
}
-
- @Override
- public void updateUsedById(Device param){
- Device model = deviceMapper.selectById(param.getId());
- if(model ==null && Constants.equalsInteger(param.getType(),Constants.DEVICE_TYPE.duanluqi)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
-
- MqttConfig config = getMqttConfigByParam(model,"device_");
- MqttClient mqttClient = MqttClientCache.clientMapCache.get("device"+param.getId());
- String[] topics =new String[]{Constants.MqttTopic.mts_status,
- Constants.MqttTopic.mts_attr,
- Constants.MqttTopic.mts_resp};
- if(Constants.equalsInteger(param.getIsUsed(),Constants.ONE)){
- //濡傛灉绯荤粺涓嶇敤浜嗭紝绔彛mqtt杩炴帴
- try {
- mqttClient = mqttBizService.unsubscribe(mqttClient,config ,topics);
- if(mqttClient !=null){
- if(mqttClient.isConnected()){
- mqttClient.disconnect();
- }
- mqttClient.close();
- MqttClientCache.clientMapCache.remove("device"+param.getId());
- }
- }catch (Exception e){
- log.error("==============绔彛mqtt閾炬帴澶辫触锛�"+model.getName()+e.getMessage());
- }
- }else{
- //濡傛灉寮�濮嬩娇鐢紝寮�濮嬭闃�
- mqttClient = mqttBizService.subscribe(mqttClient,config ,topics);
- if(mqttClient ==null){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"寤虹珛杩炴帴澶辫触锛�");
- }
- MqttClientCache.clientMapCache.put("device"+param.getId(),mqttClient);
- }
-
- this.updateById(param);
- }
- @Override
- public void duanluqiCmd(Device param){
- Device model = deviceMapper.selectById(param.getId());
- if(model ==null && Constants.equalsInteger(param.getType(),Constants.DEVICE_TYPE.duanluqi)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
- dealDuanluqiCmd(model,param,"device_");
-
- }
-
- private void dealDuanluqiCmd(Device model, Device param,String clientIndex) {
- MqttConfig config = getMqttConfigByParam(model,clientIndex);
- MqttClient mqttClient = MqttClientCache.clientMapCache.get("device"+param.getId());
- String cmdTopic = Constants.MqttTopic.mts_cmd.replace("$CATE",model.getNo()).replace("$DEVID",model.getDoorNo());
- if(Constants.equalsInteger(param.getStatus(),Constants.ONE)){
- //濡傛灉鏄紑闂革紝鍏堣В閿�
- String cmdParamAction = CmdContants.T30A.cmdParam.replace("$DEVID", model.getDoorNo())
- .replace("$CMD", CmdContants.T30ACmd.do_err_clear)//寮傚父瑙i攣
- .replace("$BUSADDR",model.getChannelNo());
- mqttClient = mqttBizService.publish(mqttClient,config,cmdTopic, cmdParamAction);//瑙i攣鍛戒护
- if(mqttClient ==null){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"鎸囦护鍙戦�佸け璐ワ紒");
- }
- }
- String cmdParamAction =CmdContants.T30A.cmdParam.replace("$DEVID", model.getDoorNo())
- .replace("$CMD",(Constants.equalsInteger(param.getStatus(),Constants.ONE)?CmdContants.T30ACmd.do_turn_on:CmdContants.T30ACmd.do_turn_off))
- .replace("$BUSADDR", param.getChannelNo());
- mqttClient = mqttBizService.publish(mqttClient,config,cmdTopic, cmdParamAction);//寮�鍏抽椄鍛戒护
- if(mqttClient ==null){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"鎸囦护鍙戦�佸け璐ワ紒");
- }
- MqttClientCache.clientMapCache.put("device"+param.getId(),mqttClient);
- String curremak = "銆�"+param.getLoginUserInfo().getRealname()
- +"銆戜簬"+ DateUtil.getPlusTime2(new Date()) +"杩涜浜�"+(Constants.equalsInteger(param.getStatus(),Constants.ONE)?"銆愬悎闂搞��":"銆愬垎闂搞��")+"鎿嶄綔,寮�鍏炽��"+param.getChannelNo()+"銆戯紱";
- deviceMapper.update(null,new UpdateWrapper<Device>().lambda()
-// .setSql("remark = concat(ifnull(remark,''),'"+curremak+"','\n')")
- .set(Device::getRemark,curremak)
- .set(Device::getEditDate,new Date())
- .set(Device::getEdirot,param.getLoginUserInfo().getId())
- .eq(Device::getId,param.getId()));
-
- DeviceData data = new DeviceData();
- data.setCreateDate(new Date());
- data.setEditDate(new Date());
- data.setCreator(param.getLoginUserInfo().getId());
- data.setEditor(param.getLoginUserInfo().getId());
- data.setDeviceId(param.getId()+"");
- data.setDataType(Constants.ONE);//
- data.setVal1("杩滅▼鎺у埗");
- data.setVal2(curremak);
- data.setHappenTime(DateUtil.getPlusTime2(data.getCreateDate()));
- data.setVal3((Constants.equalsInteger(param.getStatus(),Constants.ONE)?"銆愬悎闂搞��":"銆愬垎闂搞��"));
- data.setVal4(param.getLoginUserInfo().getRealname());
- data.setVal5(param.getChannelNo());
- deviceDataMapper.insert(data);
- }
-
- private MqttConfig getMqttConfigByParam(Device model,String index) {
- MqttConfig config = new MqttConfig();
- JSONObject mqtt = new JSONObject();
- if(StringUtils.isBlank(model.getNo())
- ||StringUtils.isBlank(model.getDoorNo()) ){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璁惧鏍囪瘑绗﹀拰璁惧鍙锋湭閰嶇疆锛�");
- }
- if(StringUtils.isNotBlank(model.getDoorName())){
- try {
- //鏂矾鍣ㄨ澶囧弬鏁�
- mqtt = (JSONObject.parseObject(model.getDoorName()));
- }catch (Exception e){
- }
- }
- if(mqtt == null
- ||StringUtils.isBlank(mqtt.getString("mqttUsername"))
- ||StringUtils.isBlank(mqtt.getString("mqttIp"))
- ||StringUtils.isBlank(mqtt.getString("mqttPort"))
- ||StringUtils.isBlank(mqtt.getString("mqttPassword"))){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璁惧mqtt鏈嶅姟鍙傛暟閰嶇疆涓嶆纭紒");
- }
- /**
- * MqttConfig config = (new MqttConfig());
- * config.setHost("tcp://192.168.0.7:1883");
- * config.setClientid("doumee1");
- * config.setPassword("doumee@168");
- * config.setUsername("doumee");
- * config.setVersion("003");
- */
- config.setVersion("003");
- config.setUsername( mqtt.getString("mqttUsername"));
- config.setPassword( mqtt.getString("mqttPassword"));
- config.setHost("tcp://"+ mqtt.getString("mqttIp")+":"+mqtt.getString("mqttPort"));
- config.setClientid(index+model.getId());
- return config;
- }
- public void mqttCallbackService(String topic, MqttMessage message){
- log.error("mqtt鏀跺埌娑堟伅=====topic锛�",topic);
- log.error("mqtt鏀跺埌娑堟伅=====message锛�",JSONObject.toJSONString(message));
- }
@Override
public String setBroadcaseBobaoHttp(Device param){
- Device model = deviceMapper.selectById(param.getId());
+ /* Device model = deviceMapper.selectById(param.getId());
if(model ==null && Constants.equalsInteger(param.getType(),Constants.FOUR)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
String input = "";
+ JSONObject objext = new JSONObject();
- model.setSendInfo(param.getSendInfo());
- return sendBroadcaseBobaoHttpBiz(model,interfaceLogMapper);
- }
- public static String sendBroadcaseBobaoHttpBiz(Device model,InterfaceLogMapper interfaceLogMapper){
//閲嶆柊涓嬪彂璁″垝
JSONObject jsonObject = new JSONObject();
- jsonObject.put("command","start");
- jsonObject.put("TTSContent",model.getSendInfo());
- jsonObject.put("audioLevel",6);
- jsonObject.put("audioVolume",100);
- jsonObject.put("TTSLanguageType","chinese");
- jsonObject.put("voiceType","female");
- jsonObject.put("pace",50);
- JSONArray a = new JSONArray();
- a.add(1);
- jsonObject.put("audioOutID",a);
- String params =jsonObject.toJSONString();
- log.error("========娴峰悍骞挎挱鎾斁鍏ュ弬鍐呭 : " + params);
- String result = HttpsUtil.doPutHk(model.getIp(),Integer.parseInt(StringUtils.defaultString(model.getPort(),"80")),model.getDoorId(), model.getDoorName()
- ,"/ISAPI/AccessControl/EventCardLinkageCfg/TTSAudio?format=json",params);
- log.error("========娴峰悍骞挎挱鎾斁杩斿洖鍐呭 : " + result);
+ //绗竴灞�
+ JSONArray firstJsonArray = new JSONArray();
+ JSONObject downJson = new JSONObject();
+ downJson.put("terminalID",1);
+ //涓嶅~榛樿瀵规墍鏈夐�氶亾涓嬪彂
+ JSONArray audioJsonArray = new JSONArray();
+ audioJsonArray.add(1);
+ downJson.put("audioOutID",audioJsonArray);
+ firstJsonArray.add(downJson);
+ jsonObject.put("TerminalInfoList",firstJsonArray);
+ //绗竴灞傛暟缁�
+ JSONArray allJsonArray = new JSONArray();
+ //鏁扮粍涓璞�
+ for (WaterTimingBroadcastDO waterTimingBroadcastDO : searchList) {
+ JSONObject downArrayData = new JSONObject();
+ downArrayData.put("audioOutID",audioJsonArray);
+ downArrayData.put("enabled",true);
+ downArrayData.put("planSchemeID",waterTimingBroadcastDO.getName());
+ JSONObject executeJson = new JSONObject();
+ executeJson.put("startTime", getDateStringByZones(waterTimingBroadcastDO.getStartDate()));
+ executeJson.put("stopTime",getDateStringByZones(waterTimingBroadcastDO.getEndDate()));
+ if (Constant.ONE.equals(waterTimingBroadcastDO.getPeriodType())){
+ //鏃ヨ鍒�
+ JSONArray executeJsonArray = new JSONArray();
+ JSONObject executeJsonDataItem = new JSONObject();
+ executeJsonDataItem.put("beginTime",waterTimingBroadcastDO.getStartTime()+"+08:00");
+ executeJsonDataItem.put("endTime",waterTimingBroadcastDO.getEndTime()+"+08:00");
+ executeJsonDataItem.put("playMode","loop");
+ executeJsonDataItem.put("playNowTime","");
+ executeJsonDataItem.put("planSchemeExecID",0);
+ JSONObject secondDownOperationJson = new JSONObject();
+ if (Constant.ONE.equals(waterTimingBroadcastDO.getContentType())){
+ //鏂囨湰
+ secondDownOperationJson.put("audioSource","speechSynthesis");
+ secondDownOperationJson.put("speechSynthesisContent",waterTimingBroadcastDO.getContent());
+ }else if (Constant.TWO.equals(waterTimingBroadcastDO.getContentType())){
+ //闊抽
+ secondDownOperationJson.put("audioSource","customAudio");
+ String json = waterTimingBroadcastDO.getJson();
+ JSONObject jsonData = JSONObject.parseObject(json);
+ List<Integer> hkAudioIds = new ArrayList<>();
+ hkAudioIds.add(jsonData.getIntValue(waterDeviceDO.getIp()));
+ secondDownOperationJson.put("customAudioID",hkAudioIds);
+ }
+ secondDownOperationJson.put("audioLevel",5);
+ //璇█绫诲瀷
+ secondDownOperationJson.put("TTSLanguageType","chinese");
+ secondDownOperationJson.put("voiceType","female");
+ secondDownOperationJson.put("audioVolume",100);
+ executeJsonDataItem.put("Operation",secondDownOperationJson);
+ executeJsonArray.add(executeJsonDataItem);
+ executeJson.put("dailyScheduleList",executeJsonArray);
+ }else {
+ //鍛ㄨ鍒�
+ JSONArray executeJsonArray = new JSONArray();
+ List<String> executeTime = new ArrayList<>();
+ if (Constant.ONE.equals(waterTimingBroadcastDO.getPeriodType())){
+ //鏃ヨ鍒� 寰幆涓�娆�
+ executeTime.add("1");
+ }else if (Constant.TWO.equals(waterTimingBroadcastDO.getPeriodType())){
+ //鍛ㄨ鍒掑涓�涓懆鍑�
+ executeTime = Arrays.asList(waterTimingBroadcastDO.getExecuteTime().split(","));
+ }
+ for (String s : executeTime) {
+ JSONObject executeJsonData = new JSONObject();
+ if (Constant.TWO.equals(waterTimingBroadcastDO.getPeriodType())){
+ //鍛ㄨ鍒掑涓�涓懆鍑�
+ executeJsonData.put("dayOfWeek",Integer.parseInt(s));
+ }
+ JSONArray executeJsonDataArray = new JSONArray();
+ JSONObject executeJsonDataItem = new JSONObject();
+ executeJsonDataItem.put("beginTime",waterTimingBroadcastDO.getStartTime()+"+08:00");
+ executeJsonDataItem.put("endTime",waterTimingBroadcastDO.getEndTime()+"+08:00");
+ executeJsonDataItem.put("playMode","loop");
+ executeJsonDataItem.put("playNowTime","");
+ executeJsonDataItem.put("planSchemeExecID",0);
+ JSONObject secondDownOperationJson = new JSONObject();
+ if (Constant.ONE.equals(waterTimingBroadcastDO.getContentType())){
+ //鏂囨湰
+ secondDownOperationJson.put("audioSource","speechSynthesis");
+ secondDownOperationJson.put("speechSynthesisContent",waterTimingBroadcastDO.getContent());
+ }else if (Constant.TWO.equals(waterTimingBroadcastDO.getContentType())){
+ //闊抽
+ secondDownOperationJson.put("audioSource","customAudio");
+ String json = waterTimingBroadcastDO.getJson();
+ JSONObject jsonData = JSONObject.parseObject(json);
+ List<Integer> hkAudioIds = new ArrayList<>();
+ hkAudioIds.add(jsonData.getIntValue(waterDeviceDO.getIp()));
+ secondDownOperationJson.put("customAudioID",hkAudioIds);
+ }
+ secondDownOperationJson.put("audioLevel",5);
+ //璇█绫诲瀷
+ secondDownOperationJson.put("TTSLanguageType","chinese");
+ secondDownOperationJson.put("voiceType","female");
+ secondDownOperationJson.put("audioVolume",10);
+ executeJsonDataItem.put("Operation",secondDownOperationJson);
+ executeJsonDataArray.add(executeJsonDataItem);
+ executeJsonData.put("scheduleList",executeJsonDataArray);
+ executeJsonArray.add(executeJsonData);
- JSONObject resultJson = JSONObject.parseObject(result);
- Boolean success = false;
- if(Constants.equalsInteger(resultJson.getInteger("statusCode"),Constants.ONE)){
- success = true;
+ }
+ executeJson.put("weeklyScheduleList",executeJsonArray);
+ }
+
+ if (Constant.ONE.equals(waterTimingBroadcastDO.getPeriodType())){
+ //鏃ヨ鍒�
+ downArrayData.put("dailyScheduleInfo",executeJson);
+ }else {
+ //鍛ㄨ鍒�
+ downArrayData.put("weklyScheduleInfo",executeJson);
+ }
+ allJsonArray.add(downArrayData);
}
- InterfaceLog log = new InterfaceLog();
- log.setCreateDate(new Date());
- log.setUrl("/ISAPI/AccessControl/EventCardLinkageCfg/TTSAudio?format=json");
- log.setEditDate(log.getCreateDate());
- log.setPlat(Constants.ZERO);
- log.setName("娴峰悍骞挎挱鎾斁");
- log.setIsdeleted(Constants.ZERO);
- log.setRequest(params);
- log.setType(Constants.ZERO);
- log.setSuccess(success?Constants.ZERO:Constants.ONE);
- log.setRepose(result);
- interfaceLogMapper.insert(log);
+ jsonObject.put("broadcastPlanSchemeList",allJsonArray);
+ log.info("娴峰悍鎾斁璁″垝涓嬪彂鍏ュ弬鍐呭 : " + jsonObject);
-
- return result;
+ String result = HttpsUtil.doPostHk(param.getIp(),Integer.parseInt(StringUtils.defaultString(param.getPort(),"80"))
+ ,"/ISAPI/VideoIntercom/broadcast/AddPlanScheme?format=json",param.getDoorId(), param.getDoorName(),jsonObject.toJSONString());
+ return result;*/
+ return null;
}
@Override
public void setLedContent(TransparentChannelSingleRequest model) {
@@ -599,149 +457,8 @@
}catch (Exception e){
log.error( "瀵逛笉璧凤紝灞忓箷鍐呭璁剧疆寮傚父"+ device.getName());
}
+
}
log.error( "灞忓箷鍐呭璁剧疆=======================缁撴潫========" );
- }
-
-
- /**
- * 鏈嶅姟寮�鍚闃呬换鍔�
- */
- @Override
- public void startCheckDuanluqiSubjob() {
- List<Device> devices = deviceMapper.selectList(new QueryWrapper<Device>().lambda()
- .eq(Device::getType,Constants.DEVICE_TYPE.duanluqi)//鏂矾鍣�
- .eq(Device::getIsUsed,Constants.ZERO)
- .eq(Device::getIsdeleted,Constants.ZERO)
- );
- if(devices!=null && devices.size()>0){
- for (Device model : devices){
- try {
- MqttConfig config = getMqttConfigByParam(model,"device_");
- MqttClient mqttClient = MqttClientCache.clientMapCache.get("device"+model.getId());
- String[] topics =new String[]{Constants.MqttTopic.mts_status,
- Constants.MqttTopic.mts_attr,
- Constants.MqttTopic.mts_resp};
- //濡傛灉寮�濮嬩娇鐢紝寮�濮嬭闃�
- mqttClient = mqttBizService.subscribe(mqttClient,config ,topics);
- if(mqttClient ==null){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"寤虹珛杩炴帴澶辫触锛�");
- }
- MqttClientCache.clientMapCache.put("device"+model.getId(),mqttClient);
- log.error("=======寮�濮嬭嚜鍔ㄥ畾浜巑qtt浠诲姟瀹屾垚锛�"+model.getName() );
- }catch (Exception e){
- log.error("=======寮�濮嬭嚜鍔ㄥ畾浜巑qtt浠诲姟澶辫触锛�"+model.getName()+e.getMessage());
- }
- }
-
- }
- }
- /**
- * 鏂矾鍣ㄥ垽鏂槸鍚﹂渶瑕佽繙绋嬪垎闂稿畾浜轰换鍔�
- */
- @Override
- public void autoCloseCmdTimer(){
- if(Constants.DEALING_DUANLUQI_CLOSE){
- return;
- }
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒寮�濮�=========");
- Constants.DEALING_DUANLUQI_CLOSE = true;
- try {
- List<Device> devices = deviceMapper.selectList(new QueryWrapper<Device>().lambda()
- .eq(Device::getType,Constants.DEVICE_TYPE.duanluqi)//鏂矾鍣�
- .isNotNull(Device::getLevel)//閰嶇疆浜嗙┖闂叉椂闀块檺鍒�
- .isNotNull(Device::getDoorName)//閰嶇疆浜哅QTT鍙傛暟
- .isNotNull(Device::getChannelInfo)//閰嶇疆浜嗘帶鍒跺紑鍏冲簭鍙�
- .eq(Device::getIsUsed,Constants.ZERO)
- .eq(Device::getIsdeleted,Constants.ZERO)
- );
- if(devices!=null && devices.size()>0){
- for(Device device : devices){
- try {
- long time = (long)getNumberByStr(device.getLevel());//鎺у埗鏃堕暱
- if(time < 300 ){
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒鍒嗛椄澶辫触=========绌洪棽鏃堕暱鏈纭厤缃�"+time);
- continue;
- }
- double closeDianliu = getCloseDianliuByParam(device);
- if(closeDianliu < 0 ){
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒鍒嗛椄澶辫触=========绌洪棽鐢垫祦闃堝�艰缃敊璇�"+closeDianliu);
- continue;
- }
- List<String> closeBtn = new ArrayList<>();
- String[] btns = device.getChannelInfo().split(",");
- Date startDate = new Date((System.currentTimeMillis()-time*1000));//鏌ヨ寮�濮嬫椂闂�
- List<DeviceData> dataList = deviceDataMapper.selectList(new QueryWrapper<DeviceData>().lambda()
- .eq(DeviceData::getDataType,Constants.ZERO)
- .eq(DeviceData::getDeviceId,device.getId())
- .in(DeviceData::getVal1,btns)
- .ge(DeviceData::getHappenTime,DateUtil.getPlusTime2(startDate))
- .orderByDesc(DeviceData::getHappenTime));
- if(dataList != null && dataList.size()>0 ){
- for(String b : btns){
- DeviceData last = getLastDataByVal1(b,dataList,closeDianliu);
- if(last !=null && StringUtils.equals(last.getVal7(),"1")){
- closeBtn.add(b);//闇�瑕佸垎闂�
- }
- }
- if(StringUtils.equals( dataList.get(0).getVal7(),"0")){
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒鍒嗛椄缁撴潫======鍒嗛椄鐘舵�佹棤闇�鎿嶄綔==="+device.getName());
- continue;
- }
- }
- if(closeBtn.size()>0){
- Device param = new Device();
- param.setLoginUserInfo(new LoginUserInfo());
- param.getLoginUserInfo().setRealname("绯荤粺鑷姩鎺у埗");
- param.setChannelNo(String.join(",",closeBtn));
- param.setId(device.getId());
- param.setStatus(Constants.ZERO);
- dealDuanluqiCmd(device,param,"deviceTimer_");
- }
- }catch (Exception e){
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒鍒嗛椄澶辫触========="+device.getName()+e.getMessage());
- }
- }
- }
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒鍒嗛椄鏁伴噺========="+devices.size());
- }catch (Exception e){
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒鍒嗛椄寮傚父========="+e.getMessage());
- }finally {
- Constants.DEALING_DUANLUQI_CLOSE = false;
- }
- log.error("寮�鍚畾鏃惰繙绋嬫帶鍒舵柇璺櫒鍒嗛椄缁撴潫=========");
- }
-
- private double getCloseDianliuByParam(Device device) {
- try {
- JSONObject json = JSONObject.parseObject(device.getDoorName() );
- return json.getDouble("max");
- }catch (Exception e){
-
- }
- return 0;
- }
-
- private DeviceData getLastDataByVal1(String b, List<DeviceData> dataList,double limit) {
- List<DeviceData> list = new ArrayList<>();
- for(DeviceData d :dataList){
- if(StringUtils.equals(d.getVal1(),b)){
- if(limit <= getNumberByStr(d.getVal2())){
- //濡傛灉鏈夊疄鏃剁數娴佸�煎ぇ浜庣┖闂查槇鍊硷紝鍒欒〃绀哄伐浣滀腑锛屼笉鍋氬鐞�
- return null;
- }
- list.add(d);
- }
- }
- return list.size()>0?list.get(0):null;
- }
-
- private double getNumberByStr(String level) {
- try {
- return Double.parseDouble(level);
- }catch (Exception e){
-
- }
- return 0;
}
}
--
Gitblit v1.9.3