diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java index bb5c6e8f..cdef28f8 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java @@ -23,6 +23,8 @@ public class ApiConst { public static final String TIANXING_TRAN_DICT= "天行-翻译字典"; + public static final String TIANXING_ONE_ENGLISH= "天行-英语一言"; + public static final String TEN_YY= "Ten-一言"; @@ -44,6 +46,8 @@ public class ApiConst { public static final String TIANXING_TRAN_DICT_URL= "http://api.tianapi.com/enwords/index"; + public static final String TIANXING_ONE_ENGLISH_URL= "http://api.tianapi.com/ensentence/index"; + public static final String TEN_YY_URL= "https://tenapi.cn/yiyan/"; diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/aop/ApiLog.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/aop/ApiLog.java similarity index 95% rename from xjs-business/xjs-business-common/src/main/java/com/xjs/aop/ApiLog.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/aop/ApiLog.java index 435d4f95..3191d0c1 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/aop/ApiLog.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/aop/ApiLog.java @@ -1,4 +1,4 @@ -package com.xjs.aop; +package com.xjs.common.aop; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.OperatorType; diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/aop/ApiLogAspect.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/aop/ApiLogAspect.java similarity index 95% rename from xjs-business/xjs-business-common/src/main/java/com/xjs/aop/ApiLogAspect.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/aop/ApiLogAspect.java index ec71d45f..76fcb0f2 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/aop/ApiLogAspect.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/aop/ApiLogAspect.java @@ -1,7 +1,7 @@ -package com.xjs.aop; +package com.xjs.common.aop; import cn.hutool.core.date.DateUtil; -import com.xjs.common.enums.StatusEnum; +import com.xjs.enums.StatusEnum; import com.xjs.log.mapper.ApiLogMapper; import lombok.extern.log4j.Log4j2; import org.aspectj.lang.JoinPoint; @@ -30,7 +30,7 @@ public class ApiLogAspect { /** * 声明AOP签名 */ - @Pointcut("@annotation(com.xjs.aop.ApiLog)") + @Pointcut("@annotation(com.xjs.common.aop.ApiLog)") public void pointcut() { } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/BaiduFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/BaiduFeignClient.java similarity index 85% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/BaiduFeignClient.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/BaiduFeignClient.java index 2a57809e..d65c2e4b 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/BaiduFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/BaiduFeignClient.java @@ -1,8 +1,8 @@ -package com.xjs.client; +package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; -import com.xjs.aop.ApiLog; -import com.xjs.client.factory.BaiduFeignFactory; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.BaiduFeignFactory; import com.xjs.translation.domain.qo.translation.BaiDuTranslationQo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingJDTCFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingJDTCFeignClient.java similarity index 86% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingJDTCFeignClient.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingJDTCFeignClient.java index 06bb9bd7..b6918bad 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingJDTCFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingJDTCFeignClient.java @@ -1,8 +1,8 @@ -package com.xjs.client; +package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; -import com.xjs.aop.ApiLog; -import com.xjs.client.factory.TianXingJDTCFeignFactory; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.TianXingJDTCFeignFactory; import com.xjs.copywriting.domain.RequestBody; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingMMMYFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingMMMYFeignClient.java similarity index 86% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingMMMYFeignClient.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingMMMYFeignClient.java index 2f565ada..f23ac574 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingMMMYFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingMMMYFeignClient.java @@ -1,8 +1,8 @@ -package com.xjs.client; +package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; -import com.xjs.aop.ApiLog; -import com.xjs.client.factory.TianXingMMMYFeignFactory; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.TianXingMMMYFeignFactory; import com.xjs.copywriting.domain.RequestBody; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingOneEnglishFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingOneEnglishFeignClient.java new file mode 100644 index 00000000..b77b862c --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingOneEnglishFeignClient.java @@ -0,0 +1,27 @@ +package com.xjs.common.client; + +import com.alibaba.fastjson.JSONObject; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.TianXingOneEnglishFeignFactory; +import com.xjs.oneenglish.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.TIANXING_ONE_ENGLISH; +import static com.xjs.consts.ApiConst.TIANXING_ONE_ENGLISH_URL; + +/** + * @author xiejs + * @desc 天行英语一言第三方api调用 + * @create 2021-12-31 + */ +@FeignClient(name = "tianXingOneEnglish",url = TIANXING_ONE_ENGLISH_URL,fallbackFactory = TianXingOneEnglishFeignFactory.class) +public interface TianXingOneEnglishFeignClient { + + @GetMapping + @ApiLog(name = TIANXING_ONE_ENGLISH, + url = TIANXING_ONE_ENGLISH_URL, + method = "Get") + JSONObject oneEnglishApi(@SpringQueryMap RequestBody requestBody); +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingPYQFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingPYQFeignClient.java similarity index 86% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingPYQFeignClient.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingPYQFeignClient.java index 3dfb6e92..3d985a5b 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingPYQFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingPYQFeignClient.java @@ -1,8 +1,8 @@ -package com.xjs.client; +package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; -import com.xjs.aop.ApiLog; -import com.xjs.client.factory.TianXingPYQFeignFactory; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.TianXingPYQFeignFactory; import com.xjs.copywriting.domain.RequestBody; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingTranDictClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingTranDictClient.java similarity index 86% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingTranDictClient.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingTranDictClient.java index f22dd2fe..25028d6f 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingTranDictClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingTranDictClient.java @@ -1,8 +1,8 @@ -package com.xjs.client; +package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; -import com.xjs.aop.ApiLog; -import com.xjs.client.factory.TianXingTranDictFeignFactory; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.TianXingTranDictFeignFactory; import com.xjs.copywriting.domain.RequestBody; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingWYYFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingWYYFeignClient.java similarity index 86% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingWYYFeignClient.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingWYYFeignClient.java index 8222cbb6..70253da1 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/TianXingWYYFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/TianXingWYYFeignClient.java @@ -1,8 +1,8 @@ -package com.xjs.client; +package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; -import com.xjs.aop.ApiLog; -import com.xjs.client.factory.TianXingWYYFeignFactory; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.TianXingWYYFeignFactory; import com.xjs.copywriting.domain.RequestBody; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/YouDaoFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/YouDaoFeignClient.java similarity index 87% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/YouDaoFeignClient.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/YouDaoFeignClient.java index f96ff880..d6aaf6fe 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/YouDaoFeignClient.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/YouDaoFeignClient.java @@ -1,8 +1,8 @@ -package com.xjs.client; +package com.xjs.common.client; import com.alibaba.fastjson.JSONObject; -import com.xjs.aop.ApiLog; -import com.xjs.client.factory.YouDaoFeignFactory; +import com.xjs.common.aop.ApiLog; +import com.xjs.common.client.factory.YouDaoFeignFactory; import com.xjs.translation.domain.qo.translation.YouDaoTranslationQo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/BaiduFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/BaiduFeignFactory.java similarity index 79% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/BaiduFeignFactory.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/BaiduFeignFactory.java index a7e18a3d..89dc9860 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/BaiduFeignFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/BaiduFeignFactory.java @@ -1,7 +1,8 @@ -package com.xjs.client.factory; +package com.xjs.common.client.factory; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.BaiduFeignClient; +import com.ruoyi.common.core.domain.R; +import com.xjs.common.client.BaiduFeignClient; import lombok.extern.log4j.Log4j2; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; @@ -19,8 +20,7 @@ public class BaiduFeignFactory implements FallbackFactory { log.error("api模块百度翻译服务调用失败:{},执行降级处理", cause.getMessage()); return qo -> { JSONObject jsonObject = new JSONObject(); - //构建一个异常json给下层接口处理 - jsonObject.put("error", 500); + jsonObject.put("error", R.FAIL); return jsonObject; }; } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingJDTCFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingJDTCFeignFactory.java similarity index 81% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingJDTCFeignFactory.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingJDTCFeignFactory.java index 755846bb..465fda5d 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingJDTCFeignFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingJDTCFeignFactory.java @@ -1,7 +1,8 @@ -package com.xjs.client.factory; +package com.xjs.common.client.factory; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingJDTCFeignClient; +import com.ruoyi.common.core.domain.R; +import com.xjs.common.client.TianXingJDTCFeignClient; import lombok.extern.log4j.Log4j2; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; @@ -21,7 +22,7 @@ public class TianXingJDTCFeignFactory implements FallbackFactory { JSONObject jsonObject = new JSONObject(); //构建一个异常json给下层接口处理 - jsonObject.put("error", 500); + jsonObject.put("error", R.FAIL); return jsonObject; }; } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingMMMYFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingMMMYFeignFactory.java similarity index 80% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingMMMYFeignFactory.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingMMMYFeignFactory.java index a0ab4de6..69d349ad 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingMMMYFeignFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingMMMYFeignFactory.java @@ -1,7 +1,8 @@ -package com.xjs.client.factory; +package com.xjs.common.client.factory; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingMMMYFeignClient; +import com.ruoyi.common.core.domain.R; +import com.xjs.common.client.TianXingMMMYFeignClient; import lombok.extern.log4j.Log4j2; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; @@ -21,7 +22,7 @@ public class TianXingMMMYFeignFactory implements FallbackFactory { JSONObject jsonObject = new JSONObject(); //构建一个异常json给下层接口处理 - jsonObject.put("error", 500); + jsonObject.put("error", R.FAIL); return jsonObject; }; } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingOneEnglishFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingOneEnglishFeignFactory.java new file mode 100644 index 00000000..dd05ec6d --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingOneEnglishFeignFactory.java @@ -0,0 +1,28 @@ +package com.xjs.common.client.factory; + +import com.alibaba.fastjson.JSONObject; +import com.ruoyi.common.core.domain.R; +import com.xjs.common.client.TianXingOneEnglishFeignClient; +import lombok.extern.log4j.Log4j2; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * @author xiejs + * @desc + * @create 2021-12-31 + */ +@Component +@Log4j2 +public class TianXingOneEnglishFeignFactory implements FallbackFactory { + + @Override + public TianXingOneEnglishFeignClient create(Throwable cause) { + log.error("api模块英语一言服务调用失败:{},执行降级处理", cause.getMessage()); + return requestBody -> { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("error", R.FAIL); + return jsonObject; + }; + } +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingPYQFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingPYQFeignFactory.java similarity index 81% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingPYQFeignFactory.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingPYQFeignFactory.java index 40b1bcf7..c7ad79b0 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingPYQFeignFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingPYQFeignFactory.java @@ -1,7 +1,8 @@ -package com.xjs.client.factory; +package com.xjs.common.client.factory; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingPYQFeignClient; +import com.ruoyi.common.core.domain.R; +import com.xjs.common.client.TianXingPYQFeignClient; import lombok.extern.log4j.Log4j2; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; @@ -20,7 +21,7 @@ public class TianXingPYQFeignFactory implements FallbackFactory { JSONObject jsonObject = new JSONObject(); //构建一个异常json给下层接口处理 - jsonObject.put("error", 500); + jsonObject.put("error", R.FAIL); return jsonObject; }; } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingTranDictFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingTranDictFeignFactory.java similarity index 89% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingTranDictFeignFactory.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingTranDictFeignFactory.java index 99610ae2..fc9c36c0 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingTranDictFeignFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingTranDictFeignFactory.java @@ -1,8 +1,8 @@ -package com.xjs.client.factory; +package com.xjs.common.client.factory; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.domain.R; -import com.xjs.client.TianXingTranDictClient; +import com.xjs.common.client.TianXingTranDictClient; import lombok.extern.log4j.Log4j2; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingWYYFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingWYYFeignFactory.java similarity index 81% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingWYYFeignFactory.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingWYYFeignFactory.java index 2ed752dd..09ab8237 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/TianXingWYYFeignFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/TianXingWYYFeignFactory.java @@ -1,7 +1,8 @@ -package com.xjs.client.factory; +package com.xjs.common.client.factory; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingWYYFeignClient; +import com.ruoyi.common.core.domain.R; +import com.xjs.common.client.TianXingWYYFeignClient; import lombok.extern.log4j.Log4j2; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; @@ -20,7 +21,7 @@ public class TianXingWYYFeignFactory implements FallbackFactory { JSONObject jsonObject = new JSONObject(); //构建一个异常json给下层接口处理 - jsonObject.put("error", 500); + jsonObject.put("error", R.FAIL); return jsonObject; }; } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/YouDaoFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/YouDaoFeignFactory.java similarity index 90% rename from xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/YouDaoFeignFactory.java rename to xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/YouDaoFeignFactory.java index cc62945b..3fc3d997 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/client/factory/YouDaoFeignFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/YouDaoFeignFactory.java @@ -1,8 +1,8 @@ -package com.xjs.client.factory; +package com.xjs.common.client.factory; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.domain.R; -import com.xjs.client.YouDaoFeignClient; +import com.xjs.common.client.YouDaoFeignClient; import lombok.extern.log4j.Log4j2; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java index 851e14ab..f1047433 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingJDTCCopyWritingFactory.java @@ -3,7 +3,7 @@ package com.xjs.copywriting.factory.impl; import cn.hutool.http.HttpStatus; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingJDTCFeignClient; +import com.xjs.common.client.TianXingJDTCFeignClient; import com.xjs.config.TianXingProperties; import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java index f4673a61..00a21a03 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingMMMYCopyWritingFactory.java @@ -3,7 +3,7 @@ package com.xjs.copywriting.factory.impl; import cn.hutool.http.HttpStatus; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingMMMYFeignClient; +import com.xjs.common.client.TianXingMMMYFeignClient; import com.xjs.config.TianXingProperties; import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java index c7d349b8..5f03d31f 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingPYQCopyWritingFactory.java @@ -3,7 +3,7 @@ package com.xjs.copywriting.factory.impl; import cn.hutool.http.HttpStatus; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingPYQFeignClient; +import com.xjs.common.client.TianXingPYQFeignClient; import com.xjs.config.TianXingProperties; import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java index 92652488..2c026530 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/TianXingWYYCopyWritingFactory.java @@ -3,7 +3,7 @@ package com.xjs.copywriting.factory.impl; import cn.hutool.http.HttpStatus; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingWYYFeignClient; +import com.xjs.common.client.TianXingWYYFeignClient; import com.xjs.config.TianXingProperties; import com.xjs.consts.TianXingConst; import com.xjs.exception.ApiException; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/controller/ApiEnglishController.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/controller/ApiEnglishController.java index 1092272d..b70f4636 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/controller/ApiEnglishController.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/controller/ApiEnglishController.java @@ -8,6 +8,8 @@ import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.xjs.oneenglish.domain.ApiEnglish; +import com.xjs.oneenglish.domain.RequestBody; +import com.xjs.oneenglish.factory.OneEnglishFactory; import com.xjs.oneenglish.service.IApiEnglishService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -26,6 +28,15 @@ import java.util.List; public class ApiEnglishController extends BaseController { @Autowired private IApiEnglishService apiEnglishService; + @Autowired + private OneEnglishFactory tianXingOneEnglishFactory; + + @RequiresPermissions("openapi:oneenglish:list") + @GetMapping("/getOneEnglish") + public AjaxResult getOneEnglish() { + ApiEnglish oneEnglish = tianXingOneEnglishFactory.getOneEnglish(new RequestBody()); + return AjaxResult.success(oneEnglish); + } //------------------------代码自动生成----------------------------------- diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactory.java index 8114ef46..61b46e91 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactory.java @@ -1,19 +1,52 @@ package com.xjs.oneenglish.factory; +import cn.hutool.http.HttpStatus; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.xjs.common.client.TianXingOneEnglishFeignClient; +import com.xjs.config.TianXingProperties; +import com.xjs.exception.ApiException; import com.xjs.oneenglish.domain.ApiEnglish; import com.xjs.oneenglish.domain.RequestBody; +import com.xjs.oneenglish.mapper.ApiEnglishMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.annotation.Resource; + /** * @author xiejs * @desc 一言英语工厂实现 * @create 2021-12-31 */ @Component -public class TianXingOneEnglishFactory implements OneEnglishFactory{ +public class TianXingOneEnglishFactory implements OneEnglishFactory { + @Resource + private ApiEnglishMapper apiEnglishMapper; + + @Autowired + private TianXingProperties tianXingProperties; + @Autowired + private TianXingOneEnglishFeignClient tianXingOneEnglishFeignClient; @Override public ApiEnglish getOneEnglish(RequestBody requestBody) { - return null; + requestBody.setKey(tianXingProperties.getKey()); + JSONObject jsonObject = tianXingOneEnglishFeignClient.oneEnglishApi(requestBody); + ApiEnglish apiEnglish = new ApiEnglish(); + if (!jsonObject.containsKey("error")) { + if (jsonObject.getInteger("code") == HttpStatus.HTTP_OK) { + JSONArray newslist = jsonObject.getJSONArray("newslist"); + JSONObject content = newslist.getJSONObject(0); + apiEnglish.setEn(content.getString("en")); + apiEnglish.setZh(content.getString("zh")); + apiEnglishMapper.insert(apiEnglish); + }else { + throw new ApiException("英语一言接口调用成功,但内部错误"); + } + } else { + throw new ApiException("英语一言接口降级!!!"); + } + return apiEnglish; } } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/mapper/ApiEnglishMapper.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/mapper/ApiEnglishMapper.java index f3a6b7cb..2961ad15 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/mapper/ApiEnglishMapper.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/oneenglish/mapper/ApiEnglishMapper.java @@ -1,5 +1,6 @@ package com.xjs.oneenglish.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xjs.oneenglish.domain.ApiEnglish; import java.util.List; @@ -10,7 +11,7 @@ import java.util.List; * @author xjs * @date 2021-12-31 */ -public interface ApiEnglishMapper { +public interface ApiEnglishMapper extends BaseMapper { //------------------------代码自动生成----------------------------------- diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/BaiDuTranslationFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/BaiDuTranslationFactory.java index 63d49784..69de1c25 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/BaiDuTranslationFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/BaiDuTranslationFactory.java @@ -3,7 +3,7 @@ package com.xjs.translation.factory.impl; import cn.hutool.crypto.SecureUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.BaiduFeignClient; +import com.xjs.common.client.BaiduFeignClient; import com.xjs.config.BaiduProperties; import com.xjs.exception.ApiException; import com.xjs.translation.domain.qo.translation.BaiDuTranslationQo; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/TianXingTranDictFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/TianXingTranDictFactory.java index 7df48ea9..1f772c54 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/TianXingTranDictFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/TianXingTranDictFactory.java @@ -3,7 +3,7 @@ package com.xjs.translation.factory.impl; import cn.hutool.http.HttpStatus; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.TianXingTranDictClient; +import com.xjs.common.client.TianXingTranDictClient; import com.xjs.config.TianXingProperties; import com.xjs.copywriting.domain.RequestBody; import com.xjs.exception.ApiException; diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java index eb16003d..e859c64d 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/translation/factory/impl/YouDaoTranslationFactory.java @@ -2,7 +2,7 @@ package com.xjs.translation.factory.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.xjs.client.YouDaoFeignClient; +import com.xjs.common.client.YouDaoFeignClient; import com.xjs.exception.ApiException; import com.xjs.translation.domain.qo.translation.TranslationQo; import com.xjs.translation.domain.qo.translation.YouDaoTranslationQo; diff --git a/xjs-business/xjs-business-openapi/src/test/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactoryTest.java b/xjs-business/xjs-business-openapi/src/test/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactoryTest.java new file mode 100644 index 00000000..7a845a82 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/test/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactoryTest.java @@ -0,0 +1,34 @@ +package com.xjs.oneenglish.factory; + +import com.xjs.XjsOpenApiApp; +import com.xjs.config.TianXingProperties; +import com.xjs.oneenglish.domain.ApiEnglish; +import com.xjs.oneenglish.domain.RequestBody; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * @author xiejs + * @desc + * @create 2021-12-31 + */ +@SpringBootTest(classes = XjsOpenApiApp.class) +class TianXingOneEnglishFactoryTest { + + @Autowired + TianXingOneEnglishFactory tianXingOneEnglishFactory; + + @Autowired + TianXingProperties tianXingProperties; + + @Test + void getOneEnglish() { + RequestBody requestBody = new RequestBody(); + requestBody.setKey(tianXingProperties.getKey()); + ApiEnglish oneEnglish = tianXingOneEnglishFactory.getOneEnglish(requestBody); + System.out.println(oneEnglish); + } +} \ No newline at end of file