Răsfoiți Sursa

检查日志代码提交

jingyuanchao 1 an în urmă
părinte
comite
86bfe5f16f
18 a modificat fișierele cu 507 adăugiri și 0 ștergeri
  1. 4 0
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/util/LogUtils.java
  2. 73 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/iot/domain/IotDailyCheckData.java
  3. 18 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/iot/vo/DailyCheckItem.java
  4. 36 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/iot/vo/DailyCheckReq.java
  5. 44 0
      soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/controller/IotDailyCheckDataController.java
  6. 21 0
      soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/dao/IotDailyCheckDataMapper.java
  7. 18 0
      soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/dto/dailycheck/DailyCheckDataPageDto.java
  8. 22 0
      soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/IotDailyCheckDataService.java
  9. 61 0
      soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/impl/IotDailyCheckDataServiceImpl.java
  10. 20 0
      soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/vo/DailyCheckDataPageVo.java
  11. 18 0
      soc-modules/soc-modules-deploy/src/main/resources/mapper/IotDailyCheckDataMapper.xml
  12. 16 0
      soc-modules/soc-modules-host/src/main/java/com/xunmei/host/dayilcheck/mapper/IotDailyCheckDataMapper.java
  13. 19 0
      soc-modules/soc-modules-host/src/main/java/com/xunmei/host/dayilcheck/service/IotDailyCheckDataService.java
  14. 102 0
      soc-modules/soc-modules-host/src/main/java/com/xunmei/host/dayilcheck/service/impl/IotDailyCheckDataServiceImpl.java
  15. 4 0
      soc-modules/soc-modules-host/src/main/java/com/xunmei/host/websocket/constant/WebSocketConstants.java
  16. 5 0
      soc-modules/soc-modules-host/src/main/java/com/xunmei/host/websocket/handler/SocWebSocketHandler.java
  17. 21 0
      soc-modules/soc-modules-host/src/main/resources/logback.xml
  18. 5 0
      soc-modules/soc-modules-host/src/main/resources/mapper/IotDailyCheckDataMapper.xml

+ 4 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/util/LogUtils.java

@@ -153,4 +153,8 @@ public class LogUtils {
      * websocket 子系统布撤防状态上报日志
      */
     public  static  final Logger SOCKET_SUBSYSTEM_STATUS_DATA=LoggerFactory.getLogger("socketSubSystemStatusData");
+    /**
+     * 网点客户端自检结果上报事件日志
+     */
+    public  static  final Logger SOCKET_DAILY_HEALTH=LoggerFactory.getLogger("dailyHealth");
 }

+ 73 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/iot/domain/IotDailyCheckData.java

@@ -0,0 +1,73 @@
+package com.xunmei.common.core.domain.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 网点日常自检日志表
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("iot_daily_check_data")
+@ApiModel(value = "IotDailyCheckData对象", description = "网点日常自检日志表")
+public class IotDailyCheckData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "id")
+    @TableId("id")
+    private Long id;
+
+    @ApiModelProperty(value = "机构id")
+    @TableField("org_id")
+    private Long orgId;
+
+    @ApiModelProperty(value = "机构名称")
+    @TableField("org_name")
+    private String orgName;
+
+    @ApiModelProperty(value = "机构path")
+    @TableField("org_path")
+    private String orgPath;
+
+    @ApiModelProperty(value = "主机token")
+    @TableField("iot_code")
+    private String iotCode;
+
+    @ApiModelProperty(value = "文件名称")
+    @TableField("file_name")
+    private String fileName;
+
+    @ApiModelProperty(value = "执行人")
+    @TableField("user_name")
+    private String userName;
+
+    @ApiModelProperty(value = "自检时间")
+    @TableField("record_date")
+    private LocalDateTime recordDate;
+
+    @ApiModelProperty(value = "自检结果,json形式")
+    @TableField("data")
+    private String data;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+}

+ 18 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/iot/vo/DailyCheckItem.java

@@ -0,0 +1,18 @@
+package com.xunmei.common.core.domain.iot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class DailyCheckItem {
+
+    @ApiModelProperty(value = "检查结果")
+    private String result;
+    @ApiModelProperty(value = "异常数")
+    private String exceptionCount;
+    @ApiModelProperty(value = "总数")
+    private String totalCount;
+    @ApiModelProperty(value = "处置意见")
+    private String resolution;
+
+}

+ 36 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/iot/vo/DailyCheckReq.java

@@ -0,0 +1,36 @@
+package com.xunmei.common.core.domain.iot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class DailyCheckReq {
+
+
+    @ApiModelProperty("电器火灾")
+    private DailyCheckItem fsuElectric;
+
+    @ApiModelProperty("昨日录像丢失")
+    private DailyCheckItem videoRecordComplete;
+
+    @ApiModelProperty("消防预警")
+    private DailyCheckItem fsuFireFight;
+
+    @ApiModelProperty("硬盘状态")
+    private DailyCheckItem disk;
+
+    @ApiModelProperty("视频质量")
+    private DailyCheckItem diagnose;
+
+    @ApiModelProperty("技防环境")
+    private DailyCheckItem fsuOther;
+
+    @ApiModelProperty("网络状态")
+    private DailyCheckItem net;
+
+    @ApiModelProperty("记录日期")
+    private String recordDate;
+
+    @ApiModelProperty("用户名")
+    private String userName;
+}

+ 44 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/controller/IotDailyCheckDataController.java

@@ -0,0 +1,44 @@
+package com.xunmei.deploy.controller;
+
+
+import cn.hutool.http.server.HttpServerResponse;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.deploy.dto.dailycheck.DailyCheckDataPageDto;
+import com.xunmei.deploy.service.IotDailyCheckDataService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 网点日常自检日志表 前端控制器
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+@RestController
+@RequestMapping("/dailyCheckData")
+public class IotDailyCheckDataController {
+
+
+    @Resource
+    private IotDailyCheckDataService dailyCheckDataService;
+
+
+    @GetMapping("/page")
+    public TableDataInfo page(DailyCheckDataPageDto req){
+        return dailyCheckDataService.selectPage(req);
+    }
+
+    @GetMapping("/downLoad/{id}")
+    public void downLoad(@PathVariable String id,HttpServerResponse response){
+         dailyCheckDataService.downLoad(id,response);
+
+    }
+
+}
+

+ 21 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/dao/IotDailyCheckDataMapper.java

@@ -0,0 +1,21 @@
+package com.xunmei.deploy.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.domain.iot.domain.IotDailyCheckData;
+import com.xunmei.deploy.dto.dailycheck.DailyCheckDataPageDto;
+import com.xunmei.deploy.vo.DailyCheckDataPageVo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 网点日常自检日志表 Mapper 接口
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+public interface IotDailyCheckDataMapper extends BaseMapper<IotDailyCheckData> {
+
+    Page<DailyCheckDataPageVo> selectPageData(Page<DailyCheckDataPageVo> pageRequest, @Param("req") DailyCheckDataPageDto req);
+}

+ 18 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/dto/dailycheck/DailyCheckDataPageDto.java

@@ -0,0 +1,18 @@
+package com.xunmei.deploy.dto.dailycheck;
+
+import com.xunmei.common.core.web.domain.PageRequest;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class DailyCheckDataPageDto extends PageRequest {
+
+
+    private Date[] range;
+
+
+
+}

+ 22 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/IotDailyCheckDataService.java

@@ -0,0 +1,22 @@
+package com.xunmei.deploy.service;
+
+import cn.hutool.http.server.HttpServerResponse;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.common.core.domain.iot.domain.IotDailyCheckData;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.deploy.dto.dailycheck.DailyCheckDataPageDto;
+
+/**
+ * <p>
+ * 网点日常自检日志表 服务类
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+public interface IotDailyCheckDataService extends IService<IotDailyCheckData> {
+
+    TableDataInfo selectPage(DailyCheckDataPageDto req);
+
+    void downLoad(String id, HttpServerResponse response);
+}

+ 61 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/impl/IotDailyCheckDataServiceImpl.java

@@ -0,0 +1,61 @@
+package com.xunmei.deploy.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.server.HttpServerResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.iot.domain.IotDailyCheckData;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.deploy.dao.IotDailyCheckDataMapper;
+import com.xunmei.deploy.dto.dailycheck.DailyCheckDataPageDto;
+import com.xunmei.deploy.service.IotDailyCheckDataService;
+import com.xunmei.deploy.vo.DailyCheckDataPageVo;
+import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.domain.SysOrg;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+/**
+ * <p>
+ * 网点日常自检日志表 服务实现类
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+@Service
+public class IotDailyCheckDataServiceImpl extends ServiceImpl<IotDailyCheckDataMapper, IotDailyCheckData> implements IotDailyCheckDataService {
+
+    @Resource
+    private RemoteOrgService remoteOrgService;
+
+    @Override
+    public TableDataInfo selectPage(DailyCheckDataPageDto req) {
+        dealReqParam(req);
+
+        Page<DailyCheckDataPageVo> page = baseMapper.selectPageData(req.getPageRequest(), req);
+
+        return TableDataInfo.build(page);
+    }
+
+    private void dealReqParam(DailyCheckDataPageDto req) {
+        if (ObjectUtil.isNotEmpty(req)) {
+            Date startTime = DateUtil.beginOfDay(req.getRange()[0]);
+            Date endTime = DateUtil.endOfDay(req.getRange()[1]);
+            req.setRange(new Date[]{startTime, endTime});
+        }
+        if (req.getCheckSub()) {
+            SysOrg sysOrg = remoteOrgService.selectOrgById(req.getOrgId(), SecurityConstants.INNER);
+            req.setOrgPath(sysOrg.getPath());
+        }
+    }
+
+    @Override
+    public void downLoad(String id, HttpServerResponse response) {
+
+    }
+}

+ 20 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/vo/DailyCheckDataPageVo.java

@@ -0,0 +1,20 @@
+package com.xunmei.deploy.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class DailyCheckDataPageVo {
+
+    private Long id;
+
+    private String fileName;
+
+
+    private Date recordDate;
+
+
+    private String userName;
+
+}

+ 18 - 0
soc-modules/soc-modules-deploy/src/main/resources/mapper/IotDailyCheckDataMapper.xml

@@ -0,0 +1,18 @@
+<?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.xunmei.deploy.dao.IotDailyCheckDataMapper">
+    <select id="selectPageData" resultType="com.xunmei.deploy.vo.DailyCheckDataPageVo">
+        select id,file_name,record_date,user_name from iot_daily_check_data
+        <where>
+            <if test="req.checkSub==false">
+                and org_id =#{req.orgId}
+            </if>
+            <if test="req.checkSub==true">
+                and org_path like concat(#{req.orgPath},'%')
+            </if>
+            <if test="req.range != null and req.range.length=2">
+                and record_date between #{req.range[0]} and #{req.range[1]}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 16 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/dayilcheck/mapper/IotDailyCheckDataMapper.java

@@ -0,0 +1,16 @@
+package com.xunmei.host.dayilcheck.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.common.core.domain.iot.domain.IotDailyCheckData;
+
+/**
+ * <p>
+ * 网点日常自检日志表 Mapper 接口
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+public interface IotDailyCheckDataMapper extends BaseMapper<IotDailyCheckData> {
+
+}

+ 19 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/dayilcheck/service/IotDailyCheckDataService.java

@@ -0,0 +1,19 @@
+package com.xunmei.host.dayilcheck.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.common.core.domain.iot.domain.IotDailyCheckData;
+import com.xunmei.common.core.domain.iot.domain.IotServerInfo;
+
+/**
+ * <p>
+ * 网点日常自检日志表 服务类
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+public interface IotDailyCheckDataService extends IService<IotDailyCheckData> {
+
+    void dealData(String id, String excelData, IotServerInfo serverInfo);
+
+}

+ 102 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/dayilcheck/service/impl/IotDailyCheckDataServiceImpl.java

@@ -0,0 +1,102 @@
+package com.xunmei.host.dayilcheck.service.impl;
+
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.Constants;
+import com.xunmei.common.core.domain.iot.domain.IotDailyCheckData;
+import com.xunmei.common.core.domain.iot.domain.IotServerInfo;
+import com.xunmei.common.core.domain.iot.vo.DailyCheckReq;
+import com.xunmei.host.dayilcheck.mapper.IotDailyCheckDataMapper;
+import com.xunmei.host.dayilcheck.service.IotDailyCheckDataService;
+import com.xunmei.host.server.service.IotServerInfoService;
+import com.xunmei.host.websocket.constant.WebSocketConstants;
+import com.xunmei.host.websocket.dto.WebsocketExecuteReq;
+import com.xunmei.host.websocket.enums.ProductEnums;
+import com.xunmei.host.websocket.service.RouterService;
+import com.xunmei.system.api.util.LogUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.StringJoiner;
+
+/**
+ * <p>
+ * 网点日常自检日志表 服务实现类
+ * </p>
+ *
+ * @author jingYuanChao
+ * @since 2024-09-03
+ */
+@Service
+public class IotDailyCheckDataServiceImpl extends ServiceImpl<IotDailyCheckDataMapper, IotDailyCheckData> implements IotDailyCheckDataService, RouterService {
+
+    @Resource
+    private IotServerInfoService iotServerInfoService;
+
+    @Override
+    public ProductEnums product() {
+        return ProductEnums.DETECTION_HOST;
+    }
+
+    @Override
+    public String routerKey() {
+
+        StringJoiner result = new StringJoiner(",");
+        //网点客户端自检结果上报
+        result.add(WebSocketConstants.DAILY_HEALTH);
+        return result.toString();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Object execute(WebsocketExecuteReq req) {
+        Object data = req.getData();
+        JSONObject obj = JSON.parseObject(data.toString());
+        String type = obj.getString("id");
+        String excelData = obj.getString("excelData");
+        IotServerInfo serverInfo = iotServerInfoService.getToken(req.getToken());
+        if (ObjectUtil.isEmpty(serverInfo)) {
+            LogUtils.SOCKET_DAILY_HEALTH.error("未查询到token为 {} 的服务器信息", req.getToken());
+            return null;
+        }
+        dealData(type, excelData, serverInfo);
+
+        return null;
+    }
+
+
+    @Override
+    public void dealData(String id, String excelData, IotServerInfo serverInfo) {
+
+        if (ObjectUtil.hasEmpty(id, excelData)) {
+            LogUtils.SOCKET_DAILY_HEALTH.error("[网点客户端自检结果上报],存在参数为空,ID:{},excelData:{}", id, excelData);
+            return;
+        }
+
+        IotDailyCheckData dailyCheckData = baseMapper.selectById(Long.parseLong(id));
+        if (dailyCheckData == null) {
+            dailyCheckData = new IotDailyCheckData();
+            dailyCheckData.setId(Long.parseLong(id));
+            dailyCheckData.setCreateTime(LocalDateTime.now());
+        }
+        dailyCheckData.setUpdateTime(LocalDateTime.now());
+        dailyCheckData.setOrgId(serverInfo.getOrgId());
+        dailyCheckData.setOrgName(serverInfo.getOrgName());
+        dailyCheckData.setOrgPath(serverInfo.getOrgPath());
+        dailyCheckData.setIotCode(serverInfo.getIotCode());
+
+        DailyCheckReq req = JSON.parseObject(excelData, DailyCheckReq.class);
+        dailyCheckData.setData(excelData);
+        dailyCheckData.setRecordDate(LocalDateTime.parse(req.getRecordDate()));
+        dailyCheckData.setUserName(req.getUserName());
+        dailyCheckData.setFileName(serverInfo.getOrgName() + "检查日志" + LocalDateTimeUtil.format(dailyCheckData.getRecordDate(), Constants.HM_FORMAT));
+
+        this.saveOrUpdate(dailyCheckData);
+
+    }
+}

+ 4 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/websocket/constant/WebSocketConstants.java

@@ -139,6 +139,10 @@ public interface WebSocketConstants {
      */
     String DEVICES_EVENT = "devices";
     String DEVICES_STATUS_EVENT = "deviceStatus";
+    /**
+     * 网点客户端自检结果上报事件名称
+     */
+    String DAILY_HEALTH = "dailyHealth";
 
 
 

+ 5 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/websocket/handler/SocWebSocketHandler.java

@@ -176,6 +176,11 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
                 LogUtils.WEBSOCKET_MSG.error("消息topic错误,ip:{},topic:{}", ip, topic);
                 return;
             }
+            IotServerInfo serverInfo = iotServerInfoService.selectByToken(token);
+            if (ObjectUtil.isEmpty(serverInfo)) {
+                LogUtils.WEBSOCKET_MSG.error("未查询到token为 {} 的服务器信息", token);
+                return ;
+            }
             //上报消息内容
             final Object args = payloadResolve.getData();
             WebsocketExecuteReq executeReq = new WebsocketExecuteReq(payloadResolve.getRoutingKey(), args, token, websocketResult.getId(), topic, payloadResolve.getHeader(), typeEnums.getProductName(), typeEnums.getDeviceName());

+ 21 - 0
soc-modules/soc-modules-host/src/main/resources/logback.xml

@@ -121,6 +121,23 @@
         </encoder>
     </appender>
 
+    <!-- 网点客户端自检结果上报事件日志  -->
+    <appender name="dailyHealth" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <maxFileSize>${max.file.size}</maxFileSize>
+            <!--日志文件输出的文件名-->
+            <FileNamePattern>${LOG_HOME}/dailyHealth/%d{yyyy-MM-dd}-%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <maxHistory>${max.history}</maxHistory>
+            <totalSizeCap>${total.size.cap}</totalSizeCap>
+            <cleanHistoryOnStart>true</cleanHistoryOnStart>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+        </encoder>
+    </appender>
+
 
     <logger name="websocketMsgLog" additivity="false" level="info">
         <!--上面appender元素的name值。为了和logger的name属性做区分,我故意写的不一样-->
@@ -143,6 +160,10 @@
         <!--上面appender元素的name值。为了和logger的name属性做区分,我故意写的不一样-->
         <appender-ref ref="socketSubSystemStatusData"/>
     </logger>
+    <logger name="dailyHealth" additivity="false" level="info">
+        <!--上面appender元素的name值。为了和logger的name属性做区分,我故意写的不一样-->
+        <appender-ref ref="dailyHealth"/>
+    </logger>
 
     <!-- 日志输出级别 -->
     <root level="INFO">

+ 5 - 0
soc-modules/soc-modules-host/src/main/resources/mapper/IotDailyCheckDataMapper.xml

@@ -0,0 +1,5 @@
+<?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.xunmei.host.dayilcheck.mapper.IotDailyCheckDataMapper">
+
+</mapper>