Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

lwb 3 ay önce
ebeveyn
işleme
7910c82fd2

+ 2 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevice/service/MonitorDeviceService.java

@@ -146,4 +146,6 @@ public interface MonitorDeviceService extends IService<MonitorDevice> {
      * 导出传感器数据
      */
     void export(HttpServletResponse response);
+
+    List<MonitorDevice> getByModelName(String code);
 }

+ 7 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevice/service/impl/MonitorDeviceServiceImpl.java

@@ -615,6 +615,13 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
         }
     }
 
+    @Override
+    public List<MonitorDevice> getByModelName(String code) {
+        LambdaQueryWrapper<MonitorDevice> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(MonitorDevice::getModelName, code).eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE);
+        return list(queryWrapper);
+    }
+
     private List<Map<String, Object>> getExportData() {
         List<Map<String, Object>> dataList = monitorDeviceMapper.selectDeviceWithRegion();
         // 动态处理空值(参考网页1[1](@ref))

+ 10 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevicetype/service/impl/MonitorDeviceTypeServiceImpl.java

@@ -14,15 +14,18 @@ package vip.xiaonuo.coldchain.modular.monitordevicetype.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.coldchain.modular.monitordevice.entity.MonitorDevice;
+import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
 import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
@@ -45,6 +48,8 @@ import java.util.List;
  **/
 @Service
 public class MonitorDeviceTypeServiceImpl extends ServiceImpl<MonitorDeviceTypeMapper, MonitorDeviceType> implements MonitorDeviceTypeService {
+    @Resource
+    private MonitorDeviceService monitorDeviceService;
 
     @Override
     public Page<MonitorDeviceType> page(MonitorDeviceTypePageParam monitorDeviceTypePageParam) {
@@ -165,6 +170,11 @@ public class MonitorDeviceTypeServiceImpl extends ServiceImpl<MonitorDeviceTypeM
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void delete(List<MonitorDeviceTypeIdParam> monitorDeviceTypeIdParamList) {
+        for (MonitorDeviceTypeIdParam monitorDeviceTypeIdParam : monitorDeviceTypeIdParamList) {
+            String code = getById(monitorDeviceTypeIdParam.getId()).getCode();
+            Assert.isTrue(monitorDeviceService.getByModelName(code).isEmpty()
+                    , "该设备型号下有设备正在使用,请先删除设备");
+        }
         // 执行删除
         this.removeByIds(CollStreamUtil.toList(monitorDeviceTypeIdParamList, MonitorDeviceTypeIdParam::getId));
     }

+ 8 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/service/impl/MonitorTargetServiceImpl.java

@@ -137,6 +137,10 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
     @Override
     public void add(MonitorTargetAddParam monitorTargetAddParam) {
         MonitorTarget monitorTarget = BeanUtil.toBean(monitorTargetAddParam, MonitorTarget.class);
+        LambdaQueryWrapper<MonitorTarget> queryWrapper = new LambdaQueryWrapper<MonitorTarget>();
+        queryWrapper.eq(MonitorTarget::getName, monitorTarget.getName());
+        List<MonitorTarget> monitorTargetList = list(queryWrapper);
+        Assert.isTrue(monitorTargetList.isEmpty(), "冰箱名称已存在");
         this.save(monitorTarget);
 
     }
@@ -146,6 +150,10 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
     public void edit(MonitorTargetEditParam monitorTargetEditParam) {
         MonitorTarget monitorTarget = this.queryEntity(monitorTargetEditParam.getId());
         BeanUtil.copyProperties(monitorTargetEditParam, monitorTarget);
+        LambdaQueryWrapper<MonitorTarget> queryWrapper = new LambdaQueryWrapper<MonitorTarget>();
+        queryWrapper.eq(MonitorTarget::getName, monitorTarget.getName());
+        List<MonitorTarget> monitorTargetList = list(queryWrapper);
+        Assert.isTrue(monitorTargetEditParam.getName().equals(monitorTarget.getName()) || monitorTargetList.isEmpty(), "冰箱名称已存在");
         this.updateById(monitorTarget);
     }