diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/PortableOffLogFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/PortableOffLogFeignClient.java new file mode 100644 index 0000000..f6c156a --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/PortableOffLogFeignClient.java @@ -0,0 +1,28 @@ +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.PortableOffLogFeignClientFallbackFactory; +import com.njcn.csdevice.api.fallback.ProcessFeignClientFallbackFactory; +import com.njcn.csdevice.pojo.po.CsEquipmentProcessPO; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +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.RequestParam; + +/** + * @author xy + */ +@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/portableOfflLog", fallbackFactory = PortableOffLogFeignClientFallbackFactory.class,contextId = "PortableOffLog") + +public interface PortableOffLogFeignClient { + + + + @PostMapping(value = "dataOnlineRecruitment") + HttpResult dataOnlineRecruitment(@RequestParam("devId") String devId + , @RequestParam("lineId") String lineId, @RequestParam("path") String path); + +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/PortableOffLogFeignClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/PortableOffLogFeignClientFallbackFactory.java new file mode 100644 index 0000000..bb31889 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/PortableOffLogFeignClientFallbackFactory.java @@ -0,0 +1,43 @@ +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.PortableOffLogFeignClient; +import com.njcn.csdevice.api.ProcessFeignClient; +import com.njcn.csdevice.pojo.po.CsEquipmentProcessPO; +import com.njcn.csdevice.utils.CsDeviceEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/4/10 20:09 + */ +@Slf4j +@Component +public class PortableOffLogFeignClientFallbackFactory implements FallbackFactory { + @Override + public PortableOffLogFeignClient 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 PortableOffLogFeignClient() { + + + @Override + public HttpResult dataOnlineRecruitment(String devId, String lineId, String path) { + log.error("{}异常,降级处理,异常为:{}","线上补招",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java index f8933f7..ff7fdbb 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java @@ -105,7 +105,7 @@ public class PortableOfflLogController extends BaseController { @ApiOperation("数据在线补招") @PostMapping(value = "dataOnlineRecruitment") public HttpResult dataOnlineRecruitment(@RequestParam("devId") String devId - , @RequestParam("lineId") String lineId, @RequestParam("path") String path,HttpServletRequest request) { + , @RequestParam("lineId") String lineId, @RequestParam("path") String path) { String methodDescribe = getMethodDescribe("dataOnlineRecruitment"); List excelreport = null; diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/OfflineDataUploadServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/OfflineDataUploadServiceImpl.java index 8b599f9..2ab4f14 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/OfflineDataUploadServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/OfflineDataUploadServiceImpl.java @@ -19,6 +19,7 @@ import com.njcn.csharmonic.enums.CsHarmonicResponseEnum; import com.njcn.csharmonic.offline.constant.OfflineConstant; import com.njcn.csharmonic.offline.log.Log; import com.njcn.csharmonic.offline.log.vo.NewTaglogbuffer; +import com.njcn.csharmonic.offline.log.vo.TagComtradeCfg; import com.njcn.csharmonic.offline.mincfg.AnalyseComtradeCfg; import com.njcn.csharmonic.offline.vo.Response; import com.njcn.csharmonic.pojo.dto.MakeUpDto; @@ -37,7 +38,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import com.njcn.csharmonic.offline.log.vo.TagComtradeCfg; import java.io.*; import java.nio.file.Files;