package com.estate.expert.admin.controller.admin;
|
|
import com.estate.expert.admin.domain.common.request.BatchReq;
|
import com.estate.expert.admin.domain.common.request.PageReq;
|
import com.estate.expert.admin.domain.project.info.ProjectInfoDto;
|
import com.estate.expert.admin.domain.project.info.ProjectInfoMapper;
|
import com.estate.expert.admin.domain.user.User;
|
import com.estate.expert.admin.enums.BizResultCode;
|
import com.estate.expert.admin.service.CheckTaskService;
|
import com.estate.expert.admin.service.ProjectInfoService;
|
import com.estate.expert.common.domain.Session;
|
import com.estate.expert.common.rpc.Result;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
|
@Api(tags = "管理后台/项目信息")
|
@Slf4j
|
@CrossOrigin
|
@RestController
|
@RequestMapping("/admin/projectInfo")
|
@Validated
|
public class ProjectInfoController {
|
|
@Resource
|
private ProjectInfoService projectInfoService;
|
|
@Resource
|
private ProjectInfoMapper projectInfoMapper;
|
|
@Resource
|
private CheckTaskService checkTaskService;
|
|
@ApiOperation(value = "项目信息列表")
|
@PostMapping("/list")
|
public Result list(@RequestParam(value = "projectId") Integer projectId,
|
@Validated @RequestBody PageReq pageReq) {
|
return Result.success(projectInfoService.list(projectId, pageReq));
|
}
|
|
@ApiOperation(value = "添加项目信息")
|
@PostMapping("/add")
|
public Result add(Session session, @Validated @RequestBody ProjectInfoDto projectInfo) {
|
projectInfoService.add((User)session.getUser(), projectInfoMapper.toEntity(projectInfo));
|
return Result.success();
|
}
|
|
@ApiOperation(value = "获取项目信息")
|
@GetMapping("/getByCheckTaskId")
|
public Result getByCheckTaskId(@RequestParam("checkTaskId") Integer checkTaskId) {
|
//
|
//客户端能查看最新的
|
//能添加
|
//不能编辑
|
//
|
//关闭项目的时候,关联项目最后一条信息到检查任务上,不管是谁添加的,用于出报告
|
var checkTask = checkTaskService.get(checkTaskId);
|
BizResultCode.CHECK_TASK_NOT_EXIST.check(checkTask == null);
|
var projectInfo = projectInfoService.latest(checkTask.getProject().getId());
|
BizResultCode.PROJECT_INFO_NOT_EXIST.check(projectInfo == null);
|
return Result.success(projectInfoService.toDto(projectInfo));
|
}
|
|
@ApiOperation(value = "获取项目最新信息")
|
@GetMapping("/latest")
|
public Result latest(@RequestParam("projectId") Integer projectId) {
|
var projectInfo = projectInfoService.latest(projectId);
|
BizResultCode.PROJECT_INFO_NOT_EXIST.check(projectInfo == null);
|
return Result.success(projectInfoService.toDto(projectInfo));
|
}
|
|
@ApiOperation(value = "编辑项目信息")
|
@PostMapping("/edit")
|
public Result edit(@Validated @RequestBody ProjectInfoDto projectInfoDto) {
|
projectInfoService.edit(projectInfoDto);
|
return Result.success();
|
}
|
|
@ApiOperation(value = "删除项目信息")
|
@PostMapping("/del")
|
public Result delete(@Validated @RequestBody BatchReq request) {
|
projectInfoService.deleteAllById(request.getIds());
|
return Result.success();
|
}
|
|
}
|