1.监测指标数据质量问题汇总统计和专项分析-台账统计算法提交

This commit is contained in:
wr
2023-10-13 16:19:00 +08:00
parent 1b5bad51f1
commit ea1d016dff
21 changed files with 754 additions and 13 deletions

View File

@@ -0,0 +1,22 @@
package com.njcn.prepare.harmonic.api.newalgorithm;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.prepare.harmonic.api.newalgorithm.fallback.RStatAbnormalFeignClientFallbackFactory;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@org.springframework.cloud.openfeign.FeignClient(
value = ServerInfo.PREPARE_BOOT,//对应模块名
path = "/pmsStatisticsSpecialMonitor",//对应controller请求类
fallbackFactory = RStatAbnormalFeignClientFallbackFactory.class//服务降级处理类
)
public interface PmsStatisticsSpecialMonitorFeignClient {
@ApiOperation("监测指标数据质量问题汇总统计(r_quality_parameter_m表数据)")
@PostMapping("pmsStatisticsSpecialMonitorHandler")
HttpResult<Boolean> pmsStatisticsSpecialMonitorHandler(@RequestBody LineParam jobParam );
}

View File

@@ -0,0 +1,22 @@
package com.njcn.prepare.harmonic.api.newalgorithm;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.prepare.harmonic.api.newalgorithm.fallback.RStatAbnormalFeignClientFallbackFactory;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@org.springframework.cloud.openfeign.FeignClient(
value = ServerInfo.PREPARE_BOOT,//对应模块名
path = "/rQualityParameterM",//对应controller请求类
fallbackFactory = RStatAbnormalFeignClientFallbackFactory.class//服务降级处理类
)
public interface RQualityParameterMFeignClient {
@ApiOperation("监测指标数据质量问题汇总统计(r_quality_parameter_m表数据)")
@PostMapping("rQualityParameterMHandler")
HttpResult<Boolean> handlerMonitorAbnormal(@RequestBody LineParam jobParam );
}

View File

@@ -0,0 +1,35 @@
package com.njcn.prepare.harmonic.api.newalgorithm.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.prepare.harmonic.api.newalgorithm.PmsStatisticsSpecialMonitorFeignClient;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.utils.PrepareEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class PmsStatisticsSpecialMonitorFeignClientFallbackFactory implements FallbackFactory<PmsStatisticsSpecialMonitorFeignClient> {
@Override
public PmsStatisticsSpecialMonitorFeignClient create(Throwable throwable) {
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException)throwable.getCause();
exceptionEnum = PrepareEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new PmsStatisticsSpecialMonitorFeignClient() {
@Override
public HttpResult<Boolean> pmsStatisticsSpecialMonitorHandler(LineParam jobParam) {
log.error("{}异常,降级处理,异常为:{}", "专项分析-台账统计(pms_statistics_special_monitor表数据): ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,34 @@
package com.njcn.prepare.harmonic.api.newalgorithm.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.prepare.harmonic.api.newalgorithm.RQualityParameterMFeignClient;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.utils.PrepareEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RQualityParameterMFeignClientFallbackFactory implements FallbackFactory<RQualityParameterMFeignClient> {
@Override
public RQualityParameterMFeignClient create(Throwable throwable) {
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException)throwable.getCause();
exceptionEnum = PrepareEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new RQualityParameterMFeignClient() {
@Override
public HttpResult<Boolean> handlerMonitorAbnormal(LineParam jobParam) {
log.error("{}异常,降级处理,异常为:{}", "监测指标数据质量问题汇总统计(r_quality_parameter_m表数据): ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,136 @@
package com.njcn.prepare.harmonic.pojo.mysql;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author wr
* @since 2023-10-13
*/
@Getter
@Setter
@TableName("pms_statistics_special_monitor")
@ApiModel(value = "PmsStatisticsSpecialMonitor对象", description = "")
public class PmsStatisticsSpecialMonitor {
private static final long serialVersionUID = 1L;
@ApiModelProperty("组织机构名称")
@TableField("Org_Name")
private String orgName;
@ApiModelProperty("组织机构ID(外键)")
@MppMultiId("Org_Id")
private String orgId;
@ApiModelProperty("电压等级(字典)")
@MppMultiId("Voltage_Level")
private String voltageLevel;
@ApiModelProperty("母线数量")
@TableField("Generatrix_Sum")
private Integer generatrixSum;
@ApiModelProperty("线路总数")
@TableField("Line_Num")
private Integer lineNum;
@ApiModelProperty("接入分布式光伏的线路总数")
@TableField("Photovoltaic_Line_Num")
private Integer photovoltaicLineNum;
@ApiModelProperty("台区总数")
@TableField("Platform_Num")
private Integer platformNum;
@ApiModelProperty("光伏台区总数")
@TableField("Photovoltaic_Courts_Num")
private Integer photovoltaicCourtsNum;
@ApiModelProperty("光伏容量超过台区容量25%的台区总数")
@TableField("Exceed_Courtscap_Num")
private Integer exceedCourtscapNum;
@ApiModelProperty("风电用户总数")
@TableField("Wind_Power_Num")
private Integer windPowerNum;
@ApiModelProperty("光伏用户总数")
@TableField("Pv_Num")
private Integer pvNum;
@ApiModelProperty("冶炼负荷用户总数")
@TableField("Smelting_Load_Num")
private Integer smeltingLoadNum;
@ApiModelProperty("电气化铁路总数")
@TableField("Electric_Track_Num")
private Integer electricTrackNum;
@ApiModelProperty("日期")
@MppMultiId("Data_Date")
private LocalDateTime dataDate;
@ApiModelProperty("数据状态0-删除1-正常; ")
@TableField("Status")
private Integer status;
@ApiModelProperty("创建用户")
@TableField("Create_By")
private String createBy;
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createTime;
@ApiModelProperty("更新用户")
@TableField("Update_By")
private String updateBy;
@ApiModelProperty("更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime updateTime;
@ApiModelProperty("风电总装机容量")
@TableField("Wind_Power_Capacity")
private Integer windPowerCapacity;
@ApiModelProperty("光伏总装机容量")
@TableField("Pv_Capacity")
private Integer pvCapacity;
@ApiModelProperty("冶炼负荷总装机容量")
@TableField("Smelting_Load_Capacity")
private Integer smeltingLoadCapacity;
@ApiModelProperty("电气化铁路总装机容量")
@TableField("Electric_Track_Capacity")
private Integer electricTrackCapacity;
}