package com.fzzy.protocol.fzzy.builder;
|
|
|
import com.fzzy.api.data.ApiCommonDevice;
|
import com.fzzy.gateway.entity.GatewayDevice;
|
import com.fzzy.io.request.BaseRequest;
|
import com.fzzy.protocol.fzzy.data.MessageInfo;
|
import com.fzzy.protocol.fzzy.data.ReMessage;
|
import com.fzzy.protocol.fzzy.data.SendMessage;
|
import com.fzzy.protocol.fzzy.server.ServerUtils;
|
|
/**
|
* 无消息体的命令封装
|
*/
|
public class SimpleCommandBuilder extends CommandBuilder {
|
|
private final static SimpleCommandBuilder instance = new SimpleCommandBuilder();
|
|
private SimpleCommandBuilder() {
|
}
|
|
public static SimpleCommandBuilder getInstance() {
|
return instance;
|
}
|
|
public SendMessage buildMessage(ApiCommonDevice deviceSer, String functionId) {
|
|
BaseRequest request = new BaseRequest();
|
request.setSerId(deviceSer.getSn());
|
request.setBizType("grain");
|
request.setCompanyId("0000");
|
request.setPort(deviceSer.getPort());
|
request.setSerName(deviceSer.getId());
|
request.setIp(deviceSer.getIp());
|
|
SendMessage message = new SendMessage();
|
message.setIp(request.getIp());
|
message.setPort(request.getPort());
|
|
message.setBegin(ServerUtils.MSG_BEGIN);
|
|
// 调整信息
|
buildInfo(message, request, functionId);
|
|
|
message.setEnd(ServerUtils.MSG_END);
|
|
// 生成整体命令信息和BYte信息
|
build(message);
|
|
return message;
|
}
|
|
public SendMessage buildMessage(ReMessage reMessage, String functionId) {
|
|
BaseRequest request = new BaseRequest();
|
request.setSerId(reMessage.getIedId());
|
request.setBizType("grain");
|
request.setCompanyId(reMessage.getCompanyId());
|
request.setPort(reMessage.getPort());
|
request.setIp(reMessage.getIp());
|
|
SendMessage message = new SendMessage();
|
message.setIp(request.getIp());
|
message.setPort(request.getPort());
|
|
message.setBegin(ServerUtils.MSG_BEGIN);
|
|
// 调整信息
|
buildInfo(message, request, functionId);
|
|
|
message.setEnd(ServerUtils.MSG_END);
|
|
// 生成整体命令信息和BYte信息
|
build(message);
|
|
return message;
|
}
|
|
public void buildInfo(SendMessage message, BaseRequest request, String functionId) {
|
MessageInfo info = new MessageInfo();
|
info.setSign(request.getCompanyId());
|
info.setIedId(request.getSerId());
|
info.setFunctionId(functionId);
|
info.setRespCode("0000");
|
info.setOrderId(request.getOrderId());
|
info.setUserData("0");
|
info.setSign("0000");
|
info.setContent(null);
|
|
message.setInfo(info);
|
}
|
|
|
}
|