diff --git a/mallinkAdmin/src/main/resources/db/migration/V201907291703__REICON_POWER_MENU.sql b/mallinkAdmin/src/main/resources/db/migration/V201907291703__REICON_POWER_MENU.sql new file mode 100644 index 000000000..3c9ea1614 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201907291703__REICON_POWER_MENU.sql @@ -0,0 +1,2 @@ +UPDATE `mall_permission` SET `icon` = 'icon-iconfontchangemeter-copy' WHERE (`id` = '108'); +UPDATE `mall_permission` SET `icon` = 'icon-dianbiao' WHERE (`id` = '952'); diff --git a/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java b/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java index b17f3276c..0664d7ce3 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java @@ -8,6 +8,7 @@ import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.WxDevice; import com.iformall.domain.po.WxScreenAd; +import com.iformall.enums.EnumDeviceOnlineStatus; import com.iformall.enums.EnumScreenAdStatus; import com.iformall.enums.EnumScreenAdType; import com.iformall.service.*; @@ -97,6 +98,7 @@ public class WxDeviceScreenAdController extends BaseController { if (wxDevice.getFirstHbTime() == null) record.setFirstHbTime(new Date()); record.setLastHbTime(new Date()); + record.setOnlineStatus(EnumDeviceOnlineStatus.ONLINE.getCode()); record.setVersion(paramMap.get("version")); wxDeviceService.saveOrUpdate(record); diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/DeviceHbCheckSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/DeviceHbCheckSchedule.java index de124b25d..e8aed9ea6 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/DeviceHbCheckSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/DeviceHbCheckSchedule.java @@ -1,12 +1,11 @@ package com.iformall.schedule; -import com.iformall.domain.po.WxDevice; -import com.iformall.enums.EnumDeviceOnlineStatus; -import com.iformall.enums.EnumDeviceStatus; +import com.iformall.mapper.KwBoxMapper; +import com.iformall.mapper.KwMeterMapper; import com.iformall.mapper.WxDeviceMapper; -import com.iformall.service.WxDeviceService; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -15,7 +14,6 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; -import java.util.List; @Component @@ -28,31 +26,19 @@ public class DeviceHbCheckSchedule { @Autowired WxDeviceMapper wxDeviceMapper; + @Autowired + KwBoxMapper kwBoxMapper; + + @Autowired + KwMeterMapper kwMeterMapper; + @Scheduled(cron = "0 */5 * * * *?") // 每5分钟检查一次 //@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次 - public void deviceHbCheckSchedule() { - - WxDevice wxDevice = new WxDevice(); - wxDevice.setStatus(EnumDeviceStatus.VALID.getCode()); - List list = wxDeviceMapper.findList(wxDevice); - - list.stream().forEach(d->{ - WxDevice record = new WxDevice(); - record.setId(d.getId()); - - if (d.getLastHbTime() == null) { - record.setOnlineStatus(EnumDeviceOnlineStatus.OFFLINE.getCode()); - } else { - if (new Date().getTime() - d.getLastHbTime().getTime() > TIME_OUT_VALUE) { - record.setOnlineStatus(EnumDeviceOnlineStatus.OFFLINE.getCode()); - } else { - record.setOnlineStatus(EnumDeviceOnlineStatus.ONLINE.getCode()); - } - } - if (!d.getOnlineStatus().equals(record.getOnlineStatus())) { - wxDeviceMapper.updateByPrimaryKeySelective(record); - } - }); + public void offlineCheckSchedule() { + Date expiredTime = new Date((new Date().getTime() - TIME_OUT_VALUE)); + wxDeviceMapper.offlineScan(expiredTime); + kwBoxMapper.offlineScan(expiredTime); + kwMeterMapper.offlineScan(expiredTime); } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/mapper/KwBoxMapper.java b/mallinkService/src/main/java/com/iformall/mapper/KwBoxMapper.java index 2e0dd2e79..8a73de900 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/KwBoxMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/KwBoxMapper.java @@ -2,12 +2,14 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.KwBox; +import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; public interface KwBoxMapper extends CommonMapper { List findList(KwBox param); - + int offlineScan(@Param("expiredTime") Date expiredTime); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/KwMeterMapper.java b/mallinkService/src/main/java/com/iformall/mapper/KwMeterMapper.java index fcbf376b3..c6a7bf9e7 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/KwMeterMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/KwMeterMapper.java @@ -4,6 +4,7 @@ import com.iformall.common.CommonMapper; import com.iformall.domain.po.KwMeter; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; public interface KwMeterMapper extends CommonMapper { @@ -19,4 +20,5 @@ public interface KwMeterMapper extends CommonMapper { int unbind(@Param("meterId")Long meterId); int unbindBatch(@Param("boxId")Long boxId); + int offlineScan(@Param("expiredTime") Date expiredTime); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxDeviceMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxDeviceMapper.java index ab43d5cd2..81639e62f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxDeviceMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxDeviceMapper.java @@ -2,11 +2,13 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxDevice; +import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; public interface WxDeviceMapper extends CommonMapper { List findList(WxDevice wxDevice); - + int offlineScan(@Param("expiredTime") Date expiredTime); } diff --git a/mallinkService/src/main/resources/mapper/KwBoxMapper.xml b/mallinkService/src/main/resources/mapper/KwBoxMapper.xml index 9d4fb1e3b..11038de97 100644 --- a/mallinkService/src/main/resources/mapper/KwBoxMapper.xml +++ b/mallinkService/src/main/resources/mapper/KwBoxMapper.xml @@ -78,4 +78,11 @@ + + update kw_box set `online_status` = 0 + where `status` = 0 + and `online_status` = 1 + and `last_online_time` < #{expiredTime} + + diff --git a/mallinkService/src/main/resources/mapper/KwMeterMapper.xml b/mallinkService/src/main/resources/mapper/KwMeterMapper.xml index 82bb9ffef..6d85a1621 100644 --- a/mallinkService/src/main/resources/mapper/KwMeterMapper.xml +++ b/mallinkService/src/main/resources/mapper/KwMeterMapper.xml @@ -145,4 +145,11 @@ where `id` = #{id} + + update kw_meter set `online_status` = 0 + where `status` = 0 + and `online_status` = 1 + and `last_online_time` < #{expiredTime} + + diff --git a/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml b/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml index 4c0e3e447..291092337 100644 --- a/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml @@ -104,5 +104,10 @@ - + + update wx_device set `online_status` = 0 + where `status` = 0 + and `online_status` = 1 + and `last_hb_time` < #{expiredTime} +