package com.moral.service.impl; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; 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.util.ValidateUtil; import com.moral.entity.Device; import com.moral.mapper.DeviceMapper; import com.moral.service.AccountService; import com.moral.service.DeviceService; @Service public class DeviceServiceImpl implements DeviceService { @Resource private DeviceMapper deviceMapper; @Resource private AccountService accountService; @Override public Map getDeviceStatesByAccount(Map parameters) { ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); Map result = new HashMap(); accountService.setOrgIdsByAccount(parameters); List> list = deviceMapper.getDeviceStatesByAccount(parameters); Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L; for (Map map : list) { Long count = (Long) map.get("count"); all += count; switch (Integer.valueOf((String) map.get("state"))) { case 0: normal = count; break; case 4: stop = count; break; default: abnormal += count; } } result.put("all", all); result.put("normal", normal); result.put("abnormal", abnormal); result.put("stop", stop); return result; } @Override public List> getSensorsByDevice(String mac) { return deviceMapper.getSensorsByDevice(mac); } @Override @Transactional public void saveOrUpdateDevice(Device device) { 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(queryDevice)) { device.setCreateTime(operateDate); device.setState("4"); deviceMapper.insertSelective(device); }else { device.setId(queryDevice.getId()); deviceMapper.updateByPrimaryKeySelective(device); } } @Override public List getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize) { ValidateUtil.notNull(uid, "param.is.null"); Device device = new Device(); device.setOperateUserId(uid); PageHelper.startPage(pageIndex, pageSize); List 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; } }