From d65594e37be2179b60cdc1730819ff156b39639c Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期三, 13 四月 2022 18:16:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingEquipment.java                   |   36 ++++++++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java               |   16 ++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingEquipmentService.java |   14 ++++
 dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingEquipmentMapper.java             |   17 +++++
 dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java                               |    2 
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java                   |   18 +-----
 dao/src/main/resources/mapper/LightPoleHeelingEquipmentMapper.xml                             |   16 +++++
 dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml                                 |    2 
 dao/src/main/resources/mapper/MonitorMapper.xml                                               |    6 +-
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java          |   11 +++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java     |   11 ++-
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RoleController.java                |    8 ++
 ximon-admin/src/main/java/com/sandu/ximon/admin/security/SecurityUtils.java                   |    2 
 13 files changed, 132 insertions(+), 27 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingEquipment.java b/dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingEquipment.java
new file mode 100644
index 0000000..05bbe91
--- /dev/null
+++ b/dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingEquipment.java
@@ -0,0 +1,36 @@
+package com.sandu.ximon.dao.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName light_pole_heeling_equipment
+ */
+@TableName(value ="light_pole_heeling_equipment")
+@Data
+public class LightPoleHeelingEquipment implements Serializable {
+    /**
+     * 
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鐏潌鍊炬枩MAC璁惧鍦板潃
+     */
+    private String mac;
+
+    /**
+     * 
+     */
+    private LocalDateTime createTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingEquipmentMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingEquipmentMapper.java
new file mode 100644
index 0000000..7a9537f
--- /dev/null
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingEquipmentMapper.java
@@ -0,0 +1,17 @@
+package com.sandu.ximon.dao.mapper;
+
+import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Entity com.sandu.ximon.dao.domain.LightPoleHeelingEquipment
+ */
+@Mapper
+public interface LightPoleHeelingEquipmentMapper extends BaseMapper<LightPoleHeelingEquipment> {
+
+}
+
+
+
+
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
index 7e6d0e3..a7c1df4 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
@@ -15,7 +15,7 @@
     List<Monitor> listMonitorByKeyword1(String keyword, int bindingState1, int bindingState2);
 
 
-    List<MonitorBo> listMonitorByIds(String keyword, Long clientId, int bindingState, int equipmentState);
+    List<MonitorBo> listMonitorByIds(String keyword, int bindingState, int equipmentState, Long userid);
 
     List<String> listMonitorDeviceSerial();
 }
diff --git a/dao/src/main/resources/mapper/LightPoleHeelingEquipmentMapper.xml b/dao/src/main/resources/mapper/LightPoleHeelingEquipmentMapper.xml
new file mode 100644
index 0000000..1f4c48f
--- /dev/null
+++ b/dao/src/main/resources/mapper/LightPoleHeelingEquipmentMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sandu.ximon.dao.mapper.LightPoleHeelingEquipmentMapper">
+
+    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.LightPoleHeelingEquipment">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="mac" column="mac" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,mac,create_time
+    </sql>
+</mapper>
diff --git a/dao/src/main/resources/mapper/MonitorMapper.xml b/dao/src/main/resources/mapper/MonitorMapper.xml
index 6a7365d..3bbbc46 100644
--- a/dao/src/main/resources/mapper/MonitorMapper.xml
+++ b/dao/src/main/resources/mapper/MonitorMapper.xml
@@ -62,15 +62,15 @@
                 OR t1.note LIKE CONCAT(CONCAT('%', #{keyword}), '%')
                 OR t3.pole_code LIKE CONCAT(CONCAT('%', #{keyword}), '%')
             </if>
-            <if test="clientId != null">
-                AND t3.client_id = #{clientId}
-            </if>
             <if test="bindingState != 2">
                 AND t1.binding_state = #{bindingState}
             </if>
             <if test="equipmentState != 2">
                 AND t1.equipment_state = #{equipmentState}
             </if>
+            <if test="userid != null">
+                AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
+            </if>
         </where>
     </select>
     <select id="listMonitorDeviceSerial" resultType="java.lang.String">
diff --git a/dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml b/dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml
index 6fe2d84..1e93afc 100644
--- a/dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml
+++ b/dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml
@@ -41,7 +41,7 @@
                 AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
             </if>
             <if test="clientId != null">
-                AND t3.client_id = #{clientId}
+                AND (t3.user_id = #{clientId} OR t3.client_id = #{clientId})
             </if>
         </where>
     </select>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RoleController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RoleController.java
index 5e3f1e0..a80900d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RoleController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RoleController.java
@@ -5,6 +5,7 @@
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.util.ResponseUtil;
 import com.sandu.ximon.admin.param.RoleParam;
+import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.service.RoleService;
 import com.sandu.ximon.dao.domain.Role;
 import com.sandu.ximon.dao.domain.RoleDetail;
@@ -23,7 +24,7 @@
 @RestController
 @RequestMapping("/v1/role")
 public class RoleController {
-
+    private PermissionConfig permissionConfig;
     private final RoleService roleService;
 
     /**
@@ -38,9 +39,14 @@
 
     @GetMapping("/list")
     public ResponseVO<Object> listRole(BaseConditionVO conditionVO) {
+        if (!permissionConfig.check("瑙掕壊绠$悊")) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+
         List<RoleDetail> roleDetails = roleService.listRole(conditionVO.getPageNo(), conditionVO.getPageSize());
         return ResponseUtil.success(roleDetails);
     }
+
     @PostMapping("/add")
     public ResponseVO<Object> addRole(@Validated @RequestBody RoleParam param) {
         boolean result = roleService.addRole(param);
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/SecurityUtils.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/SecurityUtils.java
index e5c38ac..d85bf94 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/SecurityUtils.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/SecurityUtils.java
@@ -82,7 +82,7 @@
         if (loginUserInfo == null) {
             return null;
         }
-        if (AdministratorEnums.CUSTOMER.getCode().equals(loginUserInfo.getAdministratorType())) {
+        if (!AdministratorEnums.ADMIN.getCode().equals(loginUserInfo.getAdministratorType())) {
             return loginUserInfo.getUserId();
         }
         return null;
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingEquipmentService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingEquipmentService.java
new file mode 100644
index 0000000..414507e
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingEquipmentService.java
@@ -0,0 +1,14 @@
+package com.sandu.ximon.admin.service;
+
+import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
+import com.sandu.ximon.dao.mapper.LightPoleHeelingEquipmentMapper;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author ZZQ
+ * @date 2022/4/13 16:52
+ */
+@Service
+public class LightPoleHeelingEquipmentService extends BaseServiceImpl<LightPoleHeelingEquipmentMapper, LightPoleHeelingEquipment> {
+}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
index c357215..f284f8a 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
@@ -15,6 +15,7 @@
 import com.sandu.ximon.admin.param.LightPoleHeelingListParam;
 import com.sandu.ximon.dao.domain.Light;
 import com.sandu.ximon.dao.domain.LightPoleHeeling;
+import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
 import com.sandu.ximon.dao.domain.PoleBinding;
 import com.sandu.ximon.dao.mapper.LightPoleHeelingMapper;
 import lombok.AllArgsConstructor;
@@ -26,6 +27,7 @@
 @AllArgsConstructor
 public class LightPoleHeelingService extends BaseServiceImpl<LightPoleHeelingMapper, LightPoleHeeling> {
     private LightPoleHeelingMapper lightPoleHeelingMapper;
+    private LightPoleHeelingEquipmentService lightPoleHeelingEquipmentService;
 
     /**
      * 妯$硦鏌ヨ
@@ -207,6 +209,15 @@
         } else {
             lightPoleHeeling.setWarningLevel(0);//姝e父
         }
+        /**
+         * 灏嗙伅鏉嗗�炬枩纭欢娣诲姞鍒扮‖浠惰〃
+         */
+        LightPoleHeelingEquipment one = lightPoleHeelingEquipmentService.getOne(Wrappers.lambdaQuery(LightPoleHeelingEquipment.class).eq(LightPoleHeelingEquipment::getMac, deviceName));
+        if (one == null) {
+            LightPoleHeelingEquipment equipment = new LightPoleHeelingEquipment();
+            equipment.setMac(deviceName);
+            lightPoleHeelingEquipmentService.save(equipment);
+        }
 
         return save(lightPoleHeeling);
     }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index 325d0fe..73c845e 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -1,8 +1,10 @@
 package com.sandu.ximon.admin.service;
 
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.sandu.common.execption.BusinessException;
@@ -10,6 +12,7 @@
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.param.MonitorParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.dao.bo.AirEquipmentBo;
 import com.sandu.ximon.dao.bo.MonitorBo;
 import com.sandu.ximon.dao.domain.Monitor;
 import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
@@ -97,21 +100,6 @@
         String s = HttpUtil.post(YSY_URL + ACCESSTOKEN_URL, paramMap);
         YSY_AccessTokenDto accessTokenDto = JSON.parseObject(s, YSY_AccessTokenDto.class);
         return accessTokenDto.getData().getAccessToken();
-    }
-
-
-    /**
-     * 鑾峰彇钀ょ煶浜戞憚鍍忓ご淇℃伅  鏃犻渶楠岃瘉accessToken
-     * @return
-     */
-    public YSY_MonitorDto.MonitorDto getMonitorInfo(String deviceSerial) {
-        String token = getAccessToken();
-        Map<String, Object> paramMap = new HashMap<>();
-        paramMap.put("accessToken", token);
-        paramMap.put("deviceSerial", deviceSerial);
-        String s = HttpUtil.post(YSY_URL + GET_DEVICE_URL, paramMap);
-        YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
-        return monitorDto.getData();
     }
 
     /**
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
index 4716a7e..e6ae5f0 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
@@ -1,5 +1,6 @@
 package com.sandu.ximon.admin.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.service.impl.BaseServiceImpl;
@@ -8,6 +9,8 @@
 import com.sandu.ximon.dao.mapper.PoleBindingMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * @author chenjiantian
@@ -30,6 +33,15 @@
         Integer deviceType = param.getDeviceType();
 //        if (PoleBindingEnums.LIGHT.getCode().equals(deviceType)) {
 //        }
+        LambdaQueryWrapper<PoleBinding> eq = Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId);
+        List<PoleBinding> list = list(eq);
+        if (list.size() != 0){
+            for (PoleBinding poleBinding : list) {
+                if (poleBinding.getDeviceType().equals(deviceType)) {
+                    throw new BusinessException("璇ョ伅鏉嗗凡缁戝畾杩囩浉鍚岀被鍨嬭澶�");
+                }
+            }
+        }
 
         PoleBinding one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, param.getDeviceCode()));
         if (one == null) {
@@ -86,7 +98,7 @@
         }
     }
 
-    public PoleBinding getPoleIdByMac(String deviceCode){
-       return getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
+    public PoleBinding getPoleIdByMac(String deviceCode) {
+        return getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
     }
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
index 80ad2e7..3d6e5d2 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
@@ -38,10 +38,15 @@
      * 妯$硦鏌ヨ
      */
     public List<WaterQualityEquipmentBo> listWaterQualityEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) {
-        Long clientId = SecurityUtils.getClientId();
+        Long userId = SecurityUtils.getUserId();
         PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-
-        List<WaterQualityEquipmentBo> waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, clientId);
+        List<WaterQualityEquipmentBo> waterQualityEquipmentBoList;
+        //涓虹┖鏄秴绠�
+        if (SecurityUtils.getClientId() == null) {
+            waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, null);
+        } else {
+            waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, userId);
+        }
         return waterQualityEquipmentBoList;
     }
 

--
Gitblit v1.9.3