|
@@ -0,0 +1,66 @@
|
|
|
+package com.dskj.znzn.transData.web.dataTransfer.inData;
|
|
|
+
|
|
|
+import io.swagger.annotations.ApiModel;
|
|
|
+import io.swagger.annotations.ApiModelProperty;
|
|
|
+import lombok.Data;
|
|
|
+
|
|
|
+import javax.validation.constraints.NotBlank;
|
|
|
+import javax.validation.constraints.NotEmpty;
|
|
|
+import javax.validation.constraints.Size;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+@Data
|
|
|
+@ApiModel
|
|
|
+public class GetWindTurbineAndTimestampsInData {
|
|
|
+
|
|
|
+ @ApiModelProperty("风场编号")
|
|
|
+ @NotBlank(message = "风场编号不能为空")
|
|
|
+ private String windFarmCode;
|
|
|
+
|
|
|
+ @ApiModelProperty("风机编号")
|
|
|
+ @NotBlank(message = "风机编号不能为空")
|
|
|
+ private String windTurbineNumber;
|
|
|
+
|
|
|
+ @ApiModelProperty("类型,minute,second")
|
|
|
+ @NotBlank(message = "类型不能为空")
|
|
|
+ private String transferType;
|
|
|
+
|
|
|
+ @ApiModelProperty("时间戳列表")
|
|
|
+ @NotEmpty(message = "时间戳列表不能为空")
|
|
|
+ @Size(min = 1, message = "时间戳列表不能为空")
|
|
|
+ @Size(max = 5000, message = "时间戳列表最多5000个")
|
|
|
+ private List<String> timestamps;
|
|
|
+
|
|
|
+ public Set<String> getPartations() {
|
|
|
+ Set<String> partitions = new HashSet<>();
|
|
|
+ for (String timestamp : timestamps) {
|
|
|
+ if ("minute".equals(transferType)) {
|
|
|
+ partitions.add(String.format("p%s_%s", timestamp.substring(0, 4), windTurbineNumber));
|
|
|
+ } else if ("second".equals(transferType)) {
|
|
|
+ partitions.add(String.format("p%s_%s", timestamp.substring(0, 7).replace("-", ""), windTurbineNumber));
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("类型错误");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return partitions;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+
|
|
|
+ GetWindTurbineAndTimestampsInData data = new GetWindTurbineAndTimestampsInData();
|
|
|
+ data.setWindFarmCode("1231");
|
|
|
+ data.setWindTurbineNumber("编号");
|
|
|
+ data.setTransferType("minute");
|
|
|
+ data.setTimestamps(Arrays.asList("2024-01-01 00:00:00", "2024-04-01 00:00:00"));
|
|
|
+ Set<String> partitions = data.getPartations();
|
|
|
+ System.out.println(partitions);
|
|
|
+
|
|
|
+ data.setTransferType("second");
|
|
|
+ data.setTimestamps(Arrays.asList("2024-01-01 00:00:00", "2024-04-01 00:00:00"));
|
|
|
+ partitions = data.getPartations();
|
|
|
+ System.out.println(partitions);
|
|
|
+ }
|
|
|
+}
|