组态功能开发

This commit is contained in:
2023-06-02 11:42:19 +08:00
parent bf2a0ea480
commit 63c10fb8b5
40 changed files with 823 additions and 76 deletions

View File

@@ -1,20 +0,0 @@
package com.njcn.csdevice.api;
import com.njcn.csdevice.api.fallback.CsEdDataFeignClientFallbackFactory;
import com.njcn.csdevice.pojo.dto.CsDictDTO;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author xy
*/
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/dict", fallbackFactory = CsEdDataFeignClientFallbackFactory.class,contextId = "edData")
public interface CsDictFeignClient {
@PostMapping("/getOwnAndFatherData")
HttpResult<CsDictDTO> getOwnAndFatherData(@RequestParam("name")String name);
}

View File

@@ -0,0 +1,19 @@
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.CsLedgerFeignClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author xy
*/
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/csLedger", fallbackFactory = CsLedgerFeignClientFallbackFactory.class,contextId = "csLedger")
public interface CsLedgerFeignClient {
@PostMapping("/findDevByLineId")
HttpResult<String> findDevByLineId(@RequestParam("lineId") String lineId);
}

View File

@@ -0,0 +1,40 @@
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.DataArrayFeignClientFallbackFactory;
import com.njcn.csdevice.pojo.po.CsDataArray;
import com.njcn.csdevice.pojo.po.CsDataSet;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
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;
/**
* @author xy
*/
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/csDataArray", fallbackFactory = DataArrayFeignClientFallbackFactory.class,contextId = "csDataArray")
public interface DataArrayFeignClient {
@PostMapping("/getArrayBySet")
HttpResult<List<CsDataArray>> getArrayBySet(@RequestBody List<CsDataSet> setList);
@PostMapping("/getDataArray")
HttpResult<List<LineTargetVO>> getDataArray(@RequestBody List<String> dataSetList);
@PostMapping("/getDataArrayById")
HttpResult<List<CsDataArray>> getDataArrayById(@RequestParam("pid") String pid, @RequestParam("name") String name);
}

View File

@@ -0,0 +1,27 @@
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.DataSetFeignClientFallbackFactory;
import com.njcn.csdevice.pojo.po.CsDataSet;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
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 = "/csDataSet", fallbackFactory = DataSetFeignClientFallbackFactory.class,contextId = "csDataSet")
public interface DataSetFeignClient {
@PostMapping("/getSetByModelId")
HttpResult<List<CsDataSet>> getSetByModelId(@RequestParam("modelId") String modelId);
@PostMapping("/getDataSet")
HttpResult<List<LineTargetVO>> getDataSet(@RequestParam("modelId") String modelId);
}

View File

@@ -28,4 +28,8 @@ public interface DevModelFeignClient {
@PostMapping("/findModel")
HttpResult<CsDevModelPO> findModel(@RequestParam("devType") String devType, @RequestParam("version") String version, @RequestParam("time") String time);
@PostMapping("/getModelById")
HttpResult<CsDevModelPO> getModelById(@RequestParam("id") String id);
}

View File

@@ -0,0 +1,20 @@
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.DevModelRelationFeignClientFallbackFactory;
import com.njcn.csdevice.pojo.po.CsDevModelRelationPO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author xy
*/
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/devmodelRelation", fallbackFactory = DevModelRelationFeignClientFallbackFactory.class,contextId = "devmodelRelation")
public interface DevModelRelationFeignClient {
@PostMapping("/getModelByDevId")
HttpResult<CsDevModelRelationPO> getModelByDevId(@RequestParam("devId") String devId);
}

View File

@@ -1,10 +1,10 @@
package com.njcn.csdevice.api.fallback;
import com.njcn.csdevice.api.CsDictFeignClient;
import com.njcn.csdevice.pojo.dto.CsDictDTO;
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.CsLedgerFeignClient;
import com.njcn.csdevice.utils.CsDeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@@ -14,20 +14,21 @@ import org.springframework.stereotype.Component;
*/
@Slf4j
@Component
public class CsDictFeignClientFallbackFactory implements FallbackFactory<CsDictFeignClient> {
public class CsLedgerFeignClientFallbackFactory implements FallbackFactory<CsLedgerFeignClient> {
@Override
public CsDictFeignClient create(Throwable cause) {
public CsLedgerFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (cause.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause.getCause();
exceptionEnum = CsDeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new CsDictFeignClient() {
return new CsLedgerFeignClient() {
@Override
public HttpResult<CsDictDTO> getOwnAndFatherData(String name) {
log.error("{}异常,降级处理,异常为:{}","获取指标自身和父级信息",cause.toString());
public HttpResult<String> findDevByLineId(String lineId) {
log.error("{}异常,降级处理,异常为:{}","根据监测点获取装置失败",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};

View File

@@ -0,0 +1,56 @@
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.DataArrayFeignClient;
import com.njcn.csdevice.pojo.po.CsDataArray;
import com.njcn.csdevice.pojo.po.CsDataSet;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
import com.njcn.csdevice.utils.CsDeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/10 20:09
*/
@Slf4j
@Component
public class DataArrayFeignClientFallbackFactory implements FallbackFactory<DataArrayFeignClient> {
@Override
public DataArrayFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (cause.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause.getCause();
exceptionEnum = CsDeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new DataArrayFeignClient() {
@Override
public HttpResult<List<CsDataArray>> getArrayBySet(List<CsDataSet> setList) {
log.error("{}异常,降级处理,异常为:{}","根据数据集获取详细数据失败",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<LineTargetVO>> getDataArray(List<String> dataSetList) {
log.error("{}异常,降级处理,异常为:{}","获取详细数据",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<CsDataArray>> getDataArrayById(String pid, String name) {
log.error("{}异常,降级处理,异常为:{}","根据数据集id和名称获取详细数据",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,54 @@
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.DataSetFeignClient;
import com.njcn.csdevice.api.DevModelFeignClient;
import com.njcn.csdevice.pojo.param.CsDevModelAddParm;
import com.njcn.csdevice.pojo.param.CsDevModelQueryListParm;
import com.njcn.csdevice.pojo.po.CsDataSet;
import com.njcn.csdevice.pojo.po.CsDevModelPO;
import com.njcn.csdevice.pojo.vo.CsDevModelPageVO;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
import com.njcn.csdevice.utils.CsDeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/10 20:09
*/
@Slf4j
@Component
public class DataSetFeignClientFallbackFactory implements FallbackFactory<DataSetFeignClient> {
@Override
public DataSetFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (cause.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause.getCause();
exceptionEnum = CsDeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new DataSetFeignClient() {
@Override
public HttpResult<List<CsDataSet>> getSetByModelId(String modelId) {
log.error("{}异常,降级处理,异常为:{}","根据模板id获取数据集",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<LineTargetVO>> getDataSet(String modelId) {
log.error("{}异常,降级处理,异常为:{}","获取数据集",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -8,6 +8,7 @@ import com.njcn.csdevice.pojo.vo.CsDevModelPageVO;
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.utils.CsDeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@@ -28,7 +29,7 @@ public class DevModelFeignClientFallbackFactory implements FallbackFactory<DevMo
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (cause.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause.getCause();
// exceptionEnum = UserEnumUtil.getExceptionEnum(businessException.getResult());
exceptionEnum = CsDeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new DevModelFeignClient() {
@@ -50,6 +51,12 @@ public class DevModelFeignClientFallbackFactory implements FallbackFactory<DevMo
log.error("{}异常,降级处理,异常为:{}","根据条件查询模板",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<CsDevModelPO> getModelById(String id) {
log.error("{}异常,降级处理,异常为:{}","根据id查询模板失败",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,37 @@
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.CsLedgerFeignClient;
import com.njcn.csdevice.api.DevModelRelationFeignClient;
import com.njcn.csdevice.pojo.po.CsDevModelRelationPO;
import com.njcn.csdevice.utils.CsDeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @author xy
*/
@Slf4j
@Component
public class DevModelRelationFeignClientFallbackFactory implements FallbackFactory<DevModelRelationFeignClient> {
@Override
public DevModelRelationFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (cause.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause.getCause();
exceptionEnum = CsDeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new DevModelRelationFeignClient() {
@Override
public HttpResult<CsDevModelRelationPO> getModelByDevId(String devId) {
log.error("{}异常,降级处理,异常为:{}","根据装置获取模板",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}