package com.moral.service.impl; import com.alibaba.fastjson.JSON; import com.moral.common.bean.PageBean; import com.moral.common.util.RedisUtils; import com.moral.entity.Device; import com.moral.entity.DeviceAdjustValue; import com.moral.entity.DeviceAdjustValueLog; import com.moral.mapper.DeviceAdjustValueLogMapper; import com.moral.mapper.DeviceAdjustValueMapper; import com.moral.mapper.DeviceMapper; import com.moral.service.DeviceAdjustValueService; import org.springframework.stereotype.Service; import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class DeviceAdjustValueServiceImpl implements DeviceAdjustValueService{ @Resource DeviceAdjustValueMapper adjustValueMapper; @Resource DeviceAdjustValueLogMapper adjustValueLogMapper; @Resource DeviceMapper deviceMapper; @Resource RedisUtils redisUtils; private static Class ENTITY_CLASS = DeviceAdjustValue.class; @Override public PageBean queryByPageBean(PageBean pageBean) { return null; } @Override public DeviceAdjustValue SelectByDeviceId(int deviceId) { DeviceAdjustValue adjustValue = adjustValueMapper.selectByDeviceId(deviceId); return adjustValue; } @Override public void deleteByIds(Integer[] ids) { } @Override public void addOrModify(DeviceAdjustValue adjustValue) { try{ if(adjustValue.getId()==null){ adjustValue.setCreateTime(new Date()); adjustValueMapper.insertSelective(adjustValue); }else{ adjustValue.setUpdateTime(new Date()); adjustValueMapper.updateByPrimaryKeySelective(adjustValue); } // 存储到redis Map adjustMap = new HashMap<>(); if(adjustValue.getValue()!=null&&!adjustValue.getValue().isEmpty()){ for(Map.Entry entry:adjustValue.getValue().entrySet()){ adjustMap.put(entry.getKey(),entry.getValue()); if(entry.getValue()!=null){ } } if(!adjustMap.isEmpty()){ Device device = deviceMapper.selectByPrimaryKey(adjustValue.getDeviceId()); String key = RedisUtils.getAdjustKey(device.getMac()); redisUtils.set(key,adjustMap); } } // 校正值日志 DeviceAdjustValueLog adjustValueLog = new DeviceAdjustValueLog(); adjustValueLog.setDeviceId(adjustValue.getDeviceId()); adjustValueLog.setCreateTime(adjustValue.getCreateTime()); adjustValueLog.setValue(JSON.toJSONString(adjustValue.getValue())); adjustValueLogMapper.insert(adjustValueLog); } catch (Exception ex){ throw ex; } } }