浏览代码

bugfix:
1、OTA升级-版本管理-新增-版本名称未做唯一性校验

lihao16 5 月之前
父节点
当前提交
f1d0deef4d

+ 8 - 1
smsb-modules/smsb-device/src/main/java/com/inspur/device/service/impl/SmsbOtaPackageServiceImpl.java

@@ -9,6 +9,7 @@ import com.inspur.device.domain.vo.SmsbOtaPackageVo;
 import com.inspur.device.mapper.SmsbOtaPackageMapper;
 import com.inspur.device.service.ISmsbOtaPackageService;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
@@ -18,6 +19,7 @@ import org.dromara.system.domain.vo.SysOssVo;
 import org.dromara.system.mapper.SysOssMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.util.Collection;
 import java.util.List;
@@ -94,7 +96,12 @@ public class SmsbOtaPackageServiceImpl implements ISmsbOtaPackageService {
     @Override
     public Boolean insertByBo(SmsbOtaPackageBo bo) {
         SmsbOtaPackage add = MapstructUtils.convert(bo, SmsbOtaPackage.class);
-
+        // 验证是否版本名称是否重复
+        String versionName = bo.getVersionName();
+        List<SmsbOtaPackageVo> otaPackageVoList = baseMapper.selectVoList(new LambdaQueryWrapper<SmsbOtaPackage>().eq(SmsbOtaPackage::getVersionName,versionName));
+        if (!CollectionUtils.isEmpty(otaPackageVoList)) {
+            throw new ServiceException("版本名称已存在,请检查!");
+        }
         // sys oss
         SysOssVo sysOssVo = sysOssMapper.selectVoById(bo.getOssId());
         add.setVersionCode(sysOssVo.getVersionCode());