| | |
| | | import com.bstek.dorado.annotation.DataProvider; |
| | | import com.bstek.dorado.annotation.DataResolver; |
| | | import com.bstek.dorado.annotation.Expose; |
| | | import com.fzzy.api.data.GatewayDeviceType; |
| | | import com.fzzy.api.utils.ContextUtil; |
| | | import com.fzzy.api.utils.DateUtil; |
| | | import com.fzzy.async.fzzy40.Fzzy40CommonService; |
| | |
| | | import com.fzzy.gateway.entity.GatewayDevice; |
| | | import com.fzzy.gateway.hx2023.ScConstant; |
| | | import com.fzzy.gateway.hx2023.data.*; |
| | | import com.fzzy.gateway.hx2023.websocket.WebSocketDeviceReport; |
| | | import com.fzzy.gateway.service.repository.GatewayDeviceRep; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | | @Component |
| | |
| | | private Fzzy40CommonService fzzy40CommonService; |
| | | @Resource |
| | | private GatewayRemoteManager gatewayRemoteManager; |
| | | |
| | | @Resource |
| | | private WebSocketDeviceReport webSocketDeviceReport; |
| | | /** |
| | | * gatewayDeviceService#listAll |
| | | * |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * gatewayDeviceService#ajaxTestWeight |
| | | * 地磅推送测试 |
| | | * |
| | | * @param parameter |
| | | * @return |
| | | */ |
| | | @Expose |
| | | public String ajaxTestWeight(Map<String, Object> parameter) { |
| | | double weigh = (double) parameter.get("weight"); |
| | | List<GatewayDevice> devices = listAll(); |
| | | if(devices == null || devices.size()<= 0){ |
| | | return "没有设备"; |
| | | } |
| | | List<GatewayDevice> weights = devices.stream().filter(s ->(GatewayDeviceType.TYPE_01.getCode().equals(s.getType()))).collect(Collectors.toList()); |
| | | if(weights == null || weights.size()<= 0){ |
| | | return "没有获取到地磅设备"; |
| | | } |
| | | for (GatewayDevice device: weights) { |
| | | |
| | | WebSocketPacket packet = new WebSocketPacket(); |
| | | |
| | | //productId的值在webSocket执行发送方法中补充 |
| | | WebSocketPacketHeader header = new WebSocketPacketHeader(); |
| | | header.setDeviceName(device.getDeviceName()); |
| | | header.setProductId("hx-weigh-big-01"); |
| | | //header.set |
| | | packet.setHeaders(header); |
| | | packet.setMessageType(ScConstant.MESSAGE_TYPE_REPORT_PROPERTY); |
| | | packet.setDeviceId(device.getDeviceId()); |
| | | |
| | | //设置信息主体 |
| | | WeightInfo weightInfo = new WeightInfo(); |
| | | weightInfo.setGrossWeight(weigh); |
| | | weightInfo.setNetWeight(weigh); |
| | | weightInfo.setNetWeight(weigh); |
| | | weightInfo.setWeightUnit("KG"); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("weightInfo", JSONObject.toJSONString(weightInfo)); |
| | | |
| | | packet.setProperties(jsonObject); |
| | | |
| | | packet.setTimestamp(System.currentTimeMillis()); |
| | | |
| | | |
| | | webSocketDeviceReport.sendByPacket(packet); |
| | | } |
| | | return "SUCCESS"; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * gatewayDeviceService#ajaxTestGrain |
| | | * 粮情推送测试 |