ConceptFacade.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.diagbot.facade;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.diagbot.dto.ConceptBaseDTO;
  4. import com.diagbot.dto.ConceptWithOrderRes;
  5. import com.diagbot.entity.Concept;
  6. import com.diagbot.entity.Lexicon;
  7. import com.diagbot.entity.wrapper.ConceptWrapper;
  8. import com.diagbot.enums.IsDeleteEnum;
  9. import com.diagbot.enums.QuestionTypeEnum;
  10. import com.diagbot.exception.CommonErrorCode;
  11. import com.diagbot.exception.CommonException;
  12. import com.diagbot.service.impl.ConceptServiceImpl;
  13. import com.diagbot.vo.ConceptBaseVO;
  14. import com.diagbot.vo.ConceptUsualVO;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Component;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. /**
  20. * @Description:
  21. * @Author:zhaops
  22. * @time: 2019/5/6 15:04
  23. */
  24. @Component
  25. public class ConceptFacade extends ConceptServiceImpl {
  26. @Autowired
  27. LexiconFacade lexiconFacade;
  28. /**
  29. * 验证存在并且获取概念基本信息
  30. *
  31. * @param conceptBaseVO 概念名称和类型
  32. * @return 概念基本信息
  33. */
  34. public Concept exist(ConceptBaseVO conceptBaseVO) {
  35. QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
  36. conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
  37. .eq("lib_name", conceptBaseVO.getName())
  38. .eq("lib_type", conceptBaseVO.getLibType());
  39. Concept concept = this.getOne(conceptQueryWrapper);
  40. if (concept == null) {
  41. throw new CommonException(CommonErrorCode.NOT_EXISTS, "概念不存在");
  42. }
  43. return concept;
  44. }
  45. /**
  46. * 获取常用标签
  47. *
  48. * @param conceptUsualVO
  49. * @return
  50. */
  51. public List<ConceptBaseDTO> getConceptUsual(ConceptUsualVO conceptUsualVO){
  52. //将标签类型转换成类型id
  53. QueryWrapper<Lexicon> lexiconQueryWrapper = new QueryWrapper<>();
  54. lexiconQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
  55. .eq("name",QuestionTypeEnum.getName(conceptUsualVO.getType()));
  56. Lexicon lexicon = lexiconFacade.getOne(lexiconQueryWrapper);
  57. //获取标签内容
  58. ConceptWrapper conceptWrapper = new ConceptWrapper();
  59. conceptWrapper.setEndAge(conceptUsualVO.getAge());//年龄
  60. conceptWrapper.setStartId(conceptUsualVO.getDeptId());//科室概念id
  61. conceptWrapper.setEndSex(conceptUsualVO.getSexType());//性别
  62. conceptWrapper.setEndType(Integer.parseInt(lexicon.getId().toString()));//标签类型
  63. List<ConceptWithOrderRes> concepts = this.getConceptWithOrder(conceptWrapper);
  64. List<ConceptBaseDTO> list = new ArrayList();
  65. //封装
  66. ConceptBaseDTO conceptBaseDTO = new ConceptBaseDTO();
  67. for (ConceptWithOrderRes conceptWithOrderRes: concepts) {
  68. conceptBaseDTO = new ConceptBaseDTO();
  69. conceptBaseDTO.setConceptId(conceptWithOrderRes.getEndId());
  70. conceptBaseDTO.setName(conceptWithOrderRes.getEndName());
  71. list.add(conceptBaseDTO);
  72. }
  73. return list;
  74. }
  75. }