소스 검색

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

James 1 년 전
부모
커밋
9966496595

+ 3 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/DmpDeviceTypeMapper.java

@@ -4,6 +4,7 @@ import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.domain.DmpDeviceType;
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.iot.domain.DmpProductInfo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -19,4 +20,6 @@ import java.util.List;
 @Repository
 public interface DmpDeviceTypeMapper extends CrudMapper<DmpDeviceType> {
     List<DmpProductInfo> getProductInfo(Integer tenantId);
+
+    List<DmpProductInfo> getProductInfoList(@Param("typeCode") String typeCode);
 }

+ 8 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityTypeServiceImpl.java

@@ -143,12 +143,18 @@ public class BaseFacilityTypeServiceImpl extends AbstractCrudService<BaseFacilit
 
     @Override
     public boolean remove(Integer id) {
+        BaseFacilityType one = this.getById(id);
+        if(one == null){
+            throw new BusinessException("设施类型不存在");
+        }
+
         LambdaQueryWrapper<BaseGgpFacility> queryWrapper1 = Wrappers.lambdaQuery();
-        queryWrapper1.eq(BaseGgpFacility::getFacilityType, id);
+        queryWrapper1.eq(BaseGgpFacility::getFacilityType, one.getTypeCode());
         int facilityNum = baseGgpFacilityService.getBaseMapper().selectCount(queryWrapper1);
         if (facilityNum>0) {
-            throw new BusinessException("设施类型删除失败,该设施类型下有设施绑定");
+            throw new BusinessException("当前类型已有关联设施,不可删除");
         }
+
         return this.removeById(id);
     }
 }

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

@@ -67,6 +67,16 @@ public class DmpDeviceTypeServiceImpl extends AbstractCrudService<DmpDeviceTypeM
 
     @Override
     public void remove(Integer id) {
+        DmpDeviceType one = this.getById(id);
+        if(one == null){
+            throw new BusinessException("设备类型不存在");
+        }
+
+        List<DmpProductInfo> list = baseMapper.getProductInfoList(one.getTypeCode());
+        if(list.size() > 0){
+            throw new BusinessException("当前类型已有关联产品,不可删除");
+        }
+
         this.removeById(id);
     }
 

+ 12 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/DmpDeviceTypeMapper.xml

@@ -31,5 +31,17 @@
             </if>
         </where>
     </select>
+    <select id="getProductInfoList" resultType="com.usky.iot.domain.DmpProductInfo">
+        select *
+        from dmp_product
+        <where>
+            <if test="typeCode != null">
+                and device_type = #{typeCode}
+            </if>
+            <if test="1 == 1">
+                and delete_flag = 0
+            </if>
+        </where>
+    </select>
 
 </mapper>