From 48cad4e64f719bb3c8dfe4274aeec656728d1a4d Mon Sep 17 00:00:00 2001
From: 唐耀东 <18861537@qq.com>
Date: 星期六, 27 八月 2022 14:24:31 +0800
Subject: [PATCH] 注释发布版本唯一验证

---
 ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SgIpcServiceImpl.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SgIpcServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SgIpcServiceImpl.java
index 98b5d91..46b03bd 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SgIpcServiceImpl.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SgIpcServiceImpl.java
@@ -7,6 +7,9 @@
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.core.page.PagePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.oa.domain.SgNvr;
+import com.ruoyi.oa.mapper.SgNvrMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -16,6 +19,7 @@
 import com.ruoyi.oa.domain.SgIpc;
 import com.ruoyi.oa.mapper.SgIpcMapper;
 import com.ruoyi.oa.service.ISgIpcService;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -29,6 +33,9 @@
  */
 @Service
 public class SgIpcServiceImpl extends ServicePlusImpl<SgIpcMapper, SgIpc, SgIpcVo> implements ISgIpcService {
+
+    @Autowired
+    private SgNvrMapper nvrMapper;
 
     @Override
     public SgIpcVo queryById(Long id) {
@@ -55,15 +62,23 @@
         lqw.eq(bo.getOrganizationId() != null, SgIpc::getOrganizationId, bo.getOrganizationId());
         lqw.eq(bo.getConstructionBatchId() != null, SgIpc::getConstructionBatchId, bo.getConstructionBatchId());
         lqw.like(StringUtils.isNotBlank(bo.getModel()), SgIpc::getModel, bo.getModel());
+        lqw.orderByDesc(SgIpc::getUpdateTime);
         return lqw;
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean insertByBo(SgIpcBo bo) {
         List<SgIpc> list = baseMapper.selectList(new LambdaQueryWrapper<SgIpc>()
             .eq(SgIpc::getSchoolId, bo.getSchoolId()).eq(SgIpc::getMac, bo.getMac()));
         if (list.size() > 0) {
             throw new ServiceException("MAC閲嶅", HttpStatus.HTTP_PARTIAL);
+        }
+        if (null != bo.getNvrId()) {
+            SgNvr nvr = nvrMapper.selectById(bo.getNvrId());
+            if (!bo.getOrganizationId().equals(nvr.getOrganizationId())) {
+                throw new ServiceException("IPC鎵�灞炲崟浣嶄笌鎵�閫塏VR鎵�灞炲崟浣嶄笉绗�", HttpStatus.HTTP_PARTIAL);
+            }
         }
         SgIpc add = BeanUtil.toBean(bo, SgIpc.class);
         validEntityBeforeSave(add);
@@ -75,6 +90,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByBo(SgIpcBo bo) {
         List<SgIpc> list = baseMapper.selectList(new LambdaQueryWrapper<SgIpc>()
             .eq(SgIpc::getSchoolId, bo.getSchoolId())
@@ -82,6 +98,12 @@
             .ne(SgIpc::getId, bo.getId()));
         if (list.size() > 0) {
             throw new ServiceException("MAC閲嶅", HttpStatus.HTTP_PARTIAL);
+        }
+        if (null != bo.getNvrId()) {
+            SgNvr nvr = nvrMapper.selectById(bo.getNvrId());
+            if (!bo.getOrganizationId().equals(nvr.getOrganizationId())) {
+                throw new ServiceException("IPC鎵�灞炲崟浣嶄笌鎵�閫塏VR鎵�灞炲崟浣嶄笉绗�", HttpStatus.HTTP_PARTIAL);
+            }
         }
         SgIpc update = BeanUtil.toBean(bo, SgIpc.class);
         validEntityBeforeSave(update);
@@ -98,6 +120,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
         if (isValid) {
             //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�

--
Gitblit v1.9.1