diff --git a/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java b/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java index 3bf1d32..68cc704 100644 --- a/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java +++ b/src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java @@ -101,4 +101,14 @@ public class QuestionnaireController { log.info("创建问卷详情结束"); return JsonResponse.newInstance().ok(detailInfo); } + + @MustLogin + @ApiOperation(value = "用户是否提交了当前类型的问卷", notes = "") + @RequestMapping(value = "/isSubmit", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse isSubmit(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("用户是否提交了当前类型的问卷{}",params); + QuestionnaireVo.Submit submit = questionnaireService.isSubmit(params.getParam(),params.getUserId()); + log.info("用户是否提交了当前类型的问卷结束"); + return JsonResponse.newInstance().ok(submit); + } } diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java index bc2c3c1..5fda4c2 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java @@ -65,4 +65,12 @@ public class QuestionnaireDto { @ApiModelProperty("问卷类型(0-卒中)") private Byte type; } + + @Data + @ApiModel("判断是否提交了问卷-请求") + public static class Submit { + @NotNull(message = "问卷类型不能为空") + @ApiModelProperty("问卷类型(0-卒中)") + private Byte type; + } } diff --git a/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java b/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java index 14ada42..ed75b53 100644 --- a/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java +++ b/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java @@ -72,6 +72,15 @@ public class QuestionnaireVo { private Long id; } + @Data + @ApiModel("是否提交问卷-返回") + public static class Submit { + @ApiModelProperty("问卷详情id 0:未提交 1:已提交") + private Byte submit; + @ApiModelProperty("机构信息") + private OrganizationMemberVo.Organization organization; + } + @Data @ApiModel("提交后的提示信息") public static class SubmitInfo { diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java index 6a6987e..51ba8ae 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java @@ -34,4 +34,13 @@ public interface QuestionnaireDao extends QuestionnaireMapper { * @return 问卷列表 */ List queryByTime(@Param("time") Long time); + + /** + * 统计是否提交了问卷 + * @param type 类型 + * @param time 时间 + * @param userId 用户ID + * @return 是否提交 + */ + Long countSubmit(@Param("type") Byte type, @Param("time") long time, @Param("userId") Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/service/AsyncService.java b/src/main/java/com/ccsens/carbasics/service/AsyncService.java index 19d823c..d539322 100644 --- a/src/main/java/com/ccsens/carbasics/service/AsyncService.java +++ b/src/main/java/com/ccsens/carbasics/service/AsyncService.java @@ -49,8 +49,6 @@ public class AsyncService implements IAsyncService { @Override public void switchProject(QueryDto params) throws Exception { - log.info("开始接受切换项目"); - Thread.sleep(1000); log.info("切换项目"); Set userIds = new HashSet<>(); userIds.add(params.getUserId().toString()); diff --git a/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java index 2eaa4dc..6a7b7be 100644 --- a/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java @@ -6,7 +6,6 @@ import com.ccsens.carbasics.bean.vo.QuestionnaireVo; import java.util.HashMap; import java.util.List; -import java.util.Map; public interface IQuestionnaireService { /** @@ -63,4 +62,12 @@ public interface IQuestionnaireService { * @return 问卷id与问卷详情id */ QuestionnaireVo.DetailInfo createDetail(QuestionnaireDto.CreateDetail param, Long userId); + + /** + * 统计用户在是否提交当前进行的这一类型的问卷 + * @param param 类型 + * @param userId 用户 + * @return 是否提交 + */ + QuestionnaireVo.Submit isSubmit(QuestionnaireDto.Submit param, Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java index 9dd97f7..b766284 100644 --- a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil; import com.ccsens.carbasics.bean.dto.PatientDto; import com.ccsens.carbasics.bean.dto.QuestionnaireDto; import com.ccsens.carbasics.bean.po.*; +import com.ccsens.carbasics.bean.vo.OrganizationMemberVo; import com.ccsens.carbasics.bean.vo.QuestionnaireVo; import com.ccsens.carbasics.persist.dao.*; import com.ccsens.carbasics.util.Constant; @@ -222,6 +223,19 @@ public class QuestionnaireService implements IQuestionnaireService{ return detailInfo; } + @Override + public QuestionnaireVo.Submit isSubmit(QuestionnaireDto.Submit param, Long userId) { + long count = questionnaireDao.countSubmit(param.getType(), System.currentTimeMillis(), userId); + QuestionnaireVo.Submit submit = new QuestionnaireVo.Submit(); + submit.setSubmit((byte)count); + if (count > 0) { + OrganizationMemberVo.Organization organization = organizationMemberDao.getHospital(userId); + submit.setOrganization(organization); + } + log.info("{}提交类型:{}的数量:{}", userId, param.getType(), submit); + return submit; + } + /** * 提交问卷后的后续操作 diff --git a/src/main/resources/mapper_dao/QuestionnaireDao.xml b/src/main/resources/mapper_dao/QuestionnaireDao.xml index 53b3b57..24e4ccf 100644 --- a/src/main/resources/mapper_dao/QuestionnaireDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireDao.xml @@ -132,6 +132,22 @@ AND q.write_start_time < #{time} AND q.write_end_time > #{time} + \ No newline at end of file