|
@@ -1,6 +1,8 @@
|
|
|
package com.middle.platform.manage.biz.service;
|
|
package com.middle.platform.manage.biz.service;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
import com.middle.platform.common.exception.BusinessException;
|
|
import com.middle.platform.common.exception.BusinessException;
|
|
|
import com.middle.platform.common.utils.PageRes;
|
|
import com.middle.platform.common.utils.PageRes;
|
|
|
import com.middle.platform.manage.biz.domain.req.IotProductPara;
|
|
import com.middle.platform.manage.biz.domain.req.IotProductPara;
|
|
@@ -11,11 +13,17 @@ import com.middle.platform.manage.biz.entity.IotDevice;
|
|
|
import com.middle.platform.manage.biz.entity.IotProduct;
|
|
import com.middle.platform.manage.biz.entity.IotProduct;
|
|
|
import com.middle.platform.manage.biz.mapper.IotDeviceMapper;
|
|
import com.middle.platform.manage.biz.mapper.IotDeviceMapper;
|
|
|
import com.middle.platform.manage.biz.mapper.IotProductMapper;
|
|
import com.middle.platform.manage.biz.mapper.IotProductMapper;
|
|
|
|
|
+import com.middle.platform.system.api.enums.DictType;
|
|
|
|
|
+import com.middle.platform.system.api.feign.DictApi;
|
|
|
|
|
+import com.middle.platform.system.api.feign.UserApi;
|
|
|
|
|
+import jakarta.annotation.Resource;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author xucaiqin
|
|
* @author xucaiqin
|
|
@@ -26,6 +34,14 @@ import java.util.List;
|
|
|
public class IotProductService {
|
|
public class IotProductService {
|
|
|
private final IotProductMapper iotProductMapper;
|
|
private final IotProductMapper iotProductMapper;
|
|
|
private final IotDeviceMapper iotDeviceMapper;
|
|
private final IotDeviceMapper iotDeviceMapper;
|
|
|
|
|
+ private final IotUrlService iotUrlService;
|
|
|
|
|
+ private final IotModService iotModService;
|
|
|
|
|
+ private final IotCloudService iotCloudService;
|
|
|
|
|
+
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private UserApi userApi;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private DictApi dictApi;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 分页查询产品数据
|
|
* 分页查询产品数据
|
|
@@ -36,7 +52,19 @@ public class IotProductService {
|
|
|
public Object pageQuery(ProductPage devicePage) {
|
|
public Object pageQuery(ProductPage devicePage) {
|
|
|
PageHelper.startPage(devicePage.getPage(), devicePage.getPageSize());
|
|
PageHelper.startPage(devicePage.getPage(), devicePage.getPageSize());
|
|
|
List<IotProductVo> iotProductVos = iotProductMapper.pageQuery(devicePage);
|
|
List<IotProductVo> iotProductVos = iotProductMapper.pageQuery(devicePage);
|
|
|
- return new PageRes<>(iotProductVos);
|
|
|
|
|
|
|
+ PageInfo<IotProductVo> pageInfo = new PageInfo<>(iotProductVos);
|
|
|
|
|
+ iotProductVos.forEach(u -> {
|
|
|
|
|
+ Optional.ofNullable(userApi.queryUser(u.getCreateBy())).ifPresent(userCache -> u.setCreateByLabel(userCache.getName()));
|
|
|
|
|
+ Optional.ofNullable(userApi.queryUser(u.getUpdateBy())).ifPresent(userCache -> u.setUpdateByLabel(userCache.getName()));
|
|
|
|
|
+ Optional.ofNullable(dictApi.query(DictType.AUTH_TYPE, String.valueOf(u.getAuthType()))).ifPresent(cache -> u.setAuthTypeLabel(cache.getLabel()));
|
|
|
|
|
+ Optional.ofNullable(dictApi.query(DictType.NODE_TYPE, String.valueOf(u.getNodeType()))).ifPresent(cache -> u.setNodeTypeLabel(cache.getLabel()));
|
|
|
|
|
+ Optional.ofNullable(dictApi.query(DictType.NETWORK_TYPE, String.valueOf(u.getNetworkType()))).ifPresent(cache -> u.setNetworkTypeLabel(cache.getLabel()));
|
|
|
|
|
+ Optional.ofNullable(dictApi.query(DictType.REPORT_PROTOCOL_TYPE, String.valueOf(u.getReportProtocol()))).ifPresent(cache -> u.setReportProtocolLabel(cache.getLabel()));
|
|
|
|
|
+ Optional.ofNullable(dictApi.query(DictType.VENDORS_TYPE, String.valueOf(u.getVendors()))).ifPresent(cache -> u.setVendorsLabel(cache.getLabel()));
|
|
|
|
|
+ Optional.ofNullable(dictApi.query(DictType.DATA_FORMAT_TYPE, String.valueOf(u.getDataFormat()))).ifPresent(cache -> u.setDataFormatLabel(cache.getLabel()));
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+ return new PageRes<>(pageInfo, iotProductVos);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -47,9 +75,9 @@ public class IotProductService {
|
|
|
*/
|
|
*/
|
|
|
public Object save(IotProductPara iotProductPara) {
|
|
public Object save(IotProductPara iotProductPara) {
|
|
|
IotProduct iotProduct = new IotProduct();
|
|
IotProduct iotProduct = new IotProduct();
|
|
|
- iotProduct.setCode(iotProductPara.getCode());
|
|
|
|
|
|
|
+ iotProduct.setCode(IdUtil.nanoId(12));
|
|
|
iotProduct.setName(iotProductPara.getName());
|
|
iotProduct.setName(iotProductPara.getName());
|
|
|
- iotProduct.setSecret(iotProductPara.getSecret());
|
|
|
|
|
|
|
+ iotProduct.setSecret(IdUtil.nanoId());
|
|
|
iotProduct.setNodeType(iotProductPara.getNodeType());
|
|
iotProduct.setNodeType(iotProductPara.getNodeType());
|
|
|
iotProduct.setNetworkType(iotProductPara.getNetworkType());
|
|
iotProduct.setNetworkType(iotProductPara.getNetworkType());
|
|
|
iotProduct.setReportProtocol(iotProductPara.getReportProtocol());
|
|
iotProduct.setReportProtocol(iotProductPara.getReportProtocol());
|
|
@@ -60,6 +88,8 @@ public class IotProductService {
|
|
|
iotProduct.setSize(0);
|
|
iotProduct.setSize(0);
|
|
|
iotProduct.setRemark(iotProductPara.getRemark());
|
|
iotProduct.setRemark(iotProductPara.getRemark());
|
|
|
iotProductMapper.insert(iotProduct);
|
|
iotProductMapper.insert(iotProduct);
|
|
|
|
|
+ /*保存默认topic*/
|
|
|
|
|
+ iotUrlService.save(iotProduct);
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -69,9 +99,16 @@ public class IotProductService {
|
|
|
* @param id 产品id
|
|
* @param id 产品id
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Object remove(Long id) {
|
|
public Object remove(Long id) {
|
|
|
delProductCheck(id);
|
|
delProductCheck(id);
|
|
|
iotProductMapper.deleteById(id);
|
|
iotProductMapper.deleteById(id);
|
|
|
|
|
+ /*删除物模型*/
|
|
|
|
|
+ iotModService.removeProduct(id);
|
|
|
|
|
+ /*删除云函数*/
|
|
|
|
|
+ iotCloudService.removeProduct(id);
|
|
|
|
|
+ /*删除关联url*/
|
|
|
|
|
+ iotUrlService.removeProduct(id);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|