diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/controller/AppPsychologistController.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/controller/AppPsychologistController.java index 8ba6db6..e03fead 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/controller/AppPsychologistController.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/controller/AppPsychologistController.java @@ -27,6 +27,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.dto.psychology.form.*; import com.elink.esua.epdc.dto.psychology.result.*; import com.elink.esua.epdc.modules.psychology.service.PsychologistService; +import com.elink.esua.epdc.modules.psychology.service.PsychologyAnswerService; import com.elink.esua.epdc.modules.psychology.service.PsychologyQuestionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -50,14 +51,21 @@ public class AppPsychologistController { @Autowired private PsychologyQuestionService psychologyQuestionService; + @Autowired + private PsychologyAnswerService psychologyAnswerService; + @GetMapping("listPsychiatrist") public Result> listPsychiatrist(@RequestBody PsychologistFormDTO formDto) throws Exception { + //效验数据 + ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); List list = psychologistService.listPsychiatrist(formDto); return new Result>().ok(list); } @GetMapping("psychologistInfo") public Result psychologistInfo(@RequestBody PsychologistInfoFormDTO formDto) throws Exception { + //效验数据 + ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); PsychologistInfoResultDTO data = psychologistService.psychologistInfo(formDto); return new Result().ok(data); } @@ -66,24 +74,30 @@ public class AppPsychologistController { public Result submitQuestion(@RequestBody PsychologyQuestionFormDTO formDto) throws Exception { //效验数据 ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); - psychologyQuestionService.saveFromApp(formDto); + psychologyQuestionService.saveQuestion(formDto); return new Result(); } @GetMapping("listUserQuestion") public Result> listUserQuestion(@RequestBody PsychologyAnswerFormDTO formDto) throws Exception { + //效验数据 + ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); List data = psychologistService.listUserQuestion(formDto); return new Result>().ok(data); } @GetMapping("listQuestion") public Result> listAllQuestion(@RequestBody PsychologyAnswerFormDTO formDto) throws Exception { + //效验数据 + ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); List data = psychologistService.listAllQuestion(formDto); return new Result>().ok(data); } @GetMapping("listUnansweredQuestion") public Result> listUnansweredQuestion(@RequestBody PsychologyUnansweredFormDTO formDto) throws Exception { + //效验数据 + ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); List data = psychologistService.listUnansweredQuestion(formDto); return new Result>().ok(data); } @@ -92,7 +106,20 @@ public class AppPsychologistController { public Result> listMyQuestion(@RequestBody PsychologyAnswerFormDTO formDto) throws Exception { UserDetail user = SecurityUser.getUser(); formDto.setUserId(user.getId().toString()); + //效验数据 + ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); List data = psychologistService.listMyQuestion(formDto); return new Result>().ok(data); } + + @PostMapping("submitAnswer") + public Result submitAnswer(@RequestBody PsychologySubmitAnswerFormDTO formDto) throws Exception { + UserDetail user = SecurityUser.getUser(); + formDto.setUserId(user.getId().toString()); + //效验数据 + ValidatorUtils.validateEntity(formDto, AddGroup.class, DefaultGroup.class); + psychologyAnswerService.saveAnswer(formDto); + return new Result(); + } + } \ No newline at end of file diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologistDao.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologistDao.java index 86b4b93..59b56a3 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologistDao.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologistDao.java @@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.dto.psychology.PsychologistDTO; import com.elink.esua.epdc.dto.psychology.form.PsychologistFormDTO; import com.elink.esua.epdc.dto.psychology.form.PsychologistInfoFormDTO; +import com.elink.esua.epdc.dto.psychology.form.PsychologySubmitAnswerFormDTO; import com.elink.esua.epdc.modules.psychology.entity.PsychologistEntity; import org.apache.ibatis.annotations.Mapper; @@ -76,4 +77,14 @@ public interface PsychologistDao extends BaseDao { */ PsychologistEntity psychologistInfo(PsychologistInfoFormDTO dto); + /** + * 心理咨询师详细 + * + * @return java.util.List + * @params [params] + * @author zhangyuan + * @since 2020/5/21 14:54 + */ + PsychologistEntity psychologistDetail(PsychologySubmitAnswerFormDTO dto); + } \ No newline at end of file diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologyQuestionDao.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologyQuestionDao.java index 23b7e98..e7c9571 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologyQuestionDao.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/dao/PsychologyQuestionDao.java @@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.psychology.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.dto.psychology.form.PsychologyAnswerFormDTO; +import com.elink.esua.epdc.dto.psychology.form.PsychologySubmitAnswerFormDTO; import com.elink.esua.epdc.dto.psychology.form.PsychologyUnansweredFormDTO; import com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerListResultDTO; import com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerListUserResultDTO; @@ -78,4 +79,13 @@ public interface PsychologyQuestionDao extends BaseDao */ List listMyQuestion(PsychologyAnswerFormDTO dto); + /** + * 查询问题详情 + * + * @return int + * @params [params] + * @author zhangyuan + * @since 2020/5/21 14:54 + */ + int updateQuestion(PsychologySubmitAnswerFormDTO dto); } \ No newline at end of file diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/PsychologyAnswerService.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/PsychologyAnswerService.java index 9d12b4e..80dc5ba 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/PsychologyAnswerService.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/PsychologyAnswerService.java @@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.psychology.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.dto.psychology.PsychologyAnswerDTO; +import com.elink.esua.epdc.dto.psychology.form.PsychologySubmitAnswerFormDTO; import com.elink.esua.epdc.modules.psychology.entity.PsychologyAnswerEntity; import java.util.List; @@ -73,6 +74,16 @@ public interface PsychologyAnswerService extends BaseService titles = psychologistTitleRelationDao.selectTitles(dto.getPsychologistId()); - data.setTitle(titles == null ? new ArrayList<>() : titles); + if (data != null) { + List titles = psychologistTitleRelationDao.selectTitles(dto.getPsychologistId()); + data.setTitle(titles.size() == 0 ? new ArrayList<>() : titles); + } return data; } @@ -172,7 +174,7 @@ public class PsychologistServiceImpl extends BaseServiceImpl data = psychologyQuestionDao.listUserQuestion(dto); data.forEach(item -> { List list = psychologyAnswerDao.listUserQuestion(item.getId()); - item.setAnswerList(list == null ? new ArrayList<>() : ConvertUtils.sourceToTarget(list, PsychologyAnswerUserInfoResultDTO.class)); + item.setAnswerList(list.size() == 0 ? new ArrayList<>() : ConvertUtils.sourceToTarget(list, PsychologyAnswerUserInfoResultDTO.class)); }); return data; @@ -185,7 +187,7 @@ public class PsychologistServiceImpl extends BaseServiceImpl data = psychologyQuestionDao.listAllQuestion(dto); data.forEach(item -> { List list = psychologyAnswerDao.listAllQuestion(item.getId()); - item.setAnswerList(list == null ? new ArrayList<>() : ConvertUtils.sourceToTarget(list, PsychologyAnswerInfoResultDTO.class)); + item.setAnswerList(list.size() == 0 ? new ArrayList<>() : ConvertUtils.sourceToTarget(list, PsychologyAnswerInfoResultDTO.class)); }); return data; @@ -201,14 +203,14 @@ public class PsychologistServiceImpl extends BaseServiceImpl listMyQuestion(PsychologyAnswerFormDTO dto) { - List questionIds = psychologyAnswerDao.listMyQuestion(dto.getUserId()).stream().map(PsychologyAnswerEntity::getId).collect(Collectors.toList()); + List questionIds = psychologyAnswerDao.listMyQuestion(dto.getUserId()).stream().map(PsychologyAnswerEntity::getQuestionId).collect(Collectors.toList()); dto.setQuestionIds(questionIds); // sql limit条件转换 dto.setPageIndex((dto.getPageIndex() - 1) * dto.getPageSize()); List data = psychologyQuestionDao.listMyQuestion(dto); data.forEach(item -> { List list = psychologyAnswerDao.listUserQuestion(item.getId()); - item.setAnswerList(list == null ? new ArrayList<>() : ConvertUtils.sourceToTarget(list, PsychologyAnswerUserInfoResultDTO.class)); + item.setAnswerList(list.size() == 0 ? new ArrayList<>() : ConvertUtils.sourceToTarget(list, PsychologyAnswerUserInfoResultDTO.class)); }); return data; diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/impl/PsychologyAnswerServiceImpl.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/impl/PsychologyAnswerServiceImpl.java index bac9727..ff24f58 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/impl/PsychologyAnswerServiceImpl.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/psychology/service/impl/PsychologyAnswerServiceImpl.java @@ -21,10 +21,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.dto.psychology.PsychologyAnswerDTO; +import com.elink.esua.epdc.dto.psychology.form.PsychologySubmitAnswerFormDTO; +import com.elink.esua.epdc.modules.psychology.dao.PsychologistDao; import com.elink.esua.epdc.modules.psychology.dao.PsychologyAnswerDao; +import com.elink.esua.epdc.modules.psychology.dao.PsychologyQuestionDao; +import com.elink.esua.epdc.modules.psychology.entity.PsychologistEntity; import com.elink.esua.epdc.modules.psychology.entity.PsychologyAnswerEntity; import com.elink.esua.epdc.modules.psychology.redis.PsychologyAnswerRedis; import com.elink.esua.epdc.modules.psychology.service.PsychologyAnswerService; @@ -33,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -49,6 +55,12 @@ public class PsychologyAnswerServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -65,8 +77,8 @@ public class PsychologyAnswerServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -87,6 +99,22 @@ public class PsychologyAnswerServiceImpl extends BaseServiceImpl - AND USER_ID = #{userId} + + LIMIT 4 @@ -79,4 +79,14 @@ DEL_FLAG = '0' AND ID = #{psychologistId} + + \ No newline at end of file diff --git a/epdc-cloud-property/src/main/resources/mapper/psychology/PsychologyQuestionDao.xml b/epdc-cloud-property/src/main/resources/mapper/psychology/PsychologyQuestionDao.xml index 36be46e..3887db0 100644 --- a/epdc-cloud-property/src/main/resources/mapper/psychology/PsychologyQuestionDao.xml +++ b/epdc-cloud-property/src/main/resources/mapper/psychology/PsychologyQuestionDao.xml @@ -88,4 +88,14 @@ CREATED_TIME DESC LIMIT #{pageIndex}, #{pageSize}; + + + UPDATE epdc_psychology_question + SET UPDATED_BY = #{userId}, + UPDATED_TIME = now(), + ANSWER_NUM = ANSWER_NUM + 1 + WHERE + DEL_FLAG = '0' + AND ID = #{questionId} + \ No newline at end of file