From 0f54f5f9f792aabad6deea6209ed0d0d29e21bf8 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 20 Dec 2021 11:47:44 +0800 Subject: [PATCH] 获取当前组织下设备列表及其详细信息 --- screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 11 +++++++++++ screen-api/src/main/java/com/moral/api/service/DeviceService.java | 3 +++ screen-api/src/main/java/com/moral/api/service/SysAreaService.java | 1 + screen-api/src/main/java/com/moral/api/controller/OrganizationController.java | 23 +++++++++++++++++++++++ 4 files changed, 38 insertions(+), 0 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/OrganizationController.java b/screen-api/src/main/java/com/moral/api/controller/OrganizationController.java index ad7a6b0..6101bfc 100644 --- a/screen-api/src/main/java/com/moral/api/controller/OrganizationController.java +++ b/screen-api/src/main/java/com/moral/api/controller/OrganizationController.java @@ -16,6 +16,7 @@ import javax.servlet.http.HttpServletRequest; +import com.moral.api.service.DeviceService; import com.moral.api.service.SysAreaService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; @@ -30,6 +31,9 @@ @Autowired private SysAreaService sysAreaService; + + @Autowired + private DeviceService deviceService; /** * @param request ������������ @@ -49,4 +53,23 @@ List<Map<String, Object>> response = sysAreaService.getMapPath(Integer.parseInt(params.get("organizationId").toString())); return ResultMessage.ok(response); } + + /** + * @param request ������������ + * @return ������������������������������������ + */ + @GetMapping("getDevicesByOrganizationId") + @ApiOperation(value = "���������������������������������", notes = "���������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "organizationId", value = "������id", required = true, paramType = "query", dataType = "String") + }) + public ResultMessage getDevicesByOrganizationId(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("organizationId")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + List<Map<String, Object>> response = deviceService.getDevicesByOrganizationId(Integer.parseInt(params.get("organizationId").toString())); + return ResultMessage.ok(response); + } } diff --git a/screen-api/src/main/java/com/moral/api/service/DeviceService.java b/screen-api/src/main/java/com/moral/api/service/DeviceService.java index 662d3c4..0fe13b7 100644 --- a/screen-api/src/main/java/com/moral/api/service/DeviceService.java +++ b/screen-api/src/main/java/com/moral/api/service/DeviceService.java @@ -28,4 +28,7 @@ //������mac������������������ Device getDeviceByMac(String mac); + //��������������������������������������� + List<Map<String, Object>> getDevicesByOrganizationId(Integer orgId); + } diff --git a/screen-api/src/main/java/com/moral/api/service/SysAreaService.java b/screen-api/src/main/java/com/moral/api/service/SysAreaService.java index a972152..f0a4201 100644 --- a/screen-api/src/main/java/com/moral/api/service/SysAreaService.java +++ b/screen-api/src/main/java/com/moral/api/service/SysAreaService.java @@ -16,6 +16,7 @@ */ public interface SysAreaService extends IService<SysArea> { + //��������������������������������� List<Map<String, Object>> getMapPath(Integer orgId); } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java index 1c1b45b..3541861 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -162,6 +163,16 @@ return device; } + @Override + public List<Map<String, Object>> getDevicesByOrganizationId(Integer orgId) { + //������������������mac + QueryWrapper<Device> queryWrapper = new QueryWrapper<>(); + queryWrapper.select("mac").eq("organization_id", orgId).eq("is_delete", Constants.NOT_DELETE); + List<Device> devices = deviceMapper.selectList(queryWrapper); + //���redis������������������������ + return devices.stream().map(device -> (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, device.getMac())).collect(Collectors.toList()); + } + private Device getDeviceByMacFromDB(String mac) { QueryWrapper<Device> wrapper = new QueryWrapper<>(); wrapper.eq("mac", mac); -- Gitblit v1.8.0