From 023a62e13be0077f5fd236d2f2b8cc7c5745914d Mon Sep 17 00:00:00 2001 From: Ziin Date: Mon, 16 Jun 2025 14:30:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9redis=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=8F=82=E6=95=B0=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E7=88=AC=E5=8F=96=E6=AC=A1=E6=95=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yupi/springbootinit/MainApplication.java | 2 +- .../springbootinit/config/RedisConfig.java | 37 +++++++++++++++++++ .../controller/CommonController.java | 16 ++++++-- .../model/vo/common/AccountCrawlCount.java | 16 ++++++++ .../springbootinit/service/CommonService.java | 11 ++++++ .../service/impl/CommonServiceImpl.java | 36 ++++++++++++++++++ src/main/resources/application-dev.yml | 9 +---- 7 files changed, 114 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/yupi/springbootinit/config/RedisConfig.java create mode 100644 src/main/java/com/yupi/springbootinit/model/vo/common/AccountCrawlCount.java create mode 100644 src/main/java/com/yupi/springbootinit/service/CommonService.java create mode 100644 src/main/java/com/yupi/springbootinit/service/impl/CommonServiceImpl.java diff --git a/src/main/java/com/yupi/springbootinit/MainApplication.java b/src/main/java/com/yupi/springbootinit/MainApplication.java index af1d74d..984ca3e 100644 --- a/src/main/java/com/yupi/springbootinit/MainApplication.java +++ b/src/main/java/com/yupi/springbootinit/MainApplication.java @@ -15,7 +15,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; * @from 编程导航知识星球 */ // todo 如需开启 Redis,须移除 exclude 中的内容 -@SpringBootApplication(exclude = {RedisAutoConfiguration.class}) +@SpringBootApplication() @MapperScan("com.yupi.springbootinit.mapper") @EnableScheduling @EnableTransactionManagement diff --git a/src/main/java/com/yupi/springbootinit/config/RedisConfig.java b/src/main/java/com/yupi/springbootinit/config/RedisConfig.java new file mode 100644 index 0000000..287c1d5 --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/config/RedisConfig.java @@ -0,0 +1,37 @@ +package com.yupi.springbootinit.config; + + + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +@Configuration +public class RedisConfig { + + + @Bean(name="redisTemplate") + public RedisTemplate redisTemplate(RedisConnectionFactory factory) { + RedisTemplate template = new RedisTemplate<>(); + RedisSerializer redisSerializer = new StringRedisSerializer(); + template.setConnectionFactory(factory); + //key序列化方式 + template.setKeySerializer(redisSerializer); + //value序列化 + template.setValueSerializer(redisSerializer); + //value hashmap序列化 + template.setHashValueSerializer(redisSerializer); + //key haspmap序列化 + template.setHashKeySerializer(redisSerializer); + // + return template; + } + + + + + +} diff --git a/src/main/java/com/yupi/springbootinit/controller/CommonController.java b/src/main/java/com/yupi/springbootinit/controller/CommonController.java index 11486e2..30d893b 100644 --- a/src/main/java/com/yupi/springbootinit/controller/CommonController.java +++ b/src/main/java/com/yupi/springbootinit/controller/CommonController.java @@ -2,13 +2,12 @@ package com.yupi.springbootinit.controller; import com.yupi.springbootinit.common.BaseResponse; import com.yupi.springbootinit.common.ResultUtils; +import com.yupi.springbootinit.model.vo.common.AccountCrawlCount; import com.yupi.springbootinit.model.vo.country.CountryInfoVO; +import com.yupi.springbootinit.service.CommonService; import com.yupi.springbootinit.service.CountryInfoService; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; @@ -26,9 +25,18 @@ public class CommonController { @Resource private CountryInfoService countryInfoService; + @Resource + private CommonService commonService; + @PostMapping("country_info") public BaseResponse> countryInfo() { return ResultUtils.success(countryInfoService.getCountryList()); } + + @GetMapping("accountCount") + public BaseResponse getAccountCount(@RequestParam String accountName){ + return ResultUtils.success(commonService.getAccountCrawlCount(accountName)); + } + } diff --git a/src/main/java/com/yupi/springbootinit/model/vo/common/AccountCrawlCount.java b/src/main/java/com/yupi/springbootinit/model/vo/common/AccountCrawlCount.java new file mode 100644 index 0000000..872f773 --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/model/vo/common/AccountCrawlCount.java @@ -0,0 +1,16 @@ +package com.yupi.springbootinit.model.vo.common; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/* + * @author: ziin + * @date: 2025/6/16 14:10 + */ +@ApiModel(description = "账号爬取统计") +@Data +public class AccountCrawlCount { + private String accountName; + + private Integer count; +} diff --git a/src/main/java/com/yupi/springbootinit/service/CommonService.java b/src/main/java/com/yupi/springbootinit/service/CommonService.java new file mode 100644 index 0000000..c14f144 --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/service/CommonService.java @@ -0,0 +1,11 @@ +package com.yupi.springbootinit.service; + +import com.yupi.springbootinit.model.vo.common.AccountCrawlCount; + +/* + * @author: ziin + * @date: 2025/6/16 14:07 + */ +public interface CommonService { + AccountCrawlCount getAccountCrawlCount(String accountName); +} diff --git a/src/main/java/com/yupi/springbootinit/service/impl/CommonServiceImpl.java b/src/main/java/com/yupi/springbootinit/service/impl/CommonServiceImpl.java new file mode 100644 index 0000000..cf078db --- /dev/null +++ b/src/main/java/com/yupi/springbootinit/service/impl/CommonServiceImpl.java @@ -0,0 +1,36 @@ +package com.yupi.springbootinit.service.impl; + +import com.yupi.springbootinit.common.ErrorCode; +import com.yupi.springbootinit.exception.BusinessException; +import com.yupi.springbootinit.model.vo.common.AccountCrawlCount; +import com.yupi.springbootinit.service.CommonService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/* + * @author: ziin + * @date: 2025/6/16 14:08 + */ +@Service +public class CommonServiceImpl implements CommonService { + + @Resource + private RedisTemplate redisTemplate; + + @Override + public AccountCrawlCount getAccountCrawlCount(String accountName) { + AccountCrawlCount accountCrawlCount = new AccountCrawlCount(); + accountCrawlCount.setAccountName(accountName); + Object o = redisTemplate.opsForValue().get("tkaccount:" + accountName); + if (o != null) { + accountCrawlCount.setCount(Integer.valueOf(o.toString())); + return accountCrawlCount; + }else{ + throw new BusinessException(ErrorCode.NOT_FOUND_ERROR); + } + + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index fd5da89..8c84a84 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -14,17 +14,10 @@ spring: # Redis 配置 # todo 需替换配置 redis: - database: 1 + database: 0 host: localhost port: 6379 timeout: 5000 - password: 123456 - # Elasticsearch 配置 - # todo 需替换配置 - elasticsearch: - uris: http://localhost:9200 - username: root - password: 123456 rabbitmq: host: localhost port: 5672