fengxiang
2018-06-28 51a9ac0eaa65d214b338685b7cb83c21a5a32589
刷新redis 里设备信息 添加 versionNum.并保持多处调用一致。
3 files modified
24 ■■■■ changed files
src/main/java/com/moral/controller/ScreenController.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/DeviceServiceImpl.java 15 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/DeviceMapper.xml 6 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/ScreenController.java
@@ -609,6 +609,9 @@
                }
            }
        }
        if(rtdLayout.getDefaultMonitorItems().size() == 0 ) {
            rtdLayout.getDefaultMonitorItems().addAll(rtdLayout.getCoreMonitorItems());
        }
        return new ResultBean(rtdLayout);
    }
src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -13,6 +13,8 @@
import com.moral.common.exception.BusinessException;
import com.moral.common.util.ExampleUtil;
import com.moral.common.util.RedisUtils;
import com.moral.entity.DeviceVersion;
import com.moral.mapper.DeviceVersionMapper;
import com.moral.mapper.MonitorPointMapper;
import com.moral.mapper.OrganizationMapper;
import org.apache.commons.collections.MapUtils;
@@ -58,6 +60,8 @@
    private Class ENTITY_CLASS = Device.class;
    @Resource
    OrganizationMapper orgMapper;
    @Resource
    DeviceVersionMapper deviceVersionMapper;
    @Resource
    RedisUtils redisUtils;
    @Override
@@ -173,6 +177,7 @@
        simpleDevice.setMac(device.getMac()); // mac
        simpleDevice.setMonitorPointId(device.getMonitorPointId());// 监控地id
        simpleDevice.setOrganizationIds(device.getOrganizationIds());// 组织数组
        simpleDevice.setDeviceVersion(device.getDeviceVersion());
        redisUtils.set(key,simpleDevice);
    }
    private Device getDeviceFromRedis(String mac) {
@@ -310,15 +315,9 @@
     */
    private void refreshDeviceInRedis(String mac){
         if(!StringUtils.isBlank(mac)){
              Device devQuery = new Device();
              devQuery.setMac(mac);
              Device device = deviceMapper.selectOne(devQuery);
              if(device.getMonitorPointId()!=null){
                  List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(device.getMonitorPointId());
                  device.setOrganizationIds(orgIds);
             }
              Device device = deviceMapper.selectWithOrgIdsByMac(mac);
             String key = "device_"+mac;
             redisUtils.set(key,device);
             setDeviceToRedis(key,device);
         }else
         {
             log.warn("param mac is null in method [refreshDeviceInRedis]");
src/main/resources/mapper/DeviceMapper.xml
@@ -252,14 +252,15 @@
        select
        dev.*,
        mpt.name as monitor_point_name,
        pro.name as profession_name
        pro.name as profession_name,
        dvn.version as device_version_value
        from device dev
        left join device_version dvn on dev.device_version_id = dvn.id
        left join monitor_point  mpt on dev.monitor_point_id = mpt.id
        left join profession  pro on pro.id = dev.profession_id
        where dev.mac = #{mac,jdbcType=VARCHAR}
        limit 0,1
    </select>
    <select id="getDeviceCountByRegion" resultType="java.lang.Integer">
        SELECT
            COUNT( * ) 
@@ -294,7 +295,6 @@
            AND d.profession_id = #{professionId}
            </if>
    </select>
    <select id="getDevicesByProfession" resultType="com.moral.entity.Device">
        SELECT
            *