有功功率趋势定时任务算法完善

This commit is contained in:
guofeihu
2024-09-05 14:17:11 +08:00
parent 9fca0e5714
commit 8e6f07330e
18 changed files with 772 additions and 183 deletions

View File

@@ -2,12 +2,16 @@ package com.njcn.prepare.harmonic.api.event;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.harmonic.pojo.vo.PowerStatisticsTargetVO;
import com.njcn.prepare.harmonic.api.event.fallback.RActivePowerRangeFeignClientFallbackFactory;
import com.njcn.prepare.harmonic.pojo.param.RActivePowerRangeParam;
import com.njcn.prepare.harmonic.pojo.po.RActivePowerRangePO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* 有功功率趋势Feign客户端
@@ -22,7 +26,7 @@ import org.springframework.web.bind.annotation.RequestParam;
public interface RActivePowerRangeFeignClient {
@PostMapping("/record")
HttpResult<Boolean> record();
HttpResult<List<PowerStatisticsTargetVO>> record(@RequestBody(required = false) RActivePowerRangeParam rActivePowerRangeParam);
@GetMapping("/getDataByLineId")
HttpResult<RActivePowerRangePO> getDataByLineId(@RequestParam("lineId") String lineId,@RequestParam("startTime") String startTime,@RequestParam("endTime") String endTime);

View File

@@ -3,12 +3,15 @@ package com.njcn.prepare.harmonic.api.event.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.harmonic.pojo.vo.PowerStatisticsTargetVO;
import com.njcn.prepare.harmonic.api.event.RActivePowerRangeFeignClient;
import com.njcn.prepare.harmonic.pojo.param.RActivePowerRangeParam;
import com.njcn.prepare.harmonic.pojo.po.RActivePowerRangePO;
import com.njcn.prepare.harmonic.utils.PrepareEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 有功功率趋势熔断降级
@@ -30,7 +33,7 @@ public class RActivePowerRangeFeignClientFallbackFactory implements FallbackFact
Enum<?> finalExceptionEnum = exceptionEnum;
return new RActivePowerRangeFeignClient() {
@Override
public HttpResult<Boolean> record() {
public HttpResult<List<PowerStatisticsTargetVO>> record(RActivePowerRangeParam rActivePowerRangeParam) {
log.error("{}异常,降级处理,异常为:{}", "有功功率趋势记录: ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}

View File

@@ -0,0 +1,56 @@
package com.njcn.prepare.harmonic.pojo.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 有功功率趋势 定时任务算法控制参数
* @author guofeihu
* @since 2024-08-22
*/
@Data
public class RActivePowerRangeParam extends BaseParam {
/**
* 决定统计的开始和结束时间
* startTime = 昨天 - interval 00:00:00
* endTime = 昨天的23:59:59
*/
@ApiModelProperty("统计的时间间隔(默认1天)")
private long interval = 1;
/**
* 控制执行定时任务算法统计重复执行是否允许强制刷新(lineId,timeId)
*/
@ApiModelProperty("统计时是否强制刷新(默认不刷新:也即重复执行后对于当前日期已统计的监测点不会再次统计)")
private boolean refresh = false;
/**
* 控制执行定时任务算法是否是查询,注意:当开启该参数后统计的interval获取的startTime和endTime会被BaseParam中的searchBeginTime和searchEndTime替代
*/
@ApiModelProperty("是否查询(默认不查询)")
private boolean search = false;
/**
* search = true 该参数才有效
* 监测点ID用于执行定时任务算法查询时所携带的参数
*/
@ApiModelProperty("监测点ID")
private String lineId;
/**
* search = true 该参数才有效
* 区间字段用于执行定时任务算法查询时所携带的参数
*/
@ApiModelProperty("区间字段(标识是哪个区间:10%~20%、20%~30%....)")
private String field;
/**
* search = true 该参数才有效
* 控制执行定时任务算法查询时是否统计数据
*/
@ApiModelProperty("查询时是否统计数据(默认不统计)")
private boolean searchForAdd = false;
}

View File

@@ -34,7 +34,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 0%~10%区间时间Json
*/
private String minsTime0;
private String minsTime0 = "{}";
/**
* 0%~10%区间个数
@@ -49,7 +49,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 10%~20%区间时间Json
*/
private String minsTime1;
private String minsTime1 = "{}";;
/**
* 10%~20%区间个数
@@ -64,7 +64,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 20%~30%区间时间Json
*/
private String minsTime2;
private String minsTime2 = "{}";;
/**
* 20%~30%区间个数
@@ -79,7 +79,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 30%~40%区间时间Json
*/
private String minsTime3;
private String minsTime3 = "{}";;
/**
* 30%~40%区间个数
@@ -94,7 +94,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 40%~50%区间时间Json
*/
private String minsTime4;
private String minsTime4 = "{}";;
/**
* 40%~50%区间个数
@@ -109,7 +109,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 50%~60%区间时间Json
*/
private String minsTime5;
private String minsTime5 = "{}";;
/**
* 50%~60%区间个数
@@ -124,7 +124,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 60%~70%区间时间Json
*/
private String minsTime6;
private String minsTime6 = "{}";;
/**
* 60%~70%区间个数
@@ -139,7 +139,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 70%~80%区间时间Json
*/
private String minsTime7;
private String minsTime7 = "{}";;
/**
* 70%~80%区间个数
@@ -154,7 +154,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 80%~90%区间时间Json
*/
private String minsTime8;
private String minsTime8 = "{}";;
/**
* 80%~90%区间个数
@@ -169,7 +169,7 @@ public class RActivePowerRangePO extends BaseEntity {
/**
* 90%~100%区间时间Json
*/
private String minsTime9;
private String minsTime9 = "{}";;
/**
* 90%~100%区间个数