From b146d1a002c4e3b323810f95bea28a1e47e0d680 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 02 十月 2023 11:05:01 +0800
Subject: [PATCH] 接口
---
ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java | 3 +++
ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java | 10 ++++++++++
ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java | 2 ++
ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++--
ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml | 6 ++++++
5 files changed, 56 insertions(+), 2 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java b/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java
index 82774ef..3f5641d 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java
@@ -5,6 +5,7 @@
import com.ycl.api.CommonPage;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
+import com.ycl.dto.smoker.InTimeCountDto;
import com.ycl.entity.smoke.OdsCustomer;
import com.ycl.entity.smoke.OdsInTime;
import com.ycl.service.smoke.IOdsCustomerService;
@@ -61,4 +62,13 @@
Page<OdsInTime> inTimePage = inTimeService.findList(owner, onlineStatus, startTime, endTime, type, status, pageSize, pageNum);
return CommonResult.success(CommonPage.restPage(inTimePage));
}
+
+ @ApiOperation("鑾峰彇璁惧鍦ㄧ嚎鎯呭喌")
+ @RequestMapping(value = "/inTime/count", method = RequestMethod.GET)
+ @ResponseBody
+ @LogSave(operationType = "娌圭儫妯″潡", contain = "鑾峰彇璁惧鍦ㄧ嚎鎯呭喌")
+ public CommonResult<InTimeCountDto> getInTimeCount() {
+ InTimeCountDto dto = inTimeService.getInTimeCount();
+ return CommonResult.success(dto);
+ }
}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java
index 769fc11..32d381a 100644
--- a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java
@@ -1,6 +1,7 @@
package com.ycl.mapper.smoke;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.dto.smoker.InTimeCountDto;
import com.ycl.entity.smoke.OdsInTime;
/**
@@ -13,4 +14,5 @@
*/
public interface OdsInTimeMapper extends BaseMapper<OdsInTime> {
+ InTimeCountDto getInTimeCount();
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java
index 1c3e7ab..8e7767a 100644
--- a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.dto.smoker.InTimeCountDto;
import com.ycl.entity.smoke.OdsInTime;
/**
@@ -15,4 +16,6 @@
public interface IOdsInTimeService extends IService<OdsInTime> {
Page<OdsInTime> findList(String owner, String onlineStatus, String startTime, String endTime, String type, String status, Integer pageSize, Integer pageNum);
+
+ InTimeCountDto getInTimeCount();
}
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 2b9269d..6edbd26 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
@@ -5,11 +5,16 @@
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.dto.smoker.InTimeCountDto;
import com.ycl.entity.smoke.OdsCustomer;
import com.ycl.entity.smoke.OdsInTime;
import com.ycl.mapper.smoke.OdsInTimeMapper;
import com.ycl.service.smoke.IOdsInTimeService;
import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
/**
* <p>
@@ -27,11 +32,39 @@
Page<OdsInTime> page = new Page<>(pageNum, pageSize);
QueryWrapper<OdsInTime> wrapper = new QueryWrapper<>();
LambdaQueryWrapper<OdsInTime> lambda = wrapper.lambda();
- if (StrUtil.isNotEmpty(keyword)) {
- lambda.like(OdsInTime::getName, keyword);
+ if (StrUtil.isNotEmpty(owner)) {
+ lambda.eq(OdsInTime::getOwner, owner);
+ }
+ if (StrUtil.isNotEmpty(onlineStatus)) {
+ lambda.eq(OdsInTime::getOnlineStatus, onlineStatus);
+ }
+ if (StrUtil.isNotEmpty(startTime)) {
+ try {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date startdate = format.parse(startTime);
+ Long startTimestamp = startdate.getTime();
+
+ Date enddate = format.parse(endTime);
+ Long endTimestamp = enddate.getTime();
+
+ lambda.between(OdsInTime::getLastAt, startTimestamp, endTimestamp);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ if (StrUtil.isNotEmpty(type)) {
+ lambda.eq(OdsInTime::getTyp, type);
+ }
+ if (StrUtil.isNotEmpty(status)) {
+ lambda.eq(OdsInTime::getStatus, status);
}
return this.page(page, wrapper);
}
+
+ @Override
+ public InTimeCountDto getInTimeCount() {
+ return baseMapper.getInTimeCount();
+ }
}
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml
index 191248e..d0e233a 100644
--- a/ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml
@@ -42,5 +42,11 @@
<sql id="Base_Column_List">
id, string, acquit_at, last_at, c_emissions, c_granule, c_hydrocarbon, emissions_conc, granule_conc, hydrocarbon_conc, fan_status, filter_status, typ, status, velocity, temperature, moisture, locale, lid, owner, addr, emissions_sill, granule_sill, hydrocarbon_sill, link_status, customer_mobile, locale_lng, localelat, fan_current, pur_current, online_status, status_of_record
</sql>
+ <select id="getInTimeCount" resultType="com.ycl.dto.smoker.InTimeCountDto">
+ SELECT sum(CASE WHEN online_status = 1 THEN 1 ELSE 0 END ) onlineCount,
+ count(id) monitor,
+ count(id) devices
+ from ums_ods_in_time
+ </select>
</mapper>
--
Gitblit v1.8.0