diff --git a/xjs-business/pom.xml b/xjs-business/pom.xml index 147d07e1..c80966e4 100644 --- a/xjs-business/pom.xml +++ b/xjs-business/pom.xml @@ -18,8 +18,7 @@ - 11 - 11 + 3.4.3.4 5.7.17 diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/XjsEnglishApp.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/XjsEnglishApp.java similarity index 95% rename from xjs-business/xjs-business-english/src/main/java/com/xjs/translation/XjsEnglishApp.java rename to xjs-business/xjs-business-english/src/main/java/com/xjs/XjsEnglishApp.java index cf290901..3e65ac19 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/XjsEnglishApp.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/XjsEnglishApp.java @@ -1,4 +1,4 @@ -package com.xjs.translation; +package com.xjs; import com.ruoyi.common.security.annotation.EnableCustomConfig; import com.ruoyi.common.security.annotation.EnableRyFeignClients; diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/aop/ApiLog.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/aop/ApiLog.java new file mode 100644 index 00000000..cca9aa19 --- /dev/null +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/aop/ApiLog.java @@ -0,0 +1,31 @@ +package com.xjs.log.aop; + +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.log.enums.OperatorType; + +import java.lang.annotation.*; + +/** + * @author xiejs + * @desc 自定义api日志注解 + * @create 2021-12-26 + */ +@Target({ ElementType.PARAMETER, ElementType.METHOD }) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ApiLog { + /** + * api名称 + */ + public String name() default ""; + + /** + * 请求url + */ + public String url() default ""; + + /** + * 请求方法 + */ + public String method() default "Post"; +} diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/aop/ApiLogAspect.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/aop/ApiLogAspect.java new file mode 100644 index 00000000..88b22057 --- /dev/null +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/aop/ApiLogAspect.java @@ -0,0 +1,61 @@ +package com.xjs.log.aop; + +import com.ruoyi.common.log.annotation.Log; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.*; +import org.aspectj.lang.reflect.SourceLocation; +import org.springframework.stereotype.Component; + +import java.lang.reflect.Method; + +/** + * @author xiejs + * @desc + * @create 2021-12-26 + */ +@Component +@Aspect +public class ApiLogAspect { + + /** + * 处理完请求后执行 + * + * @param joinPoint 切点 + */ + @AfterReturning(pointcut = "@annotation(apiLog)", returning = "jsonResult") + public void doAfterReturning(JoinPoint joinPoint, ApiLog apiLog, Object jsonResult) + { + this.handleApiLog(joinPoint, apiLog, null, jsonResult); + } + + + @AfterThrowing(value = "@annotation(apiLog)", throwing = "e") + public void doAfterThrowing(JoinPoint joinPoint, ApiLog apiLog, Exception e) + { + handleApiLog(joinPoint, apiLog, e, null); + } + + + + + + + + private void handleApiLog(JoinPoint joinPoint, ApiLog apiLog, final Exception e, Object jsonResult) { + String name = apiLog.name();//请求名称 + String url = apiLog.url();//请求地址 + Object[] args = joinPoint.getArgs();//请求体 + for (Object arg : args) { + + } + + + + + + + } + +} diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/BaiduFeignClient.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/BaiduFeignClient.java index 24ba4b77..62acab52 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/BaiduFeignClient.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/BaiduFeignClient.java @@ -1,5 +1,6 @@ package com.xjs.translation.client; +import com.xjs.log.aop.ApiLog; import com.xjs.translation.domain.qo.translation.BaiDuTranslationQo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -13,6 +14,9 @@ import org.springframework.web.bind.annotation.PostMapping; public interface BaiduFeignClient { @PostMapping(headers = {"Content-Type=application/x-www-form-urlencoded"}) + @ApiLog(name = "baidu", + url = "http://api.fanyi.baidu.com/api/trans/vip/translate", + method = "Post") String translationApi(BaiDuTranslationQo qo); } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/YouDaoFeignClient.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/YouDaoFeignClient.java index beb25f6c..6051668f 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/YouDaoFeignClient.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/client/YouDaoFeignClient.java @@ -1,6 +1,7 @@ package com.xjs.translation.client; import com.alibaba.fastjson.JSONObject; +import com.xjs.log.aop.ApiLog; import com.xjs.translation.domain.qo.translation.YouDaoTranslationQo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; @@ -15,5 +16,8 @@ import org.springframework.web.bind.annotation.GetMapping; public interface YouDaoFeignClient { @GetMapping( headers ={ "Accept-Encoding=''"}) + @ApiLog(name = "youdao", + url = "http://fanyi.youdao.com/translate", + method = "Get") JSONObject translationApi(@SpringQueryMap YouDaoTranslationQo qo); } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java index 2fc518e8..b4b13fc3 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java @@ -1,6 +1,8 @@ package com.xjs.translation.controller; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; import com.xjs.translation.domain.qo.translation.TranslationQo; import com.xjs.translation.domain.vo.translation.TranslationVo; import com.xjs.translation.service.TranslationService; @@ -30,6 +32,7 @@ public class TranslationController { @PostMapping @ApiOperation("翻译接口") + @Log(title = "翻译管理") public AjaxResult translation(@Validated @RequestBody TranslationQo translationQo) { TranslationVo translationVo=new TranslationVo(); if (BAIDU.equals(translationQo.getTranslationType())) { diff --git a/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/BaiDuTranslationServiceImplTest.java b/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/BaiDuTranslationServiceImplTest.java index 067dc9d9..9528c802 100644 --- a/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/BaiDuTranslationServiceImplTest.java +++ b/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/BaiDuTranslationServiceImplTest.java @@ -1,6 +1,6 @@ package com.xjs.translation.service.impl; -import com.xjs.translation.XjsEnglishApp; +import com.xjs.XjsEnglishApp; import com.xjs.translation.domain.qo.translation.TranslationQo; import com.xjs.translation.domain.vo.translation.TranslationVo; import com.xjs.translation.service.TranslationService; diff --git a/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/YouDaoTranslationServiceImplTest.java b/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/YouDaoTranslationServiceImplTest.java index 38f1ddae..a4d2e698 100644 --- a/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/YouDaoTranslationServiceImplTest.java +++ b/xjs-business/xjs-business-english/src/test/java/com/xjs/translation/service/impl/YouDaoTranslationServiceImplTest.java @@ -1,6 +1,6 @@ package com.xjs.translation.service.impl; -import com.xjs.translation.XjsEnglishApp; +import com.xjs.XjsEnglishApp; import com.xjs.translation.domain.qo.translation.TranslationQo; import com.xjs.translation.domain.vo.translation.TranslationVo; import com.xjs.translation.service.TranslationService;