From a9f17043892449588f2d651c2d88a84611604393 Mon Sep 17 00:00:00 2001 From: HuangXin Date: Thu, 6 Aug 2020 16:04:52 +0800 Subject: [PATCH] =?UTF-8?q?OCT=20REM:=201.=20=E5=A2=9E=E5=8A=A0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DisposeDeviceManagerController.java | 68 ++++++++++++++++++- .../dispose/manager/DisposeDeviceManager.java | 12 ++++ .../impl/DisposeDeviceManagerImpl.java | 25 +++++++ .../device/manager/AddCapacityInfo.java | 2 + .../device/manager/AddDeviceInfo.java | 9 +-- .../device/manager/GetDeviceDetail.java | 30 ++++++++ .../protocol/device/manager/GetDeviceReq.java | 40 +++++++++++ .../protocol/device/manager/GetDeviceRsp.java | 54 +++++++++++++++ .../service/DisposeDeviceManagerService.java | 12 ++++ .../impl/DisposeDeviceManagerServiceImpl.java | 14 ++++ 10 files changed, 260 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceDetail.java create mode 100644 src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceReq.java create mode 100644 src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceRsp.java diff --git a/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java b/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java index 0ac91725..4c5362b7 100644 --- a/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java +++ b/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java @@ -2,21 +2,29 @@ package com.dispose.controller; import com.dispose.common.CommonEnumHandler; import com.dispose.common.DisposeCapacityType; +import com.dispose.common.DisposeDeviceType; import com.dispose.common.DisposeObjectType; import com.dispose.common.ErrorCode; +import com.dispose.common.HttpType; import com.dispose.common.IpAddrType; +import com.dispose.pojo.dto.protocol.base.BaseRespStatus; import com.dispose.pojo.dto.protocol.base.IdArraysReq; import com.dispose.pojo.dto.protocol.base.ProtocolReqDTO; import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO; import com.dispose.pojo.dto.protocol.base.ValidGroups; +import com.dispose.pojo.dto.protocol.device.manager.AddCapacityInfo; import com.dispose.pojo.dto.protocol.device.manager.AddDeviceReq; import com.dispose.pojo.dto.protocol.device.manager.AddDeviceRet; import com.dispose.pojo.dto.protocol.device.manager.AddDeviceRsp; import com.dispose.pojo.dto.protocol.device.manager.DeviceInfoRsp; +import com.dispose.pojo.dto.protocol.device.manager.GetDeviceDetail; +import com.dispose.pojo.dto.protocol.device.manager.GetDeviceReq; +import com.dispose.pojo.dto.protocol.device.manager.GetDeviceRsp; import com.dispose.pojo.entity.DisposeCapacity; import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.po.MulReturnType; import com.dispose.service.DisposeDeviceManagerService; +import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -61,7 +69,7 @@ public class DisposeDeviceManagerController { DisposeDevice dev = DisposeDevice.builder() .ipAddr(v.getIpAddr()) .ipPort(v.getIpPort()) - .deviceType(v.getDeviceType()) + .deviceType(CommonEnumHandler.codeOf(DisposeDeviceType.class, v.getDeviceType())) .areaCode(v.getAreaCode()) .deviceName(v.getDeviceName()) .manufacturer(v.getManufacturer()) @@ -70,7 +78,7 @@ public class DisposeDeviceManagerController { .userName(v.getUserName()) .password(v.getPassword()) .urlPath(v.getUrlPath()) - .urlType(v.getUrlType()) + .urlType(CommonEnumHandler.codeOf(HttpType.class, v.getUrlType())) .readme(v.getReadme()) .build(); @@ -205,4 +213,60 @@ public class DisposeDeviceManagerController { return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo); } + + @PostMapping("/device_list") + @ResponseBody + @ApiOperation("删除处置能力节点") + public ProtocolRespDTO getAllDisposeDevice( + @Validated(ValidGroups.ProtocolCommonValid.class) + @RequestBody ProtocolReqDTO mr) { + + MulReturnType, List> ret = + disposeDeviceManagerService.getAllDisposeDevice(mr.getMsgContent().getStartPage(), + Integer.parseInt(mr.getMsgContent().getPageSize())); + + GetDeviceRsp rspInfo = new GetDeviceRsp(); + + rspInfo.setStatus(ErrorCode.ERR_OK.getCode()); + rspInfo.setMessage(new String[]{ErrorCode.ERR_OK.getMsg()}); + rspInfo.setCurPageNumber(ret.getFirstParam().getPageNum()); + rspInfo.setPageSize(ret.getFirstParam().getPageSize()); + rspInfo.setTotalItems((int)ret.getFirstParam().getTotal()); + rspInfo.setTotalPages(ret.getFirstParam().getPages()); + + ret.getSecondParam().forEach(v -> { + GetDeviceDetail devInfo = new GetDeviceDetail(); + devInfo.setId(v.getId().toString()); + devInfo.setIpAddr(v.getIpAddr()); + devInfo.setIpPort(v.getIpPort()); + devInfo.setDeviceType(v.getDeviceType().getValue()); + devInfo.setAreaCode(v.getAreaCode()); + devInfo.setDeviceName(v.getDeviceName()); + devInfo.setManufacturer(v.getManufacturer()); + devInfo.setModel(v.getModel()); + devInfo.setVersion(v.getVersion()); + devInfo.setUrlType(v.getUrlType().getValue()); + devInfo.setReadme(v.getReadme()); + devInfo.setDevStatus(v.getStatus().getValue()); + + List capList = new ArrayList<>(); + + v.getDevCapacity().forEach(k -> { + AddCapacityInfo capInfo = AddCapacityInfo.builder() + .capacityType(k.getCapacityType().getValue()) + .objectType(k.getObjectType().getValue()) + .ipType(k.getIpType().getValue()) + .protectIp(k.getProtectIp()) + .build(); + + capList.add(capInfo); + }); + + devInfo.setCapacity(capList); + + rspInfo.getItems().add(devInfo); + }); + + return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo); + } } diff --git a/src/main/java/com/dispose/manager/DisposeDeviceManager.java b/src/main/java/com/dispose/manager/DisposeDeviceManager.java index 06ad35c1..a52053df 100644 --- a/src/main/java/com/dispose/manager/DisposeDeviceManager.java +++ b/src/main/java/com/dispose/manager/DisposeDeviceManager.java @@ -4,8 +4,10 @@ import com.dispose.common.ErrorCode; import com.dispose.common.ObjectStatus; import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.po.MulReturnType; +import com.github.pagehelper.PageInfo; import java.lang.reflect.InvocationTargetException; +import java.util.List; /** * The interface Dispose device manager. @@ -45,4 +47,14 @@ public interface DisposeDeviceManager { * @return the mul return type */ MulReturnType changeDisposeDeviceStatus(Long id, ObjectStatus status); + + /** + * Gets all devices. + * + * @param startPage the start page + * @param pageSize the page size + * @return the all devices + */ + MulReturnType, List> getAllDevices(Integer startPage, + Integer pageSize); } diff --git a/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java b/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java index 8b46efef..6a10d15d 100644 --- a/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java +++ b/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java @@ -8,12 +8,15 @@ import com.dispose.mapper.DisposeCapacityMapper; import com.dispose.mapper.DisposeDeviceMapper; import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.po.MulReturnType; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.lang.reflect.Field; import java.lang.reflect.Modifier; +import java.util.List; import java.util.concurrent.ConcurrentHashMap; /** @@ -196,4 +199,26 @@ public class DisposeDeviceManagerImpl implements DisposeDeviceManager { } } } + + /** + * Gets all devices. + * + * @param startPage the start page + * @param pageSize the page size + * @return the all devices + */ + @Override + public MulReturnType, List> getAllDevices(Integer startPage, + Integer pageSize) { + // 设置分页信息 + PageHelper.startPage(startPage, pageSize); + + // 获取分页数据 + List devList = disposeDeviceMapper.selectAll(); + + // 获取分页信息 + PageInfo pageInfo = new PageInfo<>(devList); + + return new MulReturnType<>(pageInfo, devList); + } } diff --git a/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddCapacityInfo.java b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddCapacityInfo.java index c03c2974..927964a5 100644 --- a/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddCapacityInfo.java +++ b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddCapacityInfo.java @@ -1,6 +1,7 @@ package com.dispose.pojo.dto.protocol.device.manager; import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,6 +16,7 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor +@JsonPropertyOrder({"capacityType", "objectType", "ipType", "protectIp"}) @JsonInclude(JsonInclude.Include.NON_NULL) public class AddCapacityInfo { /** diff --git a/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddDeviceInfo.java b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddDeviceInfo.java index b5057be4..0b8d830d 100644 --- a/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddDeviceInfo.java +++ b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/AddDeviceInfo.java @@ -1,9 +1,8 @@ package com.dispose.pojo.dto.protocol.device.manager; -import com.dispose.common.DisposeDeviceType; -import com.dispose.common.HttpType; import com.dispose.pojo.dto.protocol.base.ValidGroups; import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -23,6 +22,8 @@ import java.util.List; @Builder @NoArgsConstructor @AllArgsConstructor +@JsonPropertyOrder({"ipAddr", "ipPort", "deviceType", "areaCode", "deviceName", "manufacturer", + "model", "version", "userName", "password", "urlPath", "urlType", "readme", "capacity"}) @JsonInclude(JsonInclude.Include.NON_NULL) public class AddDeviceInfo { /** @@ -40,7 +41,7 @@ public class AddDeviceInfo { /** * The Device type. */ - private DisposeDeviceType deviceType; + private Integer deviceType; /** * The Area code. @@ -87,7 +88,7 @@ public class AddDeviceInfo { * The Url type. */ @NotNull(message = "urlType URL类型不能为空", groups = ValidGroups.AddDeviceValid.class) - private HttpType urlType; + private Integer urlType; /** * The Readme. diff --git a/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceDetail.java b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceDetail.java new file mode 100644 index 00000000..d61bf0bf --- /dev/null +++ b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceDetail.java @@ -0,0 +1,30 @@ +package com.dispose.pojo.dto.protocol.device.manager; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * The type Get device detail. + * + * @author + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@JsonPropertyOrder({"id", "ipAddr", "ipPort", "deviceType", "areaCode", "deviceName", "manufacturer", + "model", "version", "userName", "password", "urlPath", "urlType", "readme", "capacity", "status"}) +@JsonInclude(JsonInclude.Include.NON_NULL) +public class GetDeviceDetail extends AddDeviceInfo { + /** + * The Id. + */ + private String id; + + /** + * The Status. + */ + private Integer devStatus; +} diff --git a/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceReq.java b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceReq.java new file mode 100644 index 00000000..5a51dc6e --- /dev/null +++ b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceReq.java @@ -0,0 +1,40 @@ +package com.dispose.pojo.dto.protocol.device.manager; + +import com.dispose.pojo.dto.protocol.base.ValidGroups; +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.PositiveOrZero; + +/** + * The type Get device req. + * + * @author + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@JsonInclude(JsonInclude.Include.NON_NULL) +public class GetDeviceReq { + /** + * The Start page. + */ + @PositiveOrZero(message = "startPage 字段值不能小于0", groups = ValidGroups.ProtocolCommonValid.class) + @NotNull(message = "startPage 字段不能为空", groups = ValidGroups.ProtocolCommonValid.class) + private Integer startPage; + + /** + * The Page size. + */ + @Pattern(regexp = "^([1-5]0)$", + message = "pageSize 字段取值为 {10, 20, 30, 40, 50}", + groups = ValidGroups.ProtocolCommonValid.class) + @NotNull(message = "pageSize 字段不能为空", groups = ValidGroups.ProtocolCommonValid.class) + private String pageSize; +} diff --git a/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceRsp.java b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceRsp.java new file mode 100644 index 00000000..63f5b9dd --- /dev/null +++ b/src/main/java/com/dispose/pojo/dto/protocol/device/manager/GetDeviceRsp.java @@ -0,0 +1,54 @@ +package com.dispose.pojo.dto.protocol.device.manager; + +import com.dispose.pojo.dto.protocol.base.BaseRespStatus; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +/** + * The type Get device rsp. + * + * @author + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Builder +@AllArgsConstructor +@JsonPropertyOrder({"curPageNumber", "pageSize", "totalItems", "totalPages", "status", "message", "items"}) +@JsonInclude(JsonInclude.Include.NON_NULL) +public class GetDeviceRsp extends BaseRespStatus { + /** + * The Cur page number. + */ + private Integer curPageNumber; + /** + * The Page size. + */ + private Integer pageSize; + /** + * The Total items. + */ + private Integer totalItems; + /** + * The Total pages. + */ + private Integer totalPages; + + /** + * The Items. + */ + private List items; + + /** + * Instantiates a new Get device rsp. + */ + public GetDeviceRsp() { + this.items = new ArrayList<>(); + } +} diff --git a/src/main/java/com/dispose/service/DisposeDeviceManagerService.java b/src/main/java/com/dispose/service/DisposeDeviceManagerService.java index 3ac93b1e..9106fb84 100644 --- a/src/main/java/com/dispose/service/DisposeDeviceManagerService.java +++ b/src/main/java/com/dispose/service/DisposeDeviceManagerService.java @@ -3,6 +3,7 @@ package com.dispose.service; import com.dispose.common.ErrorCode; import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.po.MulReturnType; +import com.github.pagehelper.PageInfo; import java.util.List; @@ -36,4 +37,15 @@ public interface DisposeDeviceManagerService { * @return the list */ List> upgradeDisposeDevice(List devs); + + + /** + * Gets all dispose device. + * + * @param startPage the start page + * @param pageSize the page size + * @return the all dispose device + */ + MulReturnType, List> getAllDisposeDevice(Integer startPage, + Integer pageSize); } diff --git a/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java b/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java index 8771d09e..76a9ddd0 100644 --- a/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java @@ -6,6 +6,7 @@ import com.dispose.manager.DisposeDeviceManager; import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.po.MulReturnType; import com.dispose.service.DisposeDeviceManagerService; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -100,4 +101,17 @@ public class DisposeDeviceManagerServiceImpl implements DisposeDeviceManagerServ return rspList; } + + /** + * Gets all dispose device. + * + * @param startPage the start page + * @param pageSize the page size + * @return the all dispose device + */ + @Override + public MulReturnType, List> getAllDisposeDevice(Integer startPage, + Integer pageSize) { + return disposeDeviceManager.getAllDevices(startPage, pageSize); + } }