Commit 7513edc9 by 段启岩

更新项目

parent 7cecb8d3
......@@ -66,6 +66,37 @@ public class ProjectApi {
}
/**
* 发布项目
* @param projectForm
* @param bindingResult
* @param subject
* @return
*/
@ApiOperation("修改项目")
@PutMapping("/project/{projectId}")
public Response updateProject(@RequestBody @Valid ProjectForm projectForm, BindingResult bindingResult,
@PathVariable("projectId") Integer projectId, @CurrentSubject Subject subject) {
// 将项目表单转换为项目对象
Project project = new Project();
BeanUtils.copyProperties(projectForm, project);
project.setProjectId(projectId);
// 设置用户ID
project.setUserId((String) subject.getId());
// 更新项目
try {
projectService.updateProject(project, projectForm.getProjectDetail());
return Response.success();
} catch (ProjectServiceException e) {
e.printStackTrace();
return Response.error(e);
}
}
/**
* 删除项目
* @param projectId
* @param subject
......
......@@ -44,4 +44,11 @@ public interface IProjectService extends IService<Project> {
* @param pageSize
*/
IPage<Project> getProjectPage(Integer pageNumber, Integer pageSize);
/**
* 更新项目
* @param project
* @param projectDetail
*/
void updateProject(Project project, String projectDetail) throws ProjectServiceException;
}
......@@ -20,6 +20,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
/**
* <p>
......@@ -126,4 +127,28 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
IPage<Project> page = new Page<>(pageNumber, pageSize);
return page(page);
}
@Override
public void updateProject(Project project, String projectDetail) throws ProjectServiceException {
// 1.判断自己有没有发过这个项目
Project projectInDb = getById(project);
// 若找不到该项目,则抛出业务异常
if (null == projectInDb) {
throw new ProjectServiceException(ProjectErrorCode.PROJECT_NOT_FOUND);
}
// 2.更新项目基本信息
updateById(project);
// 3.更新项目详情
if (!StringUtils.isEmpty(projectDetail)) {
ProjectExt projectExt = new ProjectExt();
projectExt.setProjectId(project.getProjectId());
projectExt.setProjectDetail(projectDetail);
QueryWrapper<ProjectExt> projectExtQueryWrapper = new QueryWrapper<>();
projectExtQueryWrapper.eq("project_id", project.getProjectId());
projectExtService.update(projectExt, projectExtQueryWrapper);
}
}
}
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