123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package com.diagbot.facade;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.diagbot.client.UserServiceClient;
- import com.diagbot.dto.GetConceptDetailListDTO;
- import com.diagbot.dto.ConceptDetailDTO;
- import com.diagbot.dto.ConceptIndexDTO;
- import com.diagbot.dto.RespDTO;
- import com.diagbot.entity.ConceptDetail;
- import com.diagbot.enums.IsDeleteEnum;
- import com.diagbot.enums.LexiconTypeEnum;
- import com.diagbot.exception.CommonErrorCode;
- import com.diagbot.exception.CommonException;
- import com.diagbot.service.ConceptDetailService;
- import com.diagbot.service.impl.ConceptDetailServiceImpl;
- import com.diagbot.util.DateUtil;
- import com.diagbot.util.ListUtil;
- import com.diagbot.util.UserUtils;
- import com.diagbot.vo.AddConceptDetailVO;
- import com.diagbot.vo.GetConceptDetailListVO;
- import com.diagbot.vo.GetConceptDetailVO;
- import com.diagbot.vo.ConceptIndexVO;
- import com.diagbot.vo.RemoveConceptDetailVO;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.stereotype.Component;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- /**
- * @Description: 术语基本信息查询业务层
- * @author: Weixuan Huang
- * @time: 2019/1/16 14:17
- */
- @Component
- public class ConceptDetailFacade extends ConceptDetailServiceImpl {
- @Autowired
- private UserServiceClient userServiceClient;
- @Autowired
- @Qualifier("conceptDetailServiceImpl")
- private ConceptDetailService conceptDetailService;
- /**
- * 获取医学术语命名列表
- *
- * @param getConceptDetailListVO
- * @return
- */
- public IPage<GetConceptDetailListDTO> getListFac(GetConceptDetailListVO getConceptDetailListVO) {
- IPage<GetConceptDetailListDTO> ipage = this.baseMapper.getConceptDetailList(getConceptDetailListVO);
- List<String> ids = ipage.getRecords().stream().map(i -> i.getModifier()).distinct().collect(Collectors.toList());
- if (ids.size() > 0) {
- RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
- if (respDTO == null || !CommonErrorCode.OK.getCode().equals(respDTO.code)) {
- throw new CommonException(CommonErrorCode.RPC_ERROR,
- "获取用户信息失败");
- }
- ipage.getRecords().forEach(i -> {
- i.setModifier(respDTO.data.get(i.getModifier()));
- i.setType(LexiconTypeEnum.getName(i.getTypeId().intValue()));
- i.setNameType(i.getLibName()+"("+LexiconTypeEnum.getName(i.getTypeId().intValue())+")");
- });
- }
- return ipage;
- }
- /**
- * 医学术语静态知识删除
- *
- * @param removeConceptDetailVO
- * @return
- */
- public Boolean delete(RemoveConceptDetailVO removeConceptDetailVO) {
- if (!(IsDeleteEnum.N.getKey().equals(removeConceptDetailVO.getStatus())
- || IsDeleteEnum.Y.getKey().equals(removeConceptDetailVO.getStatus()))) {
- throw new CommonException(CommonErrorCode.STATUS_IS_ERROR, "状态值错误【Y】或【N】");
- }
- String person = UserUtils.getCurrentPrincipleID();
- List<Long> ids = removeConceptDetailVO.getConceptId();
- Date now = DateUtil.now();
- this.update(new ConceptDetail(), new UpdateWrapper<ConceptDetail>()
- .in("concept_id", ids)
- .set("gmt_modified", now)
- .set("modifier", person)
- .set("is_deleted", removeConceptDetailVO.getStatus()));
- return true;
- }
- /**
- * 获取医学术语静态知识详情
- *
- * @param getConceptDetailVO
- * @return
- */
- public List<ConceptDetailDTO> getByConceptId(GetConceptDetailVO getConceptDetailVO) {
- return this.getByParam(getConceptDetailVO.getConceptId());
- }
- /**
- * 医学术语静态知识添加或者编辑
- *
- * @param addConceptDetailVOList
- * @return
- */
- public Boolean insertOrUpdate(List<AddConceptDetailVO> addConceptDetailVOList) {
- if (ListUtil.isEmpty(addConceptDetailVOList)) {
- throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
- "静态知识明细内容不能为空");
- }
- // 删除原明细信息
- Long conceptId = addConceptDetailVOList.get(0).getConceptId();
- if (conceptId != null) {
- this.remove(new QueryWrapper<ConceptDetail>()
- .eq("concept_id", conceptId));
- }
- // 新增明细信息
- String currentUser = UserUtils.getCurrentPrincipleID();
- Date now = DateUtil.now();
- List<ConceptDetail> list = new ArrayList<>();
- for (AddConceptDetailVO detailVO : addConceptDetailVOList) {
- ConceptDetail bean = new ConceptDetail();
- bean.setConceptId(detailVO.getConceptId());
- bean.setGmtModified(now);
- bean.setGmtCreate(now);
- bean.setIsDeleted(IsDeleteEnum.N.getKey());
- bean.setModifier(currentUser);
- bean.setCreator(currentUser);
- bean.setContent(detailVO.getContent());
- bean.setIsReason(detailVO.getIsReason());
- bean.setOrderNo(detailVO.getOrderNo());
- bean.setPosition(detailVO.getPosition());
- bean.setText(detailVO.getText());
- bean.setTitle(detailVO.getTitle());
- list.add(bean);
- }
- conceptDetailService.saveBatch(list);
- return true;
- }
- /**
- * 检索
- *
- * @param conceptIndexVO
- * @return
- */
- public List<ConceptIndexDTO> indexFac(ConceptIndexVO conceptIndexVO) {
- List<ConceptIndexDTO> retList = this.index(conceptIndexVO);
- retList.forEach(i->{
- i.setType(LexiconTypeEnum.getName(i.getTypeId().intValue()));
- i.setNameType(i.getName()+"("+LexiconTypeEnum.getName(i.getTypeId().intValue())+")");
- });
- return retList;
- }
- }
|