zhanghua
2023-10-02 b146d1a002c4e3b323810f95bea28a1e47e0d680
接口
5个文件已修改
58 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
}
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();
}
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();
}
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();
    }
}
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>