From e468088052b2dea9837645eeed689ee9c5f0948d Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 27 十月 2023 15:58:11 +0800
Subject: [PATCH] 油烟
---
ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java | 36 ++++
ycl-smoke/src/main/java/com/ycl/smoke/remote/service/ISmokeDetectionService.java | 2
ycl-smoke/src/main/resources/mapper/smoke/OdsInTimeCountMapper.xml | 19 ++
ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeAlarmController.java | 150 +++++++----------
ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java | 2
ycl-platform/src/main/java/com/ycl/vo/smoke/OdsAlarmVo.java | 34 ++++
ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamDto.java | 2
ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java | 1
ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java | 50 +++++
ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsInTimeCount.java | 39 ++++
ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsInTimeCountService.java | 17 ++
ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsInTimeCountServiceImpl.java | 23 ++
ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java | 5
ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsInTimeCountMapper.java | 17 ++
ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java | 11 +
ycl-platform/src/main/java/com/ycl/dto/smoker/QueryAlarmParam.java | 10 +
ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamChildDto.java | 3
17 files changed, 326 insertions(+), 95 deletions(-)
diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
index 4d42a27..bc84db9 100644
--- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
@@ -13,6 +13,7 @@
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
@@ -20,6 +21,9 @@
public class OssServiceImpl implements OssService {
@Override
public String uploadImages(MultipartFile file) {
+ DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ System.out.println("寮�濮嬩笂浼�--" + dtf2.format(LocalDateTime.now()));
if (file == null) {
return "涓婁紶鏂囦欢涓虹┖";
}
@@ -47,6 +51,7 @@
Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000);
String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
+ System.out.println("涓婁紶缁撴潫--" + dtf2.format(LocalDateTime.now()));
return url;
} catch (Exception e) {
System.out.println("uploadImages涓婁紶鍥剧墖澶辫触锛�");
diff --git a/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java b/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java
index c59be61..ccd0d15 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java
@@ -194,12 +194,16 @@
@PostMapping("/oss/sign")
public CommonResult ossSign(@RequestBody OssFileDto dto) {
log.info("鎺ユ敹鍒癴ile");
+
+ DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if (StringUtils.isNullOrEmpty(dto.getMediaId()) || StringUtils.isNullOrEmpty(dto.getExtension())) {
return CommonResult.failed("鍙傛暟涓嶈兘涓虹┖锛�");
}
ExecutableClient executableClient = DdTest.getExecutableClient();
CloseableHttpResponse response = null;
OSS ossClient = null;
+
+ System.out.println("寮�濮嬭幏鍙�--" + dtf2.format(LocalDateTime.now()));
try {
//浠庨拤閽夎幏鍙栬棰戞祦
String api = "/media/download";
@@ -212,12 +216,15 @@
response = getClient.getB();
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
- DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
- String strDate2 = dtf2.format(LocalDateTime.now());
+ System.out.println("鑾峰彇瀹屾垚--" + dtf2.format(LocalDateTime.now()));
+ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
+
+ String strDate2 = dtf.format(LocalDateTime.now());
String fileName = strDate2 + RandomUtils.generateRandomInt(4) + "." + dto.getExtension();
MultipartFile file = getMultipartFile(is, fileName);
+
String url = ossService.uploadImages(file);
return CommonResult.success(url);
} catch (Exception e) {
diff --git a/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeAlarmController.java b/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeAlarmController.java
index b86dd23..b152efb 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeAlarmController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeAlarmController.java
@@ -1,10 +1,26 @@
package com.ycl.controller.smoke;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ycl.annotation.LogSave;
+import com.ycl.api.CommonPage;
+import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
+import com.ycl.entity.smoke.OdsAlarmMsg;
+import com.ycl.dto.smoker.QueryAlarmParam;
import com.ycl.service.smoke.IOdsAlarmMsgService;
+import com.ycl.utils.EasyExcelUtils;
+import com.ycl.vo.smoke.OdsAlarmVo;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.*;
@RestController
@RequestMapping("/smoke")
@@ -17,91 +33,51 @@
public void setAlarmMsgService(IOdsAlarmMsgService alarmMsgService) {
this.alarmMsgService = alarmMsgService;
}
-//
-// @ApiOperation("鑾峰彇鎵�灞炲崟浣�")
-// @RequestMapping(value = "/customer/list", method = RequestMethod.GET)
-// @ResponseBody
-// @LogSave(operationType = "娌圭儫妯″潡", contain = "鑾峰彇鎵�灞炲崟浣�")
-// public CommonResult<CommonPage<OdsCustomer>> findCustomerList(@RequestParam(value = "keyword", required = false) String keyword,
-// @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
-// @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
-// Page<OdsCustomer> customerPage = customerService.findList(keyword, pageSize, pageNum);
-// return CommonResult.success(CommonPage.restPage(customerPage));
-// }
-//
-// @ApiOperation("鏌ヨ瀹炴椂鏁版嵁")
-// @RequestMapping(value = "/inTime/list", method = RequestMethod.GET)
-// @ResponseBody
-// @LogSave(operationType = "娌圭儫妯″潡", contain = "鏌ヨ瀹炴椂鏁版嵁")
-// public CommonResult<CommonPage<OdsInTime>> findInTimeList(@RequestParam(value = "owner", required = false) String owner,
-// @RequestParam(value = "onlineStatus", required = false) String onlineStatus,
-// @RequestParam(value = "status", required = false) String status,
-// @RequestParam(value = "startTime", required = false) String startTime,
-// @RequestParam(value = "endTime", required = false) String endTime,
-// @RequestParam(value = "type", required = false) String type,
-// @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
-// @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
-// Page<OdsInTime> inTimePage = inTimeService.findList(owner, onlineStatus, startTime, endTime, type, status, pageSize, pageNum);
-// return CommonResult.success(CommonPage.restPage(inTimePage));
-// }
-//
-// @ApiOperation("瀵煎嚭瀹炴椂鏁版嵁")
-// @PostMapping(value = "/inTime/export")
-// @LogSave(operationType = "娌圭儫妯″潡", contain = "鏌ヨ瀹炴椂鏁版嵁")
-// public void exportInTimeList(HttpServletResponse response, QueryInTimeParam param) throws IOException {
-// Page<OdsInTime> inTimePage = inTimeService.findList(param.getOwner(), param.getOnlineStatus(), param.getStartTime(),
-// param.getEndTime(), param.getType(), param.getStatus(), 99999, 1);
-//
-// List<OdsInTimeVo> odsInTimeVos = new ArrayList<>();
-// Dictionary<Integer, String> fanStatusDic = new Hashtable<>();
-// fanStatusDic.put(1, "寮�");
-// fanStatusDic.put(2, "鍏�");
-// fanStatusDic.put(3, "寮傚父");
-// fanStatusDic.put(0, "寮傚父");
-//
-// Dictionary<Integer, String> onlineStatusDic = new Hashtable<>();
-// onlineStatusDic.put(1, "鍦ㄧ嚎");
-// onlineStatusDic.put(2, "绂荤嚎");
-// onlineStatusDic.put(3, "寮傚父绂荤嚎");
-// onlineStatusDic.put(0, "寮傚父绂荤嚎");
-//
-// Dictionary<String, String> statusDic = new Hashtable<>();
-// statusDic.put("NORMAL", "姝e父");
-// statusDic.put("ALARM", "棰勮");
-// statusDic.put("EXCESS", "瓒呮爣");
-// statusDic.put("DOWN", "绂荤嚎");
-// statusDic.put("OFF", "寮傚父绂荤嚎");
-//
-// inTimePage.getRecords().stream().forEach(o -> {
-// OdsInTimeVo vo = new OdsInTimeVo();
-// BeanUtils.copyProperties(o, vo);
-// vo.setAcquitAtStr(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(o.getAcquitAt() * 1000)));
-// vo.setFanStatusStr(fanStatusDic.get(o.getFanStatus()));
-// vo.setFilterStatusStr(fanStatusDic.get(o.getFilterStatus()));
-// vo.setOnlineStatusStr(onlineStatusDic.get(o.getOnlineStatus()));
-// vo.setStatusStr(statusDic.get(o.getStatus()));
-// odsInTimeVos.add(vo);
-// });
-//
-// String sheetName = "瀹炴椂鏁版嵁";
-//
-// String fileName = URLEncoder.encode(sheetName + ".xlsx", "UTF-8");
-// //璁剧疆鍝嶅簲瀛楃闆�
-// response.setCharacterEncoding("UTF-8");
-// //璁剧疆鍝嶅簲濯掍綋绫诲瀷
-// response.setContentType("application/vnd.ms-excel");
-// response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
-//
-// EasyExcelUtils.export(response, sheetName, OdsInTimeVo.class, odsInTimeVos);
-// }
-//
-//
-// @ApiOperation("鑾峰彇璁惧鍦ㄧ嚎鎯呭喌")
-// @RequestMapping(value = "/inTime/count", method = RequestMethod.GET)
-// @ResponseBody
-// @LogSave(operationType = "娌圭儫妯″潡", contain = "鑾峰彇璁惧鍦ㄧ嚎鎯呭喌")
-// public CommonResult<InTimeCountDto> getInTimeCount() {
-// InTimeCountDto dto = inTimeService.getInTimeCount();
-// return CommonResult.success(dto);
-// }
+
+ @ApiOperation("鏌ヨ鎶ヨ鏁版嵁")
+ @RequestMapping(value = "/alarm/list", method = RequestMethod.GET)
+ @ResponseBody
+ @LogSave(operationType = "娌圭儫妯″潡", contain = "鏌ヨ鎶ヨ鏁版嵁")
+ public CommonResult<CommonPage<OdsAlarmMsg>> findAlarmList(@RequestParam(value = "msgType", required = false) String type,
+ @RequestParam(value = "startTime", required = false) String startTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+ @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
+ Page<OdsAlarmMsg> page = alarmMsgService.findList(type, startTime, endTime, pageSize, pageNum);
+ return CommonResult.success(CommonPage.restPage(page));
+ }
+
+ @ApiOperation("瀵煎嚭鎶ヨ鏁版嵁")
+ @PostMapping(value = "/alarm/export")
+ @LogSave(operationType = "娌圭儫妯″潡", contain = "瀵煎嚭鎶ヨ鏁版嵁")
+ public void exportAlarmList(HttpServletResponse response, QueryAlarmParam param) throws IOException {
+ Page<OdsAlarmMsg> page = alarmMsgService.findList(param.getMsgType(), param.getStartTime(),
+ param.getEndTime(), 99999, 1);
+
+ List<OdsAlarmVo> alarmMsgs = new ArrayList<>();
+
+ Dictionary<String, String> msgTypeDic = new Hashtable<>();
+ msgTypeDic.put("ExceedStandard", "瓒呮爣");
+ msgTypeDic.put("AbnormalOffline", "寮傚父绂荤嚎");
+
+ page.getRecords().stream().forEach(o -> {
+ OdsAlarmVo vo = new OdsAlarmVo();
+ BeanUtils.copyProperties(o, vo);
+ vo.setAcquitAtStr(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(o.getAcquitAt() * 1000)));
+ vo.setMsgTypeStr(msgTypeDic.get(o.getMsgType()));
+ alarmMsgs.add(vo);
+ });
+
+ String sheetName = "鎶ヨ娑堟伅";
+
+ String fileName = URLEncoder.encode(sheetName + ".xlsx", "UTF-8");
+ //璁剧疆鍝嶅簲瀛楃闆�
+ response.setCharacterEncoding("UTF-8");
+ //璁剧疆鍝嶅簲濯掍綋绫诲瀷
+ response.setContentType("application/vnd.ms-excel");
+ response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+
+ EasyExcelUtils.export(response, sheetName, OdsAlarmVo.class, alarmMsgs);
+ }
+
}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/dto/smoker/QueryAlarmParam.java b/ycl-platform/src/main/java/com/ycl/dto/smoker/QueryAlarmParam.java
new file mode 100644
index 0000000..e4da135
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/dto/smoker/QueryAlarmParam.java
@@ -0,0 +1,10 @@
+package com.ycl.dto.smoker;
+
+import lombok.Data;
+
+@Data
+public class QueryAlarmParam {
+ private String startTime;
+ private String endTime;
+ private String msgType;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java
index 013b82a..b52038c 100644
--- a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java
@@ -1,5 +1,6 @@
package com.ycl.service.smoke;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.smoke.OdsAlarmMsg;
@@ -13,4 +14,5 @@
*/
public interface IOdsAlarmMsgService extends IService<OdsAlarmMsg> {
+ Page<OdsAlarmMsg> findList(String status, String startTime, String endTime, Integer pageSize, Integer pageNum);
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java
index 16da8f8..e486059 100644
--- a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java
@@ -1,10 +1,19 @@
package com.ycl.service.smoke.impl;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.entity.smoke.OdsAlarmMsg;
+import com.ycl.entity.smoke.OdsInTime;
import com.ycl.mapper.smoke.OdsAlarmMsgMapper;
import com.ycl.service.smoke.IOdsAlarmMsgService;
import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
/**
* <p>
@@ -17,4 +26,31 @@
@Service
public class OdsAlarmMsgServiceImpl extends ServiceImpl<OdsAlarmMsgMapper, OdsAlarmMsg> implements IOdsAlarmMsgService {
+ @Override
+ public Page<OdsAlarmMsg> findList(String type, String startTime, String endTime, Integer pageSize, Integer pageNum) {
+ Page<OdsAlarmMsg> page = new Page<>(pageNum, pageSize);
+ QueryWrapper<OdsAlarmMsg> wrapper = new QueryWrapper<>();
+ LambdaQueryWrapper<OdsAlarmMsg> lambda = wrapper.lambda();
+
+ if (StrUtil.isNotEmpty(startTime)) {
+ try {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date startdate = format.parse(startTime);
+ Long startTimestamp = startdate.getTime() / 1000;
+
+ Date enddate = format.parse(endTime);
+ Long endTimestamp = enddate.getTime() / 1000;
+
+ lambda.between(OdsAlarmMsg::getAcquitAt, startTimestamp, endTimestamp);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ if (StrUtil.isNotEmpty(type)) {
+ lambda.eq(OdsAlarmMsg::getMsgType, type);
+ }
+ wrapper.orderByDesc("id");
+ return this.page(page, wrapper);
+ }
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java
index 14b4991..f905fce 100644
--- a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java
@@ -59,6 +59,7 @@
lambda.eq(OdsInTime::getStatus, status);
}
+ wrapper.orderByDesc("id");
return this.page(page, wrapper);
}
diff --git a/ycl-platform/src/main/java/com/ycl/vo/smoke/OdsAlarmVo.java b/ycl-platform/src/main/java/com/ycl/vo/smoke/OdsAlarmVo.java
new file mode 100644
index 0000000..ab55b4b
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/vo/smoke/OdsAlarmVo.java
@@ -0,0 +1,34 @@
+package com.ycl.vo.smoke;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class OdsAlarmVo {
+
+ @ExcelProperty(value = "璁惧缂栫爜", index = 0)
+ private String mn;
+
+ @ExcelProperty(value = "鎶ヨ鏃堕棿", index = 1)
+ private String acquitAtStr;
+
+ @ExcelProperty(value = "娑堟伅绫诲瀷", index = 2)
+ private String msgTypeStr;
+
+ @ExcelProperty(value = "娑堟伅鍐呭", index = 3)
+ private String content;
+
+ @ExcelProperty(value = "鍦板潃", index = 4)
+ private String addr;
+
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamChildDto.java b/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamChildDto.java
index 0ce5b3a..391c90d 100644
--- a/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamChildDto.java
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamChildDto.java
@@ -1,13 +1,14 @@
package com.ycl.smoke.dto;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
-@Builder
@EqualsAndHashCode(callSuper = false)
+@JsonInclude(JsonInclude.Include.NON_NULL)
public class DataIntimeParamChildDto {
/**
* 鍚� 绛涢�夌粍缁囷紙Param鍐咃級
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamDto.java b/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamDto.java
index 25f482d..e8fc4a4 100644
--- a/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamDto.java
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/dto/DataIntimeParamDto.java
@@ -1,5 +1,6 @@
package com.ycl.smoke.dto;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Data;
@@ -8,6 +9,7 @@
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
+@JsonInclude(JsonInclude.Include.NON_NULL)
public class DataIntimeParamDto {
/**
* 鍚� 璧峰浣嶇疆
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsInTimeCount.java b/ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsInTimeCount.java
new file mode 100644
index 0000000..45a6a8f
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsInTimeCount.java
@@ -0,0 +1,39 @@
+package com.ycl.smoke.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_in_time_count")
+public class OdsInTimeCount implements Serializable {
+ @TableId("id")
+ @JsonProperty("Id")
+ private String id;
+
+ @TableField("device_num")
+ @JsonProperty("deviceNum")
+ private Integer deviceNum;
+
+ @TableField("locale_num")
+ @JsonProperty("localeNum")
+ private Integer localeNum;
+
+ @TableField("online_num")
+ @JsonProperty("onlineNum")
+ private Integer onlineNum;
+
+ @TableField("total")
+ @JsonProperty("total")
+ private Integer total;
+
+ @TableField("type")
+ @JsonProperty("type")
+ private Integer type;
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsInTimeCountMapper.java b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsInTimeCountMapper.java
new file mode 100644
index 0000000..85d524c
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/OdsInTimeCountMapper.java
@@ -0,0 +1,17 @@
+package com.ycl.smoke.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.smoke.entity.OdsInTime;
+import com.ycl.smoke.entity.OdsInTimeCount;
+
+/**
+ * <p>
+ * 杩斿洖瀹炴椂鐨勮澶囨暟鎹� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsInTimeCountMapper extends BaseMapper<OdsInTimeCount> {
+
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/remote/service/ISmokeDetectionService.java b/ycl-smoke/src/main/java/com/ycl/smoke/remote/service/ISmokeDetectionService.java
index 3cd8410..0d6f102 100644
--- a/ycl-smoke/src/main/java/com/ycl/smoke/remote/service/ISmokeDetectionService.java
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/remote/service/ISmokeDetectionService.java
@@ -10,7 +10,7 @@
import java.util.List;
-@FeignClient(url = "116.62.234.187:8088", name = "smokeApi")
+@FeignClient(url = "116.62.234.187:8120", name = "smokeApi")
public interface ISmokeDetectionService {
@PostMapping(value = "/loginAction")
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsInTimeCountService.java b/ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsInTimeCountService.java
new file mode 100644
index 0000000..ffecf77
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/service/IOdsInTimeCountService.java
@@ -0,0 +1,17 @@
+package com.ycl.smoke.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.smoke.entity.OdsInTime;
+import com.ycl.smoke.entity.OdsInTimeCount;
+
+/**
+ * <p>
+ * 杩斿洖瀹炴椂鐨勮澶囨暟鎹� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsInTimeCountService extends IService<OdsInTimeCount> {
+
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsInTimeCountServiceImpl.java b/ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsInTimeCountServiceImpl.java
new file mode 100644
index 0000000..6e26422
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/service/impl/OdsInTimeCountServiceImpl.java
@@ -0,0 +1,23 @@
+package com.ycl.smoke.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.smoke.entity.OdsInTime;
+import com.ycl.smoke.entity.OdsInTimeCount;
+import com.ycl.smoke.mapper.OdsInTimeCountMapper;
+import com.ycl.smoke.mapper.OdsInTimeMapper;
+import com.ycl.smoke.service.IOdsInTimeCountService;
+import com.ycl.smoke.service.IOdsInTimeService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 杩斿洖瀹炴椂鐨勮澶囨暟鎹� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsInTimeCountServiceImpl extends ServiceImpl<OdsInTimeCountMapper, OdsInTimeCount> implements IOdsInTimeCountService {
+
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
index db0e45e..1dc348e 100644
--- a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
@@ -1,6 +1,9 @@
package com.ycl.smoke.task;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ycl.service.redis.RedisService;
import com.ycl.smoke.entity.*;
import com.ycl.smoke.dto.*;
@@ -31,6 +34,8 @@
IOdsInTimeService inTimeService;
+ IOdsInTimeCountService iOdsInTimeCountService;
+
IOdsLocaleService localeService;
IOdsCustomerService customerService;
@@ -45,6 +50,11 @@
@Autowired
public void setSmokeDetectionService(ISmokeDetectionService smokeDetectionService) {
this.smokeDetectionService = smokeDetectionService;
+ }
+
+ @Autowired
+ public void setIOdsInTimeCountService(IOdsInTimeCountService iOdsInTimeCountService) {
+ this.iOdsInTimeCountService = iOdsInTimeCountService;
}
@Autowired
@@ -186,20 +196,52 @@
// @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц
- @Scheduled(cron = "0 */5 * * * ?") // 姣�5鍒嗛挓鎵ц
- public void listDataIntime() {
- try {
- DataIntimeParamDto paramDto = DataIntimeParamDto.builder().build();
+ @Scheduled(cron = "0 */1 * * * ?") // 姣�5鍒嗛挓鎵ц
+ public void listDataInTime() {
+ DataIntimeParamDto paramDto = DataIntimeParamDto.builder().build();
+ // {"StartAt":0,"Size":20,"Typ":2,"SortBy":"status","SortMode":"asc","Param":{"StatusOfRecord":"NORMAL"}}:
+ paramDto.setSize(200);
+ paramDto.setStartAt(0);
+ paramDto.setTyp(2);
+ paramDto.setSortBy("status");
+ paramDto.setSortMode("asc");
+ DataIntimeParamChildDto paramChildDto = new DataIntimeParamChildDto();
+ paramChildDto.setStatusOfRecord("NORMAL");
+ paramDto.setParam(paramChildDto);
+
+ getInTimeData(paramDto);
+
+ paramDto.setTyp(1);
+ getInTimeData(paramDto);
+ }
+
+ private void getInTimeData(DataIntimeParamDto paramDto) {
+ try {
+ String jj = JSON.toJSONString(paramDto);
String json = smokeDetectionService.listDataIntime(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString());
SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class);
if (responseDto.getStatus() == 200) {
DataIntimeResponseDto dataIntimeResponseDto = JSON.parseObject(responseDto.getData().toString(), DataIntimeResponseDto.class);
List<OdsInTime> list = dataIntimeResponseDto.getContent();
+
+ OdsInTimeCount odsInTimeCount = new OdsInTimeCount();
+ LambdaQueryWrapper<OdsInTimeCount> queryWrapper = new LambdaQueryWrapper<OdsInTimeCount>().eq(OdsInTimeCount::getType, paramDto.getTyp());
+ List<OdsInTimeCount> countList = iOdsInTimeCountService.list(queryWrapper);
+ if (countList.size() > 0) {
+ odsInTimeCount = countList.get(0);
+ }
+ odsInTimeCount.setDeviceNum(dataIntimeResponseDto.getDeviceNum());
+ odsInTimeCount.setLocaleNum(dataIntimeResponseDto.getLocaleNum());
+ odsInTimeCount.setOnlineNum(dataIntimeResponseDto.getOnlineNum());
+ odsInTimeCount.setTotal(dataIntimeResponseDto.getTotal());
+ iOdsInTimeCountService.saveOrUpdate(odsInTimeCount);
+
list.forEach(o -> {
try {
o.setModifyTime(LocalDateTime.now());
+ o.setTyp(paramDto.getTyp());
inTimeService.saveOrUpdate(o);
} catch (Exception ex) {
System.out.printf(ex.getMessage());
diff --git a/ycl-smoke/src/main/resources/mapper/smoke/OdsInTimeCountMapper.xml b/ycl-smoke/src/main/resources/mapper/smoke/OdsInTimeCountMapper.xml
new file mode 100644
index 0000000..b26199f
--- /dev/null
+++ b/ycl-smoke/src/main/resources/mapper/smoke/OdsInTimeCountMapper.xml
@@ -0,0 +1,19 @@
+<?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.ycl.smoke.mapper.OdsInTimeCountMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ycl.smoke.entity.OdsInTimeCount">
+ <id column="id" property="id"/>
+ <result column="device_num" property="deviceNum"/>
+ <result column="locale_num" property="localeNum"/>
+ <result column="online_num" property="onlineNum"/>
+ <result column="total" property="total"/>
+ </resultMap>
+
+ <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+ <sql id="Base_Column_List">
+ id , device_num, locale_num, online_num, total
+ </sql>
+
+</mapper>
--
Gitblit v1.8.0