package com.huaxu.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.huaxu.common.StringUtils; import com.huaxu.dao.DeviceMapper; import com.huaxu.dto.DeviceDto; import com.huaxu.entity.DeviceEntity; import com.huaxu.model.LoginUser; import com.huaxu.service.DeviceService; import com.huaxu.util.RedisUtil; import com.huaxu.util.UserUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @description * @auto wangli * @data 2020-11-16 11:26 */ @Service public class DeviceServiceImpl implements DeviceService { @Resource private DeviceMapper deviceMapper; @Autowired private RedisUtil redisUtil; @Override public DeviceDto selectById(Long id) { return deviceMapper.selectById(id); } @Override public Integer add(DeviceEntity deviceEntity) { LoginUser loginUser = UserUtil.getCurrentUser(); deviceEntity.setUpdateBy(loginUser.getUsername()); deviceEntity.setDateUpdate(new Date()); deviceEntity.setCreateBy(loginUser.getUsername()); deviceEntity.setDateCreate(new Date()); deviceEntity.setTenantId(loginUser.getTenantId()); deviceEntity.setStatus(1); return deviceMapper.insert(deviceEntity); } @Override public Integer delete(Long id) { DeviceDto deviceDto = deviceMapper.selectById(id); if(deviceDto != null && StringUtils.isNotBlank(deviceDto.getDeviceCode())){ redisUtil.del(("sms_water_"+deviceDto.getDeviceCode()).getBytes()); } return deviceMapper.deleteById(id); } @Override public Integer batchDelete(List ids) { List deviceDtos = deviceMapper.selectByIds(ids); for(DeviceDto deviceDto : deviceDtos){ if(deviceDto != null && StringUtils.isNotBlank(deviceDto.getDeviceCode())){ redisUtil.del(("sms_water_"+deviceDto.getDeviceCode()).getBytes()); } } return deviceMapper.batchDelete(ids); } @Override public Integer update(DeviceEntity deviceEntity) { DeviceDto deviceDto = deviceMapper.selectById(deviceEntity.getId()); if(deviceDto != null && StringUtils.isNotBlank(deviceDto.getDeviceCode())){ redisUtil.del(("sms_water_"+deviceDto.getDeviceCode()).getBytes()); } LoginUser loginUser = UserUtil.getCurrentUser(); deviceEntity.setUpdateBy(loginUser.getUsername()); deviceEntity.setDateUpdate(new Date()); return deviceMapper.update(deviceEntity); } @Override public IPage selectPage(IPage page, DeviceDto deviceDto) { LoginUser loginUser = UserUtil.getCurrentUser(); deviceDto.setTenantId(loginUser.getTenantId()); deviceDto.setProgramItems(loginUser.getProgramItemList()); deviceDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 deviceDto.setPermissonType(loginUser.getPermissonType()); return deviceMapper.selectPage(page,deviceDto); } @Override public List selectList(DeviceDto deviceDto){ LoginUser loginUser = UserUtil.getCurrentUser(); deviceDto.setTenantId(loginUser.getTenantId()); deviceDto.setProgramItems(loginUser.getProgramItemList()); deviceDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 deviceDto.setPermissonType(loginUser.getPermissonType()); return deviceMapper.selectList(deviceDto); } @Override public List selectListByScene(DeviceDto deviceDto) { LoginUser loginUser = UserUtil.getCurrentUser(); deviceDto.setTenantId(loginUser.getTenantId()); deviceDto.setProgramItems(loginUser.getProgramItemList()); deviceDto.setUserType(loginUser.getType()); //1是公司,2是公司及以下,3部门,4部门及以下,5自定义 deviceDto.setPermissonType(loginUser.getPermissonType()); return deviceMapper.selectListByScene(deviceDto); } }