From bc6f5bf63b52162c5540bd054c8af193e36528e3 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Tue, 29 Aug 2023 17:12:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=B2=BB=E7=90=86=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E8=A7=A3=E6=9E=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/system/api/EleWaveFeignClient.java | 24 ++++++++ .../EleWaveFeignClientFallbackFactory.java | 40 ++++++++++++++ .../njcn/system/pojo/param/CsWaveParam.java | 23 ++++++++ .../njcn/system/pojo/param/EleEvtParam.java | 2 - .../com/njcn/system/pojo/po/CsWaveParm.java | 29 ++++++++++ .../com/njcn/system/pojo/po/EleEvtParm.java | 2 - .../controller/EleWaveParmController.java | 55 +++++++++++++++++++ .../njcn/system/mapper/EleWaveParmMapper.java | 16 ++++++ .../system/service/IEleWaveParmService.java | 19 +++++++ .../service/impl/EleWaveParmServiceImpl.java | 28 ++++++++++ 10 files changed, 234 insertions(+), 4 deletions(-) create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/api/EleWaveFeignClient.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EleWaveFeignClientFallbackFactory.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/CsWaveParam.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/CsWaveParm.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleWaveParmController.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EleWaveParmMapper.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleWaveParmService.java create mode 100644 pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleWaveParmServiceImpl.java diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/EleWaveFeignClient.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/EleWaveFeignClient.java new file mode 100644 index 000000000..07f924540 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/EleWaveFeignClient.java @@ -0,0 +1,24 @@ +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.EleWaveFeignClientFallbackFactory; +import com.njcn.system.pojo.param.CsWaveParam; +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 = "/eleWaveParm",fallbackFactory = EleWaveFeignClientFallbackFactory.class,contextId = "eleWaveParm") +public interface EleWaveFeignClient { + + @PostMapping("/add") + @ApiOperation("新增波形拓展数据") + HttpResult add(@RequestBody CsWaveParam waveParam); + +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EleWaveFeignClientFallbackFactory.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EleWaveFeignClientFallbackFactory.java new file mode 100644 index 000000000..6ec81d190 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EleWaveFeignClientFallbackFactory.java @@ -0,0 +1,40 @@ +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.EleWaveFeignClient; +import com.njcn.system.pojo.param.CsWaveParam; +import com.njcn.system.utils.SystemEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/5/24 18:46 + */ +@Slf4j +@Component +public class EleWaveFeignClientFallbackFactory implements FallbackFactory { + @Override + public EleWaveFeignClient 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 EleWaveFeignClient() { + @Override + public HttpResult add(CsWaveParam waveParam) { + log.error("{}异常,降级处理,异常为:{}","新增波形拓展数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/CsWaveParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/CsWaveParam.java new file mode 100644 index 000000000..6df9caffa --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/CsWaveParam.java @@ -0,0 +1,23 @@ +package com.njcn.system.pojo.param; + +import lombok.Data; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/8/29 16:10 + */ +@Data +public class CsWaveParam { + + private String pid; + + private String name; + + private String type; + + private String data; + +} 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 index 83907748f..a80cf0483 100644 --- 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 @@ -22,6 +22,4 @@ public class EleEvtParam { private String data; - private String showName; - } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/CsWaveParm.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/CsWaveParm.java new file mode 100644 index 000000000..8c06accb5 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/CsWaveParm.java @@ -0,0 +1,29 @@ +package com.njcn.system.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/8/29 16:10 + */ +@Data +@TableName("cs_wave_parm") +public class CsWaveParm { + + private static final long serialVersionUID = 1L; + + private String id; + + private String pid; + + private String name; + + private String type; + + private String data; + +} 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 index 631c8b47d..0aabea5c3 100644 --- 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 @@ -34,6 +34,4 @@ public class EleEvtParm { private String data; - private String showName; - } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleWaveParmController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleWaveParmController.java new file mode 100644 index 000000000..5532daa8b --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleWaveParmController.java @@ -0,0 +1,55 @@ +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.CsWaveParam; +import com.njcn.system.service.IEleWaveParmService; +import com.njcn.web.controller.BaseController; +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; + +/** + *

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

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

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

+ * + * @author xuyang + * @since 2023-07-31 + */ +public interface EleWaveParmMapper extends BaseMapper { + +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleWaveParmService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleWaveParmService.java new file mode 100644 index 000000000..8ec8169f0 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleWaveParmService.java @@ -0,0 +1,19 @@ +package com.njcn.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.system.pojo.param.CsWaveParam; +import com.njcn.system.pojo.po.CsWaveParm; + +/** + *

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

+ * + * @author xuyang + * @since 2023-07-31 + */ +public interface IEleWaveParmService extends IService { + + void add(CsWaveParam waveParam); + +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleWaveParmServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleWaveParmServiceImpl.java new file mode 100644 index 000000000..c5b93c857 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleWaveParmServiceImpl.java @@ -0,0 +1,28 @@ +package com.njcn.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.system.mapper.EleWaveParmMapper; +import com.njcn.system.pojo.param.CsWaveParam; +import com.njcn.system.pojo.po.CsWaveParm; +import com.njcn.system.service.IEleWaveParmService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + *

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

+ * + * @author xuyang + * @since 2023-07-31 + */ +@Service +public class EleWaveParmServiceImpl extends ServiceImpl implements IEleWaveParmService { + + @Override + public void add(CsWaveParam waveParam) { + CsWaveParm csWaveParm = new CsWaveParm(); + BeanUtils.copyProperties(waveParam,csWaveParm); + this.save(csWaveParm); + } +}