Quellcode durchsuchen

相机升级日志

wyyay vor 1 Jahr
Ursprung
Commit
7c370e0e46

+ 12 - 12
.idea/jarRepositories.xml

@@ -2,8 +2,8 @@
 <project version="4">
   <component name="RemoteRepositoriesConfiguration">
     <remote-repository>
-      <option name="id" value="public" />
-      <option name="name" value="aliyun nexus" />
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
       <option name="url" value="https://maven.aliyun.com/repository/public" />
     </remote-repository>
     <remote-repository>
@@ -11,6 +11,16 @@
       <option name="name" value="Central Repository" />
       <option name="url" value="https://repo.maven.apache.org/maven2" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="public" />
+      <option name="name" value="aliyun nexus" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
     <remote-repository>
       <option name="id" value="central" />
       <option name="name" value="Central Repository" />
@@ -26,11 +36,6 @@
       <option name="name" value="Central Repository" />
       <option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" />
     </remote-repository>
-    <remote-repository>
-      <option name="id" value="central" />
-      <option name="name" value="Maven Central repository" />
-      <option name="url" value="https://repo1.maven.org/maven2" />
-    </remote-repository>
     <remote-repository>
       <option name="id" value="custom_group" />
       <option name="name" value="Nexus Repository" />
@@ -41,10 +46,5 @@
       <option name="name" value="JBoss Community repository" />
       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
     </remote-repository>
-    <remote-repository>
-      <option name="id" value="central" />
-      <option name="name" value="Central Repository" />
-      <option name="url" value="https://maven.aliyun.com/repository/public" />
-    </remote-repository>
   </component>
 </project>

+ 90 - 0
business-service/src/main/java/com/ozs/service/entity/CameraUpdateLog.java

@@ -0,0 +1,90 @@
+package com.ozs.service.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.annotation.Excel;
+import com.ozs.common.core.domain.BaseEntity;
+import com.ozs.common.core.domain.BaseEntityExp;
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/24
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel("相机升级日志表")
+public class CameraUpdateLog implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 相机编码
+     */
+    @Excel(name = "相机编码")
+    private String cameraCode;
+
+    /**
+     * 版本号
+     */
+    private String versionNum;
+
+    /**
+     * 版本名称
+     */
+    private String versionName;
+
+    /**
+     * 升级类型
+     */
+    private String upgradeType;
+
+    /**
+     * 升级状态
+     */
+    @Excel(name = "状态", readConverterExp = "1=升级成功,2=升级中,3=升级失败")
+    private Integer status;
+
+    /**
+     * 上一版本号
+     */
+    @TableField(exist = false)
+    @Excel(name = "上一版本号")
+    private String lastVersionNum;
+
+    /**
+     * 当前版本号
+     */
+    @TableField(exist = false)
+    @Excel(name = "当前版本号")
+    private String currentVersionNum;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+}

+ 46 - 0
business-service/src/main/java/com/ozs/service/entity/vo/CameraUpdateLogResp.java

@@ -0,0 +1,46 @@
+package com.ozs.service.entity.vo;
+
+import com.ozs.common.vo.PageVo;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/24
+ */
+@Data
+public class CameraUpdateLogResp extends PageVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 版本号
+     */
+    private String versionNum;
+
+    /**
+     * 版本名称
+     */
+    private String versionName;
+
+    /**
+     * 升级类型
+     */
+    private String upgradeType;
+
+    /**
+     * 相机编码
+     */
+    private String cameraCode;
+
+    /**
+     * 升级状态
+     */
+    private Integer status;
+
+    /**
+     * 时间(年)
+     */
+    private Integer currentYear;
+
+}

+ 18 - 0
business-service/src/main/java/com/ozs/service/mapper/CameraUpdateLogMapper.java

@@ -0,0 +1,18 @@
+package com.ozs.service.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.service.entity.CameraUpdateLog;
+import com.ozs.service.entity.vo.CameraUpdateLogResp;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/24
+ */
+@Mapper
+public interface CameraUpdateLogMapper extends BaseMapper<CameraUpdateLog> {
+    List<CameraUpdateLog> selectDetail(CameraUpdateLogResp cameraUpdateLogResp);
+}

+ 20 - 0
business-service/src/main/java/com/ozs/service/service/CameraUpdateLogService.java

@@ -0,0 +1,20 @@
+package com.ozs.service.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.service.entity.CameraUpdateLog;
+import com.ozs.service.entity.vo.CameraUpdateLogResp;
+
+import java.util.List;
+
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/24
+ */
+public interface CameraUpdateLogService extends IService<CameraUpdateLog> {
+    List<CameraUpdateLog> selectDetail(CameraUpdateLogResp cameraUpdateLogResp);
+
+    IPage listToPage(List list, int pageNum, int pageSize);
+}

+ 45 - 0
business-service/src/main/java/com/ozs/service/service/impl/CameraUpdateLogServiceImpl.java

@@ -0,0 +1,45 @@
+package com.ozs.service.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.service.entity.CameraUpdateLog;
+import com.ozs.service.entity.vo.CameraUpdateLogResp;
+import com.ozs.service.mapper.CameraUpdateLogMapper;
+import com.ozs.service.service.CameraUpdateLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/24
+ */
+@Service
+public class CameraUpdateLogServiceImpl extends ServiceImpl<CameraUpdateLogMapper, CameraUpdateLog> implements CameraUpdateLogService {
+
+    @Autowired
+    private CameraUpdateLogMapper cameraUpdateLogMapper;
+
+    @Override
+    public List<CameraUpdateLog> selectDetail(CameraUpdateLogResp cameraUpdateLogResp) {
+        List<CameraUpdateLog> list = cameraUpdateLogMapper.selectDetail(cameraUpdateLogResp);
+        return list;
+    }
+
+    @Override
+    public IPage listToPage(List list, int pageNum, int pageSize) {
+        List pageList = new ArrayList<>();
+        int curIdx = pageNum > 1 ? (pageNum - 1) * pageSize : 0;
+        for (int i = 0; i < pageSize && curIdx + i < list.size(); i++) {
+            pageList.add(list.get(curIdx + i));
+        }
+        IPage page = new Page<>(pageNum, pageSize);
+        page.setRecords(pageList);
+        page.setTotal(list.size());
+        return page;
+    }
+}

+ 46 - 0
business-service/src/main/resources/mapper/service/CameraUpdateLogMapper.xml

@@ -0,0 +1,46 @@
+<?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.ozs.service.mapper.CameraUpdateLogMapper">
+    <resultMap id="CameraDetailResult" type="com.ozs.service.entity.vo.AlarmStatisticDto">
+        <id column="id" property="id"/>
+        <result column="camera_code" property="cameraCode"/>
+        <result column="version_num" property="versionNum"/>
+        <result column="version_name" property="versionName"/>
+        <result column="upgrade_type" property="upgradeType"/>
+        <result column="status" property="status"/>
+        <result column="create_by" property="createBy"/>
+        <result column="create_time" property="createTime"/>
+        <result column="currentVersionNum" property="currentVersionNum"/>
+        <result column="lastVersionNum" property="lastVersionNum"/>
+    </resultMap>
+    <select id="selectDetail" resultMap="CameraDetailResult"
+            parameterType="com.ozs.service.entity.vo.CameraUpdateLogResp">
+        select
+        a.camera_code,
+        a.version_num,
+        a.version_name,
+        a.upgrade_type,
+        a.status,
+        a.create_by,
+        a.create_time,
+        b.version_num as currentVersionNum,
+        b.last_version_num as lastVersionNum
+        from camera_update_log as a inner join
+        base_camera_management as b on a.camera_code=b.camera_code
+
+        <where>
+            <if test="cameraCode != null and cameraCode != ''">
+                and UPPER(a.camera_code) like UPPER(CONCAT('%',#{cameraCode},'%'))
+            </if>
+            <if test="currentYear != null and currentYear != 0">
+                and YEAR(a.create_time) like UPPER(CONCAT('%',#{currentYear},'%'))
+            </if>
+            <if test="currentYear == null or currentYear == ''">
+                and YEAR(a.create_time) = YEAR(SYSDATE())
+            </if>
+            <if test="status != null and status != ''">
+                and UPPER(a.status) like UPPER(CONCAT('%',#{status},'%'))
+            </if>
+        </where>
+    </select>
+</mapper>

+ 78 - 0
hazard-admin/src/main/java/com/ozs/web/controller/monitor/CameraUpdateLogController.java

@@ -0,0 +1,78 @@
+package com.ozs.web.controller.monitor;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ozs.common.annotation.Log;
+import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
+import com.ozs.common.utils.poi.ExcelUtil;
+import com.ozs.service.entity.CameraUpdateLog;
+import com.ozs.service.entity.vo.CameraUpdateLogResp;
+import com.ozs.service.service.CameraUpdateLogService;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/24
+ */
+@RestController
+@RequestMapping("/monitor/updateLog")
+public class CameraUpdateLogController extends BaseController {
+    private static final Logger log = LoggerFactory.getLogger(CameraUpdateLogController.class);
+    @Autowired
+    private CameraUpdateLogService cameraUpdateLogService;
+
+    /**
+     * 获取相机升级日志分页列表
+     *
+     * @param cameraUpdateLogResp
+     * @return
+     */
+    @ApiOperation(value = "获取相机升级日志分页列表")
+    @PostMapping("/list")
+    public AjaxResult list(@RequestBody CameraUpdateLogResp cameraUpdateLogResp) throws ParseException {
+        LambdaQueryWrapper<CameraUpdateLog> wrapper = new LambdaQueryWrapper<CameraUpdateLog>();
+        if (!ObjectUtils.isEmpty(cameraUpdateLogResp.getVersionNum())) {
+            wrapper.like(CameraUpdateLog::getVersionNum, cameraUpdateLogResp.getVersionNum());
+        }
+        if (!ObjectUtils.isEmpty(cameraUpdateLogResp.getUpgradeType())) {
+            wrapper.like(CameraUpdateLog::getUpgradeType, cameraUpdateLogResp.getUpgradeType());
+        }
+        wrapper.orderByDesc(CameraUpdateLog::getCreateTime);
+        IPage<CameraUpdateLog> page = cameraUpdateLogService.page(new Page<>(cameraUpdateLogResp.getPageNum(), cameraUpdateLogResp.getPageSize()), wrapper);
+        return AjaxResult.success(page);
+    }
+
+    @ApiOperation(value = "获取相机升级日志详细")
+    @PostMapping("/detail")
+    public AjaxResult detail(@RequestBody CameraUpdateLogResp cameraUpdateLogResp) {
+        Integer pageNum = cameraUpdateLogResp.getPageNum().intValue();
+        Integer pageSize = cameraUpdateLogResp.getPageSize().intValue();
+        List<CameraUpdateLog> list = cameraUpdateLogService.selectDetail(cameraUpdateLogResp);
+        IPage<CameraUpdateLog> page = cameraUpdateLogService.listToPage(list, pageNum, pageSize);
+        return AjaxResult.success(page);
+    }
+
+    @Log(title = "相机升级日志", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, @RequestBody CameraUpdateLogResp cameraUpdateLogResp) {
+        List<CameraUpdateLog> list = cameraUpdateLogService.selectDetail(cameraUpdateLogResp);
+        ExcelUtil<CameraUpdateLog> util = new ExcelUtil<CameraUpdateLog>(CameraUpdateLog.class);
+        util.exportExcel(response, list, "相机升级日志");
+    }
+}