diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsDictFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsDictFeignClient.java deleted file mode 100644 index 742b7f4..0000000 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsDictFeignClient.java +++ /dev/null @@ -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 getOwnAndFatherData(@RequestParam("name")String name); - -} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLedgerFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLedgerFeignClient.java new file mode 100644 index 0000000..052f022 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLedgerFeignClient.java @@ -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 findDevByLineId(@RequestParam("lineId") String lineId); + +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataArrayFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataArrayFeignClient.java new file mode 100644 index 0000000..1798f12 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataArrayFeignClient.java @@ -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> getArrayBySet(@RequestBody List setList); + + @PostMapping("/getDataArray") + HttpResult> getDataArray(@RequestBody List dataSetList); + + @PostMapping("/getDataArrayById") + HttpResult> getDataArrayById(@RequestParam("pid") String pid, @RequestParam("name") String name); + + +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataSetFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataSetFeignClient.java new file mode 100644 index 0000000..5453387 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DataSetFeignClient.java @@ -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> getSetByModelId(@RequestParam("modelId") String modelId); + + @PostMapping("/getDataSet") + HttpResult> getDataSet(@RequestParam("modelId") String modelId); + +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DevModelFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DevModelFeignClient.java index d0a80be..2da5aaf 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DevModelFeignClient.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DevModelFeignClient.java @@ -28,4 +28,8 @@ public interface DevModelFeignClient { @PostMapping("/findModel") HttpResult findModel(@RequestParam("devType") String devType, @RequestParam("version") String version, @RequestParam("time") String time); + + @PostMapping("/getModelById") + HttpResult getModelById(@RequestParam("id") String id); + } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DevModelRelationFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DevModelRelationFeignClient.java new file mode 100644 index 0000000..cc7a033 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/DevModelRelationFeignClient.java @@ -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 getModelByDevId(@RequestParam("devId") String devId); + +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsDictFeignClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsLedgerFeignClientFallbackFactory.java similarity index 63% rename from cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsDictFeignClientFallbackFactory.java rename to cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsLedgerFeignClientFallbackFactory.java index ad603dc..4754df6 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsDictFeignClientFallbackFactory.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsLedgerFeignClientFallbackFactory.java @@ -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 { +public class CsLedgerFeignClientFallbackFactory implements FallbackFactory { @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 getOwnAndFatherData(String name) { - log.error("{}异常,降级处理,异常为:{}","获取指标自身和父级信息",cause.toString()); + public HttpResult findDevByLineId(String lineId) { + log.error("{}异常,降级处理,异常为:{}","根据监测点获取装置失败",cause.toString()); throw new BusinessException(finalExceptionEnum); } }; diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataArrayFeignClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataArrayFeignClientFallbackFactory.java new file mode 100644 index 0000000..42935f4 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataArrayFeignClientFallbackFactory.java @@ -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 { + @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> getArrayBySet(List setList) { + log.error("{}异常,降级处理,异常为:{}","根据数据集获取详细数据失败",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getDataArray(List dataSetList) { + log.error("{}异常,降级处理,异常为:{}","获取详细数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getDataArrayById(String pid, String name) { + log.error("{}异常,降级处理,异常为:{}","根据数据集id和名称获取详细数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataSetFeignClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataSetFeignClientFallbackFactory.java new file mode 100644 index 0000000..d193bdb --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DataSetFeignClientFallbackFactory.java @@ -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 { + @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> getSetByModelId(String modelId) { + log.error("{}异常,降级处理,异常为:{}","根据模板id获取数据集",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getDataSet(String modelId) { + log.error("{}异常,降级处理,异常为:{}","获取数据集",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DevModelFeignClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DevModelFeignClientFallbackFactory.java index 9f3d581..48358f9 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DevModelFeignClientFallbackFactory.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DevModelFeignClientFallbackFactory.java @@ -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 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 getModelById(String id) { + log.error("{}异常,降级处理,异常为:{}","根据id查询模板失败",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DevModelRelationFeignClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DevModelRelationFeignClientFallbackFactory.java new file mode 100644 index 0000000..c6ece3b --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/DevModelRelationFeignClientFallbackFactory.java @@ -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 { + @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 getModelByDevId(String devId) { + log.error("{}异常,降级处理,异常为:{}","根据装置获取模板",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java index b0628f1..35b469a 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java @@ -14,6 +14,7 @@ public enum AlgorithmResponseEnum { /** * A00500 ~ A01550 用于终端模块的枚举 */ + CS_DEVICE_COMMON_ERROR("A00500","治理终端模块异常"), PROJECT_COMMON_ERROR("A00500","同一用户下项目名不能相同"), DICT_DATA_ERROR("A00501","暂无此字典表类型"), NDID_ERROR("A00502","存在相同的ndid"), diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/dto/DataArrayDTO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/dto/DataArrayDTO.java new file mode 100644 index 0000000..aee8d43 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/dto/DataArrayDTO.java @@ -0,0 +1,24 @@ +package com.njcn.csdevice.pojo.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/6/1 16:57 + */ +@Data +public class DataArrayDTO implements Serializable { + + private String dataSetId; + + private String dataSetName; + + private String dataArrayName; + + private String dataArrayShowName; +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java index 1c88e86..9c39233 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDataArray.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; import java.time.LocalDateTime; + +import lombok.Data; import lombok.Getter; import lombok.Setter; @@ -15,8 +17,7 @@ import lombok.Setter; * @author xuyang * @since 2023-05-31 */ -@Getter -@Setter +@Data @TableName("cs_data_array") public class CsDataArray extends BaseEntity { diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDevModelRelationPO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDevModelRelationPO.java index 0911075..eb1b529 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDevModelRelationPO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsDevModelRelationPO.java @@ -26,9 +26,11 @@ public class CsDevModelRelationPO extends BaseEntity { @TableId(value = "id",type = IdType.ASSIGN_UUID) private String id; + @ApiModelProperty(value="装置id") @TableField(value = "dev_id") private String devId; + @ApiModelProperty(value="装置模板id") @TableField(value = "model_id") private String modelId; diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/LineTargetVO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/LineTargetVO.java new file mode 100644 index 0000000..df1cecb --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/LineTargetVO.java @@ -0,0 +1,37 @@ +package com.njcn.csdevice.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/6/1 10:13 + */ +@Data +public class LineTargetVO { + + @ApiModelProperty("指标id") + private String id; + + @ApiModelProperty("父id") + private String pid; + + @ApiModelProperty("指标名称") + private String name; + + @ApiModelProperty("显示名称") + private String anotherName; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("子集") + private List children = new ArrayList<>(); + +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/utils/CsDeviceEnumUtil.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/utils/CsDeviceEnumUtil.java new file mode 100644 index 0000000..ca099ee --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/utils/CsDeviceEnumUtil.java @@ -0,0 +1,44 @@ +package com.njcn.csdevice.utils; + +import cn.hutool.core.util.StrUtil; +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.common.utils.EnumUtils; +import com.njcn.csdevice.enums.AlgorithmResponseEnum; + +import javax.validation.constraints.NotNull; +import java.util.Objects; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2021年05月26日 17:17 + */ +public class CsDeviceEnumUtil { + + /** + * 获取UserResponseEnum实例 + */ + public static AlgorithmResponseEnum getResponseEnumByMessage(@NotNull Object value) { + AlgorithmResponseEnum algorithmResponseEnum; + try { + String message = value.toString(); + if(message.indexOf(StrUtil.C_COMMA)>0){ + value = message.substring(message.indexOf(StrUtil.C_COMMA)+1); + } + algorithmResponseEnum = EnumUtils.valueOf(AlgorithmResponseEnum.class, value, AlgorithmResponseEnum.class.getMethod(BusinessException.GET_MESSAGE_METHOD)); + return Objects.isNull(algorithmResponseEnum) ? AlgorithmResponseEnum.CS_DEVICE_COMMON_ERROR : algorithmResponseEnum; + } catch (NoSuchMethodException e) { + throw new BusinessException(CommonResponseEnum.INTERNAL_ERROR); + } + } + public static Enum getExceptionEnum(HttpResult result){ + //如果返回错误,且为内部错误,则直接抛出异常 + CommonResponseEnum commonResponseEnum = EnumUtils.getCommonResponseEnumByCode(result.getCode()); + if (commonResponseEnum == CommonResponseEnum.CS_DEVICE_RESPONSE_ENUM) { + return getResponseEnumByMessage(result.getMessage()); + } + return commonResponseEnum; + } +} diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataArrayController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataArrayController.java index f0dcadf..b13b1ec 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataArrayController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataArrayController.java @@ -1,13 +1,25 @@ package com.njcn.csdevice.controller.Equipment; +import com.njcn.common.pojo.annotation.OperateInfo; +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.pojo.po.CsDataArray; +import com.njcn.csdevice.pojo.po.CsDataSet; +import com.njcn.csdevice.pojo.vo.LineTargetVO; +import com.njcn.csdevice.service.ICsDataArrayService; +import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; -import com.njcn.web.controller.BaseController; +import java.util.List; /** *

@@ -20,9 +32,44 @@ import com.njcn.web.controller.BaseController; @Slf4j @RestController @RequestMapping("/csDataArray") -@Api(tags = "终端指标集") +@Api(tags = "终端详细数据") @AllArgsConstructor public class CsDataArrayController extends BaseController { + private final ICsDataArrayService csDataArrayService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getArrayBySet") + @ApiOperation("根据数据集获取详细数据") + @ApiImplicitParam(name = "dataSetList", value = "数据集集合", required = true) + public HttpResult> getArrayBySet(@RequestBody List dataSetList){ + String methodDescribe = getMethodDescribe("getArrayBySet"); + List list = csDataArrayService.getArrayBySet(dataSetList); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDataArray") + @ApiOperation("获取详细数据") + @ApiImplicitParam(name = "dataSetList", value = "数据集集合", required = true) + public HttpResult> getDataArray(@RequestBody List dataSetList){ + String methodDescribe = getMethodDescribe("getDataArray"); + List list = csDataArrayService.getDataArray(dataSetList); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDataArrayById") + @ApiOperation("获取详细数据(id)") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pid", value = "数据集id", required = true), + @ApiImplicitParam(name = "name", value = "名称", required = true) + }) + public HttpResult> getDataArrayById(@RequestParam("pid") String pid, @RequestParam("name") String name){ + String methodDescribe = getMethodDescribe("getDataArrayById"); + List list = csDataArrayService.getDataArrayById(pid, name); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataSetController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataSetController.java index db73b9e..39966b8 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataSetController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/CsDataSetController.java @@ -1,13 +1,26 @@ package com.njcn.csdevice.controller.Equipment; +import com.njcn.common.pojo.annotation.OperateInfo; +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.pojo.po.CsDataSet; +import com.njcn.csdevice.pojo.vo.LineTargetVO; +import com.njcn.csdevice.service.ICsDataSetService; +import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; - +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.njcn.web.controller.BaseController; + +import java.util.List; /** *

@@ -24,5 +37,27 @@ import com.njcn.web.controller.BaseController; @AllArgsConstructor public class CsDataSetController extends BaseController { + private final ICsDataSetService csDataSetService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getSetByModelId") + @ApiOperation("根据模板Id获取数据集") + @ApiImplicitParam(name = "modelId", value = "模板id", required = true) + public HttpResult> getSetByModelId(@RequestParam("modelId") String modelId){ + String methodDescribe = getMethodDescribe("getSetByModelId"); + List list = csDataSetService.findDataSetByModelId(modelId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDataSet") + @ApiOperation("获取数据集") + @ApiImplicitParam(name = "modelId", value = "模板id", required = true) + public HttpResult> getDataSet(@RequestParam("modelId") String modelId){ + String methodDescribe = getMethodDescribe("getDataSet"); + List list = csDataSetService.getDataSet(modelId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelController.java index ae33218..76d123b 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelController.java @@ -95,12 +95,19 @@ public class DevModelController extends BaseController { @ApiImplicitParam(name = "time", value = "时间", required = true) }) public HttpResult findModel(@RequestParam("devType") String devType,@RequestParam("version") String version,@RequestParam("time") String time){ - System.out.println(devType); - System.out.println(version); - System.out.println(time); String methodDescribe = getMethodDescribe("findModel"); CsDevModelPO csDevModelPo = csDevModelService.findModel(devType,version,time); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDevModelPo, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getModelById") + @ApiOperation("根据模板Id获取模板数据") + @ApiImplicitParam(name = "id", value = "模板id", required = true) + public HttpResult getModelById(@RequestParam("id") String id){ + String methodDescribe = getMethodDescribe("getDataById"); + CsDevModelPO po = csDevModelService.getModelById(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, po, methodDescribe); + } + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelRelationController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelRelationController.java index 58e18ba..9f4c02e 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelRelationController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/DevModelRelationController.java @@ -19,10 +19,7 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; 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.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -80,6 +77,14 @@ public class DevModelRelationController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } - + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getModelByDevId") + @ApiOperation("根据装置Id查询模板") + @ApiImplicitParam(name = "devId", value = "装置id", required = true) + public HttpResult getModelByDevId(@RequestParam("devId") String devId){ + String methodDescribe = getMethodDescribe("getModelByDevId"); + CsDevModelRelationPO po = csDevModelRelationService.findModelByDevId(devId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, po, methodDescribe); + } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataArrayMapper.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataArrayMapper.java index e4f8e04..a3813e7 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataArrayMapper.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataArrayMapper.java @@ -2,6 +2,10 @@ package com.njcn.csdevice.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.csdevice.pojo.po.CsDataArray; +import com.njcn.csdevice.pojo.vo.LineTargetVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +17,6 @@ import com.njcn.csdevice.pojo.po.CsDataArray; */ public interface CsDataArrayMapper extends BaseMapper { + List getDataArray(@Param("list") List list); + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataSetMapper.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataSetMapper.java index 5368d40..18429ea 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataSetMapper.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDataSetMapper.java @@ -2,6 +2,10 @@ package com.njcn.csdevice.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.csdevice.pojo.po.CsDataSet; +import com.njcn.csdevice.pojo.vo.LineTargetVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +17,6 @@ import com.njcn.csdevice.pojo.po.CsDataSet; */ public interface CsDataSetMapper extends BaseMapper { + List getDataSet(@Param("modelId") String modelId); + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDevModelMapper.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDevModelMapper.java index 7e55bfe..308faa2 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDevModelMapper.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDevModelMapper.java @@ -2,12 +2,15 @@ package com.njcn.csdevice.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.csdevice.pojo.dto.DataArrayDTO; import com.njcn.csdevice.pojo.param.CsDevModelQueryListParm; import com.njcn.csdevice.pojo.param.CsDevModelQueryParm; import com.njcn.csdevice.pojo.po.CsDevModelPO; import com.njcn.csdevice.pojo.vo.CsDevModelPageVO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * * Description: @@ -21,4 +24,6 @@ public interface CsDevModelMapper extends BaseMapper { Page getPage(Page returnpage,@Param("csDevModelQueryParm") CsDevModelQueryParm csDevModelQueryParm); CsDevModelPageVO queryOne(@Param("csDevModelQueryListParm")CsDevModelQueryListParm csDevModelQueryListParm); + + List getDataArrayByModelId(@Param("modelId")String modelId); } \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDictMapper.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDictMapper.java deleted file mode 100644 index b62b636..0000000 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsDictMapper.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.njcn.csdevice.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.njcn.csdevice.pojo.dto.CsDictDTO; -import com.njcn.csdevice.pojo.po.CsDictPO; -import org.apache.ibatis.annotations.Param; - -/** - * - * Description: - * 接口文档访问地址:http://serverIP:port/swagger-ui.html - * Date: 2023/4/3 14:53【需求编号】 - * - * @author clam - * @version V1.0.0 - */ -public interface CsDictMapper extends BaseMapper { - - CsDictDTO getOwnAndFatherData(@Param("name") String name); -} \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataArrayMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataArrayMapper.xml new file mode 100644 index 0000000..d6f65f5 --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataArrayMapper.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataSetMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataSetMapper.xml new file mode 100644 index 0000000..01d564e --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDataSetMapper.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDevModelMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDevModelMapper.xml index c298c00..c6ed5d8 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDevModelMapper.xml +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsDevModelMapper.xml @@ -74,4 +74,18 @@ + + + \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelRelationService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelRelationService.java index a6541b8..a8d2921 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelRelationService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelRelationService.java @@ -38,4 +38,12 @@ public interface CsDevModelRelationService extends IService queryDevModelRelation(CsDevModelRelationQueryParm queryParm); - } + + /** + * 根据装置id获取关联信息 + * @param devId + * @return + */ + CsDevModelRelationPO findModelByDevId(String devId); + +} diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelService.java index 979deb6..807def0 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsDevModelService.java @@ -64,11 +64,10 @@ public interface CsDevModelService extends IService{ CsDevModelPO findModel(String devType, String version, String time); /** - * 根据装置型号查询模板 - * @param devType 装置型号 + * 根据id获取模板信息 + * @param id * @return */ - CsDevModelPO findModelByDevType(String devType); - + CsDevModelPO getModelById(String id); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java index 9f37837..1dbf045 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataArrayService.java @@ -2,6 +2,9 @@ package com.njcn.csdevice.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.csdevice.pojo.po.CsDataArray; +import com.njcn.csdevice.pojo.po.CsDataSet; +import com.njcn.csdevice.pojo.vo.LineTargetVO; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -15,13 +18,16 @@ import java.util.List; */ public interface ICsDataArrayService extends IService { + /** - * 根据数据集id获取指标数据 - * @param dataSetId 数据集Id + * 根据数据集获取指标数据 + * @param list 数据集 * @return */ - List findDataArrayByDataSetId(String dataSetId); + List getArrayBySet(List list); + List getDataArray(List list); + List getDataArrayById(String pid, String name); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataSetService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataSetService.java index 4d237b7..cf6db25 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataSetService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsDataSetService.java @@ -2,6 +2,7 @@ package com.njcn.csdevice.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.csdevice.pojo.po.CsDataSet; +import com.njcn.csdevice.pojo.vo.LineTargetVO; import java.util.List; @@ -22,4 +23,11 @@ public interface ICsDataSetService extends IService { */ List findDataSetByModelId(String modelId); + + /** + * 获取数据集 + * @param modelId 模板id + * @return + */ + List getDataSet(String modelId); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java index a6c2c98..f4c66bf 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataArrayServiceImpl.java @@ -3,10 +3,13 @@ package com.njcn.csdevice.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.csdevice.mapper.CsDataArrayMapper; 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.service.ICsDataArrayService; import org.springframework.stereotype.Service; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -20,7 +23,20 @@ import java.util.List; public class CsDataArrayServiceImpl extends ServiceImpl implements ICsDataArrayService { @Override - public List findDataArrayByDataSetId(String dataSetId) { - return this.lambdaQuery().eq(CsDataArray::getPid,dataSetId).list(); + public List getArrayBySet(List list) { + List setList = list.stream().map(CsDataSet::getId).collect(Collectors.toList()); + return this.lambdaQuery().in(CsDataArray::getPid,setList).list(); } + + @Override + public List getDataArray(List list) { + return this.baseMapper.getDataArray(list); + } + + @Override + public List getDataArrayById(String pid, String name) { + return this.lambdaQuery().eq(CsDataArray::getPid,pid).eq(CsDataArray::getName,name).list(); + } + + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataSetServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataSetServiceImpl.java index 7f0f8b4..562a334 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataSetServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDataSetServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.csdevice.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.csdevice.mapper.CsDataSetMapper; import com.njcn.csdevice.pojo.po.CsDataSet; +import com.njcn.csdevice.pojo.vo.LineTargetVO; import com.njcn.csdevice.service.ICsDataSetService; import org.springframework.stereotype.Service; @@ -23,4 +24,10 @@ public class CsDataSetServiceImpl extends ServiceImpl findDataSetByModelId(String modelId) { return this.lambdaQuery().eq(CsDataSet::getPid,modelId).list(); } + + @Override + public List getDataSet(String modelId) { + return this.baseMapper.getDataSet(modelId); + } + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevModelRelationServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevModelRelationServiceImpl.java index 85dd789..d307b98 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevModelRelationServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevModelRelationServiceImpl.java @@ -87,4 +87,9 @@ public class CsDevModelRelationServiceImpl extends ServiceImpl dataTypeList; + + @ApiModelProperty("相别") + private List phasicList; + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/controller/LineTargetController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/controller/LineTargetController.java new file mode 100644 index 0000000..1e89166 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/controller/LineTargetController.java @@ -0,0 +1,64 @@ +package com.njcn.harmonic.controller; + +import com.njcn.common.pojo.annotation.OperateInfo; +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.pojo.vo.LineTargetVO; +import com.njcn.harmonic.service.ILineTargetService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import pojo.vo.TargetDetailVO; + +import java.util.List; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/6/1 10:03 + */ +@Slf4j +@RestController +@RequestMapping("/lineTarget") +@Api(tags = "组态指标绑定") +@AllArgsConstructor +public class LineTargetController extends BaseController { + + private final ILineTargetService lineTargetService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/target") + @ApiOperation("监测点指标") + @ApiImplicitParam(name = "lineId", value = "监测点Id", required = true) + public HttpResult> getLineTarget(@RequestParam("lineId") String lineId) { + String methodDescribe = getMethodDescribe("getLineTarget"); + List list = lineTargetService.getLineTarget(lineId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/targetDetail") + @ApiOperation("获取指标数据类型和相别") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pid", value = "数据集id", required = true), + @ApiImplicitParam(name = "name", value = "名称", required = true) + }) + public HttpResult getTargetDetail(@RequestParam("pid") String pid, @RequestParam("name") String name) { + String methodDescribe = getMethodDescribe("getTargetDetail"); + TargetDetailVO list = lineTargetService.getTargetDetail(pid,name); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/service/ILineTargetService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/service/ILineTargetService.java new file mode 100644 index 0000000..b4cd68b --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/service/ILineTargetService.java @@ -0,0 +1,29 @@ +package com.njcn.harmonic.service; + +import com.njcn.csdevice.pojo.vo.LineTargetVO; +import pojo.vo.TargetDetailVO; + +import java.util.List; + +/** + * @author xuyang + */ +public interface ILineTargetService { + + /** + * 根据监测点Id获取对应指标 + * @param lineId + * @return + */ + List getLineTarget(String lineId); + + /** + * 获取指标的数据类型和相别 + * @param pid + * @param name + * @return + */ + TargetDetailVO getTargetDetail(String pid, String name); + + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/LineTargetServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/LineTargetServiceImpl.java new file mode 100644 index 0000000..7929d64 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/LineTargetServiceImpl.java @@ -0,0 +1,75 @@ +package com.njcn.harmonic.service.impl; + +import com.njcn.csdevice.api.*; +import com.njcn.csdevice.pojo.po.CsDataArray; +import com.njcn.csdevice.pojo.po.CsDataSet; +import com.njcn.csdevice.pojo.po.CsDevModelPO; +import com.njcn.csdevice.pojo.po.CsDevModelRelationPO; +import com.njcn.csdevice.pojo.vo.CsLedgerVO; +import com.njcn.csdevice.pojo.vo.LineTargetVO; +import com.njcn.harmonic.service.ILineTargetService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import pojo.vo.TargetDetailVO; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/6/1 10:11 + */ +@Service +@AllArgsConstructor +public class LineTargetServiceImpl implements ILineTargetService { + + private final CsLedgerFeignClient csLedgerFeignClient; + + private final DevModelRelationFeignClient devModelRelationFeignClient; + + private final DevModelFeignClient devModelFeignClient; + + private final DataSetFeignClient dataSetFeignClient; + + private final DataArrayFeignClient dataArrayFeignClient; + + @Override + public List getLineTarget(String lineId) { + List list = new ArrayList<>(); + String devId = csLedgerFeignClient.findDevByLineId(lineId).getData(); + CsDevModelRelationPO po = devModelRelationFeignClient.getModelByDevId(devId).getData(); + if (!Objects.isNull(po)){ + CsDevModelPO csDevModelPo = devModelFeignClient.getModelById(po.getModelId()).getData(); + List dataSetList = dataSetFeignClient.getDataSet(csDevModelPo.getId()).getData(); + List setList = dataSetList.stream().map(LineTargetVO::getId).collect(Collectors.toList()); + List dataArrayList = dataArrayFeignClient.getDataArray(setList).getData(); + dataSetList.forEach(dev -> dev.setChildren(getChildren(dev, dataArrayList))); + list.addAll(dataSetList); + } + return list; + } + + @Override + public TargetDetailVO getTargetDetail(String pid, String name) { + TargetDetailVO vo = new TargetDetailVO(); + List dataArrayList = dataArrayFeignClient.getDataArrayById(pid,name).getData(); + List dataType = dataArrayList.stream().map(CsDataArray::getStatMethod).distinct().collect(Collectors.toList()); + List phasic = dataArrayList.stream().map(CsDataArray::getPhase).distinct().collect(Collectors.toList()); + vo.setDataTypeList(dataType); + vo.setPhasicList(phasic); + return vo; + } + + /** + * 获取子节点 + */ + public List getChildren(LineTargetVO item, List all) { + return all.stream().filter(allItem -> allItem.getPid().equals(item.getId())).collect(Collectors.toList()); + } +}