Commit 2adc1cc7 authored by duanruiming's avatar duanruiming

Merge remote-tracking branch 'origin/master'

parents 392c3716 c78294b3
......@@ -60,7 +60,57 @@ public class ControlCommandServiceImpl implements ControlCommandService {
@Override
public JsonViewObject stepControl(String code, Integer command, Integer stepNum) throws Exception {
return null;
CrossInfoPOExt crossInfoPOExt = crossInfoMapper.selectById(code);
//组装document
Document document = OperationBaseDom.generateBaseDoc();
Element element = (Element) document.selectSingleNode(HttpConstants.SYSTEMSCRIPTION);
element.addElement(HttpConstants.MESSAGETYPE).setText(HttpConstants.MESSAGETYPE_22);
Element messageContent = (Element) document.selectSingleNode(HttpConstants.SYSTEMSCRIPTION_MESSAGECONTENT);
messageContent.addElement(HttpConstants.SPOT).setText(crossInfoPOExt.getCode());
messageContent.addElement(HttpConstants.COMMAND).setText(command+"");
//目前海信步进幅度只支持0
messageContent.addElement(HttpConstants.CTRLSTEP).setText("0");
if (command == 0){
//取消步进,防止瞎传stepNum
stepNum = 0;
}
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
//给海信发送http请求
for (int i = 0; i < stepNum; i++) {
// String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
String post = " <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
" <systemScription System=\"TCIP\" Version=\"1.0\">\n" +
" <subSystem>Hisense</subSystem>\n" +
" <messageType>16</messageType>\n" +
" <isRequest>1</isRequest>\n" +
" <seq>{formatted_time}</seq>\n" +
" <needResponse>1</needResponse> \n" +
" <result>1</result>\n" +
" <flag>0</flag>\n" +
" <messageContent>\n" +
" <Spot>{crossId}</Spot>\n" +
" <Pattern>0</Pattern>\n" +
" </messageContent>\n" +
" </systemScription>";
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)) {
log.info("路口号 :{},第 {} 次步进成功,result:{}", crossInfoPOExt.getCode(), i + 1, result);
jsonViewObject = jsonViewObject.success("相位步进 - 控制成功");
}else {
log.error("路口号 :{},第 {} 次步进失败,result:{}", crossInfoPOExt.getCode(), i + 1, result);
return jsonViewObject.fail("相位步进失败,路口号:"+crossInfoPOExt.getCode());
}
//停顿10ms
Thread.sleep(10);
}else {
return jsonViewObject.fail("相位步进失败,路口号: "+crossInfoPOExt.getCode());
}
}
return jsonViewObject;
}
@Override
......
......@@ -14,6 +14,7 @@ import net.wanji.databus.vo.TempSchemeSendVO;
import net.wanji.databus.po.SaveToUtcPO;
import net.wanji.databus.vo.*;
import net.wanji.utc.service.control.ControlCommandStrategyService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -153,6 +154,9 @@ public class ControlCommandController {
public JsonViewObject stepControl(@RequestParam String crossCode,
@RequestParam Integer command,
@RequestParam int stepNum) throws Exception {
if (ObjectUtils.isEmpty(crossCode) || ObjectUtils.isEmpty(command) || ObjectUtils.isEmpty(stepNum)){
return JsonViewObject.newInstance().fail("crossCode、command、stepNum 参数不能为空");
}
return controlCommandStrategyService.stepControlStrategy(crossCode, command, stepNum);
}
......
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