From 42190b82f67483e3db3b5b1a66ddc8bdbd22a3ca Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 15 四月 2022 10:55:37 +0800
Subject: [PATCH] 用户权限

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
index 661f183..96b6c1c 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
@@ -7,14 +7,19 @@
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.util.ResponseUtil;
 import com.sandu.ximon.admin.param.VnnoxParam;
+import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.service.LedPlayerEntityService;
+import com.sandu.ximon.admin.service.PoleBindingService;
+import com.sandu.ximon.admin.service.PoleService;
 import com.sandu.ximon.admin.service.VnnoxService;
 import com.sandu.ximon.admin.utils.VnnoxAPIUtil;
 import com.sandu.ximon.admin.utils.response.VnnoxResult;
 import com.sandu.ximon.dao.domain.LedPlayerEntity;
 import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity;
+import com.sandu.ximon.dao.domain.PoleBinding;
 import com.sandu.ximon.dao.enums.AdministratorEnums;
+import com.sandu.ximon.dao.enums.MenuEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -33,13 +38,18 @@
 //@AllArgsConstructor
 @RequestMapping("/v1/Vnnox")
 public class VnnoxController {
-
+    @Autowired
+    private PermissionConfig permissionConfig;
     @Autowired
     private VnnoxService vnnoxService;
     @Autowired
     private LedPlayerEntityService ledPlayerEntityService;
     @Autowired
     private VnnoxAPIUtil vnnoxAPIUtil;
+    @Autowired
+    private PoleBindingService bindingService;
+    @Autowired
+    private PoleService poleService;
 
     /**
      * 鎴睆
@@ -127,9 +137,11 @@
 
     @GetMapping("/list")
     public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
+        if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
         LambdaQueryWrapper<LedPlayerEntity> wrapper = Wrappers.lambdaQuery(LedPlayerEntity.class);
-
         if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
             //wrapper.eq(LedPlayerEntity::get)
             return ResponseUtil.success(""); //  todo
@@ -139,9 +151,23 @@
                             querywrapper -> {
                                 querywrapper.like(LedPlayerEntity::getName, keyword);
                             }
+                    ).or(
+                            sn->{
+                                sn.like(LedPlayerEntity::getSn,keyword);
+                            }
                     );
             List<LedPlayerEntity> list = ledPlayerEntityService.list(wrapper);
             List<LedPlayerEntity> entities = vnnoxService.setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
+            entities.forEach(
+                    led -> {
+                        PoleBinding binding = bindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class)
+                                .eq(PoleBinding::getDeviceType, 1).eq(PoleBinding::getDeviceCode, led.getSn()));
+                        if (binding != null) {
+                            led.setPoleId(poleService.getById(binding.getPoleId()).getId());
+                            led.setPoleName(poleService.getById(binding.getPoleId()).getPoleName());
+                        }
+                    }
+            );
             return ResponseUtil.success(entities);
         }
     }
@@ -168,4 +194,9 @@
             return ResponseUtil.success(online);
         }
     }
+
+    @GetMapping("/getVnnoxInfo/{sn}")
+    public ResponseVO<Object> getBySnAndPlayerId(@PathVariable String sn) {
+        return ResponseUtil.success(ledPlayerEntityService.getBySnAndPlayerSn(sn));
+    }
 }

--
Gitblit v1.9.3