1、app消息数据查询重构

2、app消息已读未读方法重构
3、其余辅助功能添加
This commit is contained in:
xy
2026-04-01 20:28:04 +08:00
parent 33da822317
commit dbe09d70f4
59 changed files with 1529 additions and 711 deletions

View File

@@ -3,9 +3,11 @@ package com.njcn.csdevice.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.csdevice.api.fallback.AppProjectClientFallbackFactory;
import com.njcn.csdevice.pojo.param.AppProjectAddParm;
import com.njcn.csdevice.pojo.po.AppProjectPO;
import org.springframework.cloud.openfeign.FeignClient;
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;
@@ -19,4 +21,11 @@ public interface AppProjectFeignClient {
@PostMapping("/queryProjectById")
HttpResult<List<AppProjectPO>> queryProjectById(@RequestParam("ids") List<String> ids);
@PostMapping("/getProjectByName")
HttpResult<AppProjectPO> getProjectByName(@RequestParam("name") String name);
@PostMapping("/addAppProject")
HttpResult<AppProjectPO> addAppProject(@RequestBody AppProjectAddParm appProjectAddParm);
}

View File

@@ -0,0 +1,25 @@
package com.njcn.csdevice.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.csdevice.api.fallback.CsMarketDataClientFallbackFactory;
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @author xy
*/
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/csMarketData", fallbackFactory = CsMarketDataClientFallbackFactory.class,contextId = "csMarketData")
public interface CsMarketDataFeignClient {
@PostMapping("/insert")
HttpResult<Boolean> insertData(@RequestParam("userId")String userId, @RequestParam("engineeringId")String engineeringId);
@PostMapping("/queryByUseId")
HttpResult<List<CsMarketDataVO>> queryByUseId(@RequestParam("userId")String userId);
}

View File

@@ -1,14 +1,23 @@
package com.njcn.csdevice.api;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.api.fallback.AppProjectClientFallbackFactory;
import com.njcn.csdevice.pojo.param.CsEngineeringAddParm;
import com.njcn.csdevice.pojo.param.CsEngineeringQueryParm;
import com.njcn.csdevice.pojo.po.CsEngineeringPO;
import com.njcn.csdevice.pojo.vo.CsEngineeringVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
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;
@@ -20,4 +29,10 @@ public interface EngineeringFeignClient {
@PostMapping("/queryEngineering")
HttpResult<List<CsEngineeringVO>> queryEngineering(@Validated @RequestBody CsEngineeringQueryParm csEngineeringQueryParm);
@PostMapping("/getEngineeringByName")
HttpResult<CsEngineeringPO> getEngineeringByName(@RequestParam("name") String name);
@PostMapping("/addEngineering")
HttpResult<CsEngineeringPO> addEngineering(@Validated @RequestBody CsEngineeringAddParm csEngineeringAddParm);
}

View File

@@ -51,6 +51,9 @@ public interface EquipmentFeignClient {
@PostMapping("/updateModuleNumber")
HttpResult<String> updateModuleNumber(@RequestParam("nDid") String nDid,@RequestParam("number") Integer number);
@PostMapping("/updateLedger")
HttpResult<String> updateLedger(@RequestParam("nDid") String nDid,@RequestParam("engineeringId") String engineeringId,@RequestParam("projectId") String projectId);
@PostMapping("/getAll")
HttpResult<List<CsEquipmentDeliveryPO>> getAll();

View File

@@ -4,6 +4,7 @@ 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.csdevice.api.AppProjectFeignClient;
import com.njcn.csdevice.pojo.param.AppProjectAddParm;
import com.njcn.csdevice.pojo.po.AppProjectPO;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
@@ -32,6 +33,18 @@ public class AppProjectClientFallbackFactory implements FallbackFactory<AppProje
log.error("{}异常,降级处理,异常为:{}","获取项目详情接口异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<AppProjectPO> getProjectByName(String name) {
log.error("{}异常,降级处理,异常为:{}","根据项目名称获取项目信息异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<AppProjectPO> addAppProject(AppProjectAddParm appProjectAddParm) {
log.error("{}异常,降级处理,异常为:{}","新增项目异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,44 @@
package com.njcn.csdevice.api.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.csdevice.api.CsMarketDataFeignClient;
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author xy
*/
@Slf4j
@Component
public class CsMarketDataClientFallbackFactory implements FallbackFactory<CsMarketDataFeignClient> {
@Override
public CsMarketDataFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (cause.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause.getCause();
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new CsMarketDataFeignClient() {
@Override
public HttpResult<Boolean> insertData(String userId, String engineeringId) {
log.error("{}异常,降级处理,异常为:{}","根据用户、工程新增数据异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<CsMarketDataVO>> queryByUseId(String userId) {
log.error("{}异常,降级处理,异常为:{}","查询营销,工程数据异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -4,7 +4,9 @@ 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.csdevice.api.EngineeringFeignClient;
import com.njcn.csdevice.pojo.param.CsEngineeringAddParm;
import com.njcn.csdevice.pojo.param.CsEngineeringQueryParm;
import com.njcn.csdevice.pojo.po.CsEngineeringPO;
import com.njcn.csdevice.pojo.vo.CsEngineeringVO;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
@@ -33,6 +35,18 @@ public class EngineeringClientFallbackFactory implements FallbackFactory<Enginee
log.error("{}异常,降级处理,异常为:{}","查询工程列表接口异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<CsEngineeringPO> getEngineeringByName(String name) {
log.error("{}异常,降级处理,异常为:{}","根据工程名称获取工程信息异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<CsEngineeringPO> addEngineering(CsEngineeringAddParm csEngineeringAddParm) {
log.error("{}异常,降级处理,异常为:{}","新增工程异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -72,6 +72,12 @@ public class EquipmentFeignClientFallbackFactory implements FallbackFactory<Equi
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<String> updateLedger(String nDid, String engineeringId, String projectId) {
log.error("{}异常,降级处理,异常为:{}","更新设备预设工程和项目id数据异常",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<CsEquipmentDeliveryPO>> getAll() {
log.error("{}异常,降级处理,异常为:{}","获取所有装置",cause.toString());

View File

@@ -22,7 +22,7 @@ public class CsUserPinsParam implements Serializable {
private Integer targetType;
@ApiModelProperty("目标ID设备ID或工程ID")
@NotBlank(message = "目标ID设备ID或工程ID")
@NotBlank(message = "目标ID设备ID或工程ID不能为空")
private String targetId;
}

View File

@@ -100,4 +100,10 @@ public class CsEquipmentDeliveryAddParm implements Serializable {
@ApiModelProperty(value="日志等级(NORMAL、DEBUG、WARN、ERROR)")
private String devLogLevel;
@ApiModelProperty(value="所属工程")
private String associatedEngineering;
@ApiModelProperty(value="所属项目")
private String associatedProject;
}

View File

@@ -104,4 +104,10 @@ public class CsEquipmentDeliveryAuditParm {
@ApiModelProperty(value="日志等级(NORMAL、DEBUG、WARN、ERROR)")
private String devLogLevel;
@ApiModelProperty(value="所属工程")
private String associatedEngineering;
@ApiModelProperty(value="所属项目")
private String associatedProject;
}

View File

@@ -28,26 +28,18 @@ public class AppProjectPO extends BaseEntity {
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 项目名称
*/
@TableField(value = "name")
private String name;
// @TableField(value = "engineering_id")
// private String engineeringId;
/**
* 地市Id
*/
@TableField(value = "area")
private String area;
/**
* 0删除 1正常
*/

View File

@@ -136,4 +136,16 @@ public class CsEquipmentDeliveryPO extends BaseEntity {
@TableField(value = "dev_log_level")
private String devLogLevel;
/**
* 所属工程
*/
@TableField(value = "associated_engineering")
private String associatedEngineering;
/**
* 所属项目
*/
@TableField(value = "associated_project")
private String associatedProject;
}

View File

@@ -31,7 +31,7 @@ public class CldLedgerVo implements Serializable {
private String engineeringDescription;
@ApiModelProperty(value = "项目信息")
private List<AppProjectPO> projectInfoList;
private List<ProjectVO> projectInfoList;
@ApiModelProperty(value = "设备信息")
private List<CsEquipmentDeliveryPO> deviceInfoList;
@@ -39,4 +39,7 @@ public class CldLedgerVo implements Serializable {
@ApiModelProperty(value = "监测点信息")
private List<CsLinePO> lineInfoList;
@ApiModelProperty("工程排序")
private Integer sort;
}

View File

@@ -94,4 +94,16 @@ public class CsEquipmentDeliveryVO extends BaseEntity {
@ApiModelProperty(value="前置服务器id")
private String nodeId ;
@ApiModelProperty(value="所属工程id")
private String associatedEngineering;
@ApiModelProperty(value="所属工程名称")
private String associatedEngineeringName;
@ApiModelProperty(value="所属项目id")
private String associatedProject;
@ApiModelProperty(value="所属项目名称")
private String associatedProjectName;
}

View File

@@ -4,6 +4,7 @@ import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
@@ -15,54 +16,59 @@ import java.util.List;
*/
@Data
public class DevCountVO {
//
@ApiModelProperty(value = "设备在线总数")
private Integer onLineDevCount;
public class DevCountVO implements Serializable {
/** 所有工程相关数据 **/
@ApiModelProperty(value = "所有工程设备在线总数")
private Integer onLineDevCount = 0;
private List<CsEquipmentDeliveryPO> onLineDevs;
@ApiModelProperty(value = "设备离线总数")
private Integer offLineDevCount;
@ApiModelProperty(value = "所有工程设备离线总数")
private Integer offLineDevCount = 0;
private List<CsEquipmentDeliveryPO> offLineDevs;
@ApiModelProperty(value = "警告数")
private Integer alarmCount;
@ApiModelProperty(value = "事件数")
private Integer eventCount;
@ApiModelProperty(value = "所有工程暂态事件数量(未读)")
private Integer eventCount = 0;
@ApiModelProperty(value = "所有工程稳态事件数量(未读)")
private Integer harmonicCount = 0;
@ApiModelProperty(value = "所有工程运行告警数量(未读)")
private Integer alarmCount = 0;
@ApiModelProperty(value = "所有工程运行事件数量(未读)")
private Integer runCount = 0;
@ApiModelProperty(value = "工程个数")
private Integer eningerCount;
@ApiModelProperty(value = "运行事件数")
private Integer runCount;
@ApiModelProperty(value = "稳态件数")
private Integer harmonicCount;
private Integer eningerCount = 0;
/** 当前工程相关数据 **/
@ApiModelProperty(value = "当前工程id")
private String currentId;
@ApiModelProperty(value = "当前工程设备在线总数")
private Integer currentOnLineDevCount;
private Integer currentOnLineDevCount = 0;
private List<CsEquipmentDeliveryPO> currentOnLineDevs;
@ApiModelProperty(value = "当前工程设备离线总数")
private Integer currentOffLineDevCount;
private Integer currentOffLineDevCount = 0;
private List<CsEquipmentDeliveryPO> currentOffLineDevs;
@ApiModelProperty(value = "设备警告数")
private Integer currentAlarmCount;
@ApiModelProperty(value = "暂态事件数")
private Integer currentEventCount;
@ApiModelProperty(value = "运行事件数")
private Integer currentRunCount;
@ApiModelProperty(value = "稳态件数")
private Integer currentHarmonicCount;
@ApiModelProperty(value = "当前工程暂态事件数量(未读)")
private Integer currentEventCount = 0;
@ApiModelProperty(value = "当前工程稳态事件数量(未读)")
private Integer currentHarmonicCount = 0;
@ApiModelProperty(value = "当前工程运行告警数量(未读)")
private Integer currentAlarmCount = 0;
@ApiModelProperty(value = "当前工程运行事件数量(未读)")
private Integer currentRunCount = 0;
@ApiModelProperty(value = "当前项目数")
private Integer currentProjectCount;
private Integer currentProjectCount = 0;
@ApiModelProperty(value = "反馈数")
private Integer feedBackCount;
private Integer feedBackCount = 0;
}

View File

@@ -22,16 +22,16 @@ public class EngineeringHomePageVO implements Serializable {
private String engineeringName;
@ApiModelProperty(name = "devTotal",value = "设备总数")
private Integer devTotal;
private Integer devTotal = 0;
@ApiModelProperty(name = "onlineDevTotal",value = "在线设备数")
private Integer onlineDevTotal;
private Integer onlineDevTotal = 0;
@ApiModelProperty(name = "offlineDevTotal",value = "离线设备数")
private Integer offlineDevTotal;
private Integer offlineDevTotal = 0;
@ApiModelProperty(name = "alarmTotal",value = "告警数量(未读)")
private Integer alarmTotal;
private Integer alarmTotal = 0;
@ApiModelProperty(name = "isTop",value = "是否置顶 0:未置顶 1:已置顶")
private Integer isTop = 0;

View File

@@ -0,0 +1,20 @@
package com.njcn.csdevice.pojo.vo;
import com.njcn.csdevice.pojo.po.AppProjectPO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author 徐扬
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class ProjectVO extends AppProjectPO {
private String topoId;
}