package com.example.survey.controller; import com.example.survey.dto.respondent.*; import com.example.survey.enumeration.ResultEnum; import com.example.survey.service.RespondentService; 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("/respondent") public class RespondentController { @Autowired private RespondentService respondentService; @PostMapping("/respondent") public ResultVO addRespondent(@RequestBody CreateRespondentDTO createRespondentDTO) { respondentService.createRespondent(createRespondentDTO); return new ResultVO(ResultEnum.SUCCESS); } @GetMapping("/respondentList") public ResultVO listRespondent(@RequestParam(value = "userPhone", required = false) String userPhone, @RequestParam(value = "projectName", required = false) String projectName, @RequestParam(value = "state", required = false) String state, @RequestParam(value = "idNumber", required = false) String idNumber, @RequestParam(value = "name", required = false) String name, @RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "province", required = false) String province, @RequestParam(value = "city", required = false) String city, @RequestParam(value = "county", required = false) String county, @RequestParam(value = "currentPage") int currentPage, @RequestParam(value = "pageSize", defaultValue = "30") int pageSize ) { Map resultMap = new HashMap<>(16, 0.75F); resultMap.put("totalCount", respondentService.countRespondent(userPhone, state, idNumber, name, phone, province, city, county, projectName)); resultMap.put("currentPage", currentPage); resultMap.put("pageSize", pageSize); resultMap.put("data", respondentService.listRespondentLimit(userPhone, state, idNumber, name, phone, province, city, county, projectName, currentPage, pageSize)); ResultVO resultVo = new ResultVO(ResultEnum.SUCCESS); resultVo.setData(resultMap); return resultVo; } @PutMapping("/respondent") public ResultVO modifyRespondent(@RequestBody ModifyRespondentDTO modifyRespondentDTO) { respondentService.modifyRespondent(modifyRespondentDTO); return new ResultVO(ResultEnum.SUCCESS); } @DeleteMapping("/respondent") public ResultVO deleteRespondent(@RequestBody DeleteRespondentDTO deleteRespondentDTO) { respondentService.deleteRespondent(deleteRespondentDTO); return new ResultVO(ResultEnum.SUCCESS); } @PutMapping("/user") public ResultVO modifyUser(@RequestBody ModifyRespondentUserDTO modifyRespondentUserDTO) { respondentService.modifyUser(modifyRespondentUserDTO); return new ResultVO(ResultEnum.SUCCESS); } }