From b1c572949997a5d82d9b609163ff280a1c49627d Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期五, 26 四月 2024 14:09:45 +0800 Subject: [PATCH] 粮情协议优化 --- src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java | 98 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 70 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java index bda41b6..067e3d9 100644 --- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java +++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java @@ -5,14 +5,12 @@ import com.bstek.dorado.annotation.Expose; import com.fzzy.api.Constant; import com.fzzy.api.data.ApiCommonDevice; +import com.fzzy.api.data.DepotType; +import com.fzzy.api.data.GatewayDeviceType; import com.fzzy.api.utils.ContextUtil; -import com.fzzy.async.fzzy40.Fzzy40CommonService; import com.fzzy.gateway.GatewayUtils; -import com.fzzy.gateway.api.GatewayRemoteManager; import com.fzzy.gateway.entity.GatewayDevice; import com.fzzy.gateway.service.repository.GatewayDeviceRep; -import com.fzzy.mqtt.MqttProviderConfig; -import com.fzzy.mqtt.MqttPublishService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.data.domain.Sort; @@ -20,6 +18,7 @@ import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Slf4j @@ -45,36 +44,19 @@ List<GatewayDevice> result = new ArrayList<>(); - ApiCommonDevice apiCommonDevice; + ApiCommonDevice commonDevice; for (GatewayDevice device : list) { - - apiCommonDevice = Constant.getCommonDeviceCache(device.getDeviceSn()); - if (null != apiCommonDevice) { - device.setIp(apiCommonDevice.getIp()); - device.setPort(apiCommonDevice.getPort()); - device.setStatus(apiCommonDevice.getStatus()); - device.setOnlineTime(apiCommonDevice.getOnlineTime()); + commonDevice = Constant.getCommonDeviceCache(device.getDeviceSn()); + if (null != commonDevice) { + device.setIp(commonDevice.getIp()); + device.setPort(commonDevice.getPort()); + device.setStatus(commonDevice.getStatus()); + device.setOnlineTime(commonDevice.getOnlineTime()); } result.add(device); } return result; } - -// /** -// * gatewayDeviceService#getQuery -// * -// * @return -// */ -// @DataProvider -// public GateWayTestParam getQuery() { -// GateWayTestParam param = new GateWayTestParam(); -// param.setDayTime(new Date()); -// param.setCarNumber("宸滱12345"); -// param.setEnd(new Date()); -// param.setStart(new Date()); -// param.setWeight(25000.00); -// return param; -// } /** * gatewayDeviceService#updateSave @@ -86,12 +68,26 @@ GatewayDevice data2 = new GatewayDevice(); BeanUtils.copyProperties(data, data2); + + if (null == data2.getStatus()) { + data.setStatus(Constant.YN_Y); + + if (GatewayDeviceType.TYPE_07.equals(data2.getType())) { + data.setStatus(Constant.YN_N); + } + + } + if (null == data2.getDeviceSn()) { if (null != data2.getIp()) { data.setDeviceSn(data2.getIp()); } else { data.setDeviceSn(data2.getDeviceId()); } + } + + if (null == data2.getDepotType()) { + data2.setDepotType(DepotType.TYPE_01.getCode()); } if (null == data2.getId()) { @@ -102,6 +98,15 @@ } flushCache(); } + + public void updateData(GatewayDevice device) { + device.setStatus(Constant.YN_Y); + + gatewayDeviceRep.save(device); + + flushCacheOne(device); + } + /** * gatewayDeviceService#delData @@ -128,10 +133,47 @@ } } + private void flushCacheOne(GatewayDevice device) { + GatewayUtils.add2Cache(device); + } + @Expose public String test() { log.info("-----------test-------------------"); return "SUCCESS"; } + + /** + * 鏍规嵁瀹為檯閫氳鍒嗘満璁剧疆锛屽綋鍓嶅垎鏈哄湪绾� + * + * @param commonDevice 瀹為檯閫氳璁惧 + */ + public void onlineByCommonDevice(ApiCommonDevice commonDevice) { + List<GatewayDevice> list = GatewayUtils.getCacheByDeviceSn2(commonDevice.getSn()); + if (null == list || list.isEmpty()) return; + + for (GatewayDevice device : list) { + device.setIp(commonDevice.getIp()); + device.setPort(commonDevice.getPort()); + device.setOnlineTime(new Date()); + device.setStatus(Constant.YN_Y); + device.setDeviceSn(commonDevice.getSn()); + GatewayUtils.add2Cache(device); + } + } + + public void OfflineByCommonDevice(ApiCommonDevice commonDevice) { + List<GatewayDevice> list = GatewayUtils.getCacheByDeviceSn2(commonDevice.getSn()); + if (null == list || list.isEmpty()) return; + + for (GatewayDevice device : list) { + device.setIp(commonDevice.getIp()); + device.setPort(commonDevice.getPort()); + device.setStatus(Constant.YN_N); + GatewayUtils.add2Cache(device); + } + } + + } -- Gitblit v1.9.3