Commit 0b259c2a by 段启岩

项目添加审核和锁定

parent 1f257b91
......@@ -7,7 +7,8 @@ import cn.meteor.beyondclouds.core.IErrorCode;
*/
public enum ProjectErrorCode implements IErrorCode {
INCORRECT_CATEGORY(9001,"项目分类错误"),
PROJECT_NOT_FOUND(9002, "找不到该项目");
PROJECT_NOT_FOUND(9002, "找不到该项目"),
PROJECT_DISABLED(90003, "该项目已被锁定");
private long code;
......
......@@ -105,6 +105,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
project.setUserNick(user.getNickName());
// 2.保存项目
project.setCategory(projectCategory.getCategory());
project.setStatus(0);
save(project);
// 3.保存项目详情
......@@ -138,6 +139,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND);
}
if (project.getStatus() == -1) {
throw new ProjectServiceException(ProjectErrorCode.PROJECT_DISABLED);
}
// 2.删除项目的所有评论
QueryWrapper<ProjectComment> projectCommentQueryWrapper = new QueryWrapper<>();
projectCommentQueryWrapper.eq("project_id", projectId);
......@@ -170,6 +175,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND);
}
if (project.getStatus() == -1) {
throw new ProjectServiceException(ProjectErrorCode.PROJECT_DISABLED);
}
// 用户未认证或者不是查看自己的项目
if (!SubjectUtils.isAuthenticated() || !subject.getId().equals(project.getUserId())) {
// 项目还没审核通过
if (project.getStatus() != 1) {
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND);
}
}
//获取项目浏览量加一并更新
project.setViewNumber(project.getViewNumber() + 1);
updateById(project);
......@@ -196,6 +214,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
@Override
public IPage<Project> getProjectPage(Integer pageNumber, Integer pageSize, Integer categoryId) {
QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("status", 1);
projectQueryWrapper.orderByDesc("create_time");
if (null != categoryId) {
projectQueryWrapper.eq("category_id", categoryId);
......@@ -221,6 +240,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND);
}
if (projectInDb.getStatus() == -1) {
throw new ProjectServiceException(ProjectErrorCode.PROJECT_DISABLED);
}
// 检查项目类别是否存在
Integer categoryId = project.getCategoryId();
ProjectCategory projectCategory = projectCategoryMapper.selectById(categoryId);
......@@ -256,6 +279,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
IPage<Project> page = new Page<>(pageNumber, pageSize);
QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("user_id", userId);
projectQueryWrapper.eq("status", 1);
projectQueryWrapper.orderByDesc("create_time");
return page(page, projectQueryWrapper);
}
......@@ -265,6 +289,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
IPage<Project> page = new Page<>(pageNumber, pageSize);
QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("status", 1);
projectQueryWrapper.orderByDesc("view_number");
return page(page, projectQueryWrapper);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment