diff --git a/config/application-dispose.properties b/config/application-dispose.properties index f49d7abb..2035c9cf 100644 --- a/config/application-dispose.properties +++ b/config/application-dispose.properties @@ -5,6 +5,8 @@ dispose.split_char=, dispose.request-timeout-second=5 dispose.used-privacy-protect=true dispose.call-error-retry-times=3 +dispose.max-split-page-size=100 +dispose.min-split-page-size=10 # 迪普设备配置 # 发送超时时间(s) diff --git a/src/main/java/com/dispose/common/DisposeConfigValue.java b/src/main/java/com/dispose/common/DisposeConfigValue.java index 69742cc8..d9054ba8 100644 --- a/src/main/java/com/dispose/common/DisposeConfigValue.java +++ b/src/main/java/com/dispose/common/DisposeConfigValue.java @@ -25,12 +25,25 @@ public class DisposeConfigValue { /** * The constant CALL_ERROR_RETRY_TIMES. */ - public static volatile int CALL_ERROR_RETRY_TIMES=5; + public static volatile int CALL_ERROR_RETRY_TIMES = 5; /** * The constant DEFAULT_DISPOSE_BANDWIDTH. */ - public static volatile int DEFAULT_DISPOSE_BANDWIDTH=1024; + public static volatile int DEFAULT_DISPOSE_BANDWIDTH = 1024; - public static volatile String SPLIT_CHAR=","; + /** + * The constant SPLIT_CHAR. + */ + public static volatile String SPLIT_CHAR = ","; + + /** + * The constant MAX_SPLIT_PAGE_SIZE. + */ + public static volatile int MAX_SPLIT_PAGE_SIZE = 100; + + /** + * The constant MIN_SPLIT_PAGE_SIZE. + */ + public static volatile int MIN_SPLIT_PAGE_SIZE = 10; } diff --git a/src/main/java/com/dispose/common/ErrorCode.java b/src/main/java/com/dispose/common/ErrorCode.java index 2576f75b..4cf51783 100644 --- a/src/main/java/com/dispose/common/ErrorCode.java +++ b/src/main/java/com/dispose/common/ErrorCode.java @@ -7,214 +7,200 @@ package com.dispose.common; */ public enum ErrorCode { /** - * The Err ok. + * Err ok error code. */ ERR_OK(0, "成功"), /** - * The Err password. + * Err password error code. */ ERR_PASSWORD(1, "密码错误"), /** - * The Err usernotfound. + * Err usernotfound error code. */ ERR_USERNOTFOUND(2, "用户不存在"), /** - * The Err passwordmore. + * Err passwordmore error code. */ ERR_PASSWORDMORE(3, "连续密码错误达上限,再次输入错误将锁定用户"), /** - * The Err userlock. + * Err userlock error code. */ ERR_USERLOCK(4, "密码错误达上限,用户被锁定"), /** - * The Err account. + * Err account error code. */ ERR_ACCOUNT(5, "用户账户异常"), /** - * The Err userexist. + * Err userexist error code. */ ERR_USEREXIST(6, "该用户已经存在"), /** - * The Err passwordsimple. + * Err passwordsimple error code. */ ERR_PASSWORDSIMPLE(7, "用户密码强度不符合要求"), /** - * The Err inputformat. + * Err inputformat error code. */ ERR_INPUTFORMAT(8, "输入信息格式有误"), /** - * The Err inputmiss. + * Err inputmiss error code. */ ERR_INPUTMISS(9, "缺少必要输入信息"), /** - * The Err permission. + * Err permission error code. */ ERR_PERMISSION(10, "操作员权限不足"), /** - * The Err reqtimeout. + * Err reqtimeout error code. */ ERR_REQTIMEOUT(11, "请求超时"), /** - * The Err params. + * Err params error code. */ ERR_PARAMS(12, "参数错误"), /** - * The Err systemexception. + * Err systemexception error code. */ ERR_SYSTEMEXCEPTION(13, "系统异常"), /** - * The Err unknowncmd. + * Err unknowncmd error code. */ ERR_UNKNOWNCMD(14, "未知命令"), /** - * The Err logout. + * Err logout error code. */ ERR_LOGOUT(15, "用户未登录"), /** - * The Err tokentimeout. + * Err tokentimeout error code. */ ERR_TOKENTIMEOUT(16, "Token超时"), /** - * The Err tokennotfound. + * Err tokennotfound error code. */ ERR_TOKENNOTFOUND(17, "非法Token"), /** - * The Err missauthhead. + * Err missauthhead error code. */ ERR_MISSAUTHHEAD(18, "Http 请求缺少认证头部"), /** - * The Err nosuchdevice. + * Err nosuchdevice error code. */ ERR_NOSUCHDEVICE(19, "没有这个设备"), /** - * The Err deviceexists. + * Err deviceexists error code. */ ERR_DEVICEEXISTS(20, "设备已经存在"), /** - * The Err paramexception. + * Err paramexception error code. */ ERR_PARAMEXCEPTION(21, "参数异常"), /** - * The Err devicelocked. + * Err devicelocked error code. */ ERR_DEVICELOCKED(22, "设备已锁定"), /** - * The Err version. + * Err version error code. */ ERR_VERSION(23, "协议版本不兼容,请升级系统"), /** - * The Err nosuchtype. + * Err nosuchtype error code. */ ERR_NOSUCHTYPE(24, "没有这个类型的处置设备"), /** - * The Err removemore. + * Err removemore error code. */ ERR_REMOVEMORE(25, "禁止同时删除多个设备"), - /** - * The Err taskrunning. + * Err taskrunning error code. */ ERR_TASKRUNNING(26, "同类任务正在运行"), - /** - * The Err unsupport. + * Err unsupport error code. */ ERR_UNSUPPORT(27, "不支持的操作"), - /** - * The Err interrupt. + * Err interrupt error code. */ ERR_INTERRUPT(28, "操作中断"), - /** - * The Err calldevice. + * Err calldevice error code. */ ERR_CALLDEVICE(29, "调用设备失败"), - /** - * The Err nosuchtask. + * Err nosuchtask error code. */ ERR_NOSUCHTASK(30, "没有该任务"), - /** - * The Err tasknotrunning. + * Err tasknotrunning error code. */ ERR_TASKNOTRUNNING(31, "该任务没有运行"), - /** - * The Err requesttimeout. + * Err requesttimeout error code. */ ERR_REQUESTTIMEOUT(32, "请求超时"), - /** - * The Err unabledisposeip. + * Err unabledisposeip error code. */ ERR_UNABLEDISPOSEIP(33, "无法处置该IP"), - /** - * The Err haohan error. + * Err haohan error error code. */ ERR_HAOHAN_ERROR(34, "浩瀚设备返回错误"), - /** - * The Err database. + * Err database error code. */ ERR_DATABASE(35, "操作数据库失败"), - /** - * The Err ipnodevice. + * Err ipnodevice error code. */ ERR_IPNODEVICE(36, "找不到处置该IP的设备"), - /** * Err untrusthost error code. */ ERR_UNTRUSTHOST(37, "未经授权的客户端"), - /** * Err untrusttoken error code. */ - ERR_UNTRUSTTOKEN(37, "未经授权的Token"), + ERR_UNTRUSTTOKEN(38, "未经授权的Token"), /** - * The Err decrypt base 64. + * Err decrypt base 64 error code. */ ERR_DECRYPT_BASE64(100, "BASE64解密失败"), /** - * The Err encrypt base 64. + * Err encrypt base 64 error code. */ ERR_ENCRYPT_BASE64(101, "BASE64加密失败"), /** - * The Err decrypt aes 256. + * Err decrypt aes 256 error code. */ ERR_DECRYPT_AES256(102, "AES256解密失败"), /** - * The Err encrypt aes 256. + * Err encrypt aes 256 error code. */ ERR_ENCRYPT_AES256(103, "AES256加密失败"), /** - * The Err decrypt 3 des. + * Err decrypt 3 des error code. */ ERR_DECRYPT_3DES(104, "3DES解密失败"), /** - * The Err encrypt 3 des. + * Err encrypt 3 des error code. */ ERR_ENCRYPT_3DES(105, "3DES加密失败"), /** - * The Err decrypt unknown. + * Err decrypt unknown error code. */ ERR_DECRYPT_UNKNOWN(106, "不支持的解密算法"), /** - * The Err encrypt unknown. + * Err encrypt unknown error code. */ ERR_ENCRYPT_UNKNOWN(107, "不支持的加密算法"), - /** - * The Err json encode. + * Err json encode error code. */ ERR_JSON_ENCODE(108, "Json 序列号错误"), /** - * The Err json decode. + * Err json decode error code. */ ERR_JSON_DECODE(109, "Json 反序列化错误"), ; diff --git a/src/main/java/com/dispose/common/ObjectStatus.java b/src/main/java/com/dispose/common/ObjectStatus.java index 34e8563f..f4d32f05 100644 --- a/src/main/java/com/dispose/common/ObjectStatus.java +++ b/src/main/java/com/dispose/common/ObjectStatus.java @@ -13,15 +13,15 @@ public enum ObjectStatus implements BaseEnum { /** * The Locked. */ - LOCKED(1, "锁定"), + LOCKED(1, "已锁定"), /** * The Disabled. */ - DISABLED(2, "禁用"), + DISABLED(2, "已禁用"), /** * The Deleted. */ - DELETED(3, "删除"); + DELETED(3, "已删除"); /** * The Code. diff --git a/src/main/java/com/dispose/config/AuthConfigure.java b/src/main/java/com/dispose/config/AuthConfigure.java index 0cbc9f45..aacc0ec8 100644 --- a/src/main/java/com/dispose/config/AuthConfigure.java +++ b/src/main/java/com/dispose/config/AuthConfigure.java @@ -40,7 +40,8 @@ public class AuthConfigure implements WebMvcConfigurer { */ @PostConstruct private void initGlobalValue() { - AuthConfigValue.TOKEN_EXPIRED_TIME_MS = Optional.ofNullable(tokenTimeoutMinute).orElse((long) 30 * 60 * 1000); + AuthConfigValue.TOKEN_EXPIRED_TIME_MS = + Optional.of(tokenTimeoutMinute * 60 * 1000).orElse((long) 30 * 60 * 1000); AuthConfigValue.VERIFY_REQUEST_TOKEN = Optional.ofNullable(verifyRequestToken).orElse(true); } diff --git a/src/main/java/com/dispose/config/DisposeConfigure.java b/src/main/java/com/dispose/config/DisposeConfigure.java index 15ea184d..e6d38ad1 100644 --- a/src/main/java/com/dispose/config/DisposeConfigure.java +++ b/src/main/java/com/dispose/config/DisposeConfigure.java @@ -41,12 +41,21 @@ public class DisposeConfigure { * The Used privacy protect. */ private Boolean usedPrivacyProtect; - /** * The Default dispose band width. */ private Integer defaultDisposeBandWidth; + /** + * The Max split page size. + */ + private Integer maxSplitPageSize; + + /** + * The Min split page size. + */ + private Integer minSplitPageSize; + /** * Init global value. */ @@ -58,5 +67,7 @@ public class DisposeConfigure { DisposeConfigValue.CALL_ERROR_RETRY_TIMES = Optional.ofNullable(callErrorRetryTimes).orElse(5); DisposeConfigValue.DEFAULT_DISPOSE_BANDWIDTH = Optional.ofNullable(defaultDisposeBandWidth).orElse(1024); DisposeConfigValue.SPLIT_CHAR = Optional.ofNullable(splitChar).orElse(","); + DisposeConfigValue.MAX_SPLIT_PAGE_SIZE = Optional.ofNullable(maxSplitPageSize).orElse(100); + DisposeConfigValue.MIN_SPLIT_PAGE_SIZE = Optional.ofNullable(minSplitPageSize).orElse(10); } } diff --git a/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java b/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java index 86abfb38..7cafad4f 100644 --- a/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java +++ b/src/main/java/com/dispose/controller/DisposeDeviceManagerController.java @@ -79,20 +79,21 @@ public class DisposeDeviceManagerController { // 获取请求中的需要添加的设备列表 req.getItems().forEach(v -> { DisposeDevice dev = DisposeDevice.builder() - .ipAddr(v.getIpAddr()) - .ipPort(v.getIpPort()) - .deviceType(CommonEnumHandler.codeOf(DisposeDeviceType.class, v.getDeviceType())) - .areaCode(v.getAreaCode()) - .deviceName(v.getDeviceName()) - .manufacturer(v.getManufacturer()) - .model(v.getModel()) - .version(v.getVersion()) - .userName(v.getUserName()) - .password(v.getPassword()) - .urlPath(v.getUrlPath()) - .urlType(CommonEnumHandler.codeOf(HttpType.class, v.getUrlType())) - .readme(v.getReadme()) - .build(); + .ipAddr(v.getIpAddr()) + .ipPort(v.getIpPort()) + .deviceType(CommonEnumHandler.codeOf(DisposeDeviceType.class, + v.getDeviceType())) + .areaCode(v.getAreaCode()) + .deviceName(v.getDeviceName()) + .manufacturer(v.getManufacturer()) + .model(v.getModel()) + .version(v.getVersion()) + .userName(v.getUserName()) + .password(v.getPassword()) + .urlPath(v.getUrlPath()) + .urlType(CommonEnumHandler.codeOf(HttpType.class, v.getUrlType())) + .readme(v.getReadme()) + .build(); // 初始化设备能力信息 dev.setDevCapacity(new ArrayList<>()); @@ -100,11 +101,13 @@ public class DisposeDeviceManagerController { v.getCapacity().forEach(k -> { // 添加设备能力 DisposeCapacity cap = DisposeCapacity.builder() - .capacityType(CommonEnumHandler.codeOf(DisposeCapacityType.class, k.getCapacityType())) - .ipType(CommonEnumHandler.codeOf(IpAddrType.class, k.getIpType())) - .objectType(CommonEnumHandler.codeOf(DisposeObjectType.class, k.getObjectType())) - .protectIp(k.getProtectIp()) - .build(); + .capacityType(CommonEnumHandler.codeOf(DisposeCapacityType.class, k + .getCapacityType())) + .ipType(CommonEnumHandler.codeOf(IpAddrType.class, k.getIpType())) + .objectType(CommonEnumHandler.codeOf(DisposeObjectType.class, + k.getObjectType())) + .protectIp(k.getProtectIp()) + .build(); dev.getDevCapacity().add(cap); }); @@ -124,8 +127,8 @@ public class DisposeDeviceManagerController { @ResponseBody @ApiOperation("添加处置能力节点") public ProtocolRespDTO addDisposeDevice( - @Validated(ValidGroups.AddDeviceValid.class) - @RequestBody ProtocolReqDTO mr) { + @Validated(ValidGroups.AddDeviceValid.class) + @RequestBody ProtocolReqDTO mr) { // 请求参数转换 List devs = requestToDeviceList(mr.getMsgContent()); @@ -139,15 +142,17 @@ public class DisposeDeviceManagerController { ret.forEach(v -> { DisposeDevice dev = v.getSecondParam(); AddDeviceRet rsp = AddDeviceRet.builder() - .ipAddr(dev.getIpAddr()) - .ipPort(dev.getIpPort()) - .build(); + .ipAddr(dev.getIpAddr()) + .ipPort(dev.getIpPort().length() == 0 ? + (dev.getUrlType() == HttpType.HTTP ? + "80" : "443") : dev.getIpPort()) + .build(); rsp.setStatus(v.getFirstParam().getCode()); - rsp.setMessage(new String[] {v.getFirstParam().getMsg()}); + rsp.setMessage(new String[]{v.getFirstParam().getMsg()}); // 添加设备成功,记录新增设备ID - if(rsp.getStatus() == ErrorCode.ERR_OK.getCode()) { + if (rsp.getStatus() == ErrorCode.ERR_OK.getCode()) { rsp.setDevId(String.valueOf(dev.getId())); } @@ -167,8 +172,8 @@ public class DisposeDeviceManagerController { @ResponseBody @ApiOperation("删除处置能力节点") public ProtocolRespDTO> removeDisposeDevice( - @Validated(ValidGroups.ExplicitIdArrayValid.class) - @RequestBody ProtocolReqDTO mr) { + @Validated(ValidGroups.ExplicitIdArrayValid.class) + @RequestBody ProtocolReqDTO mr) { List idList = new ArrayList<>(); @@ -178,7 +183,7 @@ public class DisposeDeviceManagerController { } List> ret = - disposeDeviceManagerService.removeDisposeDevice(idList); + disposeDeviceManagerService.removeDisposeDevice(idList); List rspInfo = new ArrayList<>(); @@ -189,7 +194,7 @@ public class DisposeDeviceManagerController { rsp.setId(String.valueOf(dev.getId())); rsp.setDevStatus(dev.getStatus()); rsp.setStatus(v.getFirstParam().getCode()); - rsp.setMessage(new String[] {v.getFirstParam().getMsg()}); + rsp.setMessage(new String[]{v.getFirstParam().getMsg()}); rspInfo.add(rsp); }); @@ -207,8 +212,8 @@ public class DisposeDeviceManagerController { @ResponseBody @ApiOperation("更新处置能力节点") public ProtocolRespDTO> upgradeDisposeDevice( - @Validated(ValidGroups.UpgradeDeviceValid.class) - @RequestBody ProtocolReqDTO mr) { + @Validated(ValidGroups.UpgradeDeviceValid.class) + @RequestBody ProtocolReqDTO mr) { // 请求参数转换 List devs = requestToDeviceList(mr.getMsgContent()); @@ -224,7 +229,7 @@ public class DisposeDeviceManagerController { rsp.setId(String.valueOf(dev.getId())); rsp.setStatus(v.getFirstParam().getCode()); - rsp.setMessage(new String[] {v.getFirstParam().getMsg()}); + rsp.setMessage(new String[]{v.getFirstParam().getMsg()}); rspInfo.add(rsp); }); @@ -242,12 +247,12 @@ public class DisposeDeviceManagerController { @ResponseBody @ApiOperation("获取处置能力节点") public ProtocolRespDTO getAllDisposeDevice( - @Validated(ValidGroups.ProtocolCommonValid.class) - @RequestBody ProtocolReqDTO mr) { + @Validated(ValidGroups.ProtocolCommonValid.class) + @RequestBody ProtocolReqDTO mr) { MulReturnType, List> ret = - disposeDeviceManagerService.getAllDisposeDevice(mr.getMsgContent().getStartPage(), - Integer.parseInt(mr.getMsgContent().getPageSize())); + disposeDeviceManagerService.getPageDisposeDevice(mr.getMsgContent().getStartPage(), + mr.getMsgContent().getPageSize()); GetDeviceRsp rspInfo = new GetDeviceRsp(); @@ -258,7 +263,7 @@ public class DisposeDeviceManagerController { // 分页信息 rspInfo.setCurPageNumber(ret.getFirstParam().getPageNum()); rspInfo.setPageSize(ret.getFirstParam().getPageSize()); - rspInfo.setTotalItems((int)ret.getFirstParam().getTotal()); + rspInfo.setTotalItems((int) ret.getFirstParam().getTotal()); rspInfo.setTotalPages(ret.getFirstParam().getPages()); // 设备信息 @@ -266,8 +271,9 @@ public class DisposeDeviceManagerController { GetDeviceDetail devInfo = new GetDeviceDetail(); devInfo.setId(v.getId().toString()); devInfo.setIpAddr(DisposeConfigValue.USED_PRIVACY_PROTECT ? - PrivacyHelper.ipAddressPrivacy(v.getIpAddr()) : v.getIpAddr()); - devInfo.setIpPort(v.getIpPort()); + PrivacyHelper.ipAddressPrivacy(v.getIpAddr()) : v.getIpAddr()); + devInfo.setIpPort(v.getIpPort().length() == 0 ? + (v.getUrlType() == HttpType.HTTP ? "80" : "443") : v.getIpPort()); devInfo.setDeviceType(v.getDeviceType().getValue()); devInfo.setAreaCode(v.getAreaCode()); devInfo.setDeviceName(v.getDeviceName()); @@ -275,7 +281,7 @@ public class DisposeDeviceManagerController { devInfo.setModel(v.getModel()); devInfo.setVersion(v.getVersion()); devInfo.setUserName(DisposeConfigValue.USED_PRIVACY_PROTECT ? - PrivacyHelper.usernamePrivacy(v.getUserName()) : v.getUserName()); + PrivacyHelper.usernamePrivacy(v.getUserName()) : v.getUserName()); devInfo.setUrlType(v.getUrlType().getValue()); devInfo.setReadme(v.getReadme()); devInfo.setDevStatus(v.getStatus().getValue()); @@ -284,11 +290,12 @@ public class DisposeDeviceManagerController { v.getDevCapacity().forEach(k -> { AddCapacityInfo capInfo = AddCapacityInfo.builder() - .capacityType(k.getCapacityType().getValue()) - .objectType(k.getObjectType().getValue()) - .ipType(k.getIpType().getValue()) - .protectIp(k.getProtectIp()) - .build(); + .capacityType(k.getCapacityType().getValue()) + .objectType(k.getObjectType().getValue()) + .ipType(k.getIpType().getValue()) + .protectIp(k.getProtectIp()) + .reserveNetflow(k.getReserveNetflow()) + .build(); capList.add(capInfo); }); diff --git a/src/main/java/com/dispose/controller/DisposeInfoController.java b/src/main/java/com/dispose/controller/DisposeInfoController.java new file mode 100644 index 00000000..595aaf3c --- /dev/null +++ b/src/main/java/com/dispose/controller/DisposeInfoController.java @@ -0,0 +1,90 @@ +package com.dispose.controller; + +import com.dispose.common.DisposeCapacityType; +import com.dispose.common.ErrorCode; +import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO; +import com.dispose.pojo.dto.protocol.device.info.AreaInfoDetail; +import com.dispose.pojo.dto.protocol.device.info.GetAreaInfoRsp; +import com.dispose.pojo.entity.DisposeDevice; +import com.dispose.service.AreaCodeManagerService; +import com.dispose.service.DisposeAbilityRouterService; +import com.dispose.service.DisposeDeviceManagerService; +import com.security.annotation.Decryption; +import com.security.annotation.Encryption; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Controller; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * The type Dispose info controller. + * + * @author + */ +@Controller +@RequestMapping(value = "/info") +@Slf4j +@Api(value = "处置平台认证接口", tags = "前端接口接口") +@Component +@Validated +@Encryption +@Decryption +public class DisposeInfoController { + + /** + * The Dispose device manager service. + */ + @Resource + private DisposeDeviceManagerService disposeDeviceManagerService; + + /** + * The Dispose ability router service. + */ + @Resource + private DisposeAbilityRouterService disposeAbilityRouterService; + + @Resource + private AreaCodeManagerService areaCodeManagerService; + + /** + * Gets all dispose device. + * + * @return the all dispose device + */ + @GetMapping("areaInfo") + @ResponseBody + @ApiOperation("获取处置能力节点") + public ProtocolRespDTO getAllDisposeDevice() { + + GetAreaInfoRsp rspInfo = GetAreaInfoRsp.builder() + .items(new ArrayList<>()) + .build(); + + Map> groupDev = areaCodeManagerService.getAreaCodeGroup(); + + for (Integer areaCode : groupDev.keySet()) { + AreaInfoDetail info = AreaInfoDetail.builder() + .nodeId(areaCode.toString()) + .totalNetflow(areaCodeManagerService.getAreaCodeGroupReserveNetflow(areaCode)) + .onlineDevices(areaCodeManagerService.getAreaCodeOnlineDeviceNum(areaCode)) + .capacityType(Arrays.stream(areaCodeManagerService.getAreaCodeSupportCapacity(areaCode)) + .map(DisposeCapacityType::getValue) + .toArray(Integer[]::new)) + .build(); + rspInfo.getItems().add(info); + } + + return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo); + } +} diff --git a/src/main/java/com/dispose/controller/DisposeTaskController.java b/src/main/java/com/dispose/controller/DisposeTaskController.java index 3a906120..8d2f35b3 100644 --- a/src/main/java/com/dispose/controller/DisposeTaskController.java +++ b/src/main/java/com/dispose/controller/DisposeTaskController.java @@ -11,6 +11,7 @@ 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.task.TaskStartMulRsp; import com.dispose.pojo.dto.protocol.task.TaskStartReq; import com.dispose.pojo.dto.protocol.task.TaskStartRsp; import com.dispose.pojo.dto.protocol.task.TaskStopRsp; @@ -128,7 +129,7 @@ public class DisposeTaskController { @PostMapping("/startMulIp") @ResponseBody @ApiOperation("启动处置任务") - public ProtocolRespDTO> startTaskMulIp(@Validated(ValidGroups.TaskStartMulReqValid.class) + public ProtocolRespDTO startTaskMulIp(@Validated(ValidGroups.TaskStartMulReqValid.class) @RequestBody ProtocolReqDTO mr, @NotNull @RequestHeader HttpHeaders headers) { TaskStartReq req = mr.getMsgContent(); @@ -143,7 +144,9 @@ public class DisposeTaskController { Integer flowBand = Optional.ofNullable(req.getFlowBandwidth()) .orElse(DisposeConfigValue.DEFAULT_DISPOSE_BANDWIDTH); - List rspList = new ArrayList<>(); + TaskStartMulRsp mulRsp = TaskStartMulRsp.builder() + .items(new ArrayList<>()) + .build(); for (String ip : req.getMulDisposeIp()) { // 构造处置任务参数 @@ -176,10 +179,10 @@ public class DisposeTaskController { rspInfo.setStatus(ret.getFirstParam().getCode()); rspInfo.setMessage(new String[]{ret.getFirstParam().getMsg()}); - rspList.add(rspInfo); + mulRsp.getItems().add(rspInfo); } - return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspList); + return ProtocolRespDTO.result(ErrorCode.ERR_OK, mulRsp); } /** diff --git a/src/main/java/com/dispose/pojo/dto/protocol/device/info/AreaInfoDetail.java b/src/main/java/com/dispose/pojo/dto/protocol/device/info/AreaInfoDetail.java new file mode 100644 index 00000000..4d20a3cf --- /dev/null +++ b/src/main/java/com/dispose/pojo/dto/protocol/device/info/AreaInfoDetail.java @@ -0,0 +1,38 @@ +package com.dispose.pojo.dto.protocol.device.info; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * The type Area info detail. + * + * @author + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@JsonPropertyOrder({"nodeId", "totalNetflow", "capacityType", "onlineDevices"}) +@JsonInclude(JsonInclude.Include.NON_NULL) +public class AreaInfoDetail { + /** + * The Node id. + */ + private String nodeId; + /** + * The Total netflow. + */ + private Integer totalNetflow; + /** + * The Capacity type. + */ + private Integer[] capacityType; + /** + * The Online devices. + */ + private Integer onlineDevices; +} diff --git a/src/main/java/com/dispose/pojo/dto/protocol/device/info/GetAreaInfoRsp.java b/src/main/java/com/dispose/pojo/dto/protocol/device/info/GetAreaInfoRsp.java new file mode 100644 index 00000000..aa7aaa99 --- /dev/null +++ b/src/main/java/com/dispose/pojo/dto/protocol/device/info/GetAreaInfoRsp.java @@ -0,0 +1,30 @@ +package com.dispose.pojo.dto.protocol.device.info; + + +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.List; + +/** + * The type Get area info rsp. + * + * @author + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Builder +@AllArgsConstructor +@JsonPropertyOrder({"taskId", "disposeIp", "expireTime", "status", "message"}) +@JsonInclude(JsonInclude.Include.NON_NULL) +public class GetAreaInfoRsp extends BaseRespStatus { + /** + * The Items. + */ + private List items; +} 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 490b803f..3903f777 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 @@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull; @Builder @NoArgsConstructor @AllArgsConstructor -@JsonPropertyOrder({"capacityType", "objectType", "ipType", "protectIp"}) +@JsonPropertyOrder({"capacityType", "objectType", "ipType", "protectIp", "reserveNetflow"}) @JsonInclude(JsonInclude.Include.NON_NULL) public class AddCapacityInfo { /** @@ -52,4 +52,9 @@ public class AddCapacityInfo { */ @ValidIpSegment(message = "protectIp Ip地址格式错误", groups = ValidGroups.AddDeviceValid.class) private String protectIp; + + /** + * The Reserve netflow. + */ + private Integer reserveNetflow; } 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 index d61bf0bf..60eeb336 100644 --- 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 @@ -15,7 +15,7 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor @JsonPropertyOrder({"id", "ipAddr", "ipPort", "deviceType", "areaCode", "deviceName", "manufacturer", - "model", "version", "userName", "password", "urlPath", "urlType", "readme", "capacity", "status"}) + "model", "version", "userName", "password", "urlPath", "urlType", "readme", "devStatus", "capacity"}) @JsonInclude(JsonInclude.Include.NON_NULL) public class GetDeviceDetail extends AddDeviceInfo { /** 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 index ba6212f8..0ae47649 100644 --- 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 @@ -1,6 +1,7 @@ package com.dispose.pojo.dto.protocol.device.manager; import com.dispose.validation.group.ValidGroups; +import com.dispose.validation.valids.ValidSplitPageSize; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Builder; @@ -8,7 +9,6 @@ import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; import javax.validation.constraints.Positive; /** @@ -32,9 +32,7 @@ public class GetDeviceReq { /** * The Page size. */ - @Pattern(regexp = "^([1-5]0)$", - message = "pageSize 字段取值为 {10, 20, 30, 40, 50}", - groups = ValidGroups.ProtocolCommonValid.class) + @ValidSplitPageSize(groups = ValidGroups.ProtocolCommonValid.class) @NotNull(message = "pageSize 字段不能为空", groups = ValidGroups.ProtocolCommonValid.class) - private String pageSize; + private Integer pageSize; } diff --git a/src/main/java/com/dispose/pojo/dto/protocol/task/TaskStartMulRsp.java b/src/main/java/com/dispose/pojo/dto/protocol/task/TaskStartMulRsp.java new file mode 100644 index 00000000..06c8f2c5 --- /dev/null +++ b/src/main/java/com/dispose/pojo/dto/protocol/task/TaskStartMulRsp.java @@ -0,0 +1,24 @@ +package com.dispose.pojo.dto.protocol.task; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +/** + * The type Task start mul rsp. + * + * @author + */ +@Data +@Builder +@AllArgsConstructor +@JsonInclude(JsonInclude.Include.NON_NULL) +public class TaskStartMulRsp { + /** + * The Items. + */ + List items; +} diff --git a/src/main/java/com/dispose/pojo/dto/protocol/task/TaskStartReq.java b/src/main/java/com/dispose/pojo/dto/protocol/task/TaskStartReq.java index fdf4d640..de752470 100644 --- a/src/main/java/com/dispose/pojo/dto/protocol/task/TaskStartReq.java +++ b/src/main/java/com/dispose/pojo/dto/protocol/task/TaskStartReq.java @@ -8,6 +8,7 @@ import com.dispose.validation.valids.ValidArrayIpAddr; import com.dispose.validation.valids.ValidBaseEnum; import com.dispose.validation.valids.ValidBaseEnumArray; import com.dispose.validation.valids.ValidIpAddr; +import com.dispose.validation.valids.ValidSplitPageSize; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Builder; @@ -57,6 +58,7 @@ public class TaskStartReq { * The Dispose time. */ @NotNull(message = "disposeTime 处置时间不能为空", groups = ValidGroups.TaskStartReqCommonValid.class) + @ValidSplitPageSize(groups = ValidGroups.TaskStartReqCommonValid.class) private Integer disposeTime; /** * The Flow direction. diff --git a/src/main/java/com/dispose/pojo/entity/DisposeCapacity.java b/src/main/java/com/dispose/pojo/entity/DisposeCapacity.java index 4ddf7907..5adee2d1 100644 --- a/src/main/java/com/dispose/pojo/entity/DisposeCapacity.java +++ b/src/main/java/com/dispose/pojo/entity/DisposeCapacity.java @@ -66,4 +66,9 @@ public class DisposeCapacity implements Serializable { * The Protect ip. */ private String protectIp; + + /** + * The Reserve netflow. + */ + private Integer reserveNetflow; } diff --git a/src/main/java/com/dispose/service/AreaCodeManagerService.java b/src/main/java/com/dispose/service/AreaCodeManagerService.java new file mode 100644 index 00000000..fab7343c --- /dev/null +++ b/src/main/java/com/dispose/service/AreaCodeManagerService.java @@ -0,0 +1,45 @@ +package com.dispose.service; + +import com.dispose.common.DisposeCapacityType; +import com.dispose.pojo.entity.DisposeDevice; + +import java.util.List; +import java.util.Map; + +/** + * The interface Area code manager service. + * + * @author + */ +public interface AreaCodeManagerService { + /** + * Gets area code group. + * + * @return the area code group + */ + Map> getAreaCodeGroup(); + + /** + * Gets area code group reserve netflow. + * + * @param areaCode the area code + * @return the area code group reserve netflow + */ + int getAreaCodeGroupReserveNetflow(Integer areaCode); + + /** + * Gets area code online device num. + * + * @param areaCode the area code + * @return the area code online device num + */ + int getAreaCodeOnlineDeviceNum(Integer areaCode); + + /** + * Gets area code support capacity. + * + * @param areaCode the area code + * @return the area code support capacity + */ + DisposeCapacityType[] getAreaCodeSupportCapacity(Integer areaCode); +} diff --git a/src/main/java/com/dispose/service/DisposeDeviceManagerService.java b/src/main/java/com/dispose/service/DisposeDeviceManagerService.java index 9106fb84..33a930d0 100644 --- a/src/main/java/com/dispose/service/DisposeDeviceManagerService.java +++ b/src/main/java/com/dispose/service/DisposeDeviceManagerService.java @@ -40,12 +40,19 @@ public interface DisposeDeviceManagerService { /** - * Gets all dispose device. + * Gets page dispose device. * * @param startPage the start page * @param pageSize the page size + * @return the page dispose device + */ + MulReturnType, List> getPageDisposeDevice(Integer startPage, + Integer pageSize); + + /** + * Gets all dispose device. + * * @return the all dispose device */ - MulReturnType, List> getAllDisposeDevice(Integer startPage, - Integer pageSize); + List getAllDisposeDevice(); } diff --git a/src/main/java/com/dispose/service/impl/AreaCodeManagerServiceImpl.java b/src/main/java/com/dispose/service/impl/AreaCodeManagerServiceImpl.java new file mode 100644 index 00000000..883ae986 --- /dev/null +++ b/src/main/java/com/dispose/service/impl/AreaCodeManagerServiceImpl.java @@ -0,0 +1,119 @@ +package com.dispose.service.impl; + +import com.dispose.common.DisposeCapacityType; +import com.dispose.pojo.entity.DisposeCapacity; +import com.dispose.pojo.entity.DisposeDevice; +import com.dispose.service.AreaCodeManagerService; +import com.dispose.service.DisposeAbilityRouterService; +import com.dispose.service.DisposeDeviceManagerService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * The type Area code manager service. + * + * @author + */ +@Service +@Slf4j +public class AreaCodeManagerServiceImpl implements AreaCodeManagerService { + + /** + * The Dispose device manager service. + */ + @Resource + private DisposeDeviceManagerService disposeDeviceManagerService; + + /** + * The Dispose ability router service. + */ + @Resource + private DisposeAbilityRouterService disposeAbilityRouterService; + + /** + * Gets area code group. + * + * @return the area code group + */ + @Override + public Map> getAreaCodeGroup() { + List disposeDevices = disposeDeviceManagerService.getAllDisposeDevice(); + + if (disposeDevices == null) { + return null; + } + + return disposeDevices.stream().collect(Collectors.groupingBy(DisposeDevice::getAreaCode)); + } + + /** + * Gets area code group reserve netflow. + * + * @param areaCode the area code + * @return the area code group reserve netflow + */ + @Override + public int getAreaCodeGroupReserveNetflow(Integer areaCode) { + List disposeDevices = disposeDeviceManagerService.getAllDisposeDevice(); + + if (disposeDevices == null) { + return 0; + } + + return disposeDevices.stream() + .filter(v -> v.getAreaCode().equals(areaCode)) + .mapToInt(v -> v.getDevCapacity().stream() + .filter(k -> k.getCapacityType() == DisposeCapacityType.CLEANUP) + .mapToInt(DisposeCapacity::getReserveNetflow).sum()) + .sum(); + } + + /** + * Gets area code online device num. + * + * @param areaCode the area code + * @return the area code online device num + */ + @Override + public int getAreaCodeOnlineDeviceNum(Integer areaCode) { + List disposeDevices = disposeDeviceManagerService.getAllDisposeDevice(); + + if (disposeDevices == null) { + return 0; + } + + return (int) disposeDevices.stream() + .filter(v -> v.getAreaCode().equals(areaCode)) + .filter(k -> disposeAbilityRouterService.getAbilityDevice(k.getId()) + .getDb() + .getDeviceLinkStatus()) + .count(); + } + + /** + * Get area code support capacity dispose capacity type [ ]. + * + * @param areaCode the area code + * @return the dispose capacity type [ ] + */ + @Override + public DisposeCapacityType[] getAreaCodeSupportCapacity(Integer areaCode) { + List disposeDevices = disposeDeviceManagerService.getAllDisposeDevice(); + + if (disposeDevices == null) { + return null; + } + + return disposeDevices.stream() + .filter(v -> v.getAreaCode().equals(areaCode)) + .flatMap(k -> k.getDevCapacity().stream() + .map(DisposeCapacity::getCapacityType)) + .distinct() + .toArray(DisposeCapacityType[]::new); + } +} diff --git a/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java b/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java index 08f7966f..189e03ff 100644 --- a/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/DisposeDeviceManagerServiceImpl.java @@ -101,15 +101,25 @@ public class DisposeDeviceManagerServiceImpl implements DisposeDeviceManagerServ } /** - * Gets all dispose device. + * Gets page dispose device. * * @param startPage the start page * @param pageSize the page size + * @return the page dispose device + */ + @Override + public MulReturnType, List> getPageDisposeDevice(Integer startPage, + Integer pageSize) { + return disposeDeviceManager.getPagesOfDevices(startPage, pageSize); + } + + /** + * Gets all dispose device. + * * @return the all dispose device */ @Override - public MulReturnType, List> getAllDisposeDevice(Integer startPage, - Integer pageSize) { - return disposeDeviceManager.getPagesOfDevices(startPage, pageSize); + public List getAllDisposeDevice() { + return disposeDeviceManager.getAllNormalDisposeDevices(); } } diff --git a/src/main/java/com/dispose/validation/valids/ValidSplitPageSize.java b/src/main/java/com/dispose/validation/valids/ValidSplitPageSize.java new file mode 100644 index 00000000..0ff6396f --- /dev/null +++ b/src/main/java/com/dispose/validation/valids/ValidSplitPageSize.java @@ -0,0 +1,33 @@ +package com.dispose.validation.valids; + +import com.dispose.validation.valids.impl.ValidSplitPageSizeImpl; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Constraint(validatedBy = {ValidSplitPageSizeImpl.class}) +public @interface ValidSplitPageSize { + String message() default ""; + + /** + * Groups class [ ]. + * + * @return the class [ ] + */ + Class[] groups() default {}; + + /** + * Payload class [ ]. + * + * @return the class [ ] + */ + Class[] payload() default {}; +} diff --git a/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumArrayImpl.java b/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumArrayImpl.java index 9a4bc976..e504dc67 100644 --- a/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumArrayImpl.java +++ b/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumArrayImpl.java @@ -55,10 +55,10 @@ public class ValidBaseEnumArrayImpl implements ConstraintValidator enumValues = Arrays.stream(enumClass.getEnumConstants()) .map(BaseEnum::getValue).collect(Collectors.toList()); - String errMsg = this.message + + String errMsg = this.message + " 字段 " + ((ConstraintValidatorContextImpl) ctx).getConstraintViolationCreationContexts() .get(0).getPath().getLeafNode().getName() - + " 字段取值范围:" + enumValues.toString(); + + " 值 {" + Arrays.toString(integers) + "} 错误, 字段取值范围:" + enumValues.toString(); // 重新设置消息 ctx.disableDefaultConstraintViolation(); diff --git a/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumImpl.java b/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumImpl.java index 4d22498b..8114c35c 100644 --- a/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumImpl.java +++ b/src/main/java/com/dispose/validation/valids/impl/ValidBaseEnumImpl.java @@ -58,10 +58,10 @@ public class ValidBaseEnumImpl implements ConstraintValidator enumValues = Arrays.stream(enumClass.getEnumConstants()) .map(BaseEnum::getValue).collect(Collectors.toList()); - String errMsg = this.message + + String errMsg = this.message + " 字段 " + ((ConstraintValidatorContextImpl) ctx).getConstraintViolationCreationContexts() .get(0).getPath().getLeafNode().getName() - + " 字段取值范围:" + enumValues.toString(); + + " 值 {" + integer + "} 错误, 字段取值范围:" + enumValues.toString(); // 重新设置消息 ctx.disableDefaultConstraintViolation(); diff --git a/src/main/java/com/dispose/validation/valids/impl/ValidSplitPageSizeImpl.java b/src/main/java/com/dispose/validation/valids/impl/ValidSplitPageSizeImpl.java new file mode 100644 index 00000000..1204cc72 --- /dev/null +++ b/src/main/java/com/dispose/validation/valids/impl/ValidSplitPageSizeImpl.java @@ -0,0 +1,68 @@ +package com.dispose.validation.valids.impl; + +import com.dispose.common.DisposeConfigValue; +import com.dispose.validation.valids.ValidSplitPageSize; +import org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorContextImpl; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.ArrayList; +import java.util.List; + +/** + * The type Valid split page size. + * + * @author + */ +public class ValidSplitPageSizeImpl implements ConstraintValidator { + private String message; + + /** + * Initialize. + * + * @param constraintAnnotation the constraint annotation + */ + @Override + public void initialize(ValidSplitPageSize constraintAnnotation) { + this.message = constraintAnnotation.message(); + } + + /** + * Is valid boolean. + * + * @param integer the integer + * @param ctx the constraint validator context + * @return the boolean + */ + @Override + public boolean isValid(Integer integer, ConstraintValidatorContext ctx) { + + if (integer == null) { + return true; + } + + if (integer == 0 || + integer % DisposeConfigValue.MIN_SPLIT_PAGE_SIZE != 0 || + integer > DisposeConfigValue.MAX_SPLIT_PAGE_SIZE) { + + List rang = new ArrayList<>(); + + for (int i = DisposeConfigValue.MIN_SPLIT_PAGE_SIZE; i <= DisposeConfigValue.MAX_SPLIT_PAGE_SIZE; + i += DisposeConfigValue.MIN_SPLIT_PAGE_SIZE) { + rang.add(i); + } + + String errMsg = this.message + " 字段 " + + ((ConstraintValidatorContextImpl) ctx).getConstraintViolationCreationContexts() + .get(0).getPath().getLeafNode().getName() + + " 值 {" + integer + "} 错误, 字段取值范围:" + rang.toString(); + + // 重新设置消息 + ctx.disableDefaultConstraintViolation(); + ctx.buildConstraintViolationWithTemplate(errMsg).addConstraintViolation(); + return false; + } + + return true; + } +} diff --git a/src/main/resources/mappers/DisposeCapacity.xml b/src/main/resources/mappers/DisposeCapacity.xml index d1bf94d7..8fe436c0 100644 --- a/src/main/resources/mappers/DisposeCapacity.xml +++ b/src/main/resources/mappers/DisposeCapacity.xml @@ -8,6 +8,7 @@ + SELECT d.*, - c.id c_id, - c.deviceId deviceId, - c.capacityType capacityType, - c.objectType objectType, - c.ipType ipType, - c.protectIp protectIp + c.id c_id, + c.deviceId deviceId, + c.capacityType capacityType, + c.objectType objectType, + c.ipType ipType, + c.protectIp protectIp, + c.reserveNetflow reserveNetflow FROM dispose_device d LEFT JOIN dispose_capacity c ON d.id = c.deviceId diff --git a/src/test/java/com/dispose/test/controller/DisposeDeviceManagerControllerTest.java b/src/test/java/com/dispose/test/controller/DisposeDeviceManagerControllerTest.java index a7a48c82..97c47f8a 100644 --- a/src/test/java/com/dispose/test/controller/DisposeDeviceManagerControllerTest.java +++ b/src/test/java/com/dispose/test/controller/DisposeDeviceManagerControllerTest.java @@ -377,7 +377,7 @@ public class DisposeDeviceManagerControllerTest extends InitTestEnvironment { for (int i = 1; i < 5; i++) { getReq.setStartPage(i); - getReq.setPageSize(String.valueOf(i * 10)); + getReq.setPageSize(i * 10); ProtocolReqDTO reqInfo = new ProtocolReqDTO<>(); @@ -387,7 +387,7 @@ public class DisposeDeviceManagerControllerTest extends InitTestEnvironment { reqInfo.setMsgContent(getReq); String ret = mockMvc.perform(MockMvcRequestBuilders - .post("/manager/device_list") + .post("/manager/deviceList") .contentType(MediaType.APPLICATION_JSON) .header("Authorization", ConstValue.STRING_HTTP_AUTH_HEAD + getLoginToken()) .content(objectMapper.writeValueAsString(reqInfo))) @@ -405,7 +405,7 @@ public class DisposeDeviceManagerControllerTest extends InitTestEnvironment { log.debug(objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(rspInfo)); - double totalPages = Math.ceil(deviceList.size() / Double.parseDouble(getReq.getPageSize())); + double totalPages = Math.ceil(deviceList.size() / getReq.getPageSize().doubleValue()); Assert.assertEquals(rspInfo.getMsgContent().getCurPageNumber(), getReq.getStartPage()); Assert.assertEquals(String.valueOf(rspInfo.getMsgContent().getPageSize()), String.valueOf(getReq.getPageSize())); diff --git a/src/test/java/com/dispose/test/service/AreaCodeManagerServiceTest.java b/src/test/java/com/dispose/test/service/AreaCodeManagerServiceTest.java new file mode 100644 index 00000000..2a223c7e --- /dev/null +++ b/src/test/java/com/dispose/test/service/AreaCodeManagerServiceTest.java @@ -0,0 +1,44 @@ +package com.dispose.test.service; + +import com.dispose.service.AreaCodeManagerService; +import com.dispose.test.Global.InitTestEnvironment; +import lombok.extern.slf4j.Slf4j; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.Rollback; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Arrays; + +@RunWith(SpringRunner.class) +@SpringBootTest +@Slf4j +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +@Transactional +@Rollback +public class AreaCodeManagerServiceTest extends InitTestEnvironment { + + @Resource + private AreaCodeManagerService areaCodeManagerService; + + @Test + public void a2_getAreaCodeGroupReserveNetflow() { + long tolNetflow = areaCodeManagerService.getAreaCodeGroupReserveNetflow(0); + + log.info("AreaCode {} netflow total: {}", 0, tolNetflow); + + Assert.assertNotEquals(tolNetflow, 0); + } + + @Test + public void a3_getAreaCodeSupportCapacity() { + log.info("AreaCode {} capacity: {}", 0, + Arrays.toString(areaCodeManagerService.getAreaCodeSupportCapacity(2))); + } +} diff --git a/src/test/java/com/dispose/test/service/DisposeDeviceManagerServiceTest.java b/src/test/java/com/dispose/test/service/DisposeDeviceManagerServiceTest.java index 54d59cb6..788ac450 100644 --- a/src/test/java/com/dispose/test/service/DisposeDeviceManagerServiceTest.java +++ b/src/test/java/com/dispose/test/service/DisposeDeviceManagerServiceTest.java @@ -239,7 +239,7 @@ public class DisposeDeviceManagerServiceTest extends InitTestEnvironment { Integer startPage = i; Integer pageSize = i * 2; - MulReturnType, List> ret = disposeDeviceManagerService.getAllDisposeDevice(startPage, pageSize); + MulReturnType, List> ret = disposeDeviceManagerService.getPageDisposeDevice(startPage, pageSize); PageInfo pageInfo = ret.getFirstParam(); List deviceList = ret.getSecondParam();