diff --git a/src/main/java/com/example/survey/controller/ProjectController.java b/src/main/java/com/example/survey/controller/ProjectController.java index 603a0ef..eddab31 100644 --- a/src/main/java/com/example/survey/controller/ProjectController.java +++ b/src/main/java/com/example/survey/controller/ProjectController.java @@ -5,7 +5,7 @@ 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.RespondentStateEnum; import com.example.survey.enumeration.ResultEnum; import com.example.survey.service.ProjectService; import com.example.survey.vo.ResultVO; diff --git a/src/main/java/com/example/survey/controller/RecordController.java b/src/main/java/com/example/survey/controller/RecordController.java index 3ab48c2..3a8b69d 100644 --- a/src/main/java/com/example/survey/controller/RecordController.java +++ b/src/main/java/com/example/survey/controller/RecordController.java @@ -27,23 +27,22 @@ public class RecordController { @GetMapping("/recordList") public ResultVO getRecord(@RequestParam(value = "idNumber", required = false) String idNumber, - @RequestParam(value = "state", required = false) String state, - @RequestParam(value = "templateName", required = false) String templateName, - @RequestParam(value = "templateType", required = false) String templateType, - @RequestParam(value = "uuid", required = false) String uuid, - @RequestParam(value = "submitTimeGt", required = false, defaultValue = "0") long submitTimeGt, - @RequestParam(value = "submitTimeLt", required = false, defaultValue = "0") long submitTimeLt, - @RequestParam(value = "projectName", required = false) String projectName, - @RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage, - @RequestParam(value = "pageSize", defaultValue = "30") Integer pageSize - ) { + @RequestParam(value = "state", required = false) String state, + @RequestParam(value = "templateName", required = false) String templateName, + @RequestParam(value = "templateType", required = false) String templateType, + @RequestParam(value = "uuid", required = false) String uuid, + @RequestParam(value = "submitTimeGt", required = false, defaultValue = "0") long submitTimeGt, + @RequestParam(value = "submitTimeLt", required = false, defaultValue = "0") long submitTimeLt, + @RequestParam(value = "projectName", required = false) String projectName, + @RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage, + @RequestParam(value = "pageSize", defaultValue = "30") Integer pageSize) { Map resultMap = new HashMap<>(16, 0.75F); resultMap.put("totalCount", recordService.countRecord(idNumber, state, uuid, templateName, templateType, - submitTimeGt, submitTimeLt, projectName)); + submitTimeGt, submitTimeLt, projectName)); resultMap.put("currentPage", currentPage); resultMap.put("pageSize", pageSize); resultMap.put("data", recordService.listRecordLimit(idNumber, state, uuid, templateName, templateType, - submitTimeGt, submitTimeLt, projectName, currentPage, pageSize)); + submitTimeGt, submitTimeLt, projectName, currentPage, pageSize)); ResultVO resultVo = new ResultVO(ResultEnum.SUCCESS); resultVo.setData(resultMap); @@ -51,38 +50,41 @@ public class RecordController { } @GetMapping("/recordValues") - public ResultVO getRecordValue(@RequestParam("uuid") String uuid - ) { + public ResultVO getRecordValue(@RequestParam("uuid") String uuid) { ResultVO resultVO = new ResultVO(ResultEnum.SUCCESS); resultVO.setData(recordService.getRecordValues(uuid)); return resultVO; } @PutMapping("/review") - public ResultVO reviewRecord(@RequestBody ReviewRecordDTO reviewRecordDTO) { + public ResultVO reviewRecord(@RequestBody ReviewRecordDTO reviewRecordDTO, + @RequestHeader("Authorization") String token) { + reviewRecordDTO.setReviewerPhone((String) TokenUtil.get(token + " : USER_PHONE")); recordService.reviewRecord(reviewRecordDTO); return new ResultVO(ResultEnum.SUCCESS); } @PutMapping("/record") - public ResultVO modifyRecord(@RequestBody ModifyRecordDTO modifyRecordDTO) { + public ResultVO modifyRecord(@RequestBody ModifyRecordDTO modifyRecordDTO, + @RequestHeader("Authorization") String token) { + modifyRecordDTO.setUserPhone((String) TokenUtil.get(token + " : USER_PHONE")); recordService.modifyRecord(modifyRecordDTO); return new ResultVO(ResultEnum.SUCCESS); } @PostMapping("/record") public ResultVO submitRecord(@RequestBody SubmitRecordDTO submitRecordDTO, - @RequestHeader("Authorization") String token) { - submitRecordDTO.setUserPhone((String)TokenUtil.get(token + " : USER_PHONE")); + @RequestHeader("Authorization") String token) { + submitRecordDTO.setUserPhone((String) TokenUtil.get(token + " : USER_PHONE")); recordService.createRecord(submitRecordDTO); return new ResultVO(ResultEnum.SUCCESS); } @DeleteMapping("/record") - public ResultVO deleteRecord(@RequestBody DeleteRecordDTO deleteRecordDTO, - @RequestHeader("Authorization") String token){ - deleteRecordDTO.setPhone((String)TokenUtil.get(token + " : USER_PHONE")); + public ResultVO deleteRecord(@RequestBody DeleteRecordDTO deleteRecordDTO, + @RequestHeader("Authorization") String token) { + deleteRecordDTO.setPhone((String) TokenUtil.get(token + " : USER_PHONE")); recordService.deleteRecord(deleteRecordDTO); return new ResultVO(ResultEnum.SUCCESS); } @@ -95,14 +97,14 @@ public class RecordController { } @GetMapping("/record2word") - public void record2word(@RequestParam("uuid")String uuid, - HttpServletResponse response){ - recordService.record2word(uuid,response); + public void record2word(@RequestParam("uuid") String uuid, HttpServletResponse response) { + recordService.record2word(uuid, response); } - @PutMapping("/metaData") - public ResultVO modifyMetaData(@RequestBody ModifyMetaDataDTO modifyMetaDataDTO){ + public ResultVO modifyMetaData(@RequestBody ModifyMetaDataDTO modifyMetaDataDTO, + @RequestHeader("Authorization") String token) { + modifyMetaDataDTO.setPhone((String) TokenUtil.get(token + " : USER_PHONE")); recordService.modifyMetaData(modifyMetaDataDTO); return new ResultVO(ResultEnum.SUCCESS); } diff --git a/src/main/java/com/example/survey/dao/RecordDao.java b/src/main/java/com/example/survey/dao/RecordDao.java index 716c8bd..19d0fc1 100644 --- a/src/main/java/com/example/survey/dao/RecordDao.java +++ b/src/main/java/com/example/survey/dao/RecordDao.java @@ -1,7 +1,7 @@ package com.example.survey.dao; import com.example.survey.entity.Record; -import com.example.survey.entity.Respondent; +// import com.example.survey.entity.Respondent; import com.example.survey.entity.User; import com.example.survey.enumeration.MetaDataTypeEnum; import com.example.survey.enumeration.RecordStateEnum; diff --git a/src/main/java/com/example/survey/dto/record/ModifyMetaDataDTO.java b/src/main/java/com/example/survey/dto/record/ModifyMetaDataDTO.java index d534d4a..78728ed 100644 --- a/src/main/java/com/example/survey/dto/record/ModifyMetaDataDTO.java +++ b/src/main/java/com/example/survey/dto/record/ModifyMetaDataDTO.java @@ -9,4 +9,5 @@ import lombok.Data; public class ModifyMetaDataDTO { private String uuid; private String metaDataName; + private String phone; } diff --git a/src/main/java/com/example/survey/entity/Respondent.java b/src/main/java/com/example/survey/entity/Respondent.java deleted file mode 100644 index 06b954b..0000000 --- a/src/main/java/com/example/survey/entity/Respondent.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.example.survey.entity; - -import com.example.survey.entity.inner.AdministrativeArea; -import com.example.survey.entity.inner.ProjectPart; -import lombok.*; -import org.bson.types.ObjectId; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.index.CompoundIndex; -import org.springframework.data.mongodb.core.index.CompoundIndexes; -import org.springframework.data.mongodb.core.index.Indexed; -import org.springframework.data.mongodb.core.mapping.DBRef; -import org.springframework.data.mongodb.core.mapping.Document; - -import java.util.Set; - -/** - * @author Pope - * 调查对象表 - */ -@Data -@Document(collection = "respondent") -@CompoundIndexes({ - @CompoundIndex(name = "unique",def = "{idNumber : 1, project : 1}",unique = true) -}) -public class Respondent { - - /** - * id - */ - @Id - private ObjectId id; - - /** - * 身份证号 - */ - private String idNumber; - - /** - * 电话 - */ - private String phone; - - /** - * 姓名 - */ - private String name; - - /** - * 备注 - */ - private String msg; - - /** - * 性别 - */ - private String gender; - - /** - * 行政区划 - */ - private AdministrativeArea administrativeArea; - - /** - * 分配的人员 - */ - @DBRef - private User user; - - /** - * 调查对象状态 - */ - private String state; -} diff --git a/src/main/java/com/example/survey/entity/inner/Operation.java b/src/main/java/com/example/survey/entity/inner/Operation.java index 142ee18..f59b094 100644 --- a/src/main/java/com/example/survey/entity/inner/Operation.java +++ b/src/main/java/com/example/survey/entity/inner/Operation.java @@ -61,6 +61,16 @@ public class Operation { return modify; } + public static Operation modifyMetaOp(User user, String msg) { + Operation modify = new Operation(); + modify.setType(OpTypeEnum.META.getValue()); + modify.setTime(new Date()); + modify.setUser(user); + modify.setMsg(msg); + modify.setResult("提交修改"); + return modify; + } + public static Operation deleteOp(User user, String msg) { Operation delete = new Operation(); delete.setType(OpTypeEnum.DELETE.getValue()); diff --git a/src/main/java/com/example/survey/enumeration/OpTypeEnum.java b/src/main/java/com/example/survey/enumeration/OpTypeEnum.java index 2d04e68..cfb2fed 100644 --- a/src/main/java/com/example/survey/enumeration/OpTypeEnum.java +++ b/src/main/java/com/example/survey/enumeration/OpTypeEnum.java @@ -28,6 +28,7 @@ public enum OpTypeEnum { * 覆盖 */ COVER("覆盖"), + META("修改模板"), ; private final String value; diff --git a/src/main/java/com/example/survey/enumeration/RespondentStateEnum.java b/src/main/java/com/example/survey/enumeration/RespondentStateEnum.java deleted file mode 100644 index 21ad8ee..0000000 --- a/src/main/java/com/example/survey/enumeration/RespondentStateEnum.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.example.survey.enumeration; - -/** - * @author Pope - */ -public enum RespondentStateEnum { - /** - * 已调查状态 - */ - INVESTIGATED("已调查"), - /** - * 未调查状态 - */ - NOT_INVESTIGATED("未调查"), - /** - * 已归档 - */ - FILED("已归档"), - - ; - - - private final String value; - - RespondentStateEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } -} diff --git a/src/main/java/com/example/survey/service/impl/RecordServiceImpl.java b/src/main/java/com/example/survey/service/impl/RecordServiceImpl.java index 1bb4afa..a6b141a 100644 --- a/src/main/java/com/example/survey/service/impl/RecordServiceImpl.java +++ b/src/main/java/com/example/survey/service/impl/RecordServiceImpl.java @@ -5,7 +5,7 @@ import com.example.survey.dto.record.*; import com.example.survey.entity.*; import com.example.survey.entity.inner.Operation; import com.example.survey.enumeration.RecordStateEnum; -import com.example.survey.enumeration.RespondentStateEnum; + import com.example.survey.enumeration.ResultEnum; import com.example.survey.exception.*; import com.example.survey.service.RecordService; @@ -237,6 +237,21 @@ public class RecordServiceImpl implements RecordService { MetaData metaData = metaDataDao.selectMetaData(modifyMetaDataDTO.getMetaDataName()); Record record = recordDao.getRecord(modifyMetaDataDTO.getUuid()); + if(record == null) { + throw new RecordException(ResultEnum.NOT_EXIST_RECORD); + } + + if (!userDao.existUser(modifyMetaDataDTO.getPhone())) { + throw new UserException(ResultEnum.NOT_EXIST_USER); + } + User user = userDao.selectUser(modifyMetaDataDTO.getPhone()); + + List operationList = record.getOperationList(); + String msg = record.getMetaData().getName() +"->" + modifyMetaDataDTO.getMetaDataName(); + Operation modifyMetaOp = Operation.modifyMetaOp(user, msg); + // modifyMetaOp.setMsg(); + operationList.add(modifyMetaOp); + record.setOperationList(operationList); record.setMetaData(metaData); recordDao.saveRecord(record); } diff --git a/src/main/java/com/example/survey/vo/ProjectVO.java b/src/main/java/com/example/survey/vo/ProjectVO.java index 0f7e20d..079f685 100644 --- a/src/main/java/com/example/survey/vo/ProjectVO.java +++ b/src/main/java/com/example/survey/vo/ProjectVO.java @@ -1,7 +1,7 @@ package com.example.survey.vo; import com.example.survey.entity.MetaData; -import com.example.survey.entity.Respondent; +// import com.example.survey.entity.Respondent; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data;