feat(本地缓存): 加入本地缓存功能

1.项目第一次启动 查数据库 加入redis 加入本地缓存
2.第二次启动 查询redis 加入本地缓存
This commit is contained in:
ovo 2024-12-23 17:07:44 +08:00
parent f51134ea29
commit 89f8550dff
60 changed files with 77 additions and 86 deletions

View File

@ -2,7 +2,7 @@ package com.guwan.backend.aspect;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.guwan.backend.annotation.OperationLog;
import com.guwan.backend.entity.SysLog;
import com.guwan.backend.pojo.entity.SysLog;
import com.guwan.backend.mapper.SysLogMapper;
import com.guwan.backend.security.CustomUserDetails;
import jakarta.servlet.http.HttpServletRequest;

View File

@ -1,7 +1,7 @@
package com.guwan.backend.controller;
import com.guwan.backend.common.Result;
import com.guwan.backend.entity.BookCategory;
import com.guwan.backend.pojo.entity.BookCategory;
import com.guwan.backend.service.BookCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;

View File

@ -2,7 +2,7 @@ package com.guwan.backend.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.guwan.backend.common.Result;
import com.guwan.backend.entity.Book;
import com.guwan.backend.pojo.entity.Book;
import com.guwan.backend.service.BookService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@ -1,16 +1,14 @@
package com.guwan.backend.controller;
import com.guwan.backend.annotation.OperationLog;
import com.guwan.backend.common.BusinessException;
import com.guwan.backend.common.Result;
import com.guwan.backend.entity.BookContent;
import com.guwan.backend.pojo.entity.BookContent;
import com.guwan.backend.mongodb.EveryReadDetailOfMongodb;
import com.guwan.backend.mongodb.EveryReadDetailOfMongodbService;
import com.guwan.backend.mongodb.User;
import com.guwan.backend.mongodb.MongodbUserService;
import com.guwan.backend.service.BookContentService;
import com.guwan.backend.util.MinioUtil;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
@ -20,7 +18,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.ws.rs.POST;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;

View File

@ -2,7 +2,7 @@ package com.guwan.backend.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.guwan.backend.common.Result;
import com.guwan.backend.entity.ReadingNote;
import com.guwan.backend.pojo.entity.ReadingNote;
import com.guwan.backend.service.ReadingNoteService;
import com.guwan.backend.util.SecurityUtil;
import io.swagger.v3.oas.annotations.Operation;

View File

@ -2,8 +2,8 @@ package com.guwan.backend.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.guwan.backend.common.Result;
import com.guwan.backend.dto.ReadingStatistics;
import com.guwan.backend.entity.ReadingProgress;
import com.guwan.backend.pojo.dto.ReadingStatistics;
import com.guwan.backend.pojo.entity.ReadingProgress;
import com.guwan.backend.service.ReadingProgressService;
import com.guwan.backend.util.SecurityUtil;
import io.swagger.v3.oas.annotations.Operation;

View File

@ -3,13 +3,12 @@ package com.guwan.backend.controller;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import com.guwan.backend.common.Result;
import com.guwan.backend.dto.user.*;
import com.guwan.backend.pojo.dto.user.*;
import com.guwan.backend.service.EmailService;
import com.guwan.backend.service.UserService;
import com.guwan.backend.util.RedisUtils;
import com.guwan.backend.util.SmsUtils;
import jakarta.validation.Valid;
import jakarta.validation.constraints.Email;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;

View File

@ -1,6 +1,6 @@
package com.guwan.backend.mapper;
import com.guwan.backend.entity.BookCategory;
import com.guwan.backend.pojo.entity.BookCategory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.BookContent;
import com.guwan.backend.pojo.entity.BookContent;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.Book;
import com.guwan.backend.pojo.entity.Book;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.ReadingNote;
import com.guwan.backend.pojo.entity.ReadingNote;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.ReadingProgress;
import com.guwan.backend.pojo.entity.ReadingProgress;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.SysLog;
import com.guwan.backend.pojo.entity.SysLog;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.User;
import com.guwan.backend.pojo.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.VideoLike;
import com.guwan.backend.pojo.entity.VideoLike;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,7 +1,7 @@
package com.guwan.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guwan.backend.entity.Video;
import com.guwan.backend.pojo.entity.Video;
import org.apache.ibatis.annotations.Mapper;
@Mapper

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto;
package com.guwan.backend.pojo.dto;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.product;
package com.guwan.backend.pojo.dto.product;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.user;
package com.guwan.backend.pojo.dto.user;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.user;
package com.guwan.backend.pojo.dto.user;
import jakarta.validation.constraints.Email;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.user;
package com.guwan.backend.pojo.dto.user;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.user;
package com.guwan.backend.pojo.dto.user;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.user;
package com.guwan.backend.pojo.dto.user;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.user;
package com.guwan.backend.pojo.dto.user;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.dto.video;
package com.guwan.backend.pojo.dto.video;
import lombok.Data;
import java.time.LocalDateTime;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;

View File

@ -1,7 +1,7 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.guwan.backend.enums.Evaluate;
import com.guwan.backend.enums.ReadStatus;
import com.guwan.backend.pojo.enums.Evaluate;
import com.guwan.backend.pojo.enums.ReadStatus;
import lombok.Data;
@Data

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.entity;
package com.guwan.backend.pojo.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.guwan.backend.enums;
package com.guwan.backend.pojo.enums;
public enum Evaluate {
yes("好看", 1), normal("一般", 2), no("不行", 3);

View File

@ -1,4 +1,4 @@
package com.guwan.backend.enums;
package com.guwan.backend.pojo.enums;
public enum ReadStatus {
yes("在读", 1), normal("未读", 2), no("想读", 3);

View File

@ -1,4 +1,4 @@
package com.guwan.backend.enums;
package com.guwan.backend.pojo.enums;
public enum UserEnums {
ACCOUNT("account"),

View File

@ -1,7 +1,7 @@
package com.guwan.backend.security;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.guwan.backend.entity.User;
import com.guwan.backend.pojo.entity.User;
import com.guwan.backend.mapper.UserMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.authority.SimpleGrantedAuthority;

View File

@ -1,6 +1,6 @@
package com.guwan.backend.service;
import com.guwan.backend.entity.BookCategory;
import com.guwan.backend.pojo.entity.BookCategory;
import com.baomidou.mybatisplus.extension.service.IService;
/**

View File

@ -1,7 +1,7 @@
package com.guwan.backend.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.guwan.backend.entity.BookContent;
import com.guwan.backend.pojo.entity.BookContent;
public interface BookContentService extends IService<BookContent> {

View File

@ -1,7 +1,7 @@
package com.guwan.backend.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.guwan.backend.entity.Book;
import com.guwan.backend.pojo.entity.Book;
public interface BookService {
// 添加书籍

View File

@ -1,7 +1,7 @@
package com.guwan.backend.service;
import cn.easyes.core.conditions.LambdaEsQueryWrapper;
import com.guwan.backend.dto.product.ProductDTO;
import com.guwan.backend.pojo.dto.product.ProductDTO;
import com.guwan.backend.elasticsearch.document.ProductDocument;
import com.guwan.backend.elasticsearch.mapper.ProductEsMapper;
import jakarta.annotation.PostConstruct;

View File

@ -1,7 +1,7 @@
package com.guwan.backend.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.guwan.backend.entity.ReadingNote;
import com.guwan.backend.pojo.entity.ReadingNote;
public interface ReadingNoteService {
// 添加笔记

View File

@ -1,8 +1,8 @@
package com.guwan.backend.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.guwan.backend.dto.ReadingStatistics;
import com.guwan.backend.entity.ReadingProgress;
import com.guwan.backend.pojo.dto.ReadingStatistics;
import com.guwan.backend.pojo.entity.ReadingProgress;
public interface ReadingProgressService {
// 创建或更新阅读进度

View File

@ -1,9 +1,9 @@
package com.guwan.backend.service;
import com.guwan.backend.dto.user.ChangePasswordDTO;
import com.guwan.backend.dto.user.LoginDto;
import com.guwan.backend.dto.user.RegisterDTO;
import com.guwan.backend.dto.user.UserDTO;
import com.guwan.backend.pojo.dto.user.ChangePasswordDTO;
import com.guwan.backend.pojo.dto.user.LoginDto;
import com.guwan.backend.pojo.dto.user.RegisterDTO;
import com.guwan.backend.pojo.dto.user.UserDTO;
public interface UserService {
/**

View File

@ -2,8 +2,8 @@ package com.guwan.backend.service;
import cn.easyes.core.conditions.LambdaEsQueryWrapper;
import cn.easyes.core.conditions.LambdaEsUpdateWrapper;
import com.guwan.backend.dto.video.VideoDTO;
import com.guwan.backend.entity.Video;
import com.guwan.backend.pojo.dto.video.VideoDTO;
import com.guwan.backend.pojo.entity.Video;
import com.guwan.backend.elasticsearch.document.VideoDocument;
import com.guwan.backend.elasticsearch.mapper.VideoEsMapper;
import lombok.RequiredArgsConstructor;

View File

@ -1,7 +1,7 @@
package com.guwan.backend.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.guwan.backend.dto.video.VideoDTO;
import com.guwan.backend.pojo.dto.video.VideoDTO;
import java.util.List;

View File

@ -1,7 +1,7 @@
package com.guwan.backend.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.guwan.backend.entity.BookCategory;
import com.guwan.backend.pojo.entity.BookCategory;
import com.guwan.backend.service.BookCategoryService;
import com.guwan.backend.mapper.BookCategoryMapper;
import org.springframework.stereotype.Service;

View File

@ -2,7 +2,7 @@ package com.guwan.backend.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.guwan.backend.entity.BookContent;
import com.guwan.backend.pojo.entity.BookContent;
import com.guwan.backend.mapper.BookContentMapper;
import com.guwan.backend.service.BookContentService;
import lombok.RequiredArgsConstructor;

View File

@ -6,10 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.guwan.backend.annotation.OperationLog;
import com.guwan.backend.common.BusinessException;
import com.guwan.backend.entity.Book;
import com.guwan.backend.entity.BookCategory;
import com.guwan.backend.entity.BookContent;
import com.guwan.backend.mapper.BookCategoryMapper;
import com.guwan.backend.pojo.entity.Book;
import com.guwan.backend.pojo.entity.BookContent;
import com.guwan.backend.mapper.BookMapper;
import com.guwan.backend.service.BookContentService;
import com.guwan.backend.service.BookService;

View File

@ -3,7 +3,7 @@ package com.guwan.backend.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.guwan.backend.entity.ReadingNote;
import com.guwan.backend.pojo.entity.ReadingNote;
import com.guwan.backend.mapper.ReadingNoteMapper;
import com.guwan.backend.service.ReadingNoteService;
import lombok.RequiredArgsConstructor;

View File

@ -3,8 +3,8 @@ package com.guwan.backend.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.guwan.backend.dto.ReadingStatistics;
import com.guwan.backend.entity.ReadingProgress;
import com.guwan.backend.pojo.dto.ReadingStatistics;
import com.guwan.backend.pojo.entity.ReadingProgress;
import com.guwan.backend.mapper.ReadingProgressMapper;
import com.guwan.backend.service.ReadingProgressService;
import lombok.RequiredArgsConstructor;

View File

@ -2,17 +2,15 @@ package com.guwan.backend.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.guwan.backend.annotation.OperationLog;
import com.guwan.backend.common.BusinessException;
import com.guwan.backend.dto.user.ChangePasswordDTO;
import com.guwan.backend.dto.user.LoginDto;
import com.guwan.backend.dto.user.RegisterDTO;
import com.guwan.backend.dto.user.UserDTO;
import com.guwan.backend.entity.User;
import com.guwan.backend.enums.UserEnums;
import com.guwan.backend.pojo.dto.user.ChangePasswordDTO;
import com.guwan.backend.pojo.dto.user.LoginDto;
import com.guwan.backend.pojo.dto.user.RegisterDTO;
import com.guwan.backend.pojo.dto.user.UserDTO;
import com.guwan.backend.pojo.entity.User;
import com.guwan.backend.pojo.enums.UserEnums;
import com.guwan.backend.mapper.BookMapper;
import com.guwan.backend.mapper.UserMapper;
import com.guwan.backend.mybatis.query.LambdaQueryWrapperX;
@ -32,7 +30,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service

View File

@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.guwan.backend.annotation.OperationLog;
import com.guwan.backend.dto.video.VideoDTO;
import com.guwan.backend.entity.Video;
import com.guwan.backend.entity.VideoLike;
import com.guwan.backend.pojo.dto.video.VideoDTO;
import com.guwan.backend.pojo.entity.Video;
import com.guwan.backend.pojo.entity.VideoLike;
import com.guwan.backend.mapper.VideoLikeMapper;
import com.guwan.backend.mapper.VideoMapper;
import com.guwan.backend.service.VideoService;

View File

@ -1,6 +1,6 @@
package com.guwan.backend.util;
import com.guwan.backend.entity.BookContent;
import com.guwan.backend.pojo.entity.BookContent;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

View File

@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.guwan.backend.mapper.BookCategoryMapper">
<resultMap id="BaseResultMap" type="com.guwan.backend.entity.BookCategory">
<resultMap id="BaseResultMap" type="com.guwan.backend.pojo.entity.BookCategory">
<id property="id" column="id" jdbcType="TINYINT"/>
<result property="categoryName" column="category_name" jdbcType="VARCHAR"/>
</resultMap>

View File

@ -3,7 +3,7 @@
<mapper namespace="com.guwan.backend.mapper.SysLogMapper">
<!-- 复杂条件查询 -->
<select id="selectByCondition" resultType="com.guwan.backend.entity.SysLog">
<select id="selectByCondition" resultType="com.guwan.backend.pojo.entity.SysLog">
SELECT * FROM sys_log
<where>
<if test="userId != null">

View File

@ -1,6 +1,6 @@
package com.guwan.backend.service;
import com.guwan.backend.entity.Book;
import com.guwan.backend.pojo.entity.Book;
import com.guwan.backend.mapper.BookMapper;
import com.guwan.backend.service.impl.BookServiceImpl;
import org.junit.jupiter.api.BeforeEach;