调整治理字典解析功能

This commit is contained in:
2023-08-29 17:12:23 +08:00
parent 5335217fc9
commit bc6f5bf63b
10 changed files with 234 additions and 4 deletions

View File

@@ -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<String> add(@RequestBody CsWaveParam waveParam);
}

View File

@@ -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<EleWaveFeignClient> {
@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<String> add(CsWaveParam waveParam) {
log.error("{}异常,降级处理,异常为:{}","新增波形拓展数据",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -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;
}

View File

@@ -22,6 +22,4 @@ public class EleEvtParam {
private String data;
private String showName;
}

View File

@@ -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;
}

View File

@@ -34,6 +34,4 @@ public class EleEvtParm {
private String data;
private String showName;
}