diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/EleEvtFeignClient.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/EleEvtFeignClient.java new file mode 100644 index 000000000..819fa5fb4 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/EleEvtFeignClient.java @@ -0,0 +1,25 @@ +package com.njcn.system.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.system.api.fallback.EleEvtFeignClientFallbackFactory; +import com.njcn.system.pojo.param.EleEvtParam; +import com.njcn.system.pojo.po.EleEpdPqd; +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; + +/** + * @author xuyang + * @version 1.0.0 + * @date 2021年05月08日 15:11 + */ +@FeignClient(value = ServerInfo.SYSTEM,path = "/eleEvtParm",fallbackFactory = EleEvtFeignClientFallbackFactory.class,contextId = "eleEvtParm") +public interface EleEvtFeignClient { + + @PostMapping("/add") + @ApiOperation("新增事件拓展数据") + HttpResult add(@RequestBody EleEvtParam evtParam); + +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java index 69e968698..f840ca946 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java @@ -25,6 +25,9 @@ public interface EpdFeignClient { @PostMapping("/addByModel") HttpResult addByModel(@RequestBody List eleEpdPqdParam); + @PostMapping("/add") + HttpResult add(@RequestBody EleEpdPqdParam eleEpdPqdParam); + @PostMapping("/dictMarkByDataType") HttpResult> dictMarkByDataType(@RequestParam("dataType") String dataType); @@ -37,4 +40,6 @@ public interface EpdFeignClient { @PostMapping("/selectByIds") HttpResult> selectByIds(@RequestBody List ids); + @PostMapping("/judgeExist") + HttpResult> judgeExist(@RequestParam("name") String name,@RequestParam("dataType") String dataType); } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EleEvtFeignClientFallbackFactory.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EleEvtFeignClientFallbackFactory.java new file mode 100644 index 000000000..1453761f0 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EleEvtFeignClientFallbackFactory.java @@ -0,0 +1,46 @@ +package com.njcn.system.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.system.api.EleEvtFeignClient; +import com.njcn.system.api.EpdFeignClient; +import com.njcn.system.pojo.param.EleEpdPqdParam; +import com.njcn.system.pojo.param.EleEvtParam; +import com.njcn.system.pojo.po.EleEpdPqd; +import com.njcn.system.utils.SystemEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/5/24 18:46 + */ +@Slf4j +@Component +public class EleEvtFeignClientFallbackFactory implements FallbackFactory { + @Override + public EleEvtFeignClient create(Throwable cause) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if(cause.getCause() instanceof BusinessException){ + BusinessException businessException = (BusinessException) cause.getCause(); + exceptionEnum = SystemEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new EleEvtFeignClient() { + @Override + public HttpResult add(EleEvtParam evtParam) { + log.error("{}异常,降级处理,异常为:{}","新增事件拓展数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java index 7463f7c2c..0ae9320d0 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java @@ -40,6 +40,12 @@ public class EpdFeignClientFallbackFactory implements FallbackFactory add(EleEpdPqdParam eleEpdPqdParam) { + log.error("{}异常,降级处理,异常为:{}","新增字典数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult> dictMarkByDataType(String dataType) { log.error("{}异常,降级处理,异常为:{}","通过数据模型获取字典数据组装唯一标识",cause.toString()); @@ -63,6 +69,12 @@ public class EpdFeignClientFallbackFactory implements FallbackFactory> judgeExist(String name, String dataType) { + log.error("{}异常,降级处理,异常为:{}","校验字典是否存在",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java index d5a04db2e..bbef1914e 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java @@ -373,6 +373,8 @@ public enum DicDataEnum { /** * 治理数据模型 */ + APF("APF","Apf"), + DVR("DVR","Dvr"), EPD("电能数据","Epd"), PQD("电能质量数据","Pqd"), BMD("基础测量数据","Bmd"), diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java index 8b4d68661..6f50d630e 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java @@ -81,10 +81,10 @@ public class EleEpdPqdParam { private Integer ctlSts; @ApiModelProperty(value = "设置最大值") - private Integer maxNum; + private Double maxNum; @ApiModelProperty(value = "设置最小值") - private Integer minNum; + private Double minNum; @ApiModelProperty(value = "参数为enum可设置的所有值序列") private String setValue; diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EleEvtParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EleEvtParam.java new file mode 100644 index 000000000..ca6fd10e8 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EleEvtParam.java @@ -0,0 +1,24 @@ +package com.njcn.system.pojo.param; + +import lombok.Data; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/7/31 14:44 + */ +@Data +public class EleEvtParam { + + private String pid; + + private String name; + + private String type; + + private String unit; + + private String data; +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java index 6edc165f6..9d2f5844c 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java @@ -120,12 +120,12 @@ public class EleEpdPqd { /** * 设置最大值 */ - private Integer maxNum; + private Double maxNum; /** * 设置最小值 */ - private Integer minNum; + private Double minNum; /** * 参数为enum可设置的所有值序列 diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EleEvtParm.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EleEvtParm.java new file mode 100644 index 000000000..50d35e4b1 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EleEvtParm.java @@ -0,0 +1,38 @@ +package com.njcn.system.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 事件拓展表 + *

+ * + * @author xuyang + * @since 2023-07-31 + */ +@Data +@TableName("cs_evt_parm") +public class EleEvtParm { + + private static final long serialVersionUID = 1L; + + private String id; + + private String pid; + + private String name; + + private String type; + + private String unit; + + private String data; + + +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java index 6fd01a6a3..7abe5541f 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java @@ -16,6 +16,7 @@ import com.njcn.system.service.IEleEpdPqdService; 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.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -61,12 +62,12 @@ public class EleEpdPqdController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("新增字典数据") @ApiImplicitParam(name = "eleEpdPqdParam", value = "字典数据", required = true) - public HttpResult add(@RequestBody @Validated EleEpdPqdParam eleEpdPqdParam){ + public HttpResult add(@RequestBody @Validated EleEpdPqdParam eleEpdPqdParam){ log.info("录入字典数据"); String methodDescribe = getMethodDescribe("add"); LogUtil.njcnDebug(log, "{},模板当前解析字典数据为:", methodDescribe); - eleEpdPqdService.add(eleEpdPqdParam); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + EleEpdPqd eleEpdPqd = eleEpdPqdService.add(eleEpdPqdParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eleEpdPqd, methodDescribe); } @PostMapping("/delete") @@ -162,6 +163,19 @@ public class EleEpdPqdController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eleEpdPqds, methodDescribe); } + @PostMapping("/judgeExist") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("校验字典是否存在") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "指标名称", required = true), + @ApiImplicitParam(name = "dataType", value = "数据模型", required = true) + }) + public HttpResult> judgeExist(@RequestParam("name") @Validated String name, @RequestParam("dataType") @Validated String dataType){ + String methodDescribe = getMethodDescribe("judgeExist"); + LogUtil.njcnDebug(log, "{},校验字典是否存在:", methodDescribe); + List list = eleEpdPqdService.judgeExist(name,dataType); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEvtParmController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEvtParmController.java new file mode 100644 index 000000000..b0f990dc7 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEvtParmController.java @@ -0,0 +1,58 @@ +package com.njcn.system.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.common.utils.LogUtil; +import com.njcn.system.pojo.param.EleEpdPqdParam; +import com.njcn.system.pojo.param.EleEvtParam; +import com.njcn.system.pojo.po.EleEpdPqd; +import com.njcn.system.service.IEleEvtParmService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +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 com.njcn.web.controller.BaseController; + +/** + *

+ * 事件拓展表 前端控制器 + *

+ * + * @author xuyang + * @since 2023-07-31 + */ +@Slf4j +@RestController +@RequestMapping("/eleEvtParm") +@RequiredArgsConstructor +@Api(tags = "事件字典录入") +@Validated +public class EleEvtParmController extends BaseController { + + private final IEleEvtParmService eleEvtParmService; + + @PostMapping("/add") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("新增事件拓展数据") + @ApiImplicitParam(name = "evtParam", value = "字典数据", required = true) + public HttpResult add(@RequestBody @Validated EleEvtParam evtParam){ + log.info("录入字典数据"); + String methodDescribe = getMethodDescribe("add"); + LogUtil.njcnDebug(log, "{},模板当前解析字典数据为:", methodDescribe); + eleEvtParmService.add(evtParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + +} + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EleEvtParmMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EleEvtParmMapper.java new file mode 100644 index 000000000..e090ed20e --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EleEvtParmMapper.java @@ -0,0 +1,16 @@ +package com.njcn.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.system.pojo.po.EleEvtParm; + +/** + *

+ * 事件拓展表 Mapper 接口 + *

+ * + * @author xuyang + * @since 2023-07-31 + */ +public interface EleEvtParmMapper extends BaseMapper { + +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java index 6485532fa..e463a9b96 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java @@ -32,7 +32,7 @@ public interface IEleEpdPqdService extends IService { * 存储字典数据 * @param eleEpdPqdParam */ - void add(EleEpdPqdParam eleEpdPqdParam); + EleEpdPqd add(EleEpdPqdParam eleEpdPqdParam); /** * 删除字典数据 @@ -85,4 +85,13 @@ public interface IEleEpdPqdService extends IService { * @return */ List selectByIds(List ids); + + /** + * 校验字典是否存在 + * @param name + * @param dataType + * @return + */ + List judgeExist(String name, String dataType); + } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEvtParmService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEvtParmService.java new file mode 100644 index 000000000..2065a12a1 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEvtParmService.java @@ -0,0 +1,19 @@ +package com.njcn.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.system.pojo.param.EleEvtParam; +import com.njcn.system.pojo.po.EleEvtParm; + +/** + *

+ * 事件拓展表 服务类 + *

+ * + * @author xuyang + * @since 2023-07-31 + */ +public interface IEleEvtParmService extends IService { + + void add(EleEvtParam eleEvtParam); + +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java index 188fc475a..f330bada7 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java @@ -51,13 +51,18 @@ public class EleEpdPqdServiceImpl extends ServiceImpl judgeExist(String name, String dataType) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(EleEpdPqd::getDataType,dataType).eq(EleEpdPqd::getName,name).eq(EleEpdPqd::getStatus,1); + return this.baseMapper.selectList(lambdaQueryWrapper); + } + /** * 校验参数, * 1.检查是否存在相同名称的菜单 diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEvtParmServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEvtParmServiceImpl.java new file mode 100644 index 000000000..ef2936601 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEvtParmServiceImpl.java @@ -0,0 +1,28 @@ +package com.njcn.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.system.mapper.EleEvtParmMapper; +import com.njcn.system.pojo.param.EleEvtParam; +import com.njcn.system.pojo.po.EleEvtParm; +import com.njcn.system.service.IEleEvtParmService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + *

+ * 事件拓展表 服务实现类 + *

+ * + * @author xuyang + * @since 2023-07-31 + */ +@Service +public class EleEvtParmServiceImpl extends ServiceImpl implements IEleEvtParmService { + + @Override + public void add(EleEvtParam eleEvtParam) { + EleEvtParm eleEvtParm = new EleEvtParm(); + BeanUtils.copyProperties(eleEvtParam,eleEvtParm); + this.save(eleEvtParm); + } +}