From ede181d0016e45724b1017142f49258febecda59 Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Thu, 17 Feb 2022 16:27:42 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=88=AC=E8=99=AB=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0=EF=BC=88AOP=EF=BC=89=202?= =?UTF-8?q?=E3=80=81=E7=88=AC=E8=99=AB=E6=97=A5=E5=BF=97=E6=8C=81=E4=B9=85?= =?UTF-8?q?=E5=8C=96=E5=88=B0=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xjs/business/log/RemoteLogFeign.java | 5 + .../xjs/business/log/domain/WebmagicLog.java | 39 ++++++ .../log/factory/RemoteLogFactory.java | 18 ++- .../webmagic/copywritingnetwork/index.vue | 2 + .../java/com/xjs/annotation/ReptileLog.java | 25 ++++ .../controller/WebmagicLogController.java | 38 ++++++ .../xjs/reptileLog/domain/WebmagicLog.java | 50 +++++++ .../reptileLog/mapper/WebmagicLogMapper.java | 13 ++ .../service/WebmagicLogService.java | 13 ++ .../service/impl/WebmagicLogServiceImpl.java | 16 +++ .../com/xjs/common/aop/reptileLogAspect.java | 123 ++++++++++++++++++ .../CopyWritingNetworkController.java | 4 +- .../task/CopyWritingNetworkTask.java | 32 ++++- .../sina/controller/SinaNewsController.java | 4 +- .../java/com/xjs/sina/task/SinaNewsTask.java | 37 ++++-- 15 files changed, 395 insertions(+), 24 deletions(-) create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/WebmagicLog.java create mode 100644 xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/ReptileLog.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/reptileLog/controller/WebmagicLogController.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/reptileLog/domain/WebmagicLog.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/reptileLog/mapper/WebmagicLogMapper.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/reptileLog/service/WebmagicLogService.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/reptileLog/service/impl/WebmagicLogServiceImpl.java create mode 100644 xjs-business/xjs-business-webmagic/src/main/java/com/xjs/common/aop/reptileLogAspect.java 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 index 1fb54a2b..a3003d5b 100644 --- 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 @@ -3,6 +3,7 @@ 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.domain.WebmagicLog; import com.xjs.business.log.factory.RemoteLogFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -20,4 +21,8 @@ public interface RemoteLogFeign { @PostMapping("/apilog/forPRC") R saveApiLog(@RequestBody ApiLog apiLog); + + + @PostMapping("reptileLog/saveForPRC") + public R saveReptileLog(@RequestBody WebmagicLog webmagicLog); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/WebmagicLog.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/WebmagicLog.java new file mode 100644 index 00000000..c7a9d024 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/WebmagicLog.java @@ -0,0 +1,39 @@ +package com.xjs.business.log.domain; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 爬虫日志实体类 + * @author xiejs + * @since 2022-02-17 + */ +@Data +public class WebmagicLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 爬虫名称 */ + private String name; + + /** 爬虫地址 */ + private String url; + + /** + * 复杂度 + */ + private Long complexRate; + + private Integer status; + + /** 请求耗费时间(单位毫秒) */ + private Long requestTime; + + private Date 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 index a90c3c7b..b00620bc 100644 --- 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 @@ -1,8 +1,9 @@ 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 com.xjs.business.log.domain.ApiLog; +import com.xjs.business.log.domain.WebmagicLog; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -19,7 +20,18 @@ public class RemoteLogFactory implements FallbackFactory { @Override public RemoteLogFeign create(Throwable cause) { - log.error("日志模块服务添加调用失败:{}", cause.getMessage()); - return apiLog -> R.fail("日志模块服务添加调用失败" + cause.getMessage()); + return new RemoteLogFeign() { + @Override + public R saveApiLog(ApiLog apiLog) { + log.error("日志模块api日志服务添加调用失败"); + return R.fail("日志模块api日志服务添加调用失败" + cause.getMessage()); + } + + @Override + public R saveReptileLog(WebmagicLog webmagicLog) { + log.error("日志模块爬虫日志服务添加调用失败"); + return R.fail("日志模块爬虫日志服务添加调用失败" + cause.getMessage()); + } + }; } } diff --git a/ruoyi-ui/src/views/business/webmagic/copywritingnetwork/index.vue b/ruoyi-ui/src/views/business/webmagic/copywritingnetwork/index.vue index a50aab4a..3ee6a6bd 100644 --- a/ruoyi-ui/src/views/business/webmagic/copywritingnetwork/index.vue +++ b/ruoyi-ui/src/views/business/webmagic/copywritingnetwork/index.vue @@ -82,6 +82,8 @@ + +