瀏覽代碼

Merge branch 'usky-zyj' of uskycloud/usky-modules into server-165

James 1 年之前
父節點
當前提交
64a4a9d1af

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpProductInfoService.java

@@ -19,7 +19,7 @@ import java.util.Map;
 public interface DmpProductInfoService extends CrudService<DmpProductInfo> {
 
 
-    boolean add(DmpProductInfo dmpProductInfo);
+    void add(DmpProductInfo dmpProductInfo);
 
     void update(DmpProductInfo dmpProductInfo);
 

+ 1 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceTypeServiceImpl.java

@@ -44,6 +44,7 @@ public class DmpDeviceTypeServiceImpl extends AbstractCrudService<DmpDeviceTypeM
         }
         dmpDeviceType.setCreatedBy(SecurityUtils.getUsername());
         dmpDeviceType.setCreatedTime(LocalDateTime.now());
+        dmpDeviceType.setTenantId(SecurityUtils.getTenantId());
         this.save(dmpDeviceType);
     }
 

+ 5 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductAttributeServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.domain.DmpProductAttribute;
 import com.usky.iot.mapper.DmpProductAttributeMapper;
 import com.usky.iot.service.DmpProductAttributeService;
@@ -40,6 +41,10 @@ public class DmpProductAttributeServiceImpl extends AbstractCrudService<DmpProdu
         if (checkNameUnique(dmpProductAttribute)){
             throw new BusinessException("新增产品属性信息'" + dmpProductAttribute.getAttributeName() + "'失败,产品信息已存在");
         }
+        dmpProductAttribute.setDeleteFlag(0);
+        dmpProductAttribute.setCreatedBy(SecurityUtils.getUsername());
+        dmpProductAttribute.setCreatedTime(new Date());
+        dmpProductAttribute.setTenantId(SecurityUtils.getTenantId());
         this.save(dmpProductAttribute);
         return true;
     }

+ 63 - 7
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductInfoServiceImpl.java

@@ -1,5 +1,9 @@
 package com.usky.iot.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.shaded.com.google.gson.JsonArray;
+import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -8,16 +12,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.domain.DmpDeviceType;
+import com.usky.iot.domain.DmpProductAttribute;
 import com.usky.iot.domain.DmpProductInfo;
 import com.usky.iot.mapper.DmpProductInfoMapper;
-import com.usky.iot.service.DmpDeviceInfoService;
-import com.usky.iot.service.DmpDeviceStatusService;
-import com.usky.iot.service.DmpDeviceTypeService;
-import com.usky.iot.service.DmpProductInfoService;
+import com.usky.iot.service.*;
 import com.usky.iot.service.vo.DmpProductInfoRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -42,12 +48,59 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
     @Autowired
     private DmpDeviceTypeService dmpDeviceTypeService;
 
+    @Autowired
+    private DmpProductAttributeService dmpProductAttributeService;
+
     @Override
-    public boolean add(DmpProductInfo dmpProductInfo) {
+    public void add(DmpProductInfo dmpProductInfo) {
         if (checkNameUnique(dmpProductInfo)){
             throw new BusinessException("新增产品信息'" + dmpProductInfo.getProductName() + "'失败,产品信息已存在");
         }
-        return this.save(dmpProductInfo);
+        dmpProductInfo.setCreatedBy(SecurityUtils.getUsername());
+        dmpProductInfo.setCreatedTime(new Date());
+        dmpProductInfo.setDeleteFlag(0);
+        dmpProductInfo.setTenantId(SecurityUtils.getTenantId());
+        this.save(dmpProductInfo);
+        int productId = dmpProductInfo.getId();
+        int deviceType = dmpProductInfo.getDeviceType();
+        LambdaQueryWrapper<DmpDeviceType> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(DmpDeviceType::getDataField)
+                .eq(DmpDeviceType::getTypeCode,deviceType);
+        DmpDeviceType one  = dmpDeviceTypeService.getOne(queryWrapper);
+        if(null != one){
+            String dataField = one.getDataField();
+            JSONArray array =  JSONArray.parseArray(dataField);
+            if(array.size()>0){
+                for(int i=0;i<array.size();i++){
+                    JSONObject obj = JSONObject.parseObject(array.getString(i));
+                    String attribute_name = obj.getString("attribute_name");
+                    String attribute_code = obj.getString("attribute_code");
+                    int attribute_port = obj.getInteger("attribute_port");
+                    int data_type = obj.getInteger("data_type");
+                    int attribute_length = obj.getInteger("attribute_length");
+                    String attribute_unit = obj.getString("attribute_unit");
+                    int maximum = obj.getInteger("maximum");
+                    int minimum = obj.getInteger("minimum");
+
+                    DmpProductAttribute dmpProductAttribute = new DmpProductAttribute();
+                    dmpProductAttribute.setProductId(productId);
+                    dmpProductAttribute.setAttributeName(attribute_name);
+                    dmpProductAttribute.setAttributeCode(attribute_code);
+                    dmpProductAttribute.setAttributePort(attribute_port);
+                    dmpProductAttribute.setAttributeType(1);
+                    dmpProductAttribute.setDataType(data_type);
+                    dmpProductAttribute.setAttributeLength(attribute_length);
+                    dmpProductAttribute.setAttributeUnit(attribute_unit);
+                    dmpProductAttribute.setMaximum(BigDecimal.valueOf(maximum));
+                    dmpProductAttribute.setMinimum(BigDecimal.valueOf(minimum));
+                    dmpProductAttribute.setDeleteFlag(0);
+                    dmpProductAttribute.setCreatedBy(SecurityUtils.getUsername());
+                    dmpProductAttribute.setCreatedTime(new Date());
+                    dmpProductAttribute.setTenantId(SecurityUtils.getTenantId());
+                    dmpProductAttributeService.save(dmpProductAttribute);
+                }
+            }
+        }
     }
 
     @Override
@@ -112,7 +165,10 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
                 if(imges.size()>0){
                     for(int j=0;j<imges.size();j++){
                         if(Integer.parseInt(imges.get(j).get("deviceType").toString())==(records.get(i).getDeviceType())){
-                            records.get(i).setTypeImg(imges.get(j).get("typeImg").toString());
+                            if(StringUtils.isNotBlank(imges.get(j).get("typeImg").toString())){
+                                records.get(i).setTypeImg(imges.get(j).get("typeImg").toString());
+                            }
+
                         }
                     }