From 7ec5ff190006159cef17ef34cd7e61764e1467b3 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Fri, 31 Oct 2025 16:08:01 +0800
Subject: [PATCH] 增加mybatisplus数据范围过滤AOP和示例
---
ard-admin/src/main/java/com/ard/web/controller/sample/DeviceController.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 53 insertions(+), 3 deletions(-)
diff --git a/ard-admin/src/main/java/com/ard/web/controller/sample/DeviceController.java b/ard-admin/src/main/java/com/ard/web/controller/sample/DeviceController.java
index 0f2312d..0b561b6 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/sample/DeviceController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/sample/DeviceController.java
@@ -1,5 +1,8 @@
package com.ard.web.controller.sample;
+import com.ard.common.core.controller.BaseController;
+import com.ard.common.core.page.TableDataInfo;
+import com.ard.device.camera.domain.ArdCamera;
import com.ard.sample.common.error.CommonErrorEnum;
import com.ard.sample.common.model.PaginationData;
import com.ard.sample.common.model.ResponseResult;
@@ -8,19 +11,27 @@
import com.ard.sample.component.mqtt.model.CommonTopicResponse;
import com.ard.sample.manage.model.dto.DeviceDTO;
import com.ard.sample.manage.model.dto.DeviceFirmwareUpgradeDTO;
+import com.ard.sample.manage.model.entity.DeviceEntity;
+import com.ard.sample.manage.model.enums.DeviceFirmwareStatusEnum;
import com.ard.sample.manage.model.enums.DeviceSetPropertyEnum;
import com.ard.sample.manage.model.receiver.StatusGatewayReceiver;
import com.ard.sample.manage.service.IDeviceService;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.integration.annotation.ServiceActivator;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import java.time.ZoneId;
import java.util.List;
import java.util.Optional;
+
+import static com.ard.common.utils.PageUtils.startPage;
/**
* @author sean.zhou
@@ -31,7 +42,7 @@
@RestController
@Slf4j
@RequestMapping("/dock/device")
-public class DeviceController {
+public class DeviceController extends BaseController {
@Autowired
private IDeviceService deviceService;
@@ -121,6 +132,7 @@
/**
* Get the binding devices list
+ * 获取绑定设备列表
*
* @param page
* @param pageSize
@@ -131,8 +143,9 @@
public ResponseResult<PaginationData<DeviceDTO>> getBoundDevicesWithDomain(Integer domain,
@RequestParam(defaultValue = "1") Long page,
@RequestParam(value = "page_size",
- defaultValue = "50") Long pageSize) {
- PaginationData<DeviceDTO> devices = deviceService.getBoundDevicesWithDomain(page, pageSize, domain);
+ defaultValue = "50") Long pageSize,
+ @RequestParam(required = false) Long deptId) {
+ PaginationData<DeviceDTO> devices = deviceService.getBoundDevicesWithDomain(page, pageSize, domain, deptId);
return ResponseResult.success(devices);
}
@@ -200,4 +213,41 @@
deviceService.devicePropertySet(dockSn, propertyEnumOpt.get(), param.get(property));
return ResponseResult.success();
}
+
+ /**
+ * 查询机场设备列表
+ */
+ @PreAuthorize("@ss.hasPermi('device:camera:list')")
+ @GetMapping("/test/list")
+ @ApiOperation("查询机场设备列表")
+ public TableDataInfo list(DeviceDTO device) {
+ startPage();
+ DeviceEntity deviceEntity = deviceDTO2Entity(device);
+ QueryWrapper<DeviceEntity> queryWrapper=new QueryWrapper<>(deviceEntity);
+ List<DeviceEntity> list = deviceService.selectList(queryWrapper);
+ return getDataTable(list);
+ }
+
+ private DeviceEntity deviceDTO2Entity(DeviceDTO dto) {
+ DeviceEntity.DeviceEntityBuilder builder = DeviceEntity.builder();
+ if (dto == null) {
+ return builder.build();
+ }
+
+ return builder.deviceSn(dto.getDeviceSn())
+ .userId(dto.getUserId())
+ .nickname(dto.getNickname())
+ .boundStatus(dto.getBoundStatus())
+ .loginTime(dto.getLoginTime() != null ?
+ dto.getLoginTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() : null)
+ .boundTime(dto.getBoundTime() != null ?
+ dto.getBoundTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() : null)
+ .childSn(dto.getChildDeviceSn())
+ .domain(dto.getDomain())
+ .firmwareVersion(dto.getFirmwareVersion())
+ .workType(dto.getWorkType())
+ .compatibleStatus(dto.getFirmwareStatus() == null ? null :
+ DeviceFirmwareStatusEnum.CONSISTENT_UPGRADE != DeviceFirmwareStatusEnum.find(dto.getFirmwareStatus()))
+ .build();
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3