浏览代码

Merge branch 'usky-zyj' into server-165

james 1 周之前
父节点
当前提交
69059ff7a8

+ 2 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceTypeService.java

@@ -20,6 +20,8 @@ public interface DmpDeviceTypeService extends CrudService<DmpDeviceType> {
 
     boolean checkNameUnique(DmpDeviceType dmpDeviceType);
 
+    boolean checkTypeCodeUnique(DmpDeviceType dmpDeviceType);
+
     void edit(DmpDeviceType dmpDeviceType);
 
     void remove(Integer id);

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

@@ -25,6 +25,8 @@ public interface DmpProductInfoService extends CrudService<DmpProductInfo> {
 
     boolean checkNameUnique(DmpProductInfo dmpProductInfo);
 
+    boolean checkProductNameUnique(DmpProductInfo dmpProductInfo);
+
     CommonPage<DmpProductInfo> page(DmpProductInfoRequest dmpProductInfoRequest);
 
     boolean remove(Integer id);

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

@@ -42,6 +42,9 @@ public class DmpDeviceTypeServiceImpl extends AbstractCrudService<DmpDeviceTypeM
         if (checkNameUnique(dmpDeviceType)) {
             throw new BusinessException("新增设备类型'" + dmpDeviceType.getTypeName() + "'失败,该设备类型已经存在");
         }
+        if (checkTypeCodeUnique(dmpDeviceType)) {
+            throw new BusinessException("新增设备类型'" + dmpDeviceType.getTypeName() + "'失败,该设备类型编码已经存在");
+        }
         dmpDeviceType.setCreatedBy(SecurityUtils.getUsername());
         dmpDeviceType.setCreatedTime(LocalDateTime.now());
         dmpDeviceType.setTenantId(SecurityUtils.getTenantId());
@@ -54,6 +57,9 @@ public class DmpDeviceTypeServiceImpl extends AbstractCrudService<DmpDeviceTypeM
         if (checkNameUnique(dmpDeviceType)) {
             throw new BusinessException("修改设备类型'" + dmpDeviceType.getTypeName() + "'失败,该设备类型已经存在");
         }
+        if (checkTypeCodeUnique(dmpDeviceType)) {
+            throw new BusinessException("新增设备类型'" + dmpDeviceType.getTypeName() + "'失败,该设备类型编码已经存在");
+        }
         dmpDeviceType.setUpdatedBy(SecurityUtils.getUsername());
         dmpDeviceType.setUpdatedTime(LocalDateTime.now());
         this.updateById(dmpDeviceType);
@@ -68,6 +74,15 @@ public class DmpDeviceTypeServiceImpl extends AbstractCrudService<DmpDeviceTypeM
         return null != one && !Objects.equals(one.getId(), id);
     }
 
+    @Override
+    public boolean checkTypeCodeUnique(DmpDeviceType dmpDeviceType) {
+        Integer id = null == dmpDeviceType.getId() ? -1 : dmpDeviceType.getId();
+        LambdaQueryWrapper<DmpDeviceType> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.like(DmpDeviceType::getTypeCode, dmpDeviceType.getTypeCode());
+        DmpDeviceType one = this.getOne(queryWrapper);
+        return null != one && !Objects.equals(one.getId(), id);
+    }
+
     @Override
     public void remove(Integer id) {
         DmpDeviceType one = this.getById(id);

+ 25 - 6
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductInfoServiceImpl.java

@@ -69,7 +69,10 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
 
         for (int k = 0; k < dmpProductInfo.size(); k++) {
             if (checkNameUnique(dmpProductInfo.get(k))){
-                throw new BusinessException("新增产品信息'" + dmpProductInfo.get(k).getProductCode() + "'失败,产品信息已存在");
+                throw new BusinessException("新增产品信息'" + dmpProductInfo.get(k).getProductCode() + "'失败,产品编码已存在");
+            }
+            if (checkProductNameUnique(dmpProductInfo.get(k))){
+                throw new BusinessException("新增产品信息'" + dmpProductInfo.get(k).getProductName() + "'失败,产品名称已存在");
             }
             int deviceType = dmpProductInfo.get(k).getDeviceType();
             LambdaQueryWrapper<DmpDeviceType> queryWrapper = Wrappers.lambdaQuery();
@@ -111,8 +114,6 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
                             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);
@@ -123,8 +124,12 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
                             dmpProductAttribute.setDataType(data_type);
                             dmpProductAttribute.setAttributeLength(attribute_length);
                             dmpProductAttribute.setAttributeUnit(attribute_unit);
-                            dmpProductAttribute.setMaximum(BigDecimal.valueOf(maximum));
-                            dmpProductAttribute.setMinimum(BigDecimal.valueOf(minimum));
+                            if(Objects.nonNull(obj.getInteger("maximum"))){
+                                dmpProductAttribute.setMaximum(BigDecimal.valueOf(obj.getInteger("maximum")));
+                            }
+                            if(Objects.nonNull(obj.getInteger("minimum"))){
+                                dmpProductAttribute.setMinimum(BigDecimal.valueOf(obj.getInteger("minimum")));
+                            }
                             if(!(obj.getString("attribute_dict")).equals("")){
                                 dmpProductAttribute.setAttributeDict(obj.getString("attribute_dict"));
                             }
@@ -181,7 +186,10 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
     public void update(DmpProductInfo dmpProductInfo) {
         dmpProductInfo.setUpdatedTime(new Date());
         if (checkNameUnique(dmpProductInfo)){
-            throw new BusinessException("修改产品信息'" + dmpProductInfo.getProductCode() + "'失败,产品信息已存在");
+            throw new BusinessException("新增产品信息'" + dmpProductInfo.getProductCode() + "'失败,产品编码已存在");
+        }
+        if (checkProductNameUnique(dmpProductInfo)){
+            throw new BusinessException("新增产品信息'" + dmpProductInfo.getProductName() + "'失败,产品名称已存在");
         }
         this.updateById(dmpProductInfo);
     }
@@ -197,6 +205,17 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
         return null != one && !Objects.equals(one.getId(), id);
     }
 
+    @Override
+    public boolean checkProductNameUnique(DmpProductInfo dmpProductInfo) { //根据产品名称判断唯一
+        Integer id = null == dmpProductInfo.getId() ? -1 : dmpProductInfo.getId();
+        LambdaQueryWrapper<DmpProductInfo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(DmpProductInfo::getProductName,dmpProductInfo.getProductName())
+                .eq(DmpProductInfo::getTenantId,SecurityUtils.getTenantId())
+                .eq(DmpProductInfo::getDeleteFlag,0);
+        DmpProductInfo one = this.getOne(queryWrapper);
+        return null != one && !Objects.equals(one.getId(), id);
+    }
+
 
     @Override
     public CommonPage<DmpProductInfo> page(DmpProductInfoRequest piRequest) {