Commit 0b259c2a by 段启岩

项目添加审核和锁定

parent 1f257b91
...@@ -7,7 +7,8 @@ import cn.meteor.beyondclouds.core.IErrorCode; ...@@ -7,7 +7,8 @@ import cn.meteor.beyondclouds.core.IErrorCode;
*/ */
public enum ProjectErrorCode implements IErrorCode { public enum ProjectErrorCode implements IErrorCode {
INCORRECT_CATEGORY(9001,"项目分类错误"), INCORRECT_CATEGORY(9001,"项目分类错误"),
PROJECT_NOT_FOUND(9002, "找不到该项目"); PROJECT_NOT_FOUND(9002, "找不到该项目"),
PROJECT_DISABLED(90003, "该项目已被锁定");
private long code; private long code;
......
...@@ -105,6 +105,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl ...@@ -105,6 +105,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
project.setUserNick(user.getNickName()); project.setUserNick(user.getNickName());
// 2.保存项目 // 2.保存项目
project.setCategory(projectCategory.getCategory()); project.setCategory(projectCategory.getCategory());
project.setStatus(0);
save(project); save(project);
// 3.保存项目详情 // 3.保存项目详情
...@@ -138,6 +139,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl ...@@ -138,6 +139,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND); throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND);
} }
if (project.getStatus() == -1) {
throw new ProjectServiceException(ProjectErrorCode.PROJECT_DISABLED);
}
// 2.删除项目的所有评论 // 2.删除项目的所有评论
QueryWrapper<ProjectComment> projectCommentQueryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectComment> projectCommentQueryWrapper = new QueryWrapper<>();
projectCommentQueryWrapper.eq("project_id", projectId); projectCommentQueryWrapper.eq("project_id", projectId);
...@@ -170,6 +175,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl ...@@ -170,6 +175,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND); 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); project.setViewNumber(project.getViewNumber() + 1);
updateById(project); updateById(project);
...@@ -196,6 +214,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl ...@@ -196,6 +214,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
@Override @Override
public IPage<Project> getProjectPage(Integer pageNumber, Integer pageSize, Integer categoryId) { public IPage<Project> getProjectPage(Integer pageNumber, Integer pageSize, Integer categoryId) {
QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>(); QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("status", 1);
projectQueryWrapper.orderByDesc("create_time"); projectQueryWrapper.orderByDesc("create_time");
if (null != categoryId) { if (null != categoryId) {
projectQueryWrapper.eq("category_id", categoryId); projectQueryWrapper.eq("category_id", categoryId);
...@@ -221,6 +240,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl ...@@ -221,6 +240,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND); throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND);
} }
if (projectInDb.getStatus() == -1) {
throw new ProjectServiceException(ProjectErrorCode.PROJECT_DISABLED);
}
// 检查项目类别是否存在 // 检查项目类别是否存在
Integer categoryId = project.getCategoryId(); Integer categoryId = project.getCategoryId();
ProjectCategory projectCategory = projectCategoryMapper.selectById(categoryId); ProjectCategory projectCategory = projectCategoryMapper.selectById(categoryId);
...@@ -256,6 +279,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl ...@@ -256,6 +279,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
IPage<Project> page = new Page<>(pageNumber, pageSize); IPage<Project> page = new Page<>(pageNumber, pageSize);
QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>(); QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("user_id", userId); projectQueryWrapper.eq("user_id", userId);
projectQueryWrapper.eq("status", 1);
projectQueryWrapper.orderByDesc("create_time"); projectQueryWrapper.orderByDesc("create_time");
return page(page, projectQueryWrapper); return page(page, projectQueryWrapper);
} }
...@@ -265,6 +289,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl ...@@ -265,6 +289,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
IPage<Project> page = new Page<>(pageNumber, pageSize); IPage<Project> page = new Page<>(pageNumber, pageSize);
QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>(); QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("status", 1);
projectQueryWrapper.orderByDesc("view_number"); projectQueryWrapper.orderByDesc("view_number");
return page(page, projectQueryWrapper); 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