From a0341d4100c15c57fb645fd1f23225563e306712 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 28 Feb 2018 10:55:55 +0800 Subject: [PATCH] 设备和监控点 两模块修改,同步reids里的信息。数据字典功能添加 --- src/main/resources/mapper/DictionaryMapper.xml | 12 +++ src/main/resources/mapper/DictionaryDataMapper.xml | 16 ++++ src/main/java/com/moral/entity/DictionaryData.java | 73 ++++++++++++++++++ src/main/java/com/moral/mapper/DictionaryDataMapper.java | 8 ++ src/main/resources/mapper/DeviceMapper.xml | 2 src/main/resources/mapper/MonitorPointMapper.xml | 3 src/main/java/com/moral/entity/Dictionary.java | 33 ++++++++ src/main/java/com/moral/mapper/DictionaryMapper.java | 8 ++ src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 22 ++++- src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 35 ++++++++ src/main/java/com/moral/mapper/MonitorPointMapper.java | 2 11 files changed, 207 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/moral/entity/Dictionary.java b/src/main/java/com/moral/entity/Dictionary.java new file mode 100644 index 0000000..be69fe8 --- /dev/null +++ b/src/main/java/com/moral/entity/Dictionary.java @@ -0,0 +1,33 @@ +package com.moral.entity; + +public class Dictionary { + private String dictName; + + private Integer dictValue; + + private Integer isDelete; + + public String getDictName() { + return dictName; + } + + public void setDictName(String dictName) { + this.dictName = dictName == null ? null : dictName.trim(); + } + + public Integer getDictValue() { + return dictValue; + } + + public void setDictValue(Integer dictValue) { + this.dictValue = dictValue; + } + + public Integer getIsDelete() { + return isDelete; + } + + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } +} \ No newline at end of file diff --git a/src/main/java/com/moral/entity/DictionaryData.java b/src/main/java/com/moral/entity/DictionaryData.java new file mode 100644 index 0000000..05fdaf4 --- /dev/null +++ b/src/main/java/com/moral/entity/DictionaryData.java @@ -0,0 +1,73 @@ +package com.moral.entity; + +public class DictionaryData { + private Integer id; + + private Integer dictValue; + + private String dictDataName; + + private Object dictDataValue; + + private Integer isFixed; + + private Integer isDelete; + + private Integer parentId; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getDictValue() { + return dictValue; + } + + public void setDictValue(Integer dictValue) { + this.dictValue = dictValue; + } + + public String getDictDataName() { + return dictDataName; + } + + public void setDictDataName(String dictDataName) { + this.dictDataName = dictDataName == null ? null : dictDataName.trim(); + } + + public Object getDictDataValue() { + return dictDataValue; + } + + public void setDictDataValue(Object dictDataValue) { + this.dictDataValue = dictDataValue; + } + + public Integer getIsFixed() { + return isFixed; + } + + public void setIsFixed(Integer isFixed) { + this.isFixed = isFixed; + } + + public Integer getIsDelete() { + return isDelete; + } + + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } + + public Integer getParentId() { + return parentId; + } + + public void setParentId(Integer parentId) { + this.parentId = parentId; + } +} \ No newline at end of file diff --git a/src/main/java/com/moral/mapper/DictionaryDataMapper.java b/src/main/java/com/moral/mapper/DictionaryDataMapper.java new file mode 100644 index 0000000..4c5a3c3 --- /dev/null +++ b/src/main/java/com/moral/mapper/DictionaryDataMapper.java @@ -0,0 +1,8 @@ +package com.moral.mapper; + +import com.moral.common.mapper.BaseMapper; +import com.moral.entity.DictionaryData; + +public interface DictionaryDataMapper extends BaseMapper<DictionaryData> { + DictionaryData selectByPrimaryKey(Integer id); +} \ No newline at end of file diff --git a/src/main/java/com/moral/mapper/DictionaryMapper.java b/src/main/java/com/moral/mapper/DictionaryMapper.java new file mode 100644 index 0000000..52a8429 --- /dev/null +++ b/src/main/java/com/moral/mapper/DictionaryMapper.java @@ -0,0 +1,8 @@ +package com.moral.mapper; + +import com.moral.common.mapper.BaseMapper; +import com.moral.entity.Dictionary; + +public interface DictionaryMapper extends BaseMapper<Dictionary> { + Dictionary selectByPrimaryKey(String dictName); +} \ No newline at end of file diff --git a/src/main/java/com/moral/mapper/MonitorPointMapper.java b/src/main/java/com/moral/mapper/MonitorPointMapper.java index f6244bc..efb0a64 100644 --- a/src/main/java/com/moral/mapper/MonitorPointMapper.java +++ b/src/main/java/com/moral/mapper/MonitorPointMapper.java @@ -10,6 +10,6 @@ public interface MonitorPointMapper extends BaseMapper<MonitorPoint>{ List<MonitorPoint> selectWithAreaNameByExample(Example example); List<MonitorPoint> getMonitorPointsByAreaName(Map<String, Object> parameters); - List<MonitorPoint> selectByMap(Map<String, Object> params); + List<Integer> selectOrganizationIds(int id); } \ No newline at end of file diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index 3b53edd..74b3571 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -12,6 +12,7 @@ import com.moral.common.bean.PageResult; import com.moral.common.util.ExampleUtil; import com.moral.common.util.RedisUtils; +import com.moral.mapper.MonitorPointMapper; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -32,7 +33,8 @@ @Resource private DeviceMapper deviceMapper; - + @Resource + private MonitorPointMapper monitorPointMapper; @Resource private AccountService accountService; private Class ENTITY_CLASS = Device.class; @@ -205,8 +207,20 @@ /* ������ redis ��������������� */ - private void refreshDeviceInRedis(String mac){ - getDeviceWithOrgIdsByMac(mac); + private void refreshDeviceInRedis(Device device){ + if(!StringUtils.isBlank(device.getMac())){ + Device simpleDevice = new Device(); + simpleDevice.setId(device.getId()); + simpleDevice.setDeviceVersion(device.getDeviceVersion()); + simpleDevice.setMac(device.getMac()); + simpleDevice.setMonitorPointId(device.getMonitorPointId()); + if(device.getMonitorPointId()!=null){ + List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(device.getMonitorPointId()); + simpleDevice.setOrganizationIds(orgIds); + } + String key = "device_"+device.getMac(); + redisUtils.set(key,simpleDevice); + } } @Override public PageBean queryByPageBean(PageBean pageBean) { @@ -256,7 +270,7 @@ }else{ deviceMapper.updateByPrimaryKeySelective(device); //������redis��������������� - refreshDeviceInRedis(device.getMac()); + refreshDeviceInRedis(device); } } catch (Exception ex){ diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index e979b68..beed2e6 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -12,6 +12,9 @@ import com.moral.common.bean.Constants; import com.moral.common.bean.PageBean; import com.moral.common.util.*; +import com.moral.entity.Device; +import com.moral.mapper.DeviceMapper; +import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; import com.moral.entity.MonitorPoint; @@ -24,6 +27,8 @@ public class MonitorPointServiceImpl implements MonitorPointService { @Resource private MonitorPointMapper monitorPointMapper; + @Resource + private DeviceMapper deviceMapper; @Resource RedisUtils redisUtils; private static Class ENTITY_CLASS = MonitorPoint.class; @@ -84,15 +89,43 @@ monitorPoint.setIsDelete(Constants.IS_DELETE_FALSE); monitorPointMapper.insertSelective(monitorPoint); }else{ - // TODO ������������id������������������redis��������������� monitorPointMapper.updateByPrimaryKeySelective(monitorPoint); + // ������������������������������ ���redis��������������� + refreshDevicesInRedis(monitorPoint.getId()); } } catch (Exception ex){ throw ex; } } + /* + ������������������������������ ���redis��������������� + */ + private void refreshDevicesInRedis(int monitorPointId){ + Device device = new Device(); + device.setMonitorPointId(monitorPointId); + List<Device> deviceList = deviceMapper.select(device); + if (!CollectionUtils.isEmpty(deviceList)){ + List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(monitorPointId); + if (!CollectionUtils.isEmpty(orgIds)){ + deviceList.stream().forEach(dev ->{ + if(!StringUtils.isNullOrEmpty(dev.getMac())){ + String key = "device_"+dev.getMac(); + // ��������������������� ������������redis + Device simpleDevice = new Device(); + simpleDevice.setId(dev.getId()); + simpleDevice.setDeviceVersion(dev.getDeviceVersion()); + simpleDevice.setMac(dev.getMac()); + simpleDevice.setMonitorPointId(dev.getMonitorPointId()); + // ������������������������������������������������������������������ + simpleDevice.setOrganizationIds(orgIds); + redisUtils.set(key,simpleDevice); + } + }); + } + } + } @Override public void deleteByIds(Integer... ids) { MonitorPoint monitorPoint = new MonitorPoint(); diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 1bbef74..846ad57 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -194,7 +194,7 @@ </resultMap> <!-- resultMap������ --> <select id="selectOrganizationIds" resultType="INTEGER"> - call proc_organization_id_select(#{id,jdbcType=INTEGER}); + call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER}); </select> <select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap"> select diff --git a/src/main/resources/mapper/DictionaryDataMapper.xml b/src/main/resources/mapper/DictionaryDataMapper.xml new file mode 100644 index 0000000..5d502f6 --- /dev/null +++ b/src/main/resources/mapper/DictionaryDataMapper.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.moral.mapper.DictionaryDataMapper" > + <resultMap id="BaseResultMap" type="com.moral.entity.DictionaryData" > + <id column="id" property="id" jdbcType="INTEGER" /> + <result column="dict_value" property="dictValue" jdbcType="INTEGER" /> + <result column="dict_data_name" property="dictDataName" jdbcType="VARCHAR" /> + <result column="dict_data_value" property="dictDataValue" jdbcType="OTHER" /> + <result column="is_fixed" property="isFixed" jdbcType="INTEGER" /> + <result column="is_delete" property="isDelete" jdbcType="INTEGER" /> + <result column="parent_id" property="parentId" jdbcType="INTEGER" /> + </resultMap> + <sql id="Base_Column_List" > + id, dict_value, dict_data_name, dict_data_value, is_fixed, is_delete, parent_id + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/DictionaryMapper.xml b/src/main/resources/mapper/DictionaryMapper.xml new file mode 100644 index 0000000..f81c477 --- /dev/null +++ b/src/main/resources/mapper/DictionaryMapper.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.moral.mapper.DictionaryMapper" > + <resultMap id="BaseResultMap" type="com.moral.entity.Dictionary" > + <id column="dict_name" property="dictName" jdbcType="VARCHAR" /> + <result column="dict_value" property="dictValue" jdbcType="INTEGER" /> + <result column="is_delete" property="isDelete" jdbcType="INTEGER" /> + </resultMap> + <sql id="Base_Column_List" > + dict_name, dict_value, is_delete + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/MonitorPointMapper.xml b/src/main/resources/mapper/MonitorPointMapper.xml index ee6e6af..5e6b2a4 100644 --- a/src/main/resources/mapper/MonitorPointMapper.xml +++ b/src/main/resources/mapper/MonitorPointMapper.xml @@ -115,4 +115,7 @@ ]]> </where> </select> + <select id="selectOrganizationIds" parameterType="integer" resultType="integer"> + call proc_organizationIds_GetByMonitorPointId(#{id,jdbcType=NUMERIC}) + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0