package com.example.survey.controller; import com.example.survey.dto.project.AddRecordDTO; import com.example.survey.dto.project.CreateProjectDTO; import com.example.survey.dto.project.DeleteRecordDTO; import com.example.survey.dto.project.ModifyProjectDTO; // import com.example.survey.enumeration.RespondentStateEnum; import com.example.survey.enumeration.ResultEnum; import com.example.survey.service.ProjectService; import com.example.survey.vo.ResultVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; /** * @author Pope */ @RestController @RequestMapping("/project") public class ProjectController { @Autowired ProjectService projectService; @PostMapping("/project") public ResultVO createProject(@RequestBody CreateProjectDTO createProjectDTO) { projectService.createProject(createProjectDTO); return new ResultVO(ResultEnum.SUCCESS); } @GetMapping("/projectList") public ResultVO getProject(@RequestParam(value = "name",required = false) String name, @RequestParam(value = "date_gt", required = false, defaultValue = "0") long date_gt, @RequestParam(value = "date_lt", required = false, defaultValue = "0") long date_lt, @RequestParam(value = "currentPage", defaultValue = "0") int currentPage, @RequestParam(value = "pageSize", defaultValue = "30") int pageSize) { Map resultMap = new HashMap<>(16,0.75F); resultMap.put("totalCount", projectService.countProject(name, date_gt, date_lt)); resultMap.put("currentPage", currentPage); resultMap.put("pageSize", pageSize); resultMap.put("data", projectService.listProjectLimit(name, date_gt, date_lt, currentPage, pageSize)); ResultVO resultVO = new ResultVO(ResultEnum.SUCCESS); resultVO.setData(resultMap); return resultVO; } @PutMapping("/project") public ResultVO modifyProject(@RequestBody ModifyProjectDTO modifyProjectDTO){ projectService.modifyProject(modifyProjectDTO); return new ResultVO(ResultEnum.SUCCESS); } @PutMapping("/record") public ResultVO addRecord(@RequestBody AddRecordDTO addRecordDTO){ projectService.addRecord(addRecordDTO); return new ResultVO(ResultEnum.SUCCESS); } @DeleteMapping("/record") public ResultVO deleteRecord(@RequestBody DeleteRecordDTO deleteRecordDTO){ projectService.deleteRecord(deleteRecordDTO); return new ResultVO(ResultEnum.SUCCESS); } }