From 85c6d9119d3d4b6f13ac7487bef552c98d79e844 Mon Sep 17 00:00:00 2001 From: xiongxiaoyang <773861846@qq.com> Date: Fri, 20 May 2022 09:53:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AF=84=E8=AE=BA=E5=8F=91=E8=A1=A8?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../novel/core/common/constant/ErrorCodeEnum.java | 10 ++++++++++ .../xxyopen/novel/core/constant/DatabaseConsts.java | 2 ++ .../xxyopen/novel/dto/req/UserCommentReqDto.java | 3 ++- .../xxyopen/novel/service/impl/BookServiceImpl.java | 9 +++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) 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 7a36de8..8936b5d 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 @@ -82,6 +82,16 @@ public enum ErrorCodeEnum { * */ USER_UN_AUTH("A0301","访问未授权"), + /** + * 用户评论异常 + * */ + USER_COMMENT("A2000","用户评论异常"), + + /** + * 用户评论异常 + * */ + USER_COMMENTED("A2001","用户已发表评论"), + /** * 一级宏观错误码,系统执行出错 * */ 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 c16152e..49533d7 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 @@ -136,6 +136,8 @@ public class DatabaseConsts { public static final String COLUMN_BOOK_ID = "book_id"; + public static final String COLUMN_USER_ID = "user_id"; + } /** diff --git a/src/main/java/io/github/xxyopen/novel/dto/req/UserCommentReqDto.java b/src/main/java/io/github/xxyopen/novel/dto/req/UserCommentReqDto.java index 0c62538..bf9ef3b 100644 --- a/src/main/java/io/github/xxyopen/novel/dto/req/UserCommentReqDto.java +++ b/src/main/java/io/github/xxyopen/novel/dto/req/UserCommentReqDto.java @@ -1,6 +1,7 @@ package io.github.xxyopen.novel.dto.req; import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -14,7 +15,7 @@ public class UserCommentReqDto { private Long userId; - @NotBlank(message="小说ID不能为空!") + @NotNull(message="小说ID不能为空!") private Long bookId; @NotBlank(message="评论不能为空!") 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 d3a6a9c..be74b1d 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 @@ -2,6 +2,7 @@ package io.github.xxyopen.novel.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.github.xxyopen.novel.core.common.constant.ErrorCodeEnum; import io.github.xxyopen.novel.core.common.resp.PageRespDto; import io.github.xxyopen.novel.core.common.resp.RestResp; import io.github.xxyopen.novel.core.constant.DatabaseConsts; @@ -206,6 +207,14 @@ public class BookServiceImpl implements BookService { @Override public RestResp saveComment(UserCommentReqDto dto) { + // 校验用户是否已发表评论 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(DatabaseConsts.BookCommentTable.COLUMN_USER_ID,dto.getUserId()) + .eq(DatabaseConsts.BookCommentTable.COLUMN_BOOK_ID,dto.getBookId()); + if(bookCommentMapper.selectCount(queryWrapper) > 0){ + // 用户已发表评论 + return RestResp.fail(ErrorCodeEnum.USER_COMMENTED); + } BookComment bookComment = new BookComment(); bookComment.setBookId(dto.getBookId()); bookComment.setUserId(dto.getUserId());