From 1a10e944ba74df3741626bb3e6437673cabe54ef Mon Sep 17 00:00:00 2001 From: sleepybear <569750408@qq.com> Date: Fri, 6 May 2022 11:32:58 +0800 Subject: [PATCH] =?UTF-8?q?@dev=20v0.2.1=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8C=85=E5=90=8D=E3=80=81=E5=BC=95=E5=85=A5=E6=96=B0=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E5=B7=A5=E5=85=B7=E3=80=81=E6=97=A5=E5=BF=97=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- pom.xml | 22 ++++- readme.md | 7 +- .../ddtcrawler/DdtCrawlerApplication.java | 4 +- .../advice/ControllerReturnAdvice.java | 8 +- .../ddtcrawler/aspect/ConcurrentAspect.java | 19 ++-- .../xiejx}/ddtcrawler/config/ConfigBean.java | 2 +- .../java/cn/xiejx/ddtcrawler/config/Ioc.java | 24 +++++ .../xiejx/ddtcrawler/constants/Constant.java | 12 +++ .../controller/AuctionController.java | 25 +++-- .../controller/PrivilegeController.java | 6 +- .../ddtcrawler/controller/TaskController.java | 8 +- .../controller/TemplateController.java | 10 +- .../ddtcrawler/controller/UserController.java | 18 ++-- .../ddtcrawler/cookie/CookieHelper.java | 2 +- .../xiejx}/ddtcrawler/cookie/WebUser.java | 18 ++-- .../xiejx}/ddtcrawler/domain/BaseDomain.java | 2 +- .../xiejx}/ddtcrawler/domain/Item.java | 6 +- .../xiejx}/ddtcrawler/domain/QueryUrl.java | 10 +- .../xiejx}/ddtcrawler/domain/Result.java | 2 +- .../xiejx}/ddtcrawler/domain/Template.java | 2 +- .../domain/constant/AuctionConstant.java | 2 +- .../xiejx}/ddtcrawler/dto/TemplateDto.java | 4 +- .../ddtcrawler/exception/MyException.java | 4 +- .../xiejx}/ddtcrawler/http/HttpHelper.java | 4 +- .../ddtcrawler/http/HttpRequestMaker.java | 4 +- .../ddtcrawler/http/HttpResponseHelper.java | 4 +- .../http/enumeration/HttpStatusCode.java | 2 +- .../http/enumeration/MethodEnum.java | 2 +- .../interceptor/UserInterceptor.java | 15 +-- .../ddtcrawler/interceptor/WebMvcConfig.java | 3 +- .../xiejx}/ddtcrawler/logic/AuctionLogic.java | 24 ++--- .../ddtcrawler/logic/TemplateLogic.java | 8 +- .../xiejx}/ddtcrawler/logic/WebUserLogic.java | 34 ++++--- .../xiejx}/ddtcrawler/mapper/ItemMapper.java | 4 +- .../ddtcrawler/mapper/TemplateMapper.java | 4 +- .../ddtcrawler/schedule/MySchedule.java | 23 +---- .../ddtcrawler/service/ItemService.java | 8 +- .../ddtcrawler/service/TemplateService.java | 8 +- .../xiejx}/ddtcrawler/task/ItemTask.java | 47 +++++----- .../xiejx}/ddtcrawler/test/Test.java | 2 +- .../ddtcrawler/utils/EncryptedUtils.java | 2 +- .../ddtcrawler/utils/ThreadPoolUtil.java | 2 +- .../xiejx}/ddtcrawler/utils/TimeUtil.java | 2 +- .../xiejx}/ddtcrawler/vo/MyMessage.java | 2 +- .../xiejx}/ddtcrawler/vo/ResultCode.java | 2 +- .../ddtcrawler/vo/ResultCodeConstant.java | 6 +- .../com/xjx/ddtcrawler/cache/CacheDomain.java | 30 ------ .../xjx/ddtcrawler/cache/CacheInterface.java | 12 --- .../com/xjx/ddtcrawler/cache/CommonCache.java | 65 ------------- .../xjx/ddtcrawler/cache/WebUserCache.java | 94 ------------------- src/main/resources/application.yml | 10 +- src/main/resources/logback-spring.xml | 6 ++ src/main/resources/logging.xml | 35 ------- .../DdtCrawlerApplicationTests.java | 2 +- 55 files changed, 263 insertions(+), 423 deletions(-) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/DdtCrawlerApplication.java (80%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/advice/ControllerReturnAdvice.java (91%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/aspect/ConcurrentAspect.java (75%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/config/ConfigBean.java (96%) create mode 100644 src/main/java/cn/xiejx/ddtcrawler/config/Ioc.java create mode 100644 src/main/java/cn/xiejx/ddtcrawler/constants/Constant.java rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/controller/AuctionController.java (84%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/controller/PrivilegeController.java (87%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/controller/TaskController.java (69%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/controller/TemplateController.java (85%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/controller/UserController.java (87%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/cookie/CookieHelper.java (98%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/cookie/WebUser.java (88%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/domain/BaseDomain.java (94%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/domain/Item.java (98%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/domain/QueryUrl.java (92%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/domain/Result.java (98%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/domain/Template.java (93%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/domain/constant/AuctionConstant.java (98%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/dto/TemplateDto.java (91%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/exception/MyException.java (89%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/http/HttpHelper.java (98%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/http/HttpRequestMaker.java (98%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/http/HttpResponseHelper.java (97%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/http/enumeration/HttpStatusCode.java (99%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/http/enumeration/MethodEnum.java (96%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/interceptor/UserInterceptor.java (81%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/interceptor/WebMvcConfig.java (87%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/logic/AuctionLogic.java (95%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/logic/TemplateLogic.java (91%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/logic/WebUserLogic.java (75%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/mapper/ItemMapper.java (72%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/mapper/TemplateMapper.java (74%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/schedule/MySchedule.java (51%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/service/ItemService.java (83%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/service/TemplateService.java (94%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/task/ItemTask.java (84%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/test/Test.java (67%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/utils/EncryptedUtils.java (98%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/utils/ThreadPoolUtil.java (95%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/utils/TimeUtil.java (97%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/vo/MyMessage.java (92%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/vo/ResultCode.java (96%) rename src/main/java/{com/xjx => cn/xiejx}/ddtcrawler/vo/ResultCodeConstant.java (78%) delete mode 100644 src/main/java/com/xjx/ddtcrawler/cache/CacheDomain.java delete mode 100644 src/main/java/com/xjx/ddtcrawler/cache/CacheInterface.java delete mode 100644 src/main/java/com/xjx/ddtcrawler/cache/CommonCache.java delete mode 100644 src/main/java/com/xjx/ddtcrawler/cache/WebUserCache.java create mode 100644 src/main/resources/logback-spring.xml delete mode 100644 src/main/resources/logging.xml rename src/test/java/{com/xjx => cn/xiejx}/ddtcrawler/DdtCrawlerApplicationTests.java (87%) diff --git a/.gitignore b/.gitignore index 5031639..aa01cf2 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,5 @@ build/ /out/ ### 自定义 ### -application-tencent.yml \ No newline at end of file +application-tencent.yml +logs/ \ No newline at end of file diff --git a/pom.xml b/pom.xml index d80807f..5dd4fcf 100644 --- a/pom.xml +++ b/pom.xml @@ -8,9 +8,9 @@ 3.0.0-M2 - com.xjx + cn.xiejx ddt-crawler - 0.2.0 + 0.2.1 ddt-crawler ddt-crawler @@ -20,6 +20,12 @@ org.springframework.boot spring-boot-starter-web + + + com.fasterxml.jackson.core + jackson-databind + + mysql @@ -48,6 +54,12 @@ commons-lang3 + + com.fasterxml.jackson.core + jackson-databind + 2.13.2.2 + + com.baomidou mybatis-plus-boot-starter @@ -63,12 +75,16 @@ commons-collections4 4.4 - com.thoughtworks.xstream xstream 1.4.19 + + cn.xiejx + cacher + 0.0.2 + diff --git a/readme.md b/readme.md index b92b12e..e478602 100644 --- a/readme.md +++ b/readme.md @@ -39,4 +39,9 @@ create index template_name_index on template (name); 其中 selfid 为用户 id,不会变,key 为每次登录随机生成,下线即失效,所以需要账号一直在线才能使用。搜索结果如下: -![搜索物品](imgs/搜索物品.png) \ No newline at end of file +![搜索物品](imgs/搜索物品.png) +# 更新日志 +## v0.2.1 +- 【增】:添加 logback.xml 日志文件 +- 【增】:引入自建缓存工具 cacher.jar,移除原本缓存工具 +- 【改】:包名从 com.xjx 改为 cn.xiejx \ No newline at end of file diff --git a/src/main/java/com/xjx/ddtcrawler/DdtCrawlerApplication.java b/src/main/java/cn/xiejx/ddtcrawler/DdtCrawlerApplication.java similarity index 80% rename from src/main/java/com/xjx/ddtcrawler/DdtCrawlerApplication.java rename to src/main/java/cn/xiejx/ddtcrawler/DdtCrawlerApplication.java index ff24375..5d5e844 100644 --- a/src/main/java/com/xjx/ddtcrawler/DdtCrawlerApplication.java +++ b/src/main/java/cn/xiejx/ddtcrawler/DdtCrawlerApplication.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler; +package cn.xiejx.ddtcrawler; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -7,7 +7,7 @@ /** * @author xjx */ -@MapperScan(basePackages = {"com.xjx.ddtcrawler.mapper"}) +@MapperScan(basePackages = {"cn.xiejx.ddtcrawler.mapper"}) @SpringBootApplication public class DdtCrawlerApplication { diff --git a/src/main/java/com/xjx/ddtcrawler/advice/ControllerReturnAdvice.java b/src/main/java/cn/xiejx/ddtcrawler/advice/ControllerReturnAdvice.java similarity index 91% rename from src/main/java/com/xjx/ddtcrawler/advice/ControllerReturnAdvice.java rename to src/main/java/cn/xiejx/ddtcrawler/advice/ControllerReturnAdvice.java index 072f443..3ed2571 100644 --- a/src/main/java/com/xjx/ddtcrawler/advice/ControllerReturnAdvice.java +++ b/src/main/java/cn/xiejx/ddtcrawler/advice/ControllerReturnAdvice.java @@ -1,8 +1,8 @@ -package com.xjx.ddtcrawler.advice; +package cn.xiejx.ddtcrawler.advice; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.vo.ResultCode; -import com.xjx.ddtcrawler.vo.ResultCodeConstant; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.vo.ResultCode; +import cn.xiejx.ddtcrawler.vo.ResultCodeConstant; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.core.MethodParameter; diff --git a/src/main/java/com/xjx/ddtcrawler/aspect/ConcurrentAspect.java b/src/main/java/cn/xiejx/ddtcrawler/aspect/ConcurrentAspect.java similarity index 75% rename from src/main/java/com/xjx/ddtcrawler/aspect/ConcurrentAspect.java rename to src/main/java/cn/xiejx/ddtcrawler/aspect/ConcurrentAspect.java index 9a6704d..bbf5573 100644 --- a/src/main/java/com/xjx/ddtcrawler/aspect/ConcurrentAspect.java +++ b/src/main/java/cn/xiejx/ddtcrawler/aspect/ConcurrentAspect.java @@ -1,8 +1,9 @@ -package com.xjx.ddtcrawler.aspect; +package cn.xiejx.ddtcrawler.aspect; -import com.xjx.ddtcrawler.cache.CommonCache; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.exception.MyException; +import cn.xiejx.cacher.Cacher; +import cn.xiejx.ddtcrawler.config.Ioc; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.exception.MyException; import jakarta.annotation.Resource; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; @@ -10,6 +11,7 @@ import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; /** @@ -23,10 +25,11 @@ public class ConcurrentAspect { @Resource private HttpServletRequest request; + @Qualifier(Ioc.COMMON_CACHER_NAME) @Resource - private CommonCache commonCache; + private Cacher commonCacher; - @Around("execution(* com.xjx.ddtcrawler.controller..*(..))") + @Around("execution(* cn.xiejx.ddtcrawler.controller..*(..))") public Object aroundMethod(ProceedingJoinPoint pjd) throws Throwable { Cookie[] cookies = request.getCookies(); if (cookies == null || cookies.length == 0) { @@ -45,14 +48,14 @@ public Object aroundMethod(ProceedingJoinPoint pjd) throws Throwable { Long concurrentTime = webUser.getConcurrentTime(); if (concurrentTime != null) { // 获取上一次的请求时间 - Long lastRequestTime = commonCache.getCache(getLastRequestTimeKey(id)); + Long lastRequestTime = commonCacher.get(getLastRequestTimeKey(id)); // 设置本次的请求时间和过期时间 if (lastRequestTime != null) { if (lastRequestTime + concurrentTime > now) { throw new MyException("并发限制,限制请求间隔为 " + concurrentTime + " 毫秒"); } } - commonCache.setCache(getLastRequestTimeKey(id), now, concurrentTime); + commonCacher.set(getLastRequestTimeKey(id), now, concurrentTime); } return pjd.proceed(); diff --git a/src/main/java/com/xjx/ddtcrawler/config/ConfigBean.java b/src/main/java/cn/xiejx/ddtcrawler/config/ConfigBean.java similarity index 96% rename from src/main/java/com/xjx/ddtcrawler/config/ConfigBean.java rename to src/main/java/cn/xiejx/ddtcrawler/config/ConfigBean.java index b879e34..f432fbb 100644 --- a/src/main/java/com/xjx/ddtcrawler/config/ConfigBean.java +++ b/src/main/java/cn/xiejx/ddtcrawler/config/ConfigBean.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.config; +package cn.xiejx.ddtcrawler.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/cn/xiejx/ddtcrawler/config/Ioc.java b/src/main/java/cn/xiejx/ddtcrawler/config/Ioc.java new file mode 100644 index 0000000..721303f --- /dev/null +++ b/src/main/java/cn/xiejx/ddtcrawler/config/Ioc.java @@ -0,0 +1,24 @@ +package cn.xiejx.ddtcrawler.config; + +import cn.xiejx.cacher.Cacher; +import cn.xiejx.cacher.CacherBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.concurrent.TimeUnit; + +/** + * There is description + * + * @author sleepybear + * @date 2022/05/05 02:06 + */ +@Configuration +public class Ioc { + public static final String COMMON_CACHER_NAME = "commonCacher"; + + @Bean(COMMON_CACHER_NAME) + public Cacher a() { + return new CacherBuilder().showAllLogs().scheduleName(COMMON_CACHER_NAME).delay(60, TimeUnit.SECONDS).build(); + } +} diff --git a/src/main/java/cn/xiejx/ddtcrawler/constants/Constant.java b/src/main/java/cn/xiejx/ddtcrawler/constants/Constant.java new file mode 100644 index 0000000..fd83cc5 --- /dev/null +++ b/src/main/java/cn/xiejx/ddtcrawler/constants/Constant.java @@ -0,0 +1,12 @@ +package cn.xiejx.ddtcrawler.constants; + +/** + * There is description + * + * @author sleepybear + * @date 2022/05/05 02:42 + */ +public class Constant { + public static final long ONE_DAY_SECONDS = 86400L; + public static final long ONE_DAY_MILLISECONDS = ONE_DAY_SECONDS * 1000L; +} diff --git a/src/main/java/com/xjx/ddtcrawler/controller/AuctionController.java b/src/main/java/cn/xiejx/ddtcrawler/controller/AuctionController.java similarity index 84% rename from src/main/java/com/xjx/ddtcrawler/controller/AuctionController.java rename to src/main/java/cn/xiejx/ddtcrawler/controller/AuctionController.java index a68e000..f6c6e24 100644 --- a/src/main/java/com/xjx/ddtcrawler/controller/AuctionController.java +++ b/src/main/java/cn/xiejx/ddtcrawler/controller/AuctionController.java @@ -1,12 +1,14 @@ -package com.xjx.ddtcrawler.controller; +package cn.xiejx.ddtcrawler.controller; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.domain.QueryUrl; -import com.xjx.ddtcrawler.domain.Result; -import com.xjx.ddtcrawler.domain.constant.AuctionConstant; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.logic.AuctionLogic; +import cn.xiejx.cacher.Cacher; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.domain.QueryUrl; +import cn.xiejx.ddtcrawler.domain.Result; +import cn.xiejx.ddtcrawler.domain.constant.AuctionConstant; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.logic.AuctionLogic; import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -17,10 +19,14 @@ * @date 2021/8/1 21:15 */ @RestController +@Slf4j public class AuctionController { @Resource private AuctionLogic auctionLogic; + @Resource + private Cacher cacher; + @RequestMapping("/auction/getAuctionItems") public Result getItems(@RequestParam(required = false, defaultValue = "1") Integer page, @RequestParam(required = false, defaultValue = "-1") Long userId, @@ -80,4 +86,9 @@ public Result getAuctionPriceOder(String itemName, } return result; } + + @RequestMapping("/www") + public void a() { + log.info(cacher.getScheduleName()); + } } diff --git a/src/main/java/com/xjx/ddtcrawler/controller/PrivilegeController.java b/src/main/java/cn/xiejx/ddtcrawler/controller/PrivilegeController.java similarity index 87% rename from src/main/java/com/xjx/ddtcrawler/controller/PrivilegeController.java rename to src/main/java/cn/xiejx/ddtcrawler/controller/PrivilegeController.java index d6c7bdf..23fb5d9 100644 --- a/src/main/java/com/xjx/ddtcrawler/controller/PrivilegeController.java +++ b/src/main/java/cn/xiejx/ddtcrawler/controller/PrivilegeController.java @@ -1,7 +1,7 @@ -package com.xjx.ddtcrawler.controller; +package cn.xiejx.ddtcrawler.controller; -import com.xjx.ddtcrawler.config.ConfigBean; -import com.xjx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.config.ConfigBean; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/com/xjx/ddtcrawler/controller/TaskController.java b/src/main/java/cn/xiejx/ddtcrawler/controller/TaskController.java similarity index 69% rename from src/main/java/com/xjx/ddtcrawler/controller/TaskController.java rename to src/main/java/cn/xiejx/ddtcrawler/controller/TaskController.java index 0de5337..d526727 100644 --- a/src/main/java/com/xjx/ddtcrawler/controller/TaskController.java +++ b/src/main/java/cn/xiejx/ddtcrawler/controller/TaskController.java @@ -1,8 +1,8 @@ -package com.xjx.ddtcrawler.controller; +package cn.xiejx.ddtcrawler.controller; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.task.ItemTask; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.task.ItemTask; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/com/xjx/ddtcrawler/controller/TemplateController.java b/src/main/java/cn/xiejx/ddtcrawler/controller/TemplateController.java similarity index 85% rename from src/main/java/com/xjx/ddtcrawler/controller/TemplateController.java rename to src/main/java/cn/xiejx/ddtcrawler/controller/TemplateController.java index 5f3135f..738ad1b 100644 --- a/src/main/java/com/xjx/ddtcrawler/controller/TemplateController.java +++ b/src/main/java/cn/xiejx/ddtcrawler/controller/TemplateController.java @@ -1,9 +1,9 @@ -package com.xjx.ddtcrawler.controller; +package cn.xiejx.ddtcrawler.controller; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.dto.TemplateDto; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.logic.TemplateLogic; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.dto.TemplateDto; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.logic.TemplateLogic; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/com/xjx/ddtcrawler/controller/UserController.java b/src/main/java/cn/xiejx/ddtcrawler/controller/UserController.java similarity index 87% rename from src/main/java/com/xjx/ddtcrawler/controller/UserController.java rename to src/main/java/cn/xiejx/ddtcrawler/controller/UserController.java index b35a562..4dd451b 100644 --- a/src/main/java/com/xjx/ddtcrawler/controller/UserController.java +++ b/src/main/java/cn/xiejx/ddtcrawler/controller/UserController.java @@ -1,11 +1,11 @@ -package com.xjx.ddtcrawler.controller; +package cn.xiejx.ddtcrawler.controller; -import com.xjx.ddtcrawler.cookie.CookieHelper; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.logic.WebUserLogic; -import com.xjx.ddtcrawler.utils.TimeUtil; -import com.xjx.ddtcrawler.vo.MyMessage; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.cookie.CookieHelper; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.logic.WebUserLogic; +import cn.xiejx.ddtcrawler.utils.TimeUtil; +import cn.xiejx.ddtcrawler.vo.MyMessage; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; @@ -59,9 +59,7 @@ public MyMessage createTemporaryLicense(Long expireTime, @RequestParam(required } long now = System.currentTimeMillis(); - if (expireTime != null) { - webUser.setExpireAt(expireTime * 1000 + now); - } + webUser.setExpireTime(expireTime); webUser.setConcurrentTime(concurrentTime); String temporaryLicense = webUserLogic.generateTemporaryLicense(webUser); if (expireTime == null) { diff --git a/src/main/java/com/xjx/ddtcrawler/cookie/CookieHelper.java b/src/main/java/cn/xiejx/ddtcrawler/cookie/CookieHelper.java similarity index 98% rename from src/main/java/com/xjx/ddtcrawler/cookie/CookieHelper.java rename to src/main/java/cn/xiejx/ddtcrawler/cookie/CookieHelper.java index b37afb5..224edd8 100644 --- a/src/main/java/com/xjx/ddtcrawler/cookie/CookieHelper.java +++ b/src/main/java/cn/xiejx/ddtcrawler/cookie/CookieHelper.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.cookie; +package cn.xiejx.ddtcrawler.cookie; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/xjx/ddtcrawler/cookie/WebUser.java b/src/main/java/cn/xiejx/ddtcrawler/cookie/WebUser.java similarity index 88% rename from src/main/java/com/xjx/ddtcrawler/cookie/WebUser.java rename to src/main/java/cn/xiejx/ddtcrawler/cookie/WebUser.java index 3a84663..02d9101 100644 --- a/src/main/java/com/xjx/ddtcrawler/cookie/WebUser.java +++ b/src/main/java/cn/xiejx/ddtcrawler/cookie/WebUser.java @@ -1,11 +1,9 @@ -package com.xjx.ddtcrawler.cookie; +package cn.xiejx.ddtcrawler.cookie; -import com.xjx.ddtcrawler.cache.CacheDomain; -import com.xjx.ddtcrawler.config.ConfigBean; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.utils.EncryptedUtils; +import cn.xiejx.ddtcrawler.config.ConfigBean; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.utils.EncryptedUtils; import lombok.Data; -import lombok.EqualsAndHashCode; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -16,9 +14,8 @@ * @author XJX * @date 2021/8/14 12:29 */ -@EqualsAndHashCode(callSuper = true) @Data -public class WebUser extends CacheDomain implements Serializable { +public class WebUser implements Serializable { @Serial private static final long serialVersionUID = 5392034256168678992L; @@ -48,6 +45,7 @@ public class WebUser extends CacheDomain implements Serializable { * 用户并发毫秒 */ private Long concurrentTime = 500L; + private Long expireTime; public static void setWebUser(WebUser webUser) { WEB_USER_THREAD_LOCAL.set(webUser); @@ -75,6 +73,10 @@ public static WebUser getSafeWebUser() throws MyException { return res; } + public Long getExpireAt() { + return this.expireTime + this.loginTime; + } + public boolean isTemporaryUser() { return StringUtils.isNotBlank(this.temporaryLicense); } diff --git a/src/main/java/com/xjx/ddtcrawler/domain/BaseDomain.java b/src/main/java/cn/xiejx/ddtcrawler/domain/BaseDomain.java similarity index 94% rename from src/main/java/com/xjx/ddtcrawler/domain/BaseDomain.java rename to src/main/java/cn/xiejx/ddtcrawler/domain/BaseDomain.java index d86f4c9..bbc52c6 100644 --- a/src/main/java/com/xjx/ddtcrawler/domain/BaseDomain.java +++ b/src/main/java/cn/xiejx/ddtcrawler/domain/BaseDomain.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.domain; +package cn.xiejx.ddtcrawler.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/src/main/java/com/xjx/ddtcrawler/domain/Item.java b/src/main/java/cn/xiejx/ddtcrawler/domain/Item.java similarity index 98% rename from src/main/java/com/xjx/ddtcrawler/domain/Item.java rename to src/main/java/cn/xiejx/ddtcrawler/domain/Item.java index b07a9a7..ec6168b 100644 --- a/src/main/java/com/xjx/ddtcrawler/domain/Item.java +++ b/src/main/java/cn/xiejx/ddtcrawler/domain/Item.java @@ -1,11 +1,11 @@ -package com.xjx.ddtcrawler.domain; +package cn.xiejx.ddtcrawler.domain; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -import com.xjx.ddtcrawler.utils.EncryptedUtils; -import com.xjx.ddtcrawler.utils.TimeUtil; +import cn.xiejx.ddtcrawler.utils.EncryptedUtils; +import cn.xiejx.ddtcrawler.utils.TimeUtil; import lombok.Data; import java.io.Serial; diff --git a/src/main/java/com/xjx/ddtcrawler/domain/QueryUrl.java b/src/main/java/cn/xiejx/ddtcrawler/domain/QueryUrl.java similarity index 92% rename from src/main/java/com/xjx/ddtcrawler/domain/QueryUrl.java rename to src/main/java/cn/xiejx/ddtcrawler/domain/QueryUrl.java index 5b2cd22..d25b634 100644 --- a/src/main/java/com/xjx/ddtcrawler/domain/QueryUrl.java +++ b/src/main/java/cn/xiejx/ddtcrawler/domain/QueryUrl.java @@ -1,9 +1,9 @@ -package com.xjx.ddtcrawler.domain; +package cn.xiejx.ddtcrawler.domain; -import com.xjx.ddtcrawler.config.ConfigBean; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.domain.constant.AuctionConstant; -import com.xjx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.domain.constant.AuctionConstant; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.config.ConfigBean; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/com/xjx/ddtcrawler/domain/Result.java b/src/main/java/cn/xiejx/ddtcrawler/domain/Result.java similarity index 98% rename from src/main/java/com/xjx/ddtcrawler/domain/Result.java rename to src/main/java/cn/xiejx/ddtcrawler/domain/Result.java index f01dd30..080c38c 100644 --- a/src/main/java/com/xjx/ddtcrawler/domain/Result.java +++ b/src/main/java/cn/xiejx/ddtcrawler/domain/Result.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.domain; +package cn.xiejx.ddtcrawler.domain; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.XStream; diff --git a/src/main/java/com/xjx/ddtcrawler/domain/Template.java b/src/main/java/cn/xiejx/ddtcrawler/domain/Template.java similarity index 93% rename from src/main/java/com/xjx/ddtcrawler/domain/Template.java rename to src/main/java/cn/xiejx/ddtcrawler/domain/Template.java index d3df98b..8145058 100644 --- a/src/main/java/com/xjx/ddtcrawler/domain/Template.java +++ b/src/main/java/cn/xiejx/ddtcrawler/domain/Template.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.domain; +package cn.xiejx.ddtcrawler.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/src/main/java/com/xjx/ddtcrawler/domain/constant/AuctionConstant.java b/src/main/java/cn/xiejx/ddtcrawler/domain/constant/AuctionConstant.java similarity index 98% rename from src/main/java/com/xjx/ddtcrawler/domain/constant/AuctionConstant.java rename to src/main/java/cn/xiejx/ddtcrawler/domain/constant/AuctionConstant.java index 2a610cb..1ad87b5 100644 --- a/src/main/java/com/xjx/ddtcrawler/domain/constant/AuctionConstant.java +++ b/src/main/java/cn/xiejx/ddtcrawler/domain/constant/AuctionConstant.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.domain.constant; +package cn.xiejx.ddtcrawler.domain.constant; /** * @author XJX diff --git a/src/main/java/com/xjx/ddtcrawler/dto/TemplateDto.java b/src/main/java/cn/xiejx/ddtcrawler/dto/TemplateDto.java similarity index 91% rename from src/main/java/com/xjx/ddtcrawler/dto/TemplateDto.java rename to src/main/java/cn/xiejx/ddtcrawler/dto/TemplateDto.java index 066bca0..c8f74ca 100644 --- a/src/main/java/com/xjx/ddtcrawler/dto/TemplateDto.java +++ b/src/main/java/cn/xiejx/ddtcrawler/dto/TemplateDto.java @@ -1,6 +1,6 @@ -package com.xjx.ddtcrawler.dto; +package cn.xiejx.ddtcrawler.dto; -import com.xjx.ddtcrawler.utils.EncryptedUtils; +import cn.xiejx.ddtcrawler.utils.EncryptedUtils; import lombok.Data; import java.io.Serial; diff --git a/src/main/java/com/xjx/ddtcrawler/exception/MyException.java b/src/main/java/cn/xiejx/ddtcrawler/exception/MyException.java similarity index 89% rename from src/main/java/com/xjx/ddtcrawler/exception/MyException.java rename to src/main/java/cn/xiejx/ddtcrawler/exception/MyException.java index 444c53a..14ae483 100644 --- a/src/main/java/com/xjx/ddtcrawler/exception/MyException.java +++ b/src/main/java/cn/xiejx/ddtcrawler/exception/MyException.java @@ -1,6 +1,6 @@ -package com.xjx.ddtcrawler.exception; +package cn.xiejx.ddtcrawler.exception; -import com.xjx.ddtcrawler.vo.ResultCodeConstant; +import cn.xiejx.ddtcrawler.vo.ResultCodeConstant; import java.io.Serial; import java.io.Serializable; diff --git a/src/main/java/com/xjx/ddtcrawler/http/HttpHelper.java b/src/main/java/cn/xiejx/ddtcrawler/http/HttpHelper.java similarity index 98% rename from src/main/java/com/xjx/ddtcrawler/http/HttpHelper.java rename to src/main/java/cn/xiejx/ddtcrawler/http/HttpHelper.java index ed23f33..89926d9 100644 --- a/src/main/java/com/xjx/ddtcrawler/http/HttpHelper.java +++ b/src/main/java/cn/xiejx/ddtcrawler/http/HttpHelper.java @@ -1,6 +1,6 @@ -package com.xjx.ddtcrawler.http; +package cn.xiejx.ddtcrawler.http; -import com.xjx.ddtcrawler.http.enumeration.MethodEnum; +import cn.xiejx.ddtcrawler.http.enumeration.MethodEnum; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.http.Header; diff --git a/src/main/java/com/xjx/ddtcrawler/http/HttpRequestMaker.java b/src/main/java/cn/xiejx/ddtcrawler/http/HttpRequestMaker.java similarity index 98% rename from src/main/java/com/xjx/ddtcrawler/http/HttpRequestMaker.java rename to src/main/java/cn/xiejx/ddtcrawler/http/HttpRequestMaker.java index 20eba34..5638d57 100644 --- a/src/main/java/com/xjx/ddtcrawler/http/HttpRequestMaker.java +++ b/src/main/java/cn/xiejx/ddtcrawler/http/HttpRequestMaker.java @@ -1,6 +1,6 @@ -package com.xjx.ddtcrawler.http; +package cn.xiejx.ddtcrawler.http; -import com.xjx.ddtcrawler.http.enumeration.MethodEnum; +import cn.xiejx.ddtcrawler.http.enumeration.MethodEnum; import lombok.Data; import lombok.EqualsAndHashCode; import org.apache.http.*; diff --git a/src/main/java/com/xjx/ddtcrawler/http/HttpResponseHelper.java b/src/main/java/cn/xiejx/ddtcrawler/http/HttpResponseHelper.java similarity index 97% rename from src/main/java/com/xjx/ddtcrawler/http/HttpResponseHelper.java rename to src/main/java/cn/xiejx/ddtcrawler/http/HttpResponseHelper.java index 4bc71d9..5a40642 100644 --- a/src/main/java/com/xjx/ddtcrawler/http/HttpResponseHelper.java +++ b/src/main/java/cn/xiejx/ddtcrawler/http/HttpResponseHelper.java @@ -1,6 +1,6 @@ -package com.xjx.ddtcrawler.http; +package cn.xiejx.ddtcrawler.http; -import com.xjx.ddtcrawler.http.enumeration.HttpStatusCode; +import cn.xiejx.ddtcrawler.http.enumeration.HttpStatusCode; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; import org.apache.http.Header; diff --git a/src/main/java/com/xjx/ddtcrawler/http/enumeration/HttpStatusCode.java b/src/main/java/cn/xiejx/ddtcrawler/http/enumeration/HttpStatusCode.java similarity index 99% rename from src/main/java/com/xjx/ddtcrawler/http/enumeration/HttpStatusCode.java rename to src/main/java/cn/xiejx/ddtcrawler/http/enumeration/HttpStatusCode.java index f6b6f9d..e03b5b7 100644 --- a/src/main/java/com/xjx/ddtcrawler/http/enumeration/HttpStatusCode.java +++ b/src/main/java/cn/xiejx/ddtcrawler/http/enumeration/HttpStatusCode.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.http.enumeration; +package cn.xiejx.ddtcrawler.http.enumeration; /** * there is introduction diff --git a/src/main/java/com/xjx/ddtcrawler/http/enumeration/MethodEnum.java b/src/main/java/cn/xiejx/ddtcrawler/http/enumeration/MethodEnum.java similarity index 96% rename from src/main/java/com/xjx/ddtcrawler/http/enumeration/MethodEnum.java rename to src/main/java/cn/xiejx/ddtcrawler/http/enumeration/MethodEnum.java index a50d871..5e3e632 100644 --- a/src/main/java/com/xjx/ddtcrawler/http/enumeration/MethodEnum.java +++ b/src/main/java/cn/xiejx/ddtcrawler/http/enumeration/MethodEnum.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.http.enumeration; +package cn.xiejx.ddtcrawler.http.enumeration; /** * HTTP 方法枚举 diff --git a/src/main/java/com/xjx/ddtcrawler/interceptor/UserInterceptor.java b/src/main/java/cn/xiejx/ddtcrawler/interceptor/UserInterceptor.java similarity index 81% rename from src/main/java/com/xjx/ddtcrawler/interceptor/UserInterceptor.java rename to src/main/java/cn/xiejx/ddtcrawler/interceptor/UserInterceptor.java index ed9cb67..6e2db81 100644 --- a/src/main/java/com/xjx/ddtcrawler/interceptor/UserInterceptor.java +++ b/src/main/java/cn/xiejx/ddtcrawler/interceptor/UserInterceptor.java @@ -1,12 +1,14 @@ -package com.xjx.ddtcrawler.interceptor; +package cn.xiejx.ddtcrawler.interceptor; -import com.xjx.ddtcrawler.cache.WebUserCache; -import com.xjx.ddtcrawler.cookie.CookieHelper; -import com.xjx.ddtcrawler.cookie.WebUser; +import cn.xiejx.cacher.Cacher; +import cn.xiejx.ddtcrawler.config.Ioc; +import cn.xiejx.ddtcrawler.cookie.CookieHelper; +import cn.xiejx.ddtcrawler.cookie.WebUser; import jakarta.annotation.Resource; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; @@ -19,8 +21,9 @@ @Component public class UserInterceptor implements HandlerInterceptor { + @Qualifier(Ioc.COMMON_CACHER_NAME) @Resource - private WebUserCache webUserCache; + private Cacher cacher; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { @@ -36,7 +39,7 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons return HandlerInterceptor.super.preHandle(request, response, handler); } - WebUser cachedWebUser = webUserCache.getById(webUserId); + WebUser cachedWebUser = cacher.get(webUserId); if (cachedWebUser == null) { return HandlerInterceptor.super.preHandle(request, response, handler); } diff --git a/src/main/java/com/xjx/ddtcrawler/interceptor/WebMvcConfig.java b/src/main/java/cn/xiejx/ddtcrawler/interceptor/WebMvcConfig.java similarity index 87% rename from src/main/java/com/xjx/ddtcrawler/interceptor/WebMvcConfig.java rename to src/main/java/cn/xiejx/ddtcrawler/interceptor/WebMvcConfig.java index d7a866e..4eaecc6 100644 --- a/src/main/java/com/xjx/ddtcrawler/interceptor/WebMvcConfig.java +++ b/src/main/java/cn/xiejx/ddtcrawler/interceptor/WebMvcConfig.java @@ -1,7 +1,6 @@ -package com.xjx.ddtcrawler.interceptor; +package cn.xiejx.ddtcrawler.interceptor; import jakarta.annotation.Resource; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; diff --git a/src/main/java/com/xjx/ddtcrawler/logic/AuctionLogic.java b/src/main/java/cn/xiejx/ddtcrawler/logic/AuctionLogic.java similarity index 95% rename from src/main/java/com/xjx/ddtcrawler/logic/AuctionLogic.java rename to src/main/java/cn/xiejx/ddtcrawler/logic/AuctionLogic.java index 204a7f0..7cb4746 100644 --- a/src/main/java/com/xjx/ddtcrawler/logic/AuctionLogic.java +++ b/src/main/java/cn/xiejx/ddtcrawler/logic/AuctionLogic.java @@ -1,15 +1,15 @@ -package com.xjx.ddtcrawler.logic; - -import com.xjx.ddtcrawler.domain.Item; -import com.xjx.ddtcrawler.domain.QueryUrl; -import com.xjx.ddtcrawler.domain.Result; -import com.xjx.ddtcrawler.domain.constant.AuctionConstant; -import com.xjx.ddtcrawler.dto.TemplateDto; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.http.HttpHelper; -import com.xjx.ddtcrawler.http.HttpResponseHelper; -import com.xjx.ddtcrawler.service.ItemService; -import com.xjx.ddtcrawler.service.TemplateService; +package cn.xiejx.ddtcrawler.logic; + +import cn.xiejx.ddtcrawler.domain.Item; +import cn.xiejx.ddtcrawler.domain.QueryUrl; +import cn.xiejx.ddtcrawler.domain.Result; +import cn.xiejx.ddtcrawler.domain.constant.AuctionConstant; +import cn.xiejx.ddtcrawler.dto.TemplateDto; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.service.ItemService; +import cn.xiejx.ddtcrawler.service.TemplateService; +import cn.xiejx.ddtcrawler.http.HttpHelper; +import cn.xiejx.ddtcrawler.http.HttpResponseHelper; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; diff --git a/src/main/java/com/xjx/ddtcrawler/logic/TemplateLogic.java b/src/main/java/cn/xiejx/ddtcrawler/logic/TemplateLogic.java similarity index 91% rename from src/main/java/com/xjx/ddtcrawler/logic/TemplateLogic.java rename to src/main/java/cn/xiejx/ddtcrawler/logic/TemplateLogic.java index ab0d1a9..a555dbc 100644 --- a/src/main/java/com/xjx/ddtcrawler/logic/TemplateLogic.java +++ b/src/main/java/cn/xiejx/ddtcrawler/logic/TemplateLogic.java @@ -1,8 +1,8 @@ -package com.xjx.ddtcrawler.logic; +package cn.xiejx.ddtcrawler.logic; -import com.xjx.ddtcrawler.dto.TemplateDto; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.service.TemplateService; +import cn.xiejx.ddtcrawler.dto.TemplateDto; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.service.TemplateService; import jakarta.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/com/xjx/ddtcrawler/logic/WebUserLogic.java b/src/main/java/cn/xiejx/ddtcrawler/logic/WebUserLogic.java similarity index 75% rename from src/main/java/com/xjx/ddtcrawler/logic/WebUserLogic.java rename to src/main/java/cn/xiejx/ddtcrawler/logic/WebUserLogic.java index 04466c1..9218012 100644 --- a/src/main/java/com/xjx/ddtcrawler/logic/WebUserLogic.java +++ b/src/main/java/cn/xiejx/ddtcrawler/logic/WebUserLogic.java @@ -1,13 +1,16 @@ -package com.xjx.ddtcrawler.logic; +package cn.xiejx.ddtcrawler.logic; -import com.xjx.ddtcrawler.cache.WebUserCache; -import com.xjx.ddtcrawler.cookie.CookieHelper; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.exception.MyException; +import cn.xiejx.cacher.Cacher; +import cn.xiejx.ddtcrawler.config.Ioc; +import cn.xiejx.ddtcrawler.constants.Constant; +import cn.xiejx.ddtcrawler.cookie.CookieHelper; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.exception.MyException; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; /** @@ -17,8 +20,9 @@ @Component @Slf4j public class WebUserLogic { + @Qualifier(Ioc.COMMON_CACHER_NAME) @Resource - private WebUserCache webUserCache; + private Cacher cacher; public void save(Long userId, String key, Long expireTime) throws MyException { if (userId == null) { @@ -41,10 +45,15 @@ public void save(Long userId, String key, Long expireTime) throws MyException { int maxAge = CookieHelper.COOKIE_MAX_AGE; if (expireTime != null) { - webUser.setExpireAt(expireTime + now); + if (expireTime > Constant.ONE_DAY_MILLISECONDS) { + expireTime = Constant.ONE_DAY_MILLISECONDS; + } maxAge = (int) (expireTime / 1000); + } else { + expireTime = Constant.ONE_DAY_MILLISECONDS; } - String id = webUserCache.saveUser(webUser); + String id = webUser.getId(); + cacher.set(id, webUser, expireTime); CookieHelper.setWebUserCookie(id, maxAge); } @@ -60,7 +69,8 @@ public String generateTemporaryLicense(WebUser temporaryWebUser) { String temporaryLicense = RandomStringUtils.random(10, true, true); temporaryWebUser.setId(temporaryLicense); temporaryWebUser.setTemporaryLicense(temporaryLicense); - webUserCache.saveUser(temporaryWebUser); + temporaryWebUser.setLoginTime(System.currentTimeMillis()); + cacher.set(temporaryWebUser.getId(), temporaryWebUser, temporaryWebUser.getExpireTime()); return temporaryLicense; } @@ -70,7 +80,7 @@ public void deleteTemporaryLicense(WebUser webUser, String temporaryLicense) thr } Long userId = webUser.getUserId(); - WebUser cachedWebUser = webUserCache.getById(temporaryLicense); + WebUser cachedWebUser = cacher.get(temporaryLicense); if (cachedWebUser == null) { throw new MyException("找不到该License"); } @@ -79,12 +89,12 @@ public void deleteTemporaryLicense(WebUser webUser, String temporaryLicense) thr if (!userId.equals(cachedUserId)) { throw new MyException("无权限操作该License"); } - webUserCache.delete(temporaryLicense); + cacher.remove(temporaryLicense); throw new MyException("删除成功"); } public void writeTemporaryLicenseCookie(String temporaryLicense) throws MyException { - WebUser webUser = webUserCache.getById(temporaryLicense); + WebUser webUser = cacher.get(temporaryLicense); if (webUser == null) { throw new MyException("用户不存在或者已过期"); } diff --git a/src/main/java/com/xjx/ddtcrawler/mapper/ItemMapper.java b/src/main/java/cn/xiejx/ddtcrawler/mapper/ItemMapper.java similarity index 72% rename from src/main/java/com/xjx/ddtcrawler/mapper/ItemMapper.java rename to src/main/java/cn/xiejx/ddtcrawler/mapper/ItemMapper.java index 64d8a20..d860892 100644 --- a/src/main/java/com/xjx/ddtcrawler/mapper/ItemMapper.java +++ b/src/main/java/cn/xiejx/ddtcrawler/mapper/ItemMapper.java @@ -1,7 +1,7 @@ -package com.xjx.ddtcrawler.mapper; +package cn.xiejx.ddtcrawler.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xjx.ddtcrawler.domain.Item; +import cn.xiejx.ddtcrawler.domain.Item; import org.springframework.stereotype.Repository; /** diff --git a/src/main/java/com/xjx/ddtcrawler/mapper/TemplateMapper.java b/src/main/java/cn/xiejx/ddtcrawler/mapper/TemplateMapper.java similarity index 74% rename from src/main/java/com/xjx/ddtcrawler/mapper/TemplateMapper.java rename to src/main/java/cn/xiejx/ddtcrawler/mapper/TemplateMapper.java index a54f37a..40f8979 100644 --- a/src/main/java/com/xjx/ddtcrawler/mapper/TemplateMapper.java +++ b/src/main/java/cn/xiejx/ddtcrawler/mapper/TemplateMapper.java @@ -1,7 +1,7 @@ -package com.xjx.ddtcrawler.mapper; +package cn.xiejx.ddtcrawler.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xjx.ddtcrawler.domain.Template; +import cn.xiejx.ddtcrawler.domain.Template; import org.springframework.stereotype.Repository; /** diff --git a/src/main/java/com/xjx/ddtcrawler/schedule/MySchedule.java b/src/main/java/cn/xiejx/ddtcrawler/schedule/MySchedule.java similarity index 51% rename from src/main/java/com/xjx/ddtcrawler/schedule/MySchedule.java rename to src/main/java/cn/xiejx/ddtcrawler/schedule/MySchedule.java index 5caf4c4..a655197 100644 --- a/src/main/java/com/xjx/ddtcrawler/schedule/MySchedule.java +++ b/src/main/java/cn/xiejx/ddtcrawler/schedule/MySchedule.java @@ -1,11 +1,9 @@ -package com.xjx.ddtcrawler.schedule; +package cn.xiejx.ddtcrawler.schedule; -import com.xjx.ddtcrawler.cache.CacheInterface; -import com.xjx.ddtcrawler.dto.TemplateDto; -import com.xjx.ddtcrawler.service.TemplateService; +import cn.xiejx.ddtcrawler.dto.TemplateDto; +import cn.xiejx.ddtcrawler.service.TemplateService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; @@ -24,27 +22,14 @@ public class MySchedule { @Resource private TemplateService templateService; - @Resource - @Qualifier("commonCache") - private CacheInterface commonCache; - @Resource - @Qualifier("webUserCache") - private CacheInterface webUserCache; @Scheduled(cron = "0 */1 * * * ?") public void mySqlConnection() { try { - TemplateDto templateDto = templateService.getById(RANDOM.nextLong() / 1000); + TemplateDto templateDto = templateService.getById((long) Math.abs(RANDOM.nextInt(100000))); log.info("test connection"); } catch (Exception e) { log.error("test connection error", e); } } - - @Scheduled(cron = "0 */10 * * * ?") - public void clearExpireCache() { - commonCache.clearExpired(); - webUserCache.clearExpired(); - log.info("clearExpireCache"); - } } diff --git a/src/main/java/com/xjx/ddtcrawler/service/ItemService.java b/src/main/java/cn/xiejx/ddtcrawler/service/ItemService.java similarity index 83% rename from src/main/java/com/xjx/ddtcrawler/service/ItemService.java rename to src/main/java/cn/xiejx/ddtcrawler/service/ItemService.java index 40c55b4..da708f4 100644 --- a/src/main/java/com/xjx/ddtcrawler/service/ItemService.java +++ b/src/main/java/cn/xiejx/ddtcrawler/service/ItemService.java @@ -1,8 +1,8 @@ -package com.xjx.ddtcrawler.service; +package cn.xiejx.ddtcrawler.service; -import com.xjx.ddtcrawler.domain.Item; -import com.xjx.ddtcrawler.domain.Result; -import com.xjx.ddtcrawler.mapper.ItemMapper; +import cn.xiejx.ddtcrawler.domain.Item; +import cn.xiejx.ddtcrawler.domain.Result; +import cn.xiejx.ddtcrawler.mapper.ItemMapper; import jakarta.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/xjx/ddtcrawler/service/TemplateService.java b/src/main/java/cn/xiejx/ddtcrawler/service/TemplateService.java similarity index 94% rename from src/main/java/com/xjx/ddtcrawler/service/TemplateService.java rename to src/main/java/cn/xiejx/ddtcrawler/service/TemplateService.java index 16e3204..a92dc56 100644 --- a/src/main/java/com/xjx/ddtcrawler/service/TemplateService.java +++ b/src/main/java/cn/xiejx/ddtcrawler/service/TemplateService.java @@ -1,9 +1,9 @@ -package com.xjx.ddtcrawler.service; +package cn.xiejx.ddtcrawler.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.xjx.ddtcrawler.domain.Template; -import com.xjx.ddtcrawler.dto.TemplateDto; -import com.xjx.ddtcrawler.mapper.TemplateMapper; +import cn.xiejx.ddtcrawler.domain.Template; +import cn.xiejx.ddtcrawler.dto.TemplateDto; +import cn.xiejx.ddtcrawler.mapper.TemplateMapper; import jakarta.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/com/xjx/ddtcrawler/task/ItemTask.java b/src/main/java/cn/xiejx/ddtcrawler/task/ItemTask.java similarity index 84% rename from src/main/java/com/xjx/ddtcrawler/task/ItemTask.java rename to src/main/java/cn/xiejx/ddtcrawler/task/ItemTask.java index 0deac80..02c7db1 100644 --- a/src/main/java/com/xjx/ddtcrawler/task/ItemTask.java +++ b/src/main/java/cn/xiejx/ddtcrawler/task/ItemTask.java @@ -1,19 +1,20 @@ -package com.xjx.ddtcrawler.task; - -import com.xjx.ddtcrawler.cache.CommonCache; -import com.xjx.ddtcrawler.cache.WebUserCache; -import com.xjx.ddtcrawler.cookie.WebUser; -import com.xjx.ddtcrawler.domain.Item; -import com.xjx.ddtcrawler.domain.QueryUrl; -import com.xjx.ddtcrawler.domain.Result; -import com.xjx.ddtcrawler.domain.constant.AuctionConstant; -import com.xjx.ddtcrawler.exception.MyException; -import com.xjx.ddtcrawler.logic.AuctionLogic; -import com.xjx.ddtcrawler.service.ItemService; -import com.xjx.ddtcrawler.utils.ThreadPoolUtil; +package cn.xiejx.ddtcrawler.task; + +import cn.xiejx.cacher.Cacher; +import cn.xiejx.ddtcrawler.config.Ioc; +import cn.xiejx.ddtcrawler.cookie.WebUser; +import cn.xiejx.ddtcrawler.domain.Item; +import cn.xiejx.ddtcrawler.domain.QueryUrl; +import cn.xiejx.ddtcrawler.domain.Result; +import cn.xiejx.ddtcrawler.domain.constant.AuctionConstant; +import cn.xiejx.ddtcrawler.exception.MyException; +import cn.xiejx.ddtcrawler.logic.AuctionLogic; +import cn.xiejx.ddtcrawler.service.ItemService; +import cn.xiejx.ddtcrawler.utils.ThreadPoolUtil; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import java.util.Collections; @@ -34,10 +35,10 @@ public class ItemTask { private AuctionLogic auctionLogic; @Resource private ItemService itemService; + + @Qualifier(Ioc.COMMON_CACHER_NAME) @Resource - private CommonCache commonCache; - @Resource - private WebUserCache webUserCache; + private Cacher cacher; public void initAuctionId() { long maxAuctionId = itemService.getMaxAuctionId(); @@ -96,7 +97,7 @@ public String startTask(WebUser webUser) throws MyException { throw new MyException("user 为空"); } - Object cache = commonCache.getCache(ITEM_TASK_KEY); + Object cache = cacher.get(ITEM_TASK_KEY); if (cache != null) { return "running"; } @@ -108,12 +109,12 @@ public String startTask(WebUser webUser) throws MyException { int count = 1; do { // 15 分钟锁 - commonCache.setCache(ITEM_TASK_KEY, 1, 1000 * 60 * 15L); + cacher.set(ITEM_TASK_KEY, 1, 1000 * 60 * 15L); log.info("获取次数:" + count++); delay = singleTask(webUser); sleep(delay); } while (delay > 0); - commonCache.delCache(ITEM_TASK_KEY); + cacher.remove(ITEM_TASK_KEY); log.info("缓存 key 被删除"); }; ThreadPoolUtil.start(runnable); @@ -127,7 +128,7 @@ public long singleTask(WebUser webUser) { Long auctionId = null; for (int i = 0; i < maxRetryTimes; i++) { - Object cache = commonCache.getCache(ITEM_TASK_KEY); + Object cache = cacher.get(ITEM_TASK_KEY); if (cache == null) { log.info("锁被释放,停止获取"); return -1L; @@ -149,13 +150,13 @@ public long singleTask(WebUser webUser) { if (auctionId == null) { log.info("获取失败,结束"); - commonCache.delCache(ITEM_TASK_KEY); + cacher.remove(ITEM_TASK_KEY); return -1L; } long now = System.currentTimeMillis(); // 上一次的时间 - Long lastAuctionTime = commonCache.getCache(ITEM_TASK_LAST_AUCTION_TIME); + Long lastAuctionTime = (Long) cacher.get(ITEM_TASK_LAST_AUCTION_TIME); // 两次 auction 差值 long subAuction = auctionId - latestAuctionId; log.info("与上次记录的差值:" + subAuction); @@ -173,7 +174,7 @@ public long singleTask(WebUser webUser) { log.info("这是第一次获取,没有上一次获取的时候"); } - commonCache.setCache(ITEM_TASK_LAST_AUCTION_TIME, now); + cacher.set(ITEM_TASK_LAST_AUCTION_TIME, now); return nextDelayTime; } diff --git a/src/main/java/com/xjx/ddtcrawler/test/Test.java b/src/main/java/cn/xiejx/ddtcrawler/test/Test.java similarity index 67% rename from src/main/java/com/xjx/ddtcrawler/test/Test.java rename to src/main/java/cn/xiejx/ddtcrawler/test/Test.java index 42e8dd5..4a56ff4 100644 --- a/src/main/java/com/xjx/ddtcrawler/test/Test.java +++ b/src/main/java/cn/xiejx/ddtcrawler/test/Test.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.test; +package cn.xiejx.ddtcrawler.test; /** * @author XJX diff --git a/src/main/java/com/xjx/ddtcrawler/utils/EncryptedUtils.java b/src/main/java/cn/xiejx/ddtcrawler/utils/EncryptedUtils.java similarity index 98% rename from src/main/java/com/xjx/ddtcrawler/utils/EncryptedUtils.java rename to src/main/java/cn/xiejx/ddtcrawler/utils/EncryptedUtils.java index 10b5226..9f43568 100644 --- a/src/main/java/com/xjx/ddtcrawler/utils/EncryptedUtils.java +++ b/src/main/java/cn/xiejx/ddtcrawler/utils/EncryptedUtils.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.utils; +package cn.xiejx.ddtcrawler.utils; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/com/xjx/ddtcrawler/utils/ThreadPoolUtil.java b/src/main/java/cn/xiejx/ddtcrawler/utils/ThreadPoolUtil.java similarity index 95% rename from src/main/java/com/xjx/ddtcrawler/utils/ThreadPoolUtil.java rename to src/main/java/cn/xiejx/ddtcrawler/utils/ThreadPoolUtil.java index 8fb4091..bff0b4b 100644 --- a/src/main/java/com/xjx/ddtcrawler/utils/ThreadPoolUtil.java +++ b/src/main/java/cn/xiejx/ddtcrawler/utils/ThreadPoolUtil.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.utils; +package cn.xiejx.ddtcrawler.utils; import org.springframework.scheduling.concurrent.DefaultManagedAwareThreadFactory; diff --git a/src/main/java/com/xjx/ddtcrawler/utils/TimeUtil.java b/src/main/java/cn/xiejx/ddtcrawler/utils/TimeUtil.java similarity index 97% rename from src/main/java/com/xjx/ddtcrawler/utils/TimeUtil.java rename to src/main/java/cn/xiejx/ddtcrawler/utils/TimeUtil.java index a625101..0eafcfb 100644 --- a/src/main/java/com/xjx/ddtcrawler/utils/TimeUtil.java +++ b/src/main/java/cn/xiejx/ddtcrawler/utils/TimeUtil.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.utils; +package cn.xiejx.ddtcrawler.utils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.FastDateFormat; diff --git a/src/main/java/com/xjx/ddtcrawler/vo/MyMessage.java b/src/main/java/cn/xiejx/ddtcrawler/vo/MyMessage.java similarity index 92% rename from src/main/java/com/xjx/ddtcrawler/vo/MyMessage.java rename to src/main/java/cn/xiejx/ddtcrawler/vo/MyMessage.java index 9c050c2..1e25acf 100644 --- a/src/main/java/com/xjx/ddtcrawler/vo/MyMessage.java +++ b/src/main/java/cn/xiejx/ddtcrawler/vo/MyMessage.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.vo; +package cn.xiejx.ddtcrawler.vo; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/xjx/ddtcrawler/vo/ResultCode.java b/src/main/java/cn/xiejx/ddtcrawler/vo/ResultCode.java similarity index 96% rename from src/main/java/com/xjx/ddtcrawler/vo/ResultCode.java rename to src/main/java/cn/xiejx/ddtcrawler/vo/ResultCode.java index ff7050a..09aa9cd 100644 --- a/src/main/java/com/xjx/ddtcrawler/vo/ResultCode.java +++ b/src/main/java/cn/xiejx/ddtcrawler/vo/ResultCode.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler.vo; +package cn.xiejx.ddtcrawler.vo; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/xjx/ddtcrawler/vo/ResultCodeConstant.java b/src/main/java/cn/xiejx/ddtcrawler/vo/ResultCodeConstant.java similarity index 78% rename from src/main/java/com/xjx/ddtcrawler/vo/ResultCodeConstant.java rename to src/main/java/cn/xiejx/ddtcrawler/vo/ResultCodeConstant.java index 1e2cee6..dd4086b 100644 --- a/src/main/java/com/xjx/ddtcrawler/vo/ResultCodeConstant.java +++ b/src/main/java/cn/xiejx/ddtcrawler/vo/ResultCodeConstant.java @@ -1,4 +1,6 @@ -package com.xjx.ddtcrawler.vo; +package cn.xiejx.ddtcrawler.vo; + +import cn.xiejx.ddtcrawler.exception.MyException; /** * @author XJX @@ -11,7 +13,7 @@ public enum CodeEnum { */ SUCCESS(0), /** - * 抛出 {@link com.xjx.ddtcrawler.exception.MyException} 时候的返回值 + * 抛出 {@link MyException} 时候的返回值 */ COMMON_ERROR(-1), /** diff --git a/src/main/java/com/xjx/ddtcrawler/cache/CacheDomain.java b/src/main/java/com/xjx/ddtcrawler/cache/CacheDomain.java deleted file mode 100644 index 1d20f00..0000000 --- a/src/main/java/com/xjx/ddtcrawler/cache/CacheDomain.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.xjx.ddtcrawler.cache; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serial; -import java.io.Serializable; - -/** - * @author XJX - * @date 2021/8/7 17:36 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CacheDomain implements Serializable { - @Serial - private static final long serialVersionUID = -1617868566077296126L; - - private Object object; - private Long expireAt; - - public boolean isExpired() { - if (expireAt == null) { - return false; - } - return expireAt < System.currentTimeMillis(); - } -} diff --git a/src/main/java/com/xjx/ddtcrawler/cache/CacheInterface.java b/src/main/java/com/xjx/ddtcrawler/cache/CacheInterface.java deleted file mode 100644 index f0fe819..0000000 --- a/src/main/java/com/xjx/ddtcrawler/cache/CacheInterface.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.xjx.ddtcrawler.cache; - -/** - * @author XJX - * @date 2021/8/21 17:37 - */ -public interface CacheInterface { - /** - * 清理过期的 - */ - void clearExpired(); -} diff --git a/src/main/java/com/xjx/ddtcrawler/cache/CommonCache.java b/src/main/java/com/xjx/ddtcrawler/cache/CommonCache.java deleted file mode 100644 index 0dbeca7..0000000 --- a/src/main/java/com/xjx/ddtcrawler/cache/CommonCache.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.xjx.ddtcrawler.cache; - -import org.apache.commons.collections4.MapUtils; -import org.springframework.stereotype.Component; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * @author XJX - * @date 2021/8/7 17:33 - */ -@Component -public class CommonCache implements CacheInterface { - private final Map CACHE_MAP = new ConcurrentHashMap<>(); - - public void setCache(String key, Object value, Long expireTime) { - if (value == null) { - return; - } - Long expireAt = null; - if (expireTime != null) { - expireAt = System.currentTimeMillis() + expireTime; - } - CacheDomain cacheDomain = new CacheDomain(value, expireAt); - CACHE_MAP.put(key, cacheDomain); - } - - public void setCache(String ket, Object value) { - setCache(ket, value, null); - } - - public void delCache(String key) { - CACHE_MAP.remove(key); - } - - @SuppressWarnings({"unchecked"}) - public T getCache(String key) { - CacheDomain cacheDomain = CACHE_MAP.get(key); - if (cacheDomain == null) { - return null; - } - - Long expireAt = cacheDomain.getExpireAt(); - if (expireAt != null && expireAt < System.currentTimeMillis()) { - CACHE_MAP.remove(key); - return null; - } - Object cache = cacheDomain.getObject(); - try { - return (T) cache; - } catch (Exception e) { - return null; - } - } - - @Override - public void clearExpired() { - if (MapUtils.isEmpty(CACHE_MAP)) { - return; - } - - CACHE_MAP.values().removeIf(CacheDomain::isExpired); - } -} diff --git a/src/main/java/com/xjx/ddtcrawler/cache/WebUserCache.java b/src/main/java/com/xjx/ddtcrawler/cache/WebUserCache.java deleted file mode 100644 index 431bfc5..0000000 --- a/src/main/java/com/xjx/ddtcrawler/cache/WebUserCache.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.xjx.ddtcrawler.cache; - -import com.xjx.ddtcrawler.cookie.WebUser; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * @author XJX - * @date 2021/8/1 22:56 - */ -@Component -public class WebUserCache implements CacheInterface { - private final static Map MAP = new ConcurrentHashMap<>(); - - public WebUser getById(String id) { - if (id == null) { - return null; - } - WebUser webUser = MAP.get(id); - if (webUser == null) { - return null; - } - - Long expireTimeAt = webUser.getExpireAt(); - if (expireTimeAt != null) { - if (System.currentTimeMillis() > expireTimeAt) { - MAP.remove(id); - return null; - } - } - return webUser; - } - - /** - * 入参 userId、key、expireTime, - * - * @param webUser webUser - */ - public String saveUser(WebUser webUser) { - if (webUser == null) { - return null; - } - - Long userId = webUser.getUserId(); - String key = webUser.getKey(); - Long expireTimeAt = webUser.getExpireAt(); - if (userId == null || StringUtils.isBlank(key)) { - return null; - } - - // id 可能会有 - String id = webUser.getId(); - if (StringUtils.isBlank(id)) { - // 如果没有的话,表示第一次使用 - long loginTime = System.currentTimeMillis(); - webUser.setLoginTime(loginTime); - id = webUser.getId(); - } - - // 如果设置了过期时间 - if (expireTimeAt != null) { - if (expireTimeAt < System.currentTimeMillis()) { - if (id != null) { - MAP.remove(id); - } - return null; - } - } - - MAP.put(id, webUser); - return id; - } - - public void delete(String id) { - if (StringUtils.isBlank(id)) { - return; - } - - MAP.remove(id); - } - - @Override - public void clearExpired() { - if (MapUtils.isEmpty(MAP)) { - return; - } - - MAP.values().removeIf(CacheDomain::isExpired); - } -} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 800186c..3545af1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -11,15 +11,13 @@ spring: connection-test-query: SELECT 1 connection-timeout: 10000 minimum-idle: 2 - jpa: - show-sql: true -#showSql logging: level: - com: - xjx: - mapper: debug + cn: + xiejx: + ddtcrawler: + mapper: debug # 自定义配置 mysql: diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..25edde0 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/logging.xml b/src/main/resources/logging.xml deleted file mode 100644 index 07c58f7..0000000 --- a/src/main/resources/logging.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - %xwEx - %5p - yyyy-MM-dd HH:mm:ss.SSS - %clr{%d{${sys:LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${sys:LOG_LEVEL_PATTERN}} %clr{%pid}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD} - %d{${sys:LOG_DATEFORMAT_PATTERN}} ${sys:LOG_LEVEL_PATTERN} %pid --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD} - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/java/com/xjx/ddtcrawler/DdtCrawlerApplicationTests.java b/src/test/java/cn/xiejx/ddtcrawler/DdtCrawlerApplicationTests.java similarity index 87% rename from src/test/java/com/xjx/ddtcrawler/DdtCrawlerApplicationTests.java rename to src/test/java/cn/xiejx/ddtcrawler/DdtCrawlerApplicationTests.java index 7a27da9..6d4801a 100644 --- a/src/test/java/com/xjx/ddtcrawler/DdtCrawlerApplicationTests.java +++ b/src/test/java/cn/xiejx/ddtcrawler/DdtCrawlerApplicationTests.java @@ -1,4 +1,4 @@ -package com.xjx.ddtcrawler; +package cn.xiejx.ddtcrawler; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest;