From 04b45b8c22594cc5535b164380738a80b0e8cbe2 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 26 五月 2025 15:27:57 +0800
Subject: [PATCH] 修改大屏录像可用率指标

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java
index 17c9481..80320a1 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java
@@ -8,13 +8,20 @@
 import com.ycl.platform.mapper.ContractResultMapper;
 import com.ycl.platform.mapper.ContractResultRecordMapper;
 import com.ycl.platform.service.IContractResultService;
+import com.ycl.system.entity.BaseEntity;
+import com.ycl.system.entity.SysRole;
+import com.ycl.system.entity.SysUser;
 import com.ycl.utils.SecurityUtils;
+import enumeration.general.PublishType;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import utils.DateUtils;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 /**
  * 鑰冩牳缁撴灉Service涓氬姟灞傚鐞�
@@ -23,11 +30,11 @@
  * @date 2024-04-01
  */
 @Service
+@RequiredArgsConstructor
 public class ContractResultServiceImpl extends ServiceImpl<ContractResultMapper, ContractResult> implements IContractResultService {
-    @Autowired
-    private ContractResultMapper checkResultMapper;
-    @Autowired
-    private ContractResultRecordMapper contractResultRecordMapper;
+
+    private final ContractResultMapper checkResultMapper;
+    private final ContractResultRecordMapper contractResultRecordMapper;
 
 
     /**
@@ -49,8 +56,31 @@
      */
     @Override
     public List<ContractResultVO> selectCheckResultList(ContractResultVO contractResult) {
+        //閬垮厤鏌ヨ鏉′欢澶辨晥
+        if (contractResult.getUnitId() == null) {
+            Integer unitId = SecurityUtils.getUnitId();
+            Long uid = null;
+            if (Objects.nonNull(unitId)) {
+                uid = Long.valueOf(unitId);
+            }
+            contractResult.setUnitId(uid);
+        }
+        roleControl(contractResult);
         return checkResultMapper.selectCheckResultList(contractResult);
     }
+
+    private void roleControl(ContractResultVO contractResult) {
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        if (!user.isAdmin()) {
+            for (SysRole role : roles) {
+                if (role.getPermissions().contains("check:contract:role:publish")) {
+                    contractResult.setPublish(1);
+                }
+            }
+        }
+    }
+
 
     /**
      * 鏂板鑰冩牳缁撴灉
@@ -111,9 +141,11 @@
 
     @Override
     public Boolean publish(Long id) {
+        ContractResult contractResult = checkResultMapper.selectById(id);
+
         return new LambdaUpdateChainWrapper<>(checkResultMapper)
                 .eq(ContractResult::getId, id)
-                .set(ContractResult::getPublish, 1)
+                .set(ContractResult::getPublish, contractResult.getPublish() == 0 ? 1 : 0)
                 .set(ContractResult::getPublishId, SecurityUtils.getLoginUser().getUserId())
                 .update();
     }

--
Gitblit v1.8.0