From e229ec55fde4b2903eb8e085a4a48bd97d35915e Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期二, 30 十一月 2021 11:35:02 +0800
Subject: [PATCH] 摄像头

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java |   45 +++++++++++
 dao/src/main/resources/mapper/BannerMapper.xml                                    |    7 -
 dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java                   |   13 +++
 ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java           |   15 +++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java       |   94 +++++++++++++++++++++++
 dao/src/main/resources/mapper/MonitorMapper.xml                                   |   34 ++++++++
 dao/src/main/java/com/sandu/ximon/dao/domain/Monitor.java                         |   32 ++++----
 7 files changed, 217 insertions(+), 23 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/domain/Monitor.java b/dao/src/main/java/com/sandu/ximon/dao/domain/Monitor.java
index 30eb639..915990f 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/domain/Monitor.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/domain/Monitor.java
@@ -15,22 +15,22 @@
 
     @TableId(type = IdType.AUTO)
     private Long id;
-
+    //鎵�灞炰汉
     private Long userId;
-
-    private String kind;
-
-    private String size;
-
-    private String name;
-
-    private String macId;
-
-    private String state;
-
-    private Long lampId;
-
+    //鐩戞帶搴忓垪鍙�
+    private String serialNumber;
+    //鎵�灞炵伅鏉�
+    private String belongTo;
+    //鍦板潃
+    private String address;
+    //璁惧鐘舵��:鍦ㄧ嚎/绂荤嚎
+    private String equipmentState;
+    //宸ヤ綔鐘舵�侊細姝e父浣跨敤/绂佹浣跨敤
+    private String workState;
+    //缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�
+    private String bindingState;
+    //澶囨敞
+    private String note;
+    //鎺ュ叆鏃堕棿
     private LocalDateTime createTime;
-
-
 }
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
new file mode 100644
index 0000000..c1e8c86
--- /dev/null
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
@@ -0,0 +1,13 @@
+package com.sandu.ximon.dao.mapper;
+
+import com.sandu.common.domain.BaseMapper;
+import com.sandu.ximon.dao.domain.Monitor;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface MonitorMapper extends BaseMapper<Monitor> {
+    List<Monitor> listMonitorByKeyword(String keyword, String equipmentState1, String equipmentState2,
+                          String bindingState1, String bindingState2);
+}
diff --git a/dao/src/main/resources/mapper/BannerMapper.xml b/dao/src/main/resources/mapper/BannerMapper.xml
index abefb9f..3625549 100644
--- a/dao/src/main/resources/mapper/BannerMapper.xml
+++ b/dao/src/main/resources/mapper/BannerMapper.xml
@@ -10,13 +10,6 @@
         <result property="position" column="position" jdbcType="INTEGER"/>
         <result property="author" column="author" jdbcType="VARCHAR"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-        <result property="type" column="type" jdbcType="INTEGER"/>
     </resultMap>
 
-    <sql id="Base_Column_List">
-        id,username,password,
-        icon,email,mobile,
-        nick_name,note,create_time,
-        login_time,update_time,status
-    </sql>
 </mapper>
\ No newline at end of file
diff --git a/dao/src/main/resources/mapper/MonitorMapper.xml b/dao/src/main/resources/mapper/MonitorMapper.xml
new file mode 100644
index 0000000..d087d15
--- /dev/null
+++ b/dao/src/main/resources/mapper/MonitorMapper.xml
@@ -0,0 +1,34 @@
+<?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.MonitorMapper">
+
+    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.Monitor">
+        <id property="id" column="id" jdbcType="BIGINT"/>
+        <result property="userId" column="user_id" jdbcType="VARCHAR"/>
+        <result property="serialNumber" column="serial_number" jdbcType="VARCHAR"/>
+        <result property="belongTo" column="belong_to" jdbcType="VARCHAR"/>
+        <result property="address" column="address" jdbcType="VARCHAR"/>
+        <result property="equipmentState" column="equipment_state" jdbcType="VARCHAR"/>
+        <result property="workState" column="work_state" jdbcType="VARCHAR"/>
+        <result property="bindingState" column="binding_state" jdbcType="VARCHAR"/>
+        <result property="note" column="note" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+    <select id="listMonitorByKeyword" resultType="com.sandu.ximon.dao.domain.Monitor">
+                 SELECT
+        *
+        FROM
+         monitor
+          WHERE
+            serial_number LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+            or belong_to LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+            and equipment_state = #{equipmentState1}
+            or equipment_state = #{equipmentState2}
+            and binding_state = #{bindingState1}
+            or binding_state = #{bindingState2};
+    </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
new file mode 100644
index 0000000..84cc7e6
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -0,0 +1,45 @@
+package com.sandu.ximon.admin.controller;
+
+import com.sandu.common.domain.ResponseVO;
+import com.sandu.common.util.ResponseUtil;
+import com.sandu.ximon.admin.param.MonitorParam;
+import com.sandu.ximon.admin.service.MonitorService;
+import com.sandu.ximon.dao.domain.Monitor;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/v1/admin/monitor")
+public class MonitorController {
+    private final MonitorService monitorService;
+
+    @GetMapping
+    public ResponseVO<Object> listMonitor() {
+        List<Monitor> list = monitorService.listMonitor();
+        return ResponseUtil.successPage(list);
+    }
+
+    /**
+     * 妯$硦鏌ヨ
+     *
+     * @return
+     */
+    @GetMapping("/listMonitorByKeyword")
+    public ResponseVO<Object> listMonitorByKeyword(@RequestBody MonitorParam monitorParam) {
+        List<Monitor> list = monitorService.listMonitorByKeyword(monitorParam);
+        return ResponseUtil.successPage(list);
+    }
+
+    @PostMapping("/delete/{id}")
+    public ResponseVO<Object> deleteMonitor(@PathVariable Long id) {
+        boolean result = monitorService.deleteMonitor(id);
+        if (result) {
+            return ResponseUtil.success(null);
+        } else {
+            return ResponseUtil.fail("鎿嶄綔澶辫触");
+        }
+    }
+}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java
new file mode 100644
index 0000000..d1beb39
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java
@@ -0,0 +1,15 @@
+package com.sandu.ximon.admin.param;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+@Data
+public class MonitorParam {
+
+    private String keyword;
+    @NotEmpty
+    private String equipmentState;
+    @NotEmpty
+    private String bindingState;
+}
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
new file mode 100644
index 0000000..0f19ea5
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -0,0 +1,94 @@
+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;
+import com.sandu.ximon.admin.param.BannerParam;
+import com.sandu.ximon.admin.param.MonitorParam;
+import com.sandu.ximon.dao.domain.Banner;
+import com.sandu.ximon.dao.domain.Monitor;
+import com.sandu.ximon.dao.mapper.MonitorMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class MonitorService extends BaseServiceImpl<MonitorMapper, Monitor> {
+    private final MonitorMapper monitorMapper;
+
+    /**
+     * 鏌ヨ鍏ㄩ儴鎽勫儚澶�
+     */
+    public List<Monitor> listMonitor() {
+        LambdaQueryWrapper<Monitor> wrapper = Wrappers.lambdaQuery(Monitor.class);
+        List<Monitor> list = list(wrapper);
+
+        return list;
+    }
+
+    /**
+     * 妯$硦鏌ヨ
+     */
+    public List<Monitor> listMonitorByKeyword(MonitorParam monitorParam) {
+        //璁惧鐘舵��:鍦ㄧ嚎/绂荤嚎/鍏ㄩ儴
+        String equipmentState1;
+        String equipmentState2;
+        if ("鍏ㄩ儴".equals(monitorParam.getEquipmentState())) {
+            equipmentState1 = "鍦ㄧ嚎";
+            equipmentState2 = "绂荤嚎";
+        } else {
+            equipmentState1 = monitorParam.getEquipmentState();
+            equipmentState2 = monitorParam.getEquipmentState();
+        }
+
+        //缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
+        String bindingState1;
+        String bindingState2;
+        if ("鍏ㄩ儴".equals(monitorParam.getBindingState())) {
+            bindingState1 = "宸茬粦瀹�";
+            bindingState2 = "鏈粦瀹�";
+        } else {
+            bindingState1 = monitorParam.getBindingState();
+            bindingState2 = monitorParam.getBindingState();
+        }
+        return monitorMapper.listMonitorByKeyword(monitorParam.getKeyword(), equipmentState1, equipmentState2, bindingState1, bindingState2);
+    }
+
+    /**
+     * 鍒犻櫎鎽勫儚澶�
+     *
+     * @param Id
+     * @return
+     */
+    public boolean deleteMonitor(Long Id) {
+        Monitor monitor = getById(Id);
+        if (monitor == null) {
+            throw new BusinessException("鎵句笉鍒版憚鍍忓ご");
+        }
+        return removeById(Id);
+    }
+
+    /**
+     * 缂栬緫鎽勫儚澶�
+     * @param Id
+     * @param monitorParam
+     * @return
+     */
+    public boolean updateBanner(Long Id, MonitorParam monitorParam) {
+        Monitor monitor = getById(Id);
+        if (monitor == null) {
+            throw new BusinessException("鎵句笉鍒版憚鍍忓ご");
+        }
+        Monitor update = new Monitor();
+        update.setId(Id);
+        update.setSerialNumber(monitorParam.());
+        update.setBannerUrl(bannerParam.getUrl());
+        update.setId(bannerId);
+        return updateById(update);
+    }
+
+}

--
Gitblit v1.9.3