1. @Slf4j
    2. public class SameFeignCallUtil {
    3. public static ResourceCountVo countStorageRackResourceByUserCode(String userCode, String uriStr, Function<String, String> function) {
    4. String result = null;
    5. try {
    6. log.info("call countStorageRackResourceByUserCode param is {}", userCode);
    7. // result = dgdpsCloudClient.countStorageRackResourceByUserCode(userCode);
    8. result = function.apply(userCode);
    9. } catch (Exception e) {
    10. if (e instanceof BusinessException) {
    11. throw e;
    12. } else {
    13. log.error(DgdpsportalLogHelper.message("dgdpsiot:call countStorageRackResourceByUserCode method failed"), e);
    14. AssemblyErrorUtil.assemblyFeignCallError(uriStr);
    15. }
    16. }
    17. log.info("call countStorageRackResourceByUserCode param is {}",result);
    18. CommonResponse response = JSON.parseObject(result, CommonResponse.class);
    19. if (ErrorCode.SUCCESS.equals(response.getCode()) && null != response.getData()) {
    20. ResourceCountVo dto = JSONObject.parseObject(response.getData().toString(), ResourceCountVo.class);
    21. return dto;
    22. } else {
    23. throw new BusinessException(response.getCode(), response.getMsg());
    24. }
    25. }
    26. public static ResourceCountVo dealStorageRackResourceCountException(String userCode, String uriStr, Function<String, String> function) {
    27. ResourceCountVo vo = null;
    28. try {
    29. vo = SameFeignCallUtil.countStorageRackResourceByUserCode(userCode, uriStr, function);
    30. } catch (Exception e) {
    31. // 抛异常
    32. log.error("countStorageRackResourceByUserCode error",e);
    33. }
    34. return vo;
    35. }
    36. }
    1. @Value("${dgdpsdata.server.countStorageRackResourceByUserCode}")
    2. private String countStorageRackResourceByUserCode;
    3. @Override
    4. public ResourceCountVo countStorageRackResourceByUserCode(String userCode) {
    5. Function<String, String> function = x -> {
    6. return dgdpsDataClient.countStorageRackResourceByUserCode(x);
    7. };
    8. return SameFeignCallUtil.dealStorageRackResourceCountException(userCode, countStorageRackResourceByUserCode, function);
    9. }