diff --git a/src/main/java/io/github/xxyopen/novel/core/common/constant/ErrorCodeEnum.java b/src/main/java/io/github/xxyopen/novel/core/common/constant/ErrorCodeEnum.java index e69e7d4..0f53844 100644 --- a/src/main/java/io/github/xxyopen/novel/core/common/constant/ErrorCodeEnum.java +++ b/src/main/java/io/github/xxyopen/novel/core/common/constant/ErrorCodeEnum.java @@ -92,6 +92,17 @@ public enum ErrorCodeEnum { * */ USER_COMMENTED("A2001","用户已发表评论"), + /** + * 作家发布异常 + * */ + AUTHOR_PUBLISH("A3000","作家发布异常"), + + /** + * 小说名已存在 + * */ + AUTHOR_BOOK_NAME_EXIST("A3001","小说名已存在"), + + /** * 用户上传文件异常 * */ diff --git a/src/main/java/io/github/xxyopen/novel/core/constant/DatabaseConsts.java b/src/main/java/io/github/xxyopen/novel/core/constant/DatabaseConsts.java index 3f0fafa..01b0e63 100644 --- a/src/main/java/io/github/xxyopen/novel/core/constant/DatabaseConsts.java +++ b/src/main/java/io/github/xxyopen/novel/core/constant/DatabaseConsts.java @@ -89,6 +89,8 @@ public class DatabaseConsts { public static final String COLUMN_CATEGORY_ID = "category_id"; + public static final String COLUMN_BOOK_NAME = "book_name"; + public static final String AUTHOR_ID = "author_id"; public static final String COLUMN_VISIT_COUNT = "visit_count"; diff --git a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java index 79c0b35..e3d9bb3 100644 --- a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java +++ b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java @@ -276,6 +276,12 @@ public class BookServiceImpl implements BookService { @Override public RestResp saveBook(BookAddReqDto dto) { + // 校验小说名是否已存在 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(DatabaseConsts.BookTable.COLUMN_BOOK_NAME, dto.getBookName()); + if (bookInfoMapper.selectCount(queryWrapper) > 0) { + return RestResp.fail(ErrorCodeEnum.AUTHOR_BOOK_NAME_EXIST); + } BookInfo bookInfo = new BookInfo(); // 设置作家信息 AuthorInfoDto author = authorInfoCacheManager.getAuthor(UserHolder.getUserId());