From f1e25082a58c8cb57dd45d226d3a94f4af4a0677 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 05 Feb 2018 15:07:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 125 +++++++++++++++++++++++++++++++++-------- 1 files changed, 101 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index b21b0af..0462992 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -1,23 +1,24 @@ package com.moral.service.impl; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import javax.annotation.Resource; +import com.github.pagehelper.Page; +import com.moral.common.bean.Constants; +import com.moral.common.bean.PageBean; +import com.moral.common.bean.PageResult; +import com.moral.common.util.ExampleUtil; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import com.github.pagehelper.PageHelper; -import com.moral.common.exception.BusinessException; import com.moral.common.util.ValidateUtil; import com.moral.entity.Device; import com.moral.mapper.DeviceMapper; import com.moral.service.AccountService; import com.moral.service.DeviceService; - import tk.mybatis.mapper.entity.Example; @Service @@ -28,9 +29,10 @@ @Resource private AccountService accountService; - + private Class ENTITY_CLASS = Device.class; @Override public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); Map<String, Object> result = new HashMap<String, Object>(); accountService.setOrgIdsByAccount(parameters); List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(parameters); @@ -57,38 +59,113 @@ } @Override - public List<Map<String, Object>> getSensorsByDevice(String mac) { - return deviceMapper.getSensorsByDevice(mac); - } - - @Override + @Transactional public void saveOrUpdateDevice(Device device) { - ValidateUtil.notNull(device, "������������������"); - ValidateUtil.notEmpty(device.getMac(), "������������������"); - Example example = new Example(Device.class); - example.or().andEqualTo("mac",device.getMac()); - List<Device> devices = deviceMapper.selectByExample(example); + ValidateUtil.notNull(device, "param.is.null"); + ValidateUtil.notEmpty(device.getMac(), "param.is.null"); + Device queryDevice = new Device(); + queryDevice.setMac(device.getMac()); + queryDevice = deviceMapper.selectOne(queryDevice); Date operateDate = new Date(); device.setInstallTime(operateDate); - if (ObjectUtils.isEmpty(devices)) { + if (ObjectUtils.isEmpty(queryDevice)) { device.setCreateTime(operateDate); device.setState("4"); + device.setIsDelete(Constants.IS_DELETE_FALSE); deviceMapper.insertSelective(device); - }else if (devices.size() > 1) { - throw new BusinessException("���������������������������������������"); }else { - device.setId(devices.get(0).getId()); + device.setId(queryDevice.getId()); deviceMapper.updateByPrimaryKeySelective(device); } } @Override public List<Device> getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize) { - Example example = new Example(Device.class); - example.or().andEqualTo("operateUserId",uid); + ValidateUtil.notNull(uid, "param.is.null"); + Device device = new Device(); + device.setOperateUserId(uid); PageHelper.startPage(pageIndex, pageSize); - List<Device> devices = deviceMapper.selectByExample(example); + List<Device> devices = deviceMapper.select(device); return devices; } + @Override + public Device getDeviceByMac(String mac) { + ValidateUtil.notEmpty(mac, "param.is.null"); + Device device = new Device(); + device.setMac(mac); + device = deviceMapper.selectOne(device); + return device; + } + + @Override + public PageResult query(Integer orgId, String deviceName, Integer pageSize, Integer pageNo) { + if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){ + PageHelper.startPage(pageNo,pageSize); + } + List list = deviceMapper.selectByOrgIdAndDevName(orgId,deviceName); + if(list instanceof Page){ + return new PageResult(((Page) list).getTotal(),list); + } + return new PageResult(null,list); + } + + @Override + public PageBean queryByPageBean(PageBean pageBean) { + Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean); + List<Example.Criteria> criteriaList = example.getOredCriteria(); + if(criteriaList!=null&&criteriaList.size()>0){ + for(Example.Criteria cri : criteriaList){ + cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE); + } + }else { + example.or().andNotEqualTo("isDelete",Constants.IS_DELETE_TRUE); + } + if(pageBean.getPageSize()>0){ + PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize()); + } + List<Device> organizationList = deviceMapper.selectWithRelationData(example); + return new PageBean(organizationList); + } + + @Override + public void deleteByIds(Integer[] ids) { + Device device = new Device(); + device.setIsDelete(Constants.IS_DELETE_TRUE); + if(ids!=null&&ids.length>0){ + if(ids.length==1){ + device.setId(ids[0]); + deviceMapper.updateByPrimaryKeySelective(device); + }else{ + Example example = new Example(ENTITY_CLASS); + example.or().andIn("id", Arrays.asList(ids)); + deviceMapper.updateByExampleSelective(device,example); + } + + } + } + + @Override + public void addOrModify(Device device){ + try{ + if(device.getId()==null){ + device.setIsDelete(Constants.IS_DELETE_FALSE); + deviceMapper.insertSelective(device); + }else{ + deviceMapper.updateByPrimaryKeySelective(device); + } + } + catch (Exception ex){ + throw ex; + } + } + + @Override + public List<Device> getDevicesByMonitorPointId(Integer monitorPointId) { + Device device = new Device(); + device.setMonitorPointId(monitorPointId); + device.setIsDelete(Constants.IS_DELETE_FALSE); + return deviceMapper.select(device); + } + } -- Gitblit v1.8.0