perf: 优化数据库列常量

This commit is contained in:
xiongxiaoyang 2022-05-19 06:41:02 +08:00
parent 9fc5aabf36
commit 89c163b3af
11 changed files with 64 additions and 106 deletions

View File

@ -9,7 +9,7 @@ package io.github.xxyopen.novel.core.constant;
public class ApiRouterConsts {
private ApiRouterConsts() {
throw new IllegalStateException("Constant class");
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
/**

View File

@ -16,18 +16,11 @@ public class DatabaseConsts {
*/
public static class UserInfoTable {
@Getter
public enum ColumnEnum {
USERNAME("username");
private String name;
ColumnEnum(String name) {
this.name = name;
private UserInfoTable() {
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
}
public static final String COLUMN_USERNAME = "username";
}
@ -36,18 +29,11 @@ public class DatabaseConsts {
*/
public static class AuthorInfoTable {
@Getter
public enum ColumnEnum {
USER_ID("user_id");
private String name;
ColumnEnum(String name) {
this.name = name;
private AuthorInfoTable() {
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
}
public static final String COLUMN_USER_ID = "user_id";
}
@ -56,18 +42,11 @@ public class DatabaseConsts {
*/
public static class BookCategoryTable {
@Getter
public enum ColumnEnum {
WORK_DIRECTION("work_direction");
private String name;
ColumnEnum(String name) {
this.name = name;
private BookCategoryTable() {
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
}
public static final String COLUMN_WORK_DIRECTION = "work_direction";
}
@ -76,20 +55,15 @@ public class DatabaseConsts {
*/
public static class BookTable {
@Getter
public enum ColumnEnum {
CATEGORY_ID("category_id"),
VISIT_COUNT("visit_count"),
LAST_CHAPTER_UPDATE_TIME("last_chapter_update_time");
private String name;
ColumnEnum(String name) {
this.name = name;
private BookTable() {
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
}
public static final String COLUMN_CATEGORY_ID = "category_id";
public static final String COLUMN_VISIT_COUNT = "visit_count";
public static final String COLUMN_LAST_CHAPTER_UPDATE_TIME = "last_chapter_update_time";
}
@ -98,20 +72,15 @@ public class DatabaseConsts {
*/
public static class BookChapterTable {
@Getter
public enum ColumnEnum {
BOOK_ID("book_id"),
CHAPTER_NUM("chapter_num"),
LAST_CHAPTER_UPDATE_TIME("last_chapter_update_time");
private String name;
ColumnEnum(String name) {
this.name = name;
private BookChapterTable() {
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
}
public static final String COLUMN_BOOK_ID = "book_id";
public static final String COLUMN_CHAPTER_NUM = "chapter_num";
public static final String COLUMN_LAST_CHAPTER_UPDATE_TIME = "last_chapter_update_time";
}
@ -120,18 +89,11 @@ public class DatabaseConsts {
*/
public static class BookContentTable {
@Getter
public enum ColumnEnum {
CHAPTER_ID("chapter_id");
private String name;
ColumnEnum(String name) {
this.name = name;
private BookContentTable() {
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
}
public static final String COLUMN_CHAPTER_ID = "chapter_id";
}
@ -140,18 +102,11 @@ public class DatabaseConsts {
*/
public static class NewsContentTable {
@Getter
public enum ColumnEnum {
NEWS_ID("news_id");
private String name;
ColumnEnum(String name) {
this.name = name;
private NewsContentTable() {
throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
}
}
public static final String COLUMN_NEWS_ID = "news_id";
}

View File

@ -9,7 +9,7 @@ package io.github.xxyopen.novel.core.constant;
public class SystemConfigConsts {
private SystemConfigConsts() {
throw new IllegalStateException("Constant class");
throw new IllegalStateException(CONST_INSTANCE_EXCEPTION_MSG);
}
/**
@ -32,4 +32,9 @@ public class SystemConfigConsts {
* */
public static final String NOVEL_ADMIN_KEY = "admin";
/**
* 常量类实例化异常信息
* */
public static final String CONST_INSTANCE_EXCEPTION_MSG = "Constant class";
}

View File

@ -32,7 +32,7 @@ public class AuthorInfoCacheManager {
public AuthorInfoDto getAuthor(Long userId) {
QueryWrapper<AuthorInfo> queryWrapper = new QueryWrapper<>();
queryWrapper
.eq(DatabaseConsts.AuthorInfoTable.ColumnEnum.USER_ID.getName(), userId)
.eq(DatabaseConsts.AuthorInfoTable.COLUMN_USER_ID, userId)
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
AuthorInfo authorInfo = authorInfoMapper.selectOne(queryWrapper);
if (Objects.isNull(authorInfo)) {

View File

@ -31,7 +31,7 @@ public class BookCategoryCacheManager {
, value = CacheConsts.BOOK_CATEGORY_LIST_CACHE_NAME)
public List<BookCategoryRespDto> listCategory(Integer workDirection) {
QueryWrapper<BookCategory> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.BookCategoryTable.ColumnEnum.WORK_DIRECTION.getName(), workDirection);
queryWrapper.eq(DatabaseConsts.BookCategoryTable.COLUMN_WORK_DIRECTION, workDirection);
return bookCategoryMapper.selectList(queryWrapper).stream().map(v ->
BookCategoryRespDto.builder()
.id(v.getId())

View File

@ -28,7 +28,8 @@ public class BookContentCacheManager {
, value = CacheConsts.BOOK_CONTENT_CACHE_NAME)
public String getBookContent(Long chapterId) {
QueryWrapper<BookContent> contentQueryWrapper = new QueryWrapper<>();
contentQueryWrapper.eq(DatabaseConsts.BookContentTable.ColumnEnum.CHAPTER_ID.getName(), chapterId).last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
contentQueryWrapper.eq(DatabaseConsts.BookContentTable.COLUMN_CHAPTER_ID, chapterId)
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
BookContent bookContent = bookContentMapper.selectOne(contentQueryWrapper);
return bookContent.getContent();
}

View File

@ -39,8 +39,8 @@ public class BookInfoCacheManager {
// 查询首章ID
QueryWrapper<BookChapter> queryWrapper = new QueryWrapper<>();
queryWrapper
.eq(DatabaseConsts.BookChapterTable.ColumnEnum.BOOK_ID.getName(), id)
.orderByAsc(DatabaseConsts.BookChapterTable.ColumnEnum.CHAPTER_NUM.getName())
.eq(DatabaseConsts.BookChapterTable.COLUMN_BOOK_ID, id)
.orderByAsc(DatabaseConsts.BookChapterTable.COLUMN_CHAPTER_NUM)
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
BookChapter firstBookChapter = bookChapterMapper.selectOne(queryWrapper);
// 组装响应对象
@ -69,8 +69,8 @@ public class BookInfoCacheManager {
, value = CacheConsts.LAST_UPDATE_BOOK_ID_LIST_CACHE_NAME)
public List<Long> getLastUpdateIdList(Long categoryId) {
QueryWrapper<BookInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.BookTable.ColumnEnum.CATEGORY_ID.getName(), categoryId)
.orderByDesc(DatabaseConsts.BookTable.ColumnEnum.LAST_CHAPTER_UPDATE_TIME.getName())
queryWrapper.eq(DatabaseConsts.BookTable.COLUMN_CATEGORY_ID, categoryId)
.orderByDesc(DatabaseConsts.BookTable.COLUMN_LAST_CHAPTER_UPDATE_TIME)
.last(DatabaseConsts.SqlEnum.LIMIT_500.getSql());
return bookInfoMapper.selectList(queryWrapper).stream().map(BookInfo::getId).toList();
}

View File

@ -31,8 +31,7 @@ public class BookRankCacheManager {
, value = CacheConsts.BOOK_VISIT_RANK_CACHE_NAME)
public List<BookRankRespDto> listVisitRankBooks() {
QueryWrapper<BookInfo> bookInfoQueryWrapper = new QueryWrapper<>();
bookInfoQueryWrapper
.orderByDesc(DatabaseConsts.BookTable.ColumnEnum.VISIT_COUNT.getName());
bookInfoQueryWrapper.orderByDesc(DatabaseConsts.BookTable.COLUMN_VISIT_COUNT);
return getBookRankRespDtos(bookInfoQueryWrapper);
}

View File

@ -103,7 +103,7 @@ public class BookServiceImpl implements BookService {
// 查询章节总数
QueryWrapper<BookChapter> chapterQueryWrapper = new QueryWrapper<>();
chapterQueryWrapper.eq(DatabaseConsts.BookChapterTable.ColumnEnum.BOOK_ID.getName(), bookId);
chapterQueryWrapper.eq(DatabaseConsts.BookChapterTable.COLUMN_BOOK_ID, bookId);
Long chapterTotal = bookChapterMapper.selectCount(chapterQueryWrapper);
// 组装数据并返回
@ -150,9 +150,9 @@ public class BookServiceImpl implements BookService {
// 查询上一章信息并返回章节ID
QueryWrapper<BookChapter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.BookChapterTable.ColumnEnum.BOOK_ID.getName(), bookId)
.lt(DatabaseConsts.BookChapterTable.ColumnEnum.CHAPTER_NUM.getName(), chapterNum)
.orderByDesc(DatabaseConsts.BookChapterTable.ColumnEnum.CHAPTER_NUM.getName())
queryWrapper.eq(DatabaseConsts.BookChapterTable.COLUMN_BOOK_ID, bookId)
.lt(DatabaseConsts.BookChapterTable.COLUMN_CHAPTER_NUM, chapterNum)
.orderByDesc(DatabaseConsts.BookChapterTable.COLUMN_CHAPTER_NUM)
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
return RestResp.ok(
Optional.ofNullable(bookChapterMapper.selectOne(queryWrapper))
@ -170,9 +170,9 @@ public class BookServiceImpl implements BookService {
// 查询下一章信息并返回章节ID
QueryWrapper<BookChapter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.BookChapterTable.ColumnEnum.BOOK_ID.getName(), bookId)
.gt(DatabaseConsts.BookChapterTable.ColumnEnum.CHAPTER_NUM.getName(), chapterNum)
.orderByAsc(DatabaseConsts.BookChapterTable.ColumnEnum.CHAPTER_NUM.getName())
queryWrapper.eq(DatabaseConsts.BookChapterTable.COLUMN_BOOK_ID, bookId)
.gt(DatabaseConsts.BookChapterTable.COLUMN_CHAPTER_NUM, chapterNum)
.orderByAsc(DatabaseConsts.BookChapterTable.COLUMN_CHAPTER_NUM)
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
return RestResp.ok(
Optional.ofNullable(bookChapterMapper.selectOne(queryWrapper))
@ -184,8 +184,8 @@ public class BookServiceImpl implements BookService {
@Override
public RestResp<List<BookChapterRespDto>> listChapters(Long bookId) {
QueryWrapper<BookChapter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.BookChapterTable.ColumnEnum.BOOK_ID.getName(), bookId)
.orderByAsc(DatabaseConsts.BookChapterTable.ColumnEnum.CHAPTER_NUM.getName());
queryWrapper.eq(DatabaseConsts.BookChapterTable.COLUMN_BOOK_ID, bookId)
.orderByAsc(DatabaseConsts.BookChapterTable.COLUMN_CHAPTER_NUM);
return RestResp.ok(bookChapterMapper.selectList(queryWrapper).stream().map(v -> BookChapterRespDto.builder()
.id(v.getId())
.chapterName(v.getChapterName())

View File

@ -40,7 +40,7 @@ public class NewsServiceImpl implements NewsService {
public RestResp<NewsInfoRespDto> getNews(Long id) {
NewsInfo newsInfo = newsInfoMapper.selectById(id);
QueryWrapper<NewsContent> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.NewsContentTable.ColumnEnum.NEWS_ID.getName(), id)
queryWrapper.eq(DatabaseConsts.NewsContentTable.COLUMN_NEWS_ID, id)
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
NewsContent newsContent = newsContentMapper.selectOne(queryWrapper);
return RestResp.ok(NewsInfoRespDto.builder()

View File

@ -53,8 +53,7 @@ public class UserServiceImpl implements UserService {
// 校验手机号是否已注册
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.UserInfoTable.ColumnEnum.USERNAME.getName()
, dto.getUsername())
queryWrapper.eq(DatabaseConsts.UserInfoTable.COLUMN_USERNAME, dto.getUsername())
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
if (userInfoMapper.selectCount(queryWrapper) > 0) {
// 手机号已注册
@ -82,8 +81,7 @@ public class UserServiceImpl implements UserService {
public RestResp<UserLoginRespDto> login(UserLoginReqDto dto) {
// 查询用户信息
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(DatabaseConsts.UserInfoTable.ColumnEnum.USERNAME.getName()
, dto.getUsername())
queryWrapper.eq(DatabaseConsts.UserInfoTable.COLUMN_USERNAME, dto.getUsername())
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
UserInfo userInfo = userInfoMapper.selectOne(queryWrapper);
if (Objects.isNull(userInfo)) {