2021与蓝度共同重构项目,服务端
zhanzhiqin
2021-11-30 e229ec55fde4b2903eb8e085a4a48bd97d35915e
摄像头
已修改2个文件
已添加5个文件
240 ■■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/domain/Monitor.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/BannerMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/MonitorMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    //工作状态:正常使用/禁止使用
    private String workState;
    //绑定状态:已绑定/未绑定
    private String bindingState;
    //备注
    private String note;
    //接入时间
    private LocalDateTime createTime;
}
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);
}
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>
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>
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("操作失败");
        }
    }
}
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;
}
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);
    }
}