From a137fba38c5e12e73660678ba975f305e16c7148 Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Thu, 13 Jan 2022 11:41:29 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=BB=BA=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=9C=8D=E5=8A=A1=E6=A8=A1=E5=9D=97=202?= =?UTF-8?q?=E3=80=81=E6=8A=8Aapi=E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E4=BB=8Eopenapi=E6=9C=8D=E5=8A=A1=E4=B8=AD=E5=88=86=E5=89=B2?= =?UTF-8?q?=E5=87=BA=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xjs/business/log/RemoteLogFeign.java | 23 ++++ .../com/xjs/business/log/domain/ApiLog.java | 112 ++++++++++++++++++ .../log/factory/RemoteLogFactory.java | 25 ++++ .../core/constant/ServiceNameConstants.java | 7 ++ .../api/business/{openapi => log}/apilog.js | 6 +- .../{openapi => log}/apilog/index.vue | 10 +- xjs-business/pom.xml | 1 + .../main/java/com/xjs/annotation}/ApiLog.java | 4 +- .../main/java/com/xjs/annotation/RpcLog.java | 25 ++++ xjs-business/xjs-business-log/pom.xml | 29 +++++ .../src/main/java/com/xjs/XjsLogApp.java | 22 ++++ .../apilog/controller/ApiLogController.java | 19 ++- .../java/com/xjs/apilog/domain/ApiLog.java | 2 +- .../com/xjs/apilog/mapper/ApiLogMapper.java | 0 .../xjs/apilog/service/IApiLogService.java | 3 +- .../service/impl/ApiLogServiceImpl.java | 3 +- .../src/main/resources/banner.txt | 8 ++ .../src/main/resources/bootstrap.yml | 29 +++++ .../src/main/resources/logback.xml | 76 ++++++++++++ .../resources/mapper/log}/ApiLogMapper.xml | 0 .../src/main/resources/rebel.xml | 16 +++ .../java/com/xjs/common/aop/ApiLogAspect.java | 20 ++-- .../client/api/baidu/BaiduFeignClient.java | 2 +- .../client/api/roll/RollMMYJFeignClient.java | 2 +- .../api/roll/RollTranslationFeignClient.java | 2 +- .../api/tianxing/TianXingBDRSFeignClient.java | 3 +- .../api/tianxing/TianXingDYRSFeignClient.java | 3 +- .../api/tianxing/TianXingJDTCFeignClient.java | 2 +- .../api/tianxing/TianXingMMMYFeignClient.java | 2 +- .../api/tianxing/TianXingMMYJFeignClient.java | 2 +- .../TianXingOneEnglishFeignClient.java | 2 +- .../api/tianxing/TianXingPYQFeignClient.java | 2 +- .../api/tianxing/TianXingQWRSFeignClient.java | 5 +- .../api/tianxing/TianXingTranDictClient.java | 2 +- .../api/tianxing/TianXingWBRSFeignClient.java | 3 +- .../api/tianxing/TianXingWXRSFeignClient.java | 3 +- .../api/tianxing/TianXingWYYFeignClient.java | 2 +- .../client/api/youdao/YouDaoFeignClient.java | 2 +- 38 files changed, 428 insertions(+), 51 deletions(-) create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/ApiLog.java create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java rename ruoyi-ui/src/api/business/{openapi => log}/apilog.js (78%) rename ruoyi-ui/src/views/business/{openapi => log}/apilog/index.vue (96%) rename xjs-business/{xjs-business-openapi/src/main/java/com/xjs/common/aop => xjs-business-common/src/main/java/com/xjs/annotation}/ApiLog.java (89%) create mode 100644 xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/RpcLog.java create mode 100644 xjs-business/xjs-business-log/pom.xml create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/XjsLogApp.java rename xjs-business/{xjs-business-openapi => xjs-business-log}/src/main/java/com/xjs/apilog/controller/ApiLogController.java (81%) rename xjs-business/{xjs-business-openapi => xjs-business-log}/src/main/java/com/xjs/apilog/domain/ApiLog.java (97%) rename xjs-business/{xjs-business-openapi => xjs-business-log}/src/main/java/com/xjs/apilog/mapper/ApiLogMapper.java (100%) rename xjs-business/{xjs-business-openapi => xjs-business-log}/src/main/java/com/xjs/apilog/service/IApiLogService.java (87%) rename xjs-business/{xjs-business-openapi => xjs-business-log}/src/main/java/com/xjs/apilog/service/impl/ApiLogServiceImpl.java (89%) create mode 100644 xjs-business/xjs-business-log/src/main/resources/banner.txt create mode 100644 xjs-business/xjs-business-log/src/main/resources/bootstrap.yml create mode 100644 xjs-business/xjs-business-log/src/main/resources/logback.xml rename xjs-business/{xjs-business-openapi/src/main/resources/mapper/openapi => xjs-business-log/src/main/resources/mapper/log}/ApiLogMapper.xml (100%) create mode 100644 xjs-business/xjs-business-log/src/main/resources/rebel.xml diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java new file mode 100644 index 00000000..1fb54a2b --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java @@ -0,0 +1,23 @@ +package com.xjs.business.log; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.xjs.business.log.domain.ApiLog; +import com.xjs.business.log.factory.RemoteLogFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * rpc远程调用日志服务接口 + * @author xiejs + * @since 2022-01-13 + */ +@FeignClient(contextId = "remoteLogFeign", + value = ServiceNameConstants.BUSINESS_LOG_SERVICE, + fallbackFactory = RemoteLogFactory.class) +public interface RemoteLogFeign { + + @PostMapping("/apilog/forPRC") + R saveApiLog(@RequestBody ApiLog apiLog); +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/ApiLog.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/ApiLog.java new file mode 100644 index 00000000..707459b1 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/ApiLog.java @@ -0,0 +1,112 @@ +package com.xjs.business.log.domain; + + + + +import java.io.Serializable; + + +public class ApiLog implements Serializable { + private static final long serialVersionUID = 1L; + + private Long id; + + /** + * 接口名称 + */ + private String apiName; + + /** + * 请求API的url + */ + private String url; + + /** + * 请求API的方法 + */ + private String method; + + /** + * 请求request + */ + private String request; + + /** + * 响应体 + */ + private String response; + + /** + * 是否请求成功 + */ + private Integer isSuccess; + + /** + * 创建时间 + */ + private String createTime; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getApiName() { + return apiName; + } + + public void setApiName(String apiName) { + this.apiName = apiName; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public String getRequest() { + return request; + } + + public void setRequest(String request) { + this.request = request; + } + + public String getResponse() { + return response; + } + + public void setResponse(String response) { + this.response = response; + } + + public Integer getIsSuccess() { + return isSuccess; + } + + public void setIsSuccess(Integer isSuccess) { + this.isSuccess = isSuccess; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java new file mode 100644 index 00000000..a90c3c7b --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java @@ -0,0 +1,25 @@ +package com.xjs.business.log.factory; + +import com.ruoyi.common.core.domain.R; +import com.xjs.business.api.factory.RemoteTranDictFactory; +import com.xjs.business.log.RemoteLogFeign; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * 日志远程调用rpc服务降级处理 + * @author xiejs + * @since 2022-01-13 + */ +@Component +public class RemoteLogFactory implements FallbackFactory { + private static final Logger log = LoggerFactory.getLogger(RemoteLogFactory.class); + + @Override + public RemoteLogFeign create(Throwable cause) { + log.error("日志模块服务添加调用失败:{}", cause.getMessage()); + return apiLog -> R.fail("日志模块服务添加调用失败" + cause.getMessage()); + } +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java index 7cf9be94..f3735eed 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java @@ -33,6 +33,13 @@ public class ServiceNameConstants */ public static final String BUSINESS_WARNING_SERVICE= "xjs-warning" ; + /** + * 日志服务的serviceid + */ + public static final String BUSINESS_LOG_SERVICE= "xjs-log" ; + + + } diff --git a/ruoyi-ui/src/api/business/openapi/apilog.js b/ruoyi-ui/src/api/business/log/apilog.js similarity index 78% rename from ruoyi-ui/src/api/business/openapi/apilog.js rename to ruoyi-ui/src/api/business/log/apilog.js index 4d71d6bd..41ad3bf9 100644 --- a/ruoyi-ui/src/api/business/openapi/apilog.js +++ b/ruoyi-ui/src/api/business/log/apilog.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询日志列表 export function listLog(query) { return request({ - url: '/openapi/log/list', + url: '/log/apilog/list', method: 'get', params: query }) @@ -12,7 +12,7 @@ export function listLog(query) { // 查询日志详细 export function getLog(id) { return request({ - url: '/openapi/log/' + id, + url: '/log/apilog/' + id, method: 'get' }) } @@ -20,7 +20,7 @@ export function getLog(id) { // 删除日志 export function delLog(id) { return request({ - url: '/openapi/log/' + id, + url: '/log/apilog/' + id, method: 'delete' }) } diff --git a/ruoyi-ui/src/views/business/openapi/apilog/index.vue b/ruoyi-ui/src/views/business/log/apilog/index.vue similarity index 96% rename from ruoyi-ui/src/views/business/openapi/apilog/index.vue rename to ruoyi-ui/src/views/business/log/apilog/index.vue index 05f53aaa..e2ace8e2 100644 --- a/ruoyi-ui/src/views/business/openapi/apilog/index.vue +++ b/ruoyi-ui/src/views/business/log/apilog/index.vue @@ -26,7 +26,7 @@ size="mini" :disabled="multiple" @click="handleDelete" - v-hasPermi="['openapi:log:remove']" + v-hasPermi="['log:apilog:remove']" >删除 @@ -37,7 +37,7 @@ icon="el-icon-download" size="mini" @click="handleExport" - v-hasPermi="['openapi:log:export']" + v-hasPermi="['log:apilog:export']" >导出 @@ -64,7 +64,7 @@ type="" icon="el-icon-view" @click="handleView(scope.row,scope.index)" - v-hasPermi="['openapi:log:query']" + v-hasPermi="['log:apilog:query']" > @@ -119,7 +119,7 @@