Survey/src/main/java/com/example/survey/controller/ProjectController.java
2021-05-17 16:09:57 +08:00

71 lines
2.6 KiB
Java

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<String, Object> 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);
}
}