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

View File

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

View File

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