From 8d2d5103aea98fab6ad94acd1c8421c05d1108fa Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Wed, 18 Jul 2018 09:26:39 +0800 Subject: [PATCH] 优化 --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index 33ff1b4..264ed65 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -13,7 +13,10 @@ 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; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -55,6 +58,10 @@ @Resource private AccountService accountService; private Class ENTITY_CLASS = Device.class; + @Resource + OrganizationMapper orgMapper; + @Resource + DeviceVersionMapper deviceVersionMapper; @Resource RedisUtils redisUtils; @Override @@ -170,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) { @@ -179,17 +187,23 @@ /** * - * @param map + * @param params * map��� ������ ������id���4������������ * @return ������������������������ */ @Override - public List<Device> query(Map<String, Object> map) { - List <Device> list = deviceMapper.selectByMap(map); - loadDeviceState(list); - return list; + public List<Device> query(Map<String, Object> params) { + Object orgIdObj = params.get("orgId"); + List<Device> deviceList = null; + if(orgIdObj != null) { + Integer orgId = Integer.parseInt(orgIdObj.toString()); + List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId); + params.put("orgIds", orgIds); + deviceList = deviceMapper.selectByMap(params); + loadDeviceState(deviceList); + } + return deviceList; } - /** * ������������id��������������� ������������������ * @param orgId @@ -200,6 +214,7 @@ */ @Override public PageResult query(Integer orgId, String deviceName, Integer pageSize, Integer pageNo) { + List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId); if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){ PageHelper.startPage(pageNo,pageSize); } @@ -221,7 +236,7 @@ state = "4"; deviceName = null;break; } - List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,state,deviceName); + List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,orgIds,state,deviceName); //���redis������������ loadDeviceState(list); if(list instanceof Page){ @@ -240,10 +255,11 @@ */ @Override public PageResult query(Integer orgId, Integer mpId, Integer pageSize, Integer pageNo) { + List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId); if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){ PageHelper.startPage(pageNo,pageSize); } - List<Device> list = deviceMapper.selectByOrgIdAndMpId(orgId,mpId); + List<Device> list = deviceMapper.selectByOrgIdAndMpId(orgId,orgIds,mpId); //���redis������������ loadDeviceState(list); if(list instanceof Page){ @@ -299,15 +315,8 @@ */ 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); - } - String key = "device_"+mac; - redisUtils.set(key,device); + Device device = deviceMapper.selectWithOrgIdsByMac(mac); + setDeviceToRedis(mac,device); }else { log.warn("param mac is null in method [refreshDeviceInRedis]"); @@ -337,12 +346,12 @@ @Override public PageBean queryByPageBean(PageBean pageBean) { Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean); - addDeletesToExample(example); +// addDeletesToExample(example); if(pageBean.getPageSize()>0){ PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize()); } - List<Device> organizationList = deviceMapper.selectWithRelationData(example); - return new PageBean(organizationList); + List<Device> deviceList = deviceMapper.selectWithRelationData(example); + return new PageBean(deviceList); } @Override @@ -465,4 +474,10 @@ return deviceMapper.getDevicesByProfession(parameters); } + @Override + public List<Device> getDevicesByOrganizationId(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("organizationId"), "param.is.null"); + return deviceMapper.getDevicesByOrganizationId(parameters); + } + } -- Gitblit v1.8.0