|
@@ -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
|