package com.moral.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.entity.Device;
import com.moral.api.entity.ManageAccount;
import com.moral.api.entity.MonitorPoint;
import com.moral.api.entity.Organization;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.SysDictType;
import com.moral.api.entity.Version;
import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.ManageAccountMapper;
import com.moral.api.mapper.MonitorPointMapper;
import com.moral.api.mapper.OrganizationMapper;
import com.moral.api.mapper.SysDictDataMapper;
import com.moral.api.mapper.SysDictTypeMapper;
import com.moral.api.pojo.vo.device.DeviceVO;
import com.moral.api.service.DeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
import com.moral.redis.RedisUtil;
import com.moral.util.ConvertUtils;
import com.moral.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
*
* 设备表 服务实现类
*
*
* @author moral
* @since 2021-05-11
*/
@Service
public class DeviceServiceImpl extends ServiceImpl implements DeviceService {
@Autowired
private DeviceMapper deviceMapper;
@Autowired
private ManageAccountMapper manageAccountMapper;
@Autowired
private OrganizationMapper organizationMapper;
@Autowired
private MonitorPointMapper monitorPointMapper;
@Autowired
private SysDictTypeMapper sysDictTypeMapper;
@Autowired
private SysDictDataMapper sysDictDataMapper;
@Override
@Transactional
public void insert(Device device) {
deviceMapper.insert(device);
Map deviceInfo = selectDeviceInfoById(device.getId());
RedisUtil.set("device_" + device.getMac(), deviceInfo);
}
@Override
@Transactional
public void delete(Integer deviceId) {
UpdateWrapper updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", deviceId).set("is_delete", Constants.DELETE);
deviceMapper.update(null, updateWrapper);
String mac = deviceMapper.selectById(deviceId).getMac();
//清除redis
RedisUtil.del("device_" + mac);
}
@Override
@Transactional
public void update(Device device) {
deviceMapper.updateById(device);
//更新redis
Map deviceInfo = selectDeviceInfoById(device.getId());
RedisUtil.set("device_" + deviceInfo.get("mac"), deviceInfo);
}
@Override
public List