说明:1、优化天行数据文案接口降级处理

This commit is contained in:
xjs 2021-12-28 13:45:13 +08:00
parent c76fd56aad
commit 074448d44b
3 changed files with 23 additions and 16 deletions

View File

@ -1,9 +1,7 @@
package com.xjs.common.client.factory; package com.xjs.common.client.factory;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xjs.common.client.TianXingFeignClient; import com.xjs.common.client.TianXingFeignClient;
import com.xjs.copywriting.domain.CopyWriting;
import com.xjs.copywriting.domain.RequestBody; import com.xjs.copywriting.domain.RequestBody;
import com.xjs.copywriting.service.CopyWritingService; import com.xjs.copywriting.service.CopyWritingService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -29,9 +27,10 @@ public class TianXingFeignFactory implements FallbackFactory<TianXingFeignClient
return new TianXingFeignClient() { return new TianXingFeignClient() {
@Override @Override
public JSONObject copyWritingApi(RequestBody requestBody) { public JSONObject copyWritingApi(RequestBody requestBody) {
CopyWriting copyWriting = copyWritingService.getOneToRandom(); JSONObject jsonObject = new JSONObject();
String jsonString = JSON.toJSONString(copyWriting); //构建一个异常json给下层接口处理
return JSONObject.parseObject(jsonString); jsonObject.put("error", 500);
return jsonObject;
} }
}; };
} }

View File

@ -38,7 +38,6 @@ public class CopyWritingController {
//todo 文案管理前端页面 //todo 文案管理前端页面
// 第三方api服务降级 // 第三方api服务降级
// 分析错误状态码天行数据
// 天行数据整合一个菜单 // 天行数据整合一个菜单
// 实现其他天行数据接口 // 实现其他天行数据接口
// 实现其他朋友圈文案api // 实现其他朋友圈文案api

View File

@ -34,7 +34,9 @@ public class TianXingCopyWritingFactory implements CopyWritingFactory {
public CopyWriting productCopyWriting(RequestBody requestBody) { public CopyWriting productCopyWriting(RequestBody requestBody) {
requestBody.setKey(tianXingProperties.getKey()); requestBody.setKey(tianXingProperties.getKey());
JSONObject jsonObject = tianXingFeignClient.copyWritingApi(requestBody); JSONObject jsonObject = tianXingFeignClient.copyWritingApi(requestBody);
if (HttpStatus.HTTP_OK != jsonObject.getInteger("code")) { //调用服务正常
if(jsonObject.containsKey("code")){
if (HttpStatus.HTTP_OK !=jsonObject.getInteger("code")) {
throw new ApiException("天行数据朋友圈文案接口调用异常"); throw new ApiException("天行数据朋友圈文案接口调用异常");
} }
JSONArray newslist = jsonObject.getJSONArray("newslist"); JSONArray newslist = jsonObject.getJSONArray("newslist");
@ -45,5 +47,12 @@ public class TianXingCopyWritingFactory implements CopyWritingFactory {
copyWriting.setSource(source); copyWriting.setSource(source);
copyWritingMapper.insert(copyWriting); copyWritingMapper.insert(copyWriting);
return copyWriting; return copyWriting;
}else {
//调用服务失败的降级之后的处理
if (jsonObject.containsKey("error")) {
return copyWritingMapper.getOneToNew();
}
return new CopyWriting();
}
} }
} }