Prechádzať zdrojové kódy

离线设备查询1.0

fuyuhchuan 1 rok pred
rodič
commit
cd7ffe52f9

+ 31 - 0
service-issue/service-issue-api/pom.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>service-issue</artifactId>
+        <groupId>com.usky</groupId>
+        <version>0.0.1</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>service-issue-api</artifactId>
+    <!-- SpringCloud Openfeign -->
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>usky-common-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-openfeign-core</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>${project.artifactId}</finalName>
+    </build>
+
+</project>

+ 0 - 1
service-issue/service-issue-biz/src/main/java/com/usky/issue/RuoYiSystemApplication.java

@@ -2,7 +2,6 @@ package com.usky.issue;
 
 
 
-import io.swagger.annotations.SwaggerDefinition;
 import org.mybatis.spring.annotation.MapperScan;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

+ 5 - 5
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/MybatisGeneratorUtils.java

@@ -33,7 +33,7 @@ public class MybatisGeneratorUtils {
         projectPath+="/"+model;
         gc.setOutputDir(projectPath+ "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
         //修改为自己的名字
-        gc.setAuthor("han"); //设置作者
+        gc.setAuthor("fu"); //设置作者
         gc.setOpen(false);
         gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
         gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
@@ -43,10 +43,10 @@ public class MybatisGeneratorUtils {
         //2、数据源配置
         //修改数据源
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-cloud?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setUrl("jdbc:mysql://47.98.201.187:3306/UskyOw?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
         dsc.setDriverName("com.mysql.jdbc.Driver");
-        dsc.setUsername("usky");
-        dsc.setPassword("Yt#75Usky");
+        dsc.setUsername("fuYuChuan");
+        dsc.setPassword("fuYuChuan@123");
         mpg.setDataSource(dsc);
 
         // 3、包配置
@@ -71,7 +71,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude("base_alarm_notice_result");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("yt_device_status");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 41 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/YtDeviceStatusController.java

@@ -0,0 +1,41 @@
+package com.usky.issue.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.issue.domain.YtDeviceStatus;
+import com.usky.issue.service.YtDeviceStatusService;
+import com.usky.issue.service.vo.YtDeviceStatusRequestVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 离线设备VIEW 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2023-11-23
+ */
+@RestController
+@RequestMapping("/ytDeviceStatus")
+public class YtDeviceStatusController {
+    @Autowired
+    private YtDeviceStatusService ytDeviceStatusService;
+
+    /**
+     * 分页
+     * @param requestVO
+     * @return
+     */
+    @PostMapping("page")
+    ApiResult<CommonPage<YtDeviceStatus>> page(@RequestBody YtDeviceStatusRequestVO requestVO){
+        return ApiResult.success(ytDeviceStatusService.page(requestVO));
+    }
+
+}
+

+ 73 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/YtDeviceStatus.java

@@ -0,0 +1,73 @@
+package com.usky.issue.domain;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 离线设备VIEW
+ * </p>
+ *
+ * @author fu
+ * @since 2023-11-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class YtDeviceStatus implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 单位编号
+     */
+    private String companyCode;
+
+    /**
+     * 单位名称
+     */
+    private String companyName;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 单位地址
+     */
+    private String address;
+
+    /**
+     * 设备类型
+     */
+    private String deviceType;
+
+    /**
+     * 最后通信时间
+     */
+    private String dataTime;
+
+    /**
+     * 当前时间
+     */
+    private String statTime;
+
+    /**
+     * 时间差值(小时)
+     */
+    private Long difference;
+
+
+}

+ 21 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/YtDeviceStatusMapper.java

@@ -0,0 +1,21 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.YtDeviceStatus;
+import com.usky.common.mybatis.core.CrudMapper;
+import feign.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 离线设备VIEW Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2023-11-23
+ */
+@Repository
+public interface YtDeviceStatusMapper extends CrudMapper<YtDeviceStatus> {
+    List<YtDeviceStatus> getDeviceStatusType(@Param("deviceType") String deviceType);
+}

+ 0 - 14
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/OfflineDeviceService.java

@@ -1,14 +0,0 @@
-package com.usky.issue.service;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 离线设备
- * @description:TODO
- * @author: fu
- * @create: 2023/11/22 16:31
- */
-public interface OfflineDeviceService {
-    List<Map<String,Object>> getOfflineDevices(List<Integer> productIds);
-}

+ 20 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/YtDeviceStatusService.java

@@ -0,0 +1,20 @@
+package com.usky.issue.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.issue.domain.YtDeviceStatus;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.issue.service.vo.YtDeviceStatusRequestVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 离线设备VIEW 服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2023-11-23
+ */
+public interface YtDeviceStatusService extends CrudService<YtDeviceStatus> {
+    CommonPage<YtDeviceStatus> page(YtDeviceStatusRequestVO requestVO);
+}

+ 0 - 33
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/OfflineDeviceServiceImpl.java

@@ -1,33 +0,0 @@
-package com.usky.issue.service.impl;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.usky.issue.service.OfflineDeviceService;
-
-import java.time.DayOfWeek;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 离线设备查询
- * @description:TODO
- * @author: fu
- * @create: 2023/11/22 16:32
- */
-public class OfflineDeviceServiceImpl implements OfflineDeviceService {
-
-    public List<Map<String,Object>> getOfflineDevices(List<Integer> productIds) {
-//        List<DeviceStatus> query = Wrappers.query();
-//        query.select("product_id as productId","count(device_status = 2 ) as offlineDevicesCount")
-//        .where("device_status = 2");
-        return null;
-        }
-
-    }
-
-
-
-
-
-
-
-

+ 70 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/YtDeviceStatusServiceImpl.java

@@ -0,0 +1,70 @@
+package com.usky.issue.service.impl;
+
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.issue.domain.YtDeviceStatus;
+import com.usky.issue.mapper.YtDeviceStatusMapper;
+import com.usky.issue.service.YtDeviceStatusService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.issue.service.vo.YtDeviceStatusRequestVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 离线设备VIEW 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2023-11-23
+ */
+@Service
+public class YtDeviceStatusServiceImpl extends AbstractCrudService<YtDeviceStatusMapper, YtDeviceStatus> implements YtDeviceStatusService {
+
+    @Autowired
+    private YtDeviceStatusMapper ytDeviceStatusMapper;
+
+    @Override
+    public CommonPage<YtDeviceStatus> page(YtDeviceStatusRequestVO requestVO) {
+
+//        IPage<YtDeviceStatus> page = new Page<>(requestVO.getCurrent(),requestVO.getSize());
+//        LambdaQueryWrapper<YtDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
+//        queryWrapper.eq(StringUtils.isNotBlank(requestVO.getDeviceType()),YtDeviceStatus::getDeviceType,
+//                requestVO.getDeviceType())
+//                .orderByDesc(YtDeviceStatus::getDeviceType);
+//        page  = this.page(page,queryWrapper);
+//        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getSize(),page.getCurrent());
+
+//        LambdaQueryWrapper<YtDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
+//        queryWrapper.eq(requestVO.getDeviceType() != null,YtDeviceStatus::getId,requestVO.getDeviceType())
+//                .eq(StringUtils.isNotBlank(requestVO.getDeviceType()),YtDeviceStatus::getDeviceType,requestVO.getDeviceType())
+//                .orderByDesc(YtDeviceStatus::getId);
+
+
+        List<YtDeviceStatus> list = ytDeviceStatusMapper.getDeviceStatusType(requestVO.getDeviceType());
+        Integer total = list.size();
+        if (total == 0) {
+            return null;
+        }
+
+        Integer pageSize = 10;
+        if (total < pageSize) {
+            pageSize = total;
+        }
+
+        Integer pageCurrent = 1;
+        if (total < 0) {
+            pageCurrent = (total / pageSize) + 1;
+        }
+
+        Integer current = (pageCurrent - 1) * pageSize;
+
+        List<YtDeviceStatus> records = list.stream().skip(current).limit(pageSize).collect(Collectors.toList());
+
+        return new CommonPage<>(records, total, pageSize, pageCurrent);
+    }
+
+}

+ 28 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/vo/YtDeviceStatusRequestVO.java

@@ -0,0 +1,28 @@
+package com.usky.issue.service.vo;
+
+import lombok.Data;
+
+/**
+ * @description:TODO
+ * @author: fu
+ * @create: 2023/11/23 15:58
+ */
+@Data
+public class YtDeviceStatusRequestVO {
+
+    /**
+     * 页数
+     */
+    private Integer current;
+
+    /**
+     * 条数
+     */
+    private Integer size;
+
+    /**
+     * 设备类型
+     */
+    private String deviceType;
+}
+

+ 47 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/YtDeviceStatusMapper.xml

@@ -0,0 +1,47 @@
+<?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.issue.mapper.YtDeviceStatusMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.YtDeviceStatus">
+        <result column="id" property="id"/>
+        <result column="company_code" property="companyCode"/>
+        <result column="company_name" property="companyName"/>
+        <result column="device_code" property="deviceCode"/>
+        <result column="device_name" property="deviceName"/>
+        <result column="address" property="address"/>
+        <result column="device_type" property="deviceType"/>
+        <result column="data_time" property="dataTime"/>
+        <result column="stat_time" property="statTime"/>
+        <result column="difference" property="difference"/>
+    </resultMap>
+
+    <!--    <select id="YtDeviceStatusTypeList" resultType="com.usky.issue.domain.YtDeviceStatus">
+            select
+                yds.*
+            from yt_device_status yds
+            <where>
+                <if test="1 == 1">
+                    AND yds.deviceType = #{deviceType}
+                </if>
+            </where>
+        </select>-->
+
+    <select id="getDeviceStatusType" resultType="com.usky.issue.domain.YtDeviceStatus">
+        select
+        device_code,device_name,address,device_type,company_name,company_code,data_time
+        from yt_device_status yds
+        <where>
+                company_code in ('10357','10356','10354','10352','10349','10350','10347','10346','10334','10188',
+                '10343','10348','10331','10320','10320','10164','10071','10345','10144','10064','10336','10131','10205',
+                '10340','10339','10225','10323','10320','10134','10337','10226','10214','10160','10076','10079','10078',
+                '10215','10324','10324','10154','10106','10121','10067','10325','10323','10322','10320','10128','10314',
+                '10315','10312','10222','10077','10146','10151','10232','10116','10114','10122','10166','10353','10358',
+                '10359','10361','10360','10140','10362','10206','10355','10105','10338','10318','10367','10124','10365',
+                '10363','10368','10371','10341','10375','10373','10126','10374','10376','10378')
+                AND difference > 48
+        </where>
+
+    </select>
+
+</mapper>