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 @@