|
@@ -1,30 +1,80 @@
|
|
|
package com.middle.platform.manage.biz.service;
|
|
package com.middle.platform.manage.biz.service;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.middle.platform.common.utils.PageRes;
|
|
import com.middle.platform.common.utils.PageRes;
|
|
|
|
|
+import com.middle.platform.manage.api.enums.DeviceStatus;
|
|
|
|
|
+import com.middle.platform.manage.biz.domain.req.ChangeStatus;
|
|
|
|
|
+import com.middle.platform.manage.biz.domain.req.IotProjectPara;
|
|
|
import com.middle.platform.manage.biz.domain.req.ProjectPage;
|
|
import com.middle.platform.manage.biz.domain.req.ProjectPage;
|
|
|
-import com.middle.platform.manage.biz.domain.vo.IotProductVo;
|
|
|
|
|
|
|
+import com.middle.platform.manage.biz.domain.vo.IotProjectVo;
|
|
|
import com.middle.platform.manage.biz.entity.IotProject;
|
|
import com.middle.platform.manage.biz.entity.IotProject;
|
|
|
|
|
+import com.middle.platform.manage.biz.mapper.IotProjectDeviceMapper;
|
|
|
import com.middle.platform.manage.biz.mapper.IotProjectMapper;
|
|
import com.middle.platform.manage.biz.mapper.IotProjectMapper;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
-* @date 2023-12-19 13:43:38
|
|
|
|
|
-* @author xucaiqin
|
|
|
|
|
-*/
|
|
|
|
|
|
|
+ * @author xucaiqin
|
|
|
|
|
+ * @date 2023-12-19 13:43:38
|
|
|
|
|
+ */
|
|
|
@Service
|
|
@Service
|
|
|
@RequiredArgsConstructor
|
|
@RequiredArgsConstructor
|
|
|
public class IotProjectService extends ServiceImpl<IotProjectMapper, IotProject> {
|
|
public class IotProjectService extends ServiceImpl<IotProjectMapper, IotProject> {
|
|
|
|
|
|
|
|
private final IotProjectMapper iotProjectMapper;
|
|
private final IotProjectMapper iotProjectMapper;
|
|
|
|
|
+ private final IotProjectDeviceMapper iotProjectDeviceMapper;
|
|
|
|
|
|
|
|
public Object pageQuery(ProjectPage projectPage) {
|
|
public Object pageQuery(ProjectPage projectPage) {
|
|
|
PageHelper.startPage(projectPage.getPage(), projectPage.getPageSize());
|
|
PageHelper.startPage(projectPage.getPage(), projectPage.getPageSize());
|
|
|
- List<IotProductVo> iotProductVos = iotProjectMapper.pageQuery(projectPage);
|
|
|
|
|
|
|
+ List<IotProjectVo> iotProductVos = iotProjectMapper.pageQuery(projectPage);
|
|
|
|
|
+ iotProductVos.forEach(this::getIotProjectStatusAndDeviceNum);
|
|
|
return new PageRes<>(iotProductVos);
|
|
return new PageRes<>(iotProductVos);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 新增
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author Aick Spt
|
|
|
|
|
+ * @date 2023-12-22 09:41
|
|
|
|
|
+ */
|
|
|
|
|
+ public Object save(IotProjectPara iotProjectPara) {
|
|
|
|
|
+ IotProject iotProject = new IotProject();
|
|
|
|
|
+ iotProject.setCode(IdUtil.nanoId(12));
|
|
|
|
|
+ iotProject.setRemark(iotProjectPara.getRemark());
|
|
|
|
|
+ iotProject.setTitle(iotProjectPara.getTitle());
|
|
|
|
|
+ iotProject.setStatus(iotProjectPara.getStatus());
|
|
|
|
|
+ iotProject.setCompanyId(iotProjectPara.getCompanyId());
|
|
|
|
|
+ return iotProjectMapper.insert(iotProject);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public int remove(Long id) {
|
|
|
|
|
+ return iotProjectMapper.delete(id);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public IotProjectVo detail(Long id) {
|
|
|
|
|
+ IotProjectVo iotProjectVo = iotProjectMapper.detail(id);
|
|
|
|
|
+ return this.getIotProjectStatusAndDeviceNum(iotProjectVo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private IotProjectVo getIotProjectStatusAndDeviceNum(IotProjectVo iotProjectVo) {
|
|
|
|
|
+ iotProjectVo.setStatusName((iotProjectVo.getStatus().equals(1)) ? "停用" : "正常");
|
|
|
|
|
+ Integer deviceNum = iotProjectDeviceMapper.queryDeviceNum(iotProjectVo.getId(), null);
|
|
|
|
|
+ Integer deviceOnlineNum = iotProjectDeviceMapper.queryDeviceNum(iotProjectVo.getId(), DeviceStatus.ONLINE_VAL);
|
|
|
|
|
+ iotProjectVo.setDeviceNum(deviceNum);
|
|
|
|
|
+ iotProjectVo.setDeviceOnlineNum(deviceOnlineNum);
|
|
|
|
|
+ return iotProjectVo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public int changeStatus(ChangeStatus changeStatus) {
|
|
|
|
|
+ if (Arrays.asList(0, 1).contains(changeStatus.status)) {
|
|
|
|
|
+ return iotProjectMapper.changeStatus(changeStatus);
|
|
|
|
|
+ }
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|