package com.fzzy.protocol.weightyh; import com.alibaba.fastjson2.JSONObject; import com.fzzy.api.data.GatewayDeviceProtocol; import com.fzzy.gateway.api.GatewayRemoteManager; import com.fzzy.gateway.api.GatewaySyncWeightService; import com.fzzy.gateway.data.BaseReqData; import com.fzzy.gateway.data.BaseResp; import com.fzzy.gateway.entity.GatewayDevice; import com.fzzy.gateway.util.GatewayHttpUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; /** * HTTP方式获取地磅信息 *
* 注:当前协议包含JSON和JSONP两种支持,自动识别
*/
@Slf4j
@Component
public class GatewaySyncWeightImplHttp implements GatewaySyncWeightService {
@Resource
private GatewayRemoteManager gatewayRemoteManager;
@Override
public String getWeightProtocol() {
return GatewayDeviceProtocol.DEVICE_WEIGHT_HTTP.getCode();
}
@Override
public BaseResp syncWeightInfo(BaseReqData reqData) {
GatewayDevice device = reqData.getDevice();
if (null == device) return new BaseResp(500, "没有获取到设备信息");
if (StringUtils.isEmpty(device.getHttpUrl())) new BaseResp(500, "没有配置HTTP请求地址");
try {
Map