|  | @@ -8,6 +8,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
 | 
											
												
													
														|  |  import cn.hutool.core.collection.CollectionUtil;
 |  |  import cn.hutool.core.collection.CollectionUtil;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 |  |  import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 |  |  import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
											
												
													
														|  | 
 |  | +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 |  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 |  |  import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 |  |  import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 | 
											
										
											
												
													
														|  | @@ -18,19 +19,24 @@ import com.usky.common.core.exception.BusinessException;
 | 
											
												
													
														|  |  import com.usky.common.core.util.BeanMapperUtils;
 |  |  import com.usky.common.core.util.BeanMapperUtils;
 | 
											
												
													
														|  |  import com.usky.common.core.util.UUIDUtils;
 |  |  import com.usky.common.core.util.UUIDUtils;
 | 
											
												
													
														|  |  import com.usky.common.mybatis.core.AbstractCrudService;
 |  |  import com.usky.common.mybatis.core.AbstractCrudService;
 | 
											
												
													
														|  | 
 |  | +import com.usky.common.security.utils.SecurityUtils;
 | 
											
												
													
														|  |  import com.usky.iot.domain.DmpDeviceInfo;
 |  |  import com.usky.iot.domain.DmpDeviceInfo;
 | 
											
												
													
														|  | 
 |  | +import com.usky.iot.domain.DmpDeviceStatus;
 | 
											
												
													
														|  |  import com.usky.iot.mapper.DmpDeviceInfoMapper;
 |  |  import com.usky.iot.mapper.DmpDeviceInfoMapper;
 | 
											
												
													
														|  |  import com.usky.iot.service.DmpDeviceInfoService;
 |  |  import com.usky.iot.service.DmpDeviceInfoService;
 | 
											
												
													
														|  | 
 |  | +import com.usky.iot.service.DmpDeviceStatusService;
 | 
											
												
													
														|  |  import com.usky.iot.service.vo.DmpDeviceExcelVO;
 |  |  import com.usky.iot.service.vo.DmpDeviceExcelVO;
 | 
											
												
													
														|  |  import com.usky.iot.service.vo.DmpDeviceExportVO;
 |  |  import com.usky.iot.service.vo.DmpDeviceExportVO;
 | 
											
												
													
														|  |  import com.usky.iot.service.vo.DmpDeviceInfoRequest;
 |  |  import com.usky.iot.service.vo.DmpDeviceInfoRequest;
 | 
											
												
													
														|  |  import org.apache.poi.ss.usermodel.Workbook;
 |  |  import org.apache.poi.ss.usermodel.Workbook;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  |  import org.springframework.web.multipart.MultipartFile;
 |  |  import org.springframework.web.multipart.MultipartFile;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import javax.servlet.ServletOutputStream;
 |  |  import javax.servlet.ServletOutputStream;
 | 
											
												
													
														|  |  import javax.servlet.http.HttpServletResponse;
 |  |  import javax.servlet.http.HttpServletResponse;
 | 
											
												
													
														|  |  import java.io.IOException;
 |  |  import java.io.IOException;
 | 
											
												
													
														|  | 
 |  | +import java.time.LocalDateTime;
 | 
											
												
													
														|  |  import java.util.*;
 |  |  import java.util.*;
 | 
											
												
													
														|  |  import java.util.stream.Collectors;
 |  |  import java.util.stream.Collectors;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -44,23 +50,47 @@ import java.util.stream.Collectors;
 | 
											
												
													
														|  |   */
 |  |   */
 | 
											
												
													
														|  |  @Service
 |  |  @Service
 | 
											
												
													
														|  |  public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoMapper, DmpDeviceInfo> implements DmpDeviceInfoService {
 |  |  public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoMapper, DmpDeviceInfo> implements DmpDeviceInfoService {
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private DmpDeviceStatusService dmpDeviceStatusService;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public boolean add(DmpDeviceInfo dmpDeviceInfo) {
 |  |      public boolean add(DmpDeviceInfo dmpDeviceInfo) {
 | 
											
												
													
														|  |          dmpDeviceInfo.setDeviceId(UUIDUtils.uuid());
 |  |          dmpDeviceInfo.setDeviceId(UUIDUtils.uuid());
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceInfo.setCreatedBy(SecurityUtils.getUsername());
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceInfo.setCreatedTime(LocalDateTime.now());
 | 
											
												
													
														|  |          if (checkNameUnique(dmpDeviceInfo)){
 |  |          if (checkNameUnique(dmpDeviceInfo)){
 | 
											
												
													
														|  |              throw new BusinessException("新增设备信息'" + dmpDeviceInfo.getDeviceName() + "'失败,设备信息已存在");
 |  |              throw new BusinessException("新增设备信息'" + dmpDeviceInfo.getDeviceName() + "'失败,设备信息已存在");
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  | 
 |  | +        //在设备状态表中新增一条设备状态记录,业务状态置为 1 待激活
 | 
											
												
													
														|  | 
 |  | +        DmpDeviceStatus dmpDeviceStatus = new DmpDeviceStatus();
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceStatus.setDeviceId(dmpDeviceInfo.getDeviceId());
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceStatus.setDeviceCode(dmpDeviceInfo.getDeviceCode());
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceStatus.setProductId(dmpDeviceInfo.getProductId());
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceStatus.setDeviceStatus(4);
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceStatus.setServiceStatus(1);
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceStatus.setLastOfflineTime(LocalDateTime.now());
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceStatusService.save(dmpDeviceStatus);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |          return this.save(dmpDeviceInfo);
 |  |          return this.save(dmpDeviceInfo);
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public void update(DmpDeviceInfo dmpDeviceInfo) {
 |  |      public void update(DmpDeviceInfo dmpDeviceInfo) {
 | 
											
												
													
														|  | -        dmpDeviceInfo.setUpdatedTime(new Date());
 |  | 
 | 
											
												
													
														|  | -        if (checkNameUnique(dmpDeviceInfo)){
 |  | 
 | 
											
												
													
														|  | -            throw new BusinessException("修改设备信息'" + dmpDeviceInfo.getDeviceName() + "'失败,设备信息已存在");
 |  | 
 | 
											
												
													
														|  | -        }
 |  | 
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceInfo.setUpdatedBy(SecurityUtils.getUsername());
 | 
											
												
													
														|  | 
 |  | +        dmpDeviceInfo.setUpdatedTime(LocalDateTime.now());
 | 
											
												
													
														|  | 
 |  | +//        if (checkNameUnique(dmpDeviceInfo)){
 | 
											
												
													
														|  | 
 |  | +//            throw new BusinessException("修改设备信息'" + dmpDeviceInfo.getDeviceName() + "'失败,设备信息已存在");
 | 
											
												
													
														|  | 
 |  | +//        }
 | 
											
												
													
														|  |          this.updateById(dmpDeviceInfo);
 |  |          this.updateById(dmpDeviceInfo);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        //更新设备状态表对应设备状态记录数据
 | 
											
												
													
														|  | 
 |  | +        LambdaQueryWrapper<DmpDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
 | 
											
												
													
														|  | 
 |  | +        queryWrapper.eq(DmpDeviceStatus::getDeviceId,dmpDeviceInfo.getDeviceId());
 | 
											
												
													
														|  | 
 |  | +        DmpDeviceStatus one = dmpDeviceStatusService.getOne(queryWrapper);
 | 
											
												
													
														|  | 
 |  | +        if(null != one){
 | 
											
												
													
														|  | 
 |  | +            one.setServiceStatus(dmpDeviceInfo.getServiceStatus());
 | 
											
												
													
														|  | 
 |  | +            dmpDeviceStatusService.updateById(one);
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 |