Commit 64d9b8c2 authored by duanruiming's avatar duanruiming

[add] 海信服务添加全红黄闪控制

parent 18052482
......@@ -6,6 +6,7 @@ package net.wanji.utc.hisense.common.constants;
* @Author zhouleilei
* @Date 2024/11/3 16:47
*/
@SuppressWarnings("all")
public class HttpConstants {
//MESSAGETYPE
public static final String MESSAGETYPE = "messageType";
......@@ -52,5 +53,15 @@ public class HttpConstants {
// result = 3 指令执行失败
public static final String RESULT_3 = "3";
/** 关灯251 */
public static final String CLOSED_LIGHT_CONTROL = "251";
/** 全红252 */
public static final String ALL_RED_CONTROL = "252";
/** 方案选择控制253 */
public static final String SCHEME_SELECT_CONTROL = "253";
/** FREE控制-感应控制-半感应控制254 */
public static final String FREE_CONTROL = "254";
/** 黄闪255 */
public static final String YELLOW_CONTROL = "255";
}
......@@ -32,10 +32,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author duanruiming
......@@ -395,7 +392,58 @@ public class ControlCommandServiceImpl implements ControlCommandService {
@Override
public JsonViewObject setSignalControl(ControlCommandVO commandVO) throws Exception {
return null;
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
CrossInfoPOExt crossInfoPOExt = crossInfoMapper.selectById(commandVO.getCrossCode());
Integer controlType = commandVO.getControlType();
String hisenseControlType = "0";
if (Objects.equals(1, controlType)) {
hisenseControlType = HttpConstants.CLOSED_LIGHT_CONTROL;
}
if (Objects.equals(2, controlType)) {
hisenseControlType = HttpConstants.YELLOW_CONTROL;
}
if (Objects.equals(3, controlType)) {
hisenseControlType = HttpConstants.ALL_RED_CONTROL;
}
Document document = getDocument(crossInfoPOExt, hisenseControlType);
//给海信发送http请求
try {
//String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
String post = OkHttpClientUtil.xmlPost("", document.asXML());
if (StringUtils.isNotBlank(post)) {
Document postResult = DocumentHelper.parseText(post);
String result = postResult.selectSingleNode(HttpConstants.SYSTEMSCRIPTION_RESULT).getText();
if (HttpConstants.RESULT_1.equals(result) || HttpConstants.RESULT_2.equals(result)) {
//指令下发成功
jsonViewObject.success("远程调用海信服务-特殊控制成功");
} else {
//指令下发失败
jsonViewObject.fail("远程调用海信服务-特殊控制成功");
}
}
} catch (Exception e) {
log.error(" 手动方案控制-全红控制失败:{}", e);
return jsonViewObject.fail("远程调用海信服务-特殊控制成功");
}
return jsonViewObject;
}
/**
* 手动方案控制xml通用方法
* @param crossInfoPOExt
* @return
*/
private static Document getDocument(CrossInfoPOExt crossInfoPOExt, String type) {
//组装document
Document document = OperationBaseDom.generateBaseDoc();
Element element = (Element) document.selectSingleNode(HttpConstants.SYSTEMSCRIPTION);
element.addElement(HttpConstants.MESSAGETYPE).setText(HttpConstants.MESSAGETYPE_16);
Element messageContent = (Element) document.selectSingleNode(HttpConstants.SYSTEMSCRIPTION_MESSAGECONTENT);
messageContent.addElement(HttpConstants.SPOT).setText(crossInfoPOExt.getCode());
messageContent.addElement(HttpConstants.PATTERN).setText(type);
return document;
}
@Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment