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 { public class ApiRouterConsts {
private ApiRouterConsts() { private ApiRouterConsts() {
throw new IllegalStateException("Constant class"); throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
} }
/** /**

View File

@ -16,19 +16,12 @@ public class DatabaseConsts {
*/ */
public static class UserInfoTable { public static class UserInfoTable {
@Getter private UserInfoTable() {
public enum ColumnEnum { throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
USERNAME("username");
private String name;
ColumnEnum(String name) {
this.name = name;
}
} }
public static final String COLUMN_USERNAME = "username";
} }
/** /**
@ -36,19 +29,12 @@ public class DatabaseConsts {
*/ */
public static class AuthorInfoTable { public static class AuthorInfoTable {
@Getter private AuthorInfoTable() {
public enum ColumnEnum { throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
USER_ID("user_id");
private String name;
ColumnEnum(String name) {
this.name = name;
}
} }
public static final String COLUMN_USER_ID = "user_id";
} }
/** /**
@ -56,19 +42,12 @@ public class DatabaseConsts {
*/ */
public static class BookCategoryTable { public static class BookCategoryTable {
@Getter private BookCategoryTable() {
public enum ColumnEnum { throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
WORK_DIRECTION("work_direction");
private String name;
ColumnEnum(String name) {
this.name = name;
}
} }
public static final String COLUMN_WORK_DIRECTION = "work_direction";
} }
/** /**
@ -76,21 +55,16 @@ public class DatabaseConsts {
*/ */
public static class BookTable { public static class BookTable {
@Getter private BookTable() {
public enum ColumnEnum { throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
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;
}
} }
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,21 +72,16 @@ public class DatabaseConsts {
*/ */
public static class BookChapterTable { public static class BookChapterTable {
@Getter private BookChapterTable() {
public enum ColumnEnum { throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
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;
}
} }
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,19 +89,12 @@ public class DatabaseConsts {
*/ */
public static class BookContentTable { public static class BookContentTable {
@Getter private BookContentTable() {
public enum ColumnEnum { throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
CHAPTER_ID("chapter_id");
private String name;
ColumnEnum(String name) {
this.name = name;
}
} }
public static final String COLUMN_CHAPTER_ID = "chapter_id";
} }
/** /**
@ -140,19 +102,12 @@ public class DatabaseConsts {
*/ */
public static class NewsContentTable { public static class NewsContentTable {
@Getter private NewsContentTable() {
public enum ColumnEnum { throw new IllegalStateException(SystemConfigConsts.CONST_INSTANCE_EXCEPTION_MSG);
NEWS_ID("news_id");
private String name;
ColumnEnum(String name) {
this.name = name;
}
} }
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 { public class SystemConfigConsts {
private 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 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) { public AuthorInfoDto getAuthor(Long userId) {
QueryWrapper<AuthorInfo> queryWrapper = new QueryWrapper<>(); QueryWrapper<AuthorInfo> queryWrapper = new QueryWrapper<>();
queryWrapper queryWrapper
.eq(DatabaseConsts.AuthorInfoTable.ColumnEnum.USER_ID.getName(), userId) .eq(DatabaseConsts.AuthorInfoTable.COLUMN_USER_ID, userId)
.last(DatabaseConsts.SqlEnum.LIMIT_1.getSql()); .last(DatabaseConsts.SqlEnum.LIMIT_1.getSql());
AuthorInfo authorInfo = authorInfoMapper.selectOne(queryWrapper); AuthorInfo authorInfo = authorInfoMapper.selectOne(queryWrapper);
if (Objects.isNull(authorInfo)) { if (Objects.isNull(authorInfo)) {

View File

@ -31,7 +31,7 @@ public class BookCategoryCacheManager {
, value = CacheConsts.BOOK_CATEGORY_LIST_CACHE_NAME) , value = CacheConsts.BOOK_CATEGORY_LIST_CACHE_NAME)
public List<BookCategoryRespDto> listCategory(Integer workDirection) { public List<BookCategoryRespDto> listCategory(Integer workDirection) {
QueryWrapper<BookCategory> queryWrapper = new QueryWrapper<>(); 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 -> return bookCategoryMapper.selectList(queryWrapper).stream().map(v ->
BookCategoryRespDto.builder() BookCategoryRespDto.builder()
.id(v.getId()) .id(v.getId())

View File

@ -28,7 +28,8 @@ public class BookContentCacheManager {
, value = CacheConsts.BOOK_CONTENT_CACHE_NAME) , value = CacheConsts.BOOK_CONTENT_CACHE_NAME)
public String getBookContent(Long chapterId) { public String getBookContent(Long chapterId) {
QueryWrapper<BookContent> contentQueryWrapper = new QueryWrapper<>(); 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); BookContent bookContent = bookContentMapper.selectOne(contentQueryWrapper);
return bookContent.getContent(); return bookContent.getContent();
} }

View File

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

View File

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

View File

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

View File

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