瀏覽代碼

'设备管理-设备列表接口\数据中心-门禁人员相接口\数据中心-机房系统、环境系统、照明系统心跳列表查询'

james 2 年之前
父節點
當前提交
dd909fa5c5
共有 21 個文件被更改,包括 1077 次插入2 次删除
  1. 2 2
      service-park/service-park-biz/src/main/java/com/usky/park/MybatisGenerator.java
  2. 21 0
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataRealTimeController.java
  3. 81 0
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DmpDeviceController.java
  4. 85 0
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EventEgController.java
  5. 66 0
      service-park/service-park-biz/src/main/java/com/usky/park/domain/DataRealTime.java
  6. 121 0
      service-park/service-park-biz/src/main/java/com/usky/park/domain/DmpDevice.java
  7. 86 0
      service-park/service-park-biz/src/main/java/com/usky/park/domain/EventEg.java
  8. 16 0
      service-park/service-park-biz/src/main/java/com/usky/park/mapper/DataRealTimeMapper.java
  9. 16 0
      service-park/service-park-biz/src/main/java/com/usky/park/mapper/DmpDeviceMapper.java
  10. 16 0
      service-park/service-park-biz/src/main/java/com/usky/park/mapper/EventEgMapper.java
  11. 16 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/DataRealTimeService.java
  12. 45 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/DmpDeviceService.java
  13. 49 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/EventEgService.java
  14. 20 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataRealTimeServiceImpl.java
  15. 199 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DmpDeviceServiceImpl.java
  16. 81 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EventEgServiceImpl.java
  17. 57 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/vo/DmpDeviceVO.java
  18. 34 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/vo/EventEgStatisticVO.java
  19. 17 0
      service-park/service-park-biz/src/main/resources/mapper/park/DataRealTimeMapper.xml
  20. 28 0
      service-park/service-park-biz/src/main/resources/mapper/park/DmpDeviceMapper.xml
  21. 21 0
      service-park/service-park-biz/src/main/resources/mapper/park/EventEgMapper.xml

+ 2 - 2
service-park/service-park-biz/src/main/java/com/usky/park/MybatisGenerator.java

@@ -70,7 +70,7 @@ public class MybatisGenerator {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude("sys_config");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("event_eg");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录
@@ -93,7 +93,7 @@ public class MybatisGenerator {
             @Override
             public String outputFile(TableInfo tableInfo) {
                 // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
-                return finalProjectPath + "/src/main/resources/mapper/demo" + "/"
+                return finalProjectPath + "/src/main/resources/mapper/park" + "/"
                         + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
             }
         });

+ 21 - 0
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataRealTimeController.java

@@ -0,0 +1,21 @@
+package com.usky.park.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 实时数据表 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@Controller
+@RequestMapping("/dataRealTime")
+public class DataRealTimeController {
+
+}
+

+ 81 - 0
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DmpDeviceController.java

@@ -0,0 +1,81 @@
+package com.usky.park.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.service.DmpDeviceService;
+import com.usky.park.service.vo.DmpDeviceVO;
+import org.bouncycastle.cert.ocsp.Req;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 设备信息表 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@RestController
+@RequestMapping("/dmpDevice")
+public class DmpDeviceController {
+    @Autowired
+    private DmpDeviceService deviceService;
+
+    /**
+     * 设备管理-设备列表查询
+     *
+     * @param deviceName 设备名称
+     * @param installAddress 设备安装位置
+     * @param deviceType 设备类型(501、监控系统  502、门禁系统  503、梯控系统  504、机房系统  509、环境系统  510、照明系统)
+     * @param deviceStatus  设备状态(0 离线 1 在线)
+     * @param doorStatus  门禁门状态(1 开门状态 2 关门状态)
+     * @param startDate 开始时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param endDate  结束时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param pageNum  当前页
+     * @param pageSize  每页条数
+     * @return
+     */
+    @GetMapping("dmpDeviceList")
+    public ApiResult<CommonPage<DmpDeviceVO>> dmpDeviceList(@RequestParam(value = "deviceName",required = false) String deviceName,
+                                                            @RequestParam(value = "installAddress",required = false) String installAddress,
+                                                            @RequestParam(value = "deviceType",required = false) String deviceType,
+                                                            @RequestParam(value = "deviceStatus",required = false) String deviceStatus,
+                                                            @RequestParam(value = "doorStatus",required = false) String doorStatus,
+                                                            @RequestParam(value = "startDate",required = false) String startDate,
+                                                            @RequestParam(value = "endDate",required = false) String endDate,
+                                                            @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
+                                                            @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize){
+        return ApiResult.success(deviceService.dmpDeviceList(deviceName,installAddress,deviceType,deviceStatus,doorStatus,startDate,endDate,pageNum,pageSize));
+    }
+
+    /**
+     * 数据中心-机房系统、环境系统、照明系统心跳列表查询接口
+     *
+     * @param deviceName 设备名称
+     * @param installAddress 设备安装位置
+     * @param deviceType 设备类型(501、监控系统  502、门禁系统  503、梯控系统  504、机房系统  509、环境系统  510、照明系统)
+     * @param switchStatus 照明开关状态(0 关闭 1 打开)
+     * @param pageNum  当前页
+     * @param pageSize  每页条数
+     * @return
+     */
+    @GetMapping("deviceCurrentDataList")
+    public ApiResult<CommonPage<Object>> deviceCurrentDataList(@RequestParam(value = "deviceName",required = false) String deviceName,
+                                                               @RequestParam(value = "installAddress",required = false) String installAddress,
+                                                               @RequestParam(value = "deviceType") Integer deviceType,
+                                                               @RequestParam(value = "switchStatus",required = false) Integer switchStatus,
+                                                               @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
+                                                               @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize){
+        return ApiResult.success(deviceService.deviceCurrentDataList(deviceName,installAddress,deviceType,switchStatus,pageNum,pageSize));
+    }
+
+
+}
+

+ 85 - 0
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EventEgController.java

@@ -0,0 +1,85 @@
+package com.usky.park.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.EventEg;
+import com.usky.park.service.EventEgService;
+import com.usky.park.service.vo.EventEgStatisticVO;
+import jdk.nashorn.internal.objects.annotations.Getter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 门禁历史通行记录表 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-31
+ */
+@RestController
+@RequestMapping("/eventEg")
+public class EventEgController {
+    @Autowired
+    private EventEgService eventEgService;
+
+    /**
+     * 数据中心-门禁人员进出实时信息列表查询
+     *
+     * @param deviceName 设备名称
+     * @param installAddress  设备安装位置
+     * @param cardNo 卡号
+     * @param orgName 所属组织
+     * @param eventType 事件类型
+     * @param pageNum 当前页
+     * @param pageSize 每页条数
+     * @return
+     */
+    @GetMapping("eventEgList")
+    public ApiResult<CommonPage<EventEg>> eventEgList(@RequestParam(value = "deviceName",required = false) String deviceName,
+                                                      @RequestParam(value = "installAddress",required = false) String installAddress,
+                                                      @RequestParam(value = "cardNo",required = false) String cardNo,
+                                                      @RequestParam(value = "orgName",required = false) String orgName,
+                                                      @RequestParam(value = "eventType",required = false) Integer eventType,
+                                                      @RequestParam(value = "pageNum",required = false,defaultValue = "1") Integer pageNum,
+                                                      @RequestParam(value = "pageSize",required = false,defaultValue = "10") Integer pageSize){
+        return ApiResult.success(eventEgService.eventEgList(deviceName,installAddress,cardNo,orgName,eventType,pageNum,pageSize));
+    }
+
+    /**
+     * 数据中心-单个门禁人员进出通行历史记录列表查询
+     *
+     * @param deviceId 设备Id
+     * @param pageNum 当前页
+     * @param pageSize 每页条数
+     * @return
+     */
+    @GetMapping("eventEgOne")
+    ApiResult<CommonPage<EventEg>> eventEgOne(@RequestParam(value = "deviceId") String deviceId,
+                                              @RequestParam(value = "pageNum",required = false,defaultValue = "1") Integer pageNum,
+                                              @RequestParam(value = "pageSize",required = false,defaultValue = "10") Integer pageSize){
+        return ApiResult.success(eventEgService.eventEgOne(deviceId,pageNum,pageSize));
+    }
+
+    /**
+     * 数据中心-统计门禁今日进出人次查询
+     * @param deviceId 设备Id
+     * @param startDate 开始时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param endDate  结束时间  格式 yyyy-MM-dd HH:mm:ss
+     * @return
+     */
+    @GetMapping("eventEgStatistic")
+    ApiResult<List<EventEgStatisticVO>> eventEgStatistic(@RequestParam(value = "deviceId",required = false) String deviceId,
+                                                         @RequestParam(value = "startDate") String startDate,
+                                                         @RequestParam(value = "endDate") String endDate){
+        return ApiResult.success(eventEgService.eventEgStatistic(deviceId,startDate,endDate));
+    }
+
+}
+

+ 66 - 0
service-park/service-park-biz/src/main/java/com/usky/park/domain/DataRealTime.java

@@ -0,0 +1,66 @@
+package com.usky.park.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 实时数据表
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DataRealTime implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
+    /**
+     * 属性名称
+     */
+    private String attributeName;
+
+    /**
+     * 属性值
+     */
+    private String attributeData;
+
+    /**
+     * 数据时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 插入时间
+     */
+    private LocalDateTime insertTime;
+
+
+}

+ 121 - 0
service-park/service-park-biz/src/main/java/com/usky/park/domain/DmpDevice.java

@@ -0,0 +1,121 @@
+package com.usky.park.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 设备信息表
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DmpDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID;设备注册时系统自动生成一个唯一编号
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 设备类型(501、监控系统  502、门禁系统  503、梯控系统  504、机房系统  509、环境系统  510、照明系统)
+     */
+    private Integer deviceType;
+
+    /**
+     * 产品ID
+     */
+    private Integer productId;
+
+    /**
+     * 物联网卡号
+     */
+    private String simCode;
+
+    /**
+     * 国际移动用户识别码
+     */
+    private String imsiCode;
+
+    /**
+     * 自动订阅标识(0:否,1:是)
+     */
+    private Integer subscribeFlag;
+
+    /**
+     * 节点类型
+     */
+    private Integer nodeType;
+
+    /**
+     * 分组id
+     */
+    private Integer groupId;
+
+    /**
+     * 删除标识
+     */
+    private Integer deleteFlag;
+
+    /**
+     * 创建人
+     */
+    private String createdBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+    /**
+     * 更新人
+     */
+    private String updatedBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updatedTime;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+    /**
+     * 单位编号
+     */
+    private String companyCode;
+
+    /**
+     * 安装位置
+     */
+    private String installAddress;
+
+
+}

+ 86 - 0
service-park/service-park-biz/src/main/java/com/usky/park/domain/EventEg.java

@@ -0,0 +1,86 @@
+package com.usky.park.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 门禁历史通行记录表
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EventEg implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 安装位置
+     */
+    private String installAddress;
+
+    /**
+     * 通行人员名称
+     */
+    private String personName;
+
+    /**
+     * 卡号
+     */
+    private String cardNo;
+
+    /**
+     * 所属组织
+     */
+    private String orgName;
+
+    /**
+     * 事件类型
+     */
+    private Integer eventType;
+
+    /**
+     * 进出类型(1:进 0:出 -1:未知)
+     */
+    private Integer inOutType;
+
+    /**
+     * 事件产生时间
+     */
+    private LocalDateTime eventTime;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+
+}

+ 16 - 0
service-park/service-park-biz/src/main/java/com/usky/park/mapper/DataRealTimeMapper.java

@@ -0,0 +1,16 @@
+package com.usky.park.mapper;
+
+import com.usky.park.domain.DataRealTime;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 实时数据表 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+public interface DataRealTimeMapper extends CrudMapper<DataRealTime> {
+
+}

+ 16 - 0
service-park/service-park-biz/src/main/java/com/usky/park/mapper/DmpDeviceMapper.java

@@ -0,0 +1,16 @@
+package com.usky.park.mapper;
+
+import com.usky.park.domain.DmpDevice;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 设备信息表 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+public interface DmpDeviceMapper extends CrudMapper<DmpDevice> {
+
+}

+ 16 - 0
service-park/service-park-biz/src/main/java/com/usky/park/mapper/EventEgMapper.java

@@ -0,0 +1,16 @@
+package com.usky.park.mapper;
+
+import com.usky.park.domain.EventEg;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 门禁历史通行记录表 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-31
+ */
+public interface EventEgMapper extends CrudMapper<EventEg> {
+
+}

+ 16 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/DataRealTimeService.java

@@ -0,0 +1,16 @@
+package com.usky.park.service;
+
+import com.usky.park.domain.DataRealTime;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 实时数据表 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+public interface DataRealTimeService extends CrudService<DataRealTime> {
+
+}

+ 45 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/DmpDeviceService.java

@@ -0,0 +1,45 @@
+package com.usky.park.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.DmpDevice;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.park.service.vo.DmpDeviceVO;
+
+/**
+ * <p>
+ * 设备信息表 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+public interface DmpDeviceService extends CrudService<DmpDevice> {
+    /**
+     * 设备管理-设备列表查询
+     *
+     * @param deviceName 设备名称
+     * @param installAddress 设备安装位置
+     * @param deviceType 设备类型(501、监控系统  502、门禁系统  503、梯控系统  504、机房系统  509、环境系统  510、照明系统)
+     * @param deviceStatus  设备状态(0 离线 1 在线)
+     * @param doorStatus  门禁门状态(0 初始状态 1 开门状态 2 关门状态 3 离线状态)
+     * @param startDate 开始时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param endDate  结束时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param pageNum  当前页
+     * @param pageSize  每页条数
+     * @return
+     */
+    CommonPage<DmpDeviceVO> dmpDeviceList(String deviceName,String installAddress,String deviceType,String deviceStatus,String doorStatus,String startDate,String endDate,Integer pageNum,Integer pageSize);
+
+    /**
+     * 数据中心-机房系统、环境系统、照明系统心跳列表查询接口
+     *
+     * @param deviceName 设备名称
+     * @param installAddress 设备安装位置
+     * @param deviceType 设备类型(501、监控系统  502、门禁系统  503、梯控系统  504、机房系统  509、环境系统  510、照明系统)
+     * @param switchStatus 照明开关状态(0 关闭 1 打开)
+     * @param pageNum  当前页
+     * @param pageSize  每页条数
+     * @return
+     */
+    CommonPage<Object> deviceCurrentDataList(String deviceName,String installAddress,Integer deviceType,Integer switchStatus,Integer pageNum,Integer pageSize);
+}

+ 49 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/EventEgService.java

@@ -0,0 +1,49 @@
+package com.usky.park.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.EventEg;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.park.service.vo.EventEgStatisticVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 门禁历史通行记录表 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-31
+ */
+public interface EventEgService extends CrudService<EventEg> {
+
+    /**
+     * 数据中心-门禁人员进出实时信息列表展示
+     *
+     * @param deviceName 设备名称
+     * @param installAddress  设备安装位置
+     * @param cardNo 卡号
+     * @param orgName 所属组织
+     * @param eventType 事件类型
+     * @param pageNum 当前页
+     * @param pageSize 每页条数
+     * @return
+     */
+    CommonPage<EventEg> eventEgList(String deviceName,String installAddress,String cardNo,String orgName,Integer eventType,Integer pageNum,Integer pageSize);
+
+    /**
+     * 数据中心-单个门禁人员进出通行历史记录列表查询
+     *
+     * @param deviceId 设备Id
+     * @param pageNum 当前页
+     * @param pageSize 每页条数
+     * @return
+     */
+    CommonPage<EventEg> eventEgOne(String deviceId,Integer pageNum,Integer pageSize);
+
+
+    List<EventEgStatisticVO> eventEgStatistic(String deviceId,String startDate,String endDate);
+
+    Integer numStatistic(String deviceId,String startDate,String endDate,Integer iType);
+
+}

+ 20 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataRealTimeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.park.service.impl;
+
+import com.usky.park.domain.DataRealTime;
+import com.usky.park.mapper.DataRealTimeMapper;
+import com.usky.park.service.DataRealTimeService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 实时数据表 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@Service
+public class DataRealTimeServiceImpl extends AbstractCrudService<DataRealTimeMapper, DataRealTime> implements DataRealTimeService {
+
+}

+ 199 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DmpDeviceServiceImpl.java

@@ -0,0 +1,199 @@
+package com.usky.park.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.DmpDevice;
+import com.usky.park.domain.DataRealTime;
+import com.usky.park.mapper.DmpDeviceMapper;
+import com.usky.park.service.DataRealTimeService;
+import com.usky.park.service.DmpDeviceService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.park.service.vo.DmpDeviceVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 设备信息表 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@Service
+public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, DmpDevice> implements DmpDeviceService {
+    @Autowired
+    private DataRealTimeService dataRealTimeService;
+
+    @Override
+    public CommonPage<DmpDeviceVO> dmpDeviceList(String deviceName,String installAddress,String deviceType,String deviceStatus,String doorStatus,String startDate,String endDate,Integer pageNum,Integer pageSize){
+
+        LambdaQueryWrapper<DmpDevice> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(DmpDevice::getDeviceId,DmpDevice::getDeviceName,DmpDevice::getDeviceType,DmpDevice::getInstallAddress,DmpDevice::getCreatedTime)
+                .eq(DmpDevice::getDeviceType,deviceType)
+                .like(StringUtils.isNotBlank(deviceName),DmpDevice::getDeviceName,deviceName)
+                .like(StringUtils.isNotBlank(installAddress),DmpDevice::getInstallAddress,installAddress)
+                .between(StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate),DmpDevice::getCreatedTime,startDate,endDate)
+                .orderByDesc(DmpDevice::getId);
+        List<DmpDevice> pagelist = this.list(queryWrapper);
+        List<DmpDeviceVO> list = new ArrayList<>();
+        if(pagelist.size()>0){
+            List<String> deviceIdList = new ArrayList<>();
+            for(int i=0;i<pagelist.size();i++){
+                deviceIdList.add(pagelist.get(i).getDeviceId());
+            }
+
+            List<DataRealTime> list1 = new ArrayList<>();
+            LambdaQueryWrapper<DataRealTime> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.select(DataRealTime::getDeviceId,DataRealTime::getAttributeName,DataRealTime::getAttributeData)
+                    .eq(DataRealTime::getAttributeName,"device_status")
+                    .in(DataRealTime::getDeviceId,deviceIdList);
+            list1 = dataRealTimeService.list(queryWrapper1);
+
+
+
+            List<DataRealTime> list2 = new ArrayList<>();
+            LambdaQueryWrapper<DataRealTime> queryWrapper2 = Wrappers.lambdaQuery();
+            queryWrapper2.select(DataRealTime::getDeviceId,DataRealTime::getAttributeName,DataRealTime::getAttributeData)
+                    .eq(DataRealTime::getAttributeName,"door_status")
+                    .in(DataRealTime::getDeviceId,deviceIdList);
+            list2 = dataRealTimeService.list(queryWrapper2);
+
+
+            List<DmpDeviceVO> list3 = new ArrayList<>();
+            for(int i=0;i<pagelist.size();i++){
+
+                DmpDeviceVO dmpDeviceVO = new DmpDeviceVO();
+                dmpDeviceVO.setDeviceId(pagelist.get(i).getDeviceId());
+                dmpDeviceVO.setDeviceName(pagelist.get(i).getDeviceName());
+                dmpDeviceVO.setInstallAddress(pagelist.get(i).getInstallAddress());
+                dmpDeviceVO.setCreatedTime((pagelist.get(i).getCreatedTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+
+
+                if(list1.size()>0){
+                    for(int j=0;j<list1.size();j++){
+                        if(pagelist.get(i).getDeviceId().equals(list1.get(j).getDeviceId())){
+                            dmpDeviceVO.setDeviceStatus(list1.get(j).getAttributeData());
+                        }
+                    }
+                }
+
+                if(list2.size()>0){
+                    for(int j=0;j<list2.size();j++){
+                        if(pagelist.get(i).getDeviceId().equals(list2.get(j).getDeviceId())){
+                            dmpDeviceVO.setDoorStatus(list2.get(j).getAttributeData());
+                        }
+                    }
+                }
+                list3.add(dmpDeviceVO);
+            }
+
+            if(deviceStatus.length()>0){
+                list = list3.stream().filter(e -> deviceStatus.equals(e.getDeviceStatus())).collect(Collectors.toList());
+            }
+
+            if(doorStatus.length()>0){
+                list = list3.stream().filter(e -> doorStatus.equals(e.getDoorStatus())).collect(Collectors.toList());
+            }
+
+            if((deviceStatus.length()==0 )&&(doorStatus.length()==0)){
+                list = list3;
+            }
+
+        }
+        int total=0;
+        if(list.size()>0){
+            total = list.size();
+        }
+        int current = 0;
+        if (pageNum != null && pageSize > 0) {
+            current = (pageNum - 1) * pageSize;
+        }
+        List<DmpDeviceVO> list4 = list.stream().skip(current).limit(pageSize).collect(Collectors.toList());
+
+        return new CommonPage<>(list4,total,pageNum,pageSize);
+
+    }
+
+    @Override
+    public CommonPage<Object> deviceCurrentDataList(String deviceName,String installAddress,Integer deviceType,Integer switchStatus,Integer pageNum,Integer pageSize){
+        List<Object> list = new ArrayList<>();
+
+        List<DmpDevice> devList = new ArrayList<>();
+        LambdaQueryWrapper<DmpDevice> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(DmpDevice::getDeviceId,DmpDevice::getDeviceName,DmpDevice::getInstallAddress)
+                .like(StringUtils.isNotBlank(deviceName),DmpDevice::getDeviceName,deviceName)
+                .like(StringUtils.isNotBlank(installAddress),DmpDevice::getInstallAddress,installAddress)
+                .eq(DmpDevice::getDeviceType,deviceType);
+        devList = this.list(queryWrapper);
+        if(devList.size()>0){
+            for(int i=0;i<devList.size();i++){
+                Map<String,Object> map = new HashMap<>();
+                map.put("deviceId",devList.get(i).getDeviceId());
+                map.put("deviceName",devList.get(i).getDeviceName());
+                map.put("installAddress",devList.get(i).getInstallAddress());
+                map.put("latestTime", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+
+                List<DataRealTime> dataRealList = new ArrayList<>();
+                LambdaQueryWrapper<DataRealTime> queryWrapper1 = Wrappers.lambdaQuery();
+                queryWrapper1.select(DataRealTime::getAttributeName,DataRealTime::getAttributeData,DataRealTime::getDataTime)
+                        .eq(DataRealTime::getDeviceId,devList.get(i).getDeviceId());
+                dataRealList = dataRealTimeService.list(queryWrapper1);
+                if(dataRealList.size()>0){
+                    Boolean found = true;
+                    for(int j=0;j<dataRealList.size();j++){
+                        map.put(dataRealList.get(j).getAttributeName(),dataRealList.get(j).getAttributeData());
+                        map.put(dataRealList.get(j).getAttributeName()+"Time",dataRealList.get(j).getDataTime());
+                        if((deviceType == 510) && (switchStatus != null)){
+                            if((("switch_status").equals(dataRealList.get(j).getAttributeName())) && (switchStatus != Integer.valueOf(dataRealList.get(j).getAttributeData()))){
+                                found = false;
+                            }
+                        }
+
+                    }
+
+                    if(deviceType == 510){
+                        if(found){
+                            list.add(map);
+                        }
+                    }else{
+                        list.add(map);
+                    }
+                }
+
+
+            }
+
+        }
+
+        List<Object> objectList = new ArrayList<>();
+        int total = 0;
+        if(list.size() > 0){
+            total = list.size();
+        }
+        int current = 0;
+        if(pageNum != 0 && pageSize > 0){
+            current = (pageNum - 1)*pageSize;
+        }
+
+        objectList = list.stream().skip(current).limit(pageSize).collect(Collectors.toList());
+
+
+        return new CommonPage<>(objectList,total,pageNum,pageSize);
+    }
+
+}

+ 81 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EventEgServiceImpl.java

@@ -0,0 +1,81 @@
+package com.usky.park.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.EventEg;
+import com.usky.park.mapper.EventEgMapper;
+import com.usky.park.service.EventEgService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.park.service.vo.EventEgStatisticVO;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 门禁历史通行记录表 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-31
+ */
+@Service
+public class EventEgServiceImpl extends AbstractCrudService<EventEgMapper, EventEg> implements EventEgService {
+
+    @Override
+    public CommonPage<EventEg> eventEgList(String deviceName,String installAddress,String cardNo,String orgName,Integer eventType,Integer pageNum,Integer pageSize){
+        IPage<EventEg> page = new Page<>(pageNum,pageSize);
+        List<EventEg> list = new ArrayList<>();
+        LambdaQueryWrapper<EventEg> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.like(StringUtils.isNotBlank(deviceName),EventEg::getDeviceName,deviceName)
+                    .like(StringUtils.isNotBlank(installAddress),EventEg::getInstallAddress,installAddress)
+                    .like(StringUtils.isNotBlank(cardNo),EventEg::getCardNo,cardNo)
+                    .like(StringUtils.isNotBlank(orgName),EventEg::getOrgName,orgName)
+                    .eq(eventType  != null,EventEg::getEventType,eventType)
+                    .orderByDesc(EventEg::getId);
+        page = this.page(page,queryWrapper);
+        list = page.getRecords();
+
+        return new CommonPage<>(list,page.getTotal(),pageNum,pageSize);
+
+    }
+
+    @Override
+    public CommonPage<EventEg> eventEgOne(String deviceId,Integer pageNum,Integer pageSize){
+        IPage<EventEg> page = new Page<>(pageNum,pageSize);
+        LambdaQueryWrapper<EventEg> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(EventEg::getDeviceId,deviceId)
+                .orderByDesc(EventEg::getId);
+        page = this.page(page,queryWrapper);
+
+        return new CommonPage<>(page.getRecords(),page.getTotal(),pageNum,pageSize);
+    }
+
+    @Override
+    public List<EventEgStatisticVO> eventEgStatistic(String deviceId,String startDate,String endDate){
+        List<EventEgStatisticVO> list = new ArrayList<>();
+        EventEgStatisticVO eventEgStatisticVO = new EventEgStatisticVO();
+        eventEgStatisticVO.setEnterNum(numStatistic(deviceId,startDate,endDate,1));
+        eventEgStatisticVO.setOutNum(numStatistic(deviceId,startDate,endDate,0));
+        list.add(eventEgStatisticVO);
+
+        return list;
+    }
+
+    public Integer numStatistic(String deviceId,String startDate,String endDate,Integer iType){
+        Integer num = 0;
+        LambdaQueryWrapper<EventEg> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(StringUtils.isNotBlank(deviceId),EventEg::getDeviceId,deviceId)
+                .between(EventEg::getEventTime,startDate,endDate)
+                .eq(EventEg::getInOutType,iType);
+        num = this.count(queryWrapper);
+
+        return num;
+    }
+
+}

+ 57 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/vo/DmpDeviceVO.java

@@ -0,0 +1,57 @@
+package com.usky.park.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class DmpDeviceVO  implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 设备ID;设备注册时系统自动生成一个唯一编号
+     */
+    private String deviceId;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 安装位置
+     */
+    private String installAddress;
+
+    /**
+     * 创建时间
+     */
+    private String createdTime;
+
+    /**
+     * 设备状态(0 离线 1 在线)
+     */
+    private String deviceStatus;
+
+    /**
+     * 门禁门状态(0 初始状态 1 开门状态 2 关门状态 3 离线状态)
+     */
+    private String doorStatus;
+
+}

+ 34 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/vo/EventEgStatisticVO.java

@@ -0,0 +1,34 @@
+package com.usky.park.service.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-03-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class EventEgStatisticVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 今日入人次
+     */
+    private Integer enterNum;
+
+    /**
+     * 今日出人次
+     */
+    private Integer outNum;
+}

+ 17 - 0
service-park/service-park-biz/src/main/resources/mapper/park/DataRealTimeMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.park.mapper.DataRealTimeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.park.domain.DataRealTime">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="attribute_name" property="attributeName" />
+        <result column="attribute_data" property="attributeData" />
+        <result column="data_time" property="dataTime" />
+        <result column="insert_time" property="insertTime" />
+    </resultMap>
+
+</mapper>

+ 28 - 0
service-park/service-park-biz/src/main/resources/mapper/park/DmpDeviceMapper.xml

@@ -0,0 +1,28 @@
+<?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.usky.park.mapper.DmpDeviceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.park.domain.DmpDevice">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_name" property="deviceName" />
+        <result column="device_type" property="deviceType" />
+        <result column="product_id" property="productId" />
+        <result column="sim_code" property="simCode" />
+        <result column="imsi_code" property="imsiCode" />
+        <result column="subscribe_flag" property="subscribeFlag" />
+        <result column="node_type" property="nodeType" />
+        <result column="group_id" property="groupId" />
+        <result column="delete_flag" property="deleteFlag" />
+        <result column="created_by" property="createdBy" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_by" property="updatedBy" />
+        <result column="updated_time" property="updatedTime" />
+        <result column="tenant_id" property="tenantId" />
+        <result column="company_code" property="companyCode" />
+        <result column="install_address" property="installAddress" />
+    </resultMap>
+
+</mapper>

+ 21 - 0
service-park/service-park-biz/src/main/resources/mapper/park/EventEgMapper.xml

@@ -0,0 +1,21 @@
+<?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.usky.park.mapper.EventEgMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.park.domain.EventEg">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_name" property="deviceName" />
+        <result column="install_address" property="installAddress" />
+        <result column="person_name" property="personName" />
+        <result column="card_no" property="cardNo" />
+        <result column="org_name" property="orgName" />
+        <result column="event_type" property="eventType" />
+        <result column="in_out_type" property="inOutType" />
+        <result column="event_time" property="eventTime" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>