diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/HomePageController.java b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/HomePageController.java index b8786bf7..38719605 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/HomePageController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/HomePageController.java @@ -1,17 +1,16 @@ package com.fuyuanshen.web.controller.device; import com.fuyuanshen.common.core.domain.R; +import com.fuyuanshen.equipment.domain.vo.AlarmInformationVo; import com.fuyuanshen.equipment.domain.vo.DataOverviewVo; +import com.fuyuanshen.equipment.domain.vo.EquipmentClassificationVo; import com.fuyuanshen.equipment.service.DeviceService; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * 首页数据 @@ -39,29 +38,36 @@ public class HomePageController { } - - - // 获取设备使用数据 - @GetMapping("/{deviceId}") - public Map getUsageData( - @PathVariable String deviceId, - @RequestParam String range) { - - Map response = new HashMap<>(); - - if ("halfYear".equals(range)) { - response.put("months", Arrays.asList("1月", "2月", "3月", "4月", "5月", "6月")); - response.put("data", Arrays.asList(45, 52, 38, 60, 56, 48)); - } else if ("oneYear".equals(range)) { - response.put("months", Arrays.asList("7月", "8月", "9月", "10月", "11月", "12月", - "1月", "2月", "3月", "4月", "5月", "6月")); - response.put("data", Arrays.asList(42, 38, 45, 48, 52, 55, 45, 52, 38, 60, 56, 48)); - } - - response.put("deviceId", deviceId); - response.put("range", range); - response.put("lastUpdate", new Date()); - - return response; + /** + * 获取 设备分类 + * DataOverview + */ + @GetMapping("/getEquipmentClassification") + public R getEquipmentClassification() { + return R.ok(deviceService.getEquipmentClassification()); } + + + /** + * 获取 报警信息 + * DataOverview + */ + @GetMapping("/getAlarmInformation") + public R getAlarmInformation() { + return R.ok(deviceService.getAlarmInformation()); + } + + + /** + * 获取设备使用数据 + * + * @param deviceId 设备ID + * @param range 时间范围 1:半年 2:一年 + * @return 每月使用数据列表 + */ + @GetMapping("/getEquipmentUsageData/{deviceId}/{range}") + public R>> getEquipmentUsageData(@PathVariable Long deviceId, @PathVariable Integer range) { + return R.ok(deviceService.getEquipmentUsageData(deviceId, range)); + } + } diff --git a/fys-common/fys-common-encrypt/src/main/java/com/fuyuanshen/common/encrypt/utils/EncryptUtilsTest.java b/fys-common/fys-common-encrypt/src/main/java/com/fuyuanshen/common/encrypt/utils/EncryptUtilsTest.java index 08b352ac..05e035d2 100644 --- a/fys-common/fys-common-encrypt/src/main/java/com/fuyuanshen/common/encrypt/utils/EncryptUtilsTest.java +++ b/fys-common/fys-common-encrypt/src/main/java/com/fuyuanshen/common/encrypt/utils/EncryptUtilsTest.java @@ -39,8 +39,8 @@ public class EncryptUtilsTest { loginBody.setClientId("e5cd7e4891bf95d1d19206ce24a7b32e"); loginBody.setGrantType("password"); loginBody.setTenantId("894078"); - loginBody.setCode("9"); - loginBody.setUuid("d5be31eac1244cee851a9903f358bc6a"); + loginBody.setCode("0"); + loginBody.setUuid("1d6615668c7f410da77c4e002c601073"); // loginBody.setUsername("admin"); // loginBody.setPassword("admin123"); loginBody.setUsername("dyf"); diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java index 2c9a452e..778ab9db 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java @@ -162,7 +162,7 @@ public class Device extends TenantEntity { private Date productionDate; /** - * 在线状态(0离线,1在线) + * 在线状态(0离线,1在线,2异常) */ private Integer onlineStatus; } diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAlarm.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAlarm.java index f83e1611..65b4e88c 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAlarm.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAlarm.java @@ -36,8 +36,10 @@ public class DeviceAlarm extends TenantEntity { /** * 报警事项 + * 0-强制报警,1-撞击闯入,2-手动报警,3-电子围栏告警,4-强制告警 + * device_action */ - private String deviceAction; + private Integer deviceAction; /** * 设备名称 @@ -92,6 +94,7 @@ public class DeviceAlarm extends TenantEntity { /** * 0已处理,1未处理 + * treatment_state */ private Long treatmentState; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java index a8e46186..ef3e3691 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceType.java @@ -59,7 +59,7 @@ public class DeviceType extends TenantEntity { @Schema(title = "联网方式", example = "0:无;1:4G;2:WIFI") private String networkWay; - @Schema(title = "通讯方式", example = "0:4G;1:蓝牙") + @Schema(title = "通讯方式", example = "0:4G;1:蓝牙,2 4G&蓝牙") private String communicationMode; /** diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java index 1a38350a..bd1f4e43 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/DeviceMapper.java @@ -6,13 +6,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.dto.InstructionRecordDto; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; -import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; -import com.fuyuanshen.equipment.domain.vo.LocationHistoryVo; -import com.fuyuanshen.equipment.domain.vo.WebDeviceVo; +import com.fuyuanshen.equipment.domain.vo.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * @Description: @@ -72,7 +71,42 @@ public interface DeviceMapper extends BaseMapper { AppDeviceVo getDeviceInfo(@Param("deviceMac") String deviceMac); - Page queryWebDeviceList(Page build,@Param("criteria") DeviceQueryCriteria criteria); + Page queryWebDeviceList(Page build, @Param("criteria") DeviceQueryCriteria criteria); Page getLocationHistory(Page build, @Param("bo") InstructionRecordDto criteria); + + /** + * 获取数据总览 + * + * @return + */ + DataOverviewVo getDataOverview(); + + /** + * 获取设备分类 + * + * @return + */ + EquipmentClassificationVo getEquipmentClassification(); + + /** + * 获取告警信息 + * + * @return + */ + AlarmInformationVo getAlarmInformation(); + + /** + * 获取设备使用数据 + * + * @param deviceId 设备ID + * @param range 时间范围 1:半年 2:一年 + * @return 每月使用数据列表 + */ + List> getEquipmentUsageData(Long deviceId, Integer range); + + // 在DeviceMapper.java中添加方法 + int getUsageDataForMonth(@Param("deviceId") Long deviceId, + @Param("year") int year, + @Param("month") int month); } diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java index d2216b64..777f62bf 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java @@ -9,12 +9,11 @@ import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.dto.AppDeviceBo; import com.fuyuanshen.equipment.domain.form.DeviceForm; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; -import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; -import com.fuyuanshen.equipment.domain.vo.CustomerVo; -import com.fuyuanshen.equipment.domain.vo.DataOverviewVo; +import com.fuyuanshen.equipment.domain.vo.*; import java.io.IOException; import java.util.List; +import java.util.Map; /** * @Description: @@ -122,4 +121,27 @@ public interface DeviceService extends IService { * @return */ DataOverviewVo getDataOverview(); + + /** + * 获取设备分类 + * + * @return + */ + EquipmentClassificationVo getEquipmentClassification(); + + /** + * 获取告警信息 + * + * @return + */ + AlarmInformationVo getAlarmInformation(); + + /** + * 获取设备使用数据 + * + * @param deviceId + * @param range + * @return + */ + List> getEquipmentUsageData(Long deviceId, Integer range); } diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java index 2de40b42..967bc391 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java @@ -28,9 +28,7 @@ import com.fuyuanshen.equipment.domain.form.DeviceForm; import com.fuyuanshen.equipment.domain.query.DeviceAssignmentQuery; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria; -import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; -import com.fuyuanshen.equipment.domain.vo.CustomerVo; -import com.fuyuanshen.equipment.domain.vo.DataOverviewVo; +import com.fuyuanshen.equipment.domain.vo.*; import com.fuyuanshen.equipment.enums.BindingStatusEnum; import com.fuyuanshen.equipment.enums.CommunicationModeEnum; import com.fuyuanshen.equipment.enums.DeviceActiveStatusEnum; @@ -53,11 +51,9 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.sql.Timestamp; +import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * @Description: @@ -596,8 +592,6 @@ public class DeviceServiceImpl extends ServiceImpl impleme } - - /** * 查询设备MAC号 * @@ -623,7 +617,46 @@ public class DeviceServiceImpl extends ServiceImpl impleme */ @Override public DataOverviewVo getDataOverview() { - return null; + DataOverviewVo dataOverviewVo = deviceMapper.getDataOverview(); + return dataOverviewVo; + } + + + /** + * 获取设备分类 + * + * @return + */ + @Override + public EquipmentClassificationVo getEquipmentClassification() { + EquipmentClassificationVo equipmentClassification = deviceMapper.getEquipmentClassification(); + return equipmentClassification; + } + + + /** + * 获取告警信息 + * + * @return + */ + @Override + public AlarmInformationVo getAlarmInformation() { + AlarmInformationVo alarmInformation = deviceMapper.getAlarmInformation(); + return alarmInformation; + } + + /** + * 获取设备使用数据 + * + * @param deviceId 设备ID + * @param range 时间范围 1:半年 2:一年 + * @return 每月使用数据列表 + */ + @Override + public List> getEquipmentUsageData(Long deviceId, Integer range) { + List> equipmentUsageData = deviceMapper.getEquipmentUsageData(deviceId, range); + return equipmentUsageData; + } } diff --git a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml index 45bca794..88b17759 100644 --- a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml +++ b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml @@ -314,4 +314,93 @@ a.create_time DESC + + + + + + + + + + + + + + \ No newline at end of file