说明:1、后端接入roll平台每日一句文案接口
This commit is contained in:
parent
e4868fec9e
commit
2c4a27dda2
|
|
@ -27,9 +27,11 @@ public class ApiConst {
|
||||||
|
|
||||||
public static final String TIANXING_ONE_ENGLISH= "天行-英语一言";
|
public static final String TIANXING_ONE_ENGLISH= "天行-英语一言";
|
||||||
|
|
||||||
|
public static final String ROLL_A_WORD= "ROLL-每日一句";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static final String TEN_YY= "Ten-一言";
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------url------------------------------
|
//-------------------url------------------------------
|
||||||
|
|
@ -52,8 +54,10 @@ public class ApiConst {
|
||||||
|
|
||||||
public static final String TIANXING_ONE_ENGLISH_URL= "http://api.tianapi.com/ensentence/index";
|
public static final String TIANXING_ONE_ENGLISH_URL= "http://api.tianapi.com/ensentence/index";
|
||||||
|
|
||||||
|
public static final String ROLL_A_WORD_URL= "https://www.mxnzp.com/api/daily_word/recommend";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static final String TEN_YY_URL= "https://tenapi.cn/yiyan/";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ package com.xjs.consts;
|
||||||
*/
|
*/
|
||||||
public class TianXingConst {
|
public class TianXingConst {
|
||||||
|
|
||||||
|
//---------------天行平台参数---------------------------
|
||||||
|
|
||||||
//朋友圈
|
//朋友圈
|
||||||
public static final Integer PYQ= 1;
|
public static final Integer PYQ= 1;
|
||||||
//网易云
|
//网易云
|
||||||
|
|
@ -15,6 +17,10 @@ public class TianXingConst {
|
||||||
public static final Integer JDTC= 3;
|
public static final Integer JDTC= 3;
|
||||||
//名人名言
|
//名人名言
|
||||||
public static final Integer MMMY= 4;
|
public static final Integer MMMY= 4;
|
||||||
//Ten-API 一言
|
|
||||||
public static final Integer YY= 5;
|
|
||||||
|
//--------------------roll平台参数-------------------
|
||||||
|
|
||||||
|
//每日一句
|
||||||
|
public static final Integer MRYJ= 5;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.xjs.common.client;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.xjs.common.aop.ApiLog;
|
||||||
|
import com.xjs.common.client.factory.RollMMYJFeignFactory;
|
||||||
|
import com.xjs.copywriting.domain.RequestBody;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.cloud.openfeign.SpringQueryMap;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
||||||
|
import static com.xjs.consts.ApiConst.ROLL_A_WORD;
|
||||||
|
import static com.xjs.consts.ApiConst.ROLL_A_WORD_URL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* roll每日一句接口api调用
|
||||||
|
* @author xiejs
|
||||||
|
* @since 2022-01-08
|
||||||
|
*/
|
||||||
|
@FeignClient(name = "rollMMYJ", url = ROLL_A_WORD_URL, fallbackFactory = RollMMYJFeignFactory.class)
|
||||||
|
public interface RollMMYJFeignClient {
|
||||||
|
@GetMapping
|
||||||
|
@ApiLog(name = ROLL_A_WORD,
|
||||||
|
url = ROLL_A_WORD_URL,
|
||||||
|
method = "Get")
|
||||||
|
JSONObject copyWritingApi(@SpringQueryMap RequestBody requestBody);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.xjs.common.client.factory;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.xjs.common.client.RollMMYJFeignClient;
|
||||||
|
import lombok.extern.log4j.Log4j2;
|
||||||
|
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* roll每日一句降级
|
||||||
|
* @author xiejs
|
||||||
|
* @since 2022-01-08
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Log4j2
|
||||||
|
public class RollMMYJFeignFactory implements FallbackFactory<RollMMYJFeignClient> {
|
||||||
|
@Override
|
||||||
|
public RollMMYJFeignClient create(Throwable cause) {
|
||||||
|
log.error("api模块roll每日一句服务调用失败:{},执行降级处理", cause.getMessage());
|
||||||
|
return requestBody -> {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("error", R.FAIL);
|
||||||
|
return jsonObject;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -44,6 +44,8 @@ public class CopyWritingController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private CopyWritingFactory tianXingMMMYCopyWritingFactory;
|
private CopyWritingFactory tianXingMMMYCopyWritingFactory;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private CopyWritingFactory rollMMYJCopyWritingFactory;
|
||||||
|
@Autowired
|
||||||
private CopyWritingService copyWritingService;
|
private CopyWritingService copyWritingService;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -89,6 +91,9 @@ public class CopyWritingController extends BaseController {
|
||||||
factories.add(tianXingWYYCopyWritingFactory);
|
factories.add(tianXingWYYCopyWritingFactory);
|
||||||
factories.add(tianXingJDTCCopyWritingFactory);
|
factories.add(tianXingJDTCCopyWritingFactory);
|
||||||
factories.add(tianXingMMMYCopyWritingFactory);
|
factories.add(tianXingMMMYCopyWritingFactory);
|
||||||
|
factories.add(rollMMYJCopyWritingFactory);
|
||||||
|
factories.add(rollMMYJCopyWritingFactory);
|
||||||
|
factories.add(rollMMYJCopyWritingFactory);
|
||||||
//--------add----------------------------;-
|
//--------add----------------------------;-
|
||||||
//随机调用集合中的接口
|
//随机调用集合中的接口
|
||||||
return RandomUtil.randomEle(factories);
|
return RandomUtil.randomEle(factories);
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,20 @@ public class RequestBody {
|
||||||
* 词
|
* 词
|
||||||
*/
|
*/
|
||||||
private String word;
|
private String word;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 应用id
|
||||||
|
*/
|
||||||
|
private String app_id;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 应用密钥
|
||||||
|
*/
|
||||||
|
private String app_secret;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回值数量
|
||||||
|
*/
|
||||||
|
private Integer count;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
package com.xjs.copywriting.factory.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.xjs.common.client.RollMMYJFeignClient;
|
||||||
|
import com.xjs.config.RollProperties;
|
||||||
|
import com.xjs.consts.TianXingConst;
|
||||||
|
import com.xjs.copywriting.domain.CopyWriting;
|
||||||
|
import com.xjs.copywriting.domain.RequestBody;
|
||||||
|
import com.xjs.copywriting.factory.CopyWritingFactory;
|
||||||
|
import com.xjs.copywriting.service.CopyWritingService;
|
||||||
|
import com.xjs.exception.ApiException;
|
||||||
|
import lombok.extern.log4j.Log4j2;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* roll平台每日一句工厂实现
|
||||||
|
* @author xiejs
|
||||||
|
* @since 2022-01-08
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Log4j2
|
||||||
|
public class RollMMYJCopyWritingFactory implements CopyWritingFactory {
|
||||||
|
@Autowired
|
||||||
|
private RollProperties rollProperties;
|
||||||
|
@Autowired
|
||||||
|
private RollMMYJFeignClient rollMMYJFeignClient;
|
||||||
|
@Autowired
|
||||||
|
private CopyWritingService copyWritingService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CopyWriting productCopyWriting(RequestBody requestBody) {
|
||||||
|
requestBody.setCount(20);
|
||||||
|
requestBody.setApp_id(rollProperties.getApp_id());
|
||||||
|
requestBody.setApp_secret(rollProperties.getApp_secret());
|
||||||
|
JSONObject jsonObject = rollMMYJFeignClient.copyWritingApi(requestBody);
|
||||||
|
if (jsonObject.containsKey("error")) {
|
||||||
|
throw new ApiException("roll每日一句接口调用异常");
|
||||||
|
}
|
||||||
|
JSONArray jsonArray = jsonObject.getJSONArray("data");
|
||||||
|
List<CopyWriting> collect = jsonArray.stream().map(json -> {
|
||||||
|
CopyWriting copyWriting = new CopyWriting();
|
||||||
|
JSONObject toJSON = (JSONObject) JSONObject.toJSON(json);
|
||||||
|
copyWriting.setContent(toJSON.getString("content"));
|
||||||
|
copyWriting.setSource(toJSON.getString("author"));
|
||||||
|
copyWriting.setType(TianXingConst.MRYJ);
|
||||||
|
return copyWriting;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
log.info("批量插入成功了嘛---"+copyWritingService.saveBatch(collect));
|
||||||
|
return collect.get(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue