|
@@ -2,31 +2,55 @@ package com.diagbot.facade;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.diagbot.dto.GetInquiryDetailDTO;
|
|
|
+import com.diagbot.dto.HistoryInquiryDTO;
|
|
|
import com.diagbot.dto.InquiryDTO;
|
|
|
import com.diagbot.dto.InquiryPatDTO;
|
|
|
+import com.diagbot.dto.SaveInquiryDTO;
|
|
|
+import com.diagbot.entity.Client;
|
|
|
import com.diagbot.entity.InquiryDetail;
|
|
|
import com.diagbot.entity.InquiryInfo;
|
|
|
+import com.diagbot.entity.JSONResponseBean;
|
|
|
+import com.diagbot.entity.Option;
|
|
|
+import com.diagbot.entity.Request;
|
|
|
+import com.diagbot.entity.Response;
|
|
|
import com.diagbot.enums.IdTypeEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.exception.CommonErrorCode;
|
|
|
+import com.diagbot.exception.CommonException;
|
|
|
+import com.diagbot.idc.VisibleIdCreater;
|
|
|
import com.diagbot.service.impl.InquiryDetailServiceImpl;
|
|
|
import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.EntityUtil;
|
|
|
+import com.diagbot.util.FastJsonUtils;
|
|
|
+import com.diagbot.util.GsonUtil;
|
|
|
import com.diagbot.util.HttpUtils;
|
|
|
import com.diagbot.util.IdCard;
|
|
|
-import com.diagbot.util.IntegerUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
+import com.diagbot.vo.HistoryInquiryVO;
|
|
|
import com.diagbot.vo.HospitalVO;
|
|
|
import com.diagbot.vo.InquiryDetailVO;
|
|
|
+import com.diagbot.vo.InquiryMechVO;
|
|
|
import com.diagbot.vo.InquiryPatInquiryVO;
|
|
|
import com.diagbot.vo.InquiryPatVO;
|
|
|
+import com.diagbot.vo.SaveInquiryDetailVO;
|
|
|
import com.diagbot.vo.SaveInquiryVO;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description:
|
|
@@ -34,6 +58,7 @@ import java.util.List;
|
|
|
* @time: 2020/2/1 23:33
|
|
|
*/
|
|
|
@Component
|
|
|
+@Slf4j
|
|
|
public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
|
|
|
|
|
@@ -46,10 +71,26 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
@Qualifier("inquiryDetailServiceImpl")
|
|
|
private InquiryDetailServiceImpl inquiryDetailService;
|
|
|
|
|
|
- public void saveInquiry(SaveInquiryVO saveInquiryVO) {
|
|
|
+ @Autowired
|
|
|
+ private VisibleIdCreater visibleIdCreater;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysSetFacade sysSetFacade;
|
|
|
+
|
|
|
+ @Value("${nali.apiUrl}")
|
|
|
+ private String apiUrl;
|
|
|
+ @Value("${nali.appKey}")
|
|
|
+ private String appKey;
|
|
|
+ @Value("${nali.appSecret}")
|
|
|
+ private String appSecret;
|
|
|
+
|
|
|
+ public SaveInquiryDTO saveInquiry(SaveInquiryVO saveInquiryVO) {
|
|
|
if (StringUtil.isBlank(saveInquiryVO.getHospitalCode())) {
|
|
|
saveInquiryVO.setHospitalCode("朗通通用");
|
|
|
}
|
|
|
+
|
|
|
+ SaveInquiryDTO saveInquiryDTO = new SaveInquiryDTO();
|
|
|
+
|
|
|
Date now = DateUtil.now();
|
|
|
InquiryInfo inquiryInfo = null;
|
|
|
// 如果是身份证,获取性别和年龄
|
|
@@ -61,20 +102,22 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
saveInquiryVO.setPatSex(IdCard.getGenderByIdCard(idNum));
|
|
|
}
|
|
|
}
|
|
|
- if (StringUtil.isNotBlank(saveInquiryVO.getHospitalCode())
|
|
|
+ /*if (StringUtil.isNotBlank(saveInquiryVO.getHospitalCode())
|
|
|
&& StringUtil.isNotBlank(saveInquiryVO.getPatName())
|
|
|
&& !IntegerUtil.isNull(saveInquiryVO.getIdType())
|
|
|
&& StringUtil.isNotBlank(saveInquiryVO.getIdNum())) {
|
|
|
- String dateStr = DateUtil.formatDate(now);
|
|
|
- inquiryInfo = this.getOne(new QueryWrapper<InquiryInfo>()
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("hospital_code", saveInquiryVO.getHospitalCode())
|
|
|
- .eq("pat_name", saveInquiryVO.getPatName())
|
|
|
- .eq("id_type", saveInquiryVO.getIdType())
|
|
|
- .eq("id_num", saveInquiryVO.getIdNum())
|
|
|
- .apply("date_format(gmt_modified, '%Y-%m-%d')={0}", dateStr), false
|
|
|
- );
|
|
|
- }
|
|
|
+ if (sysSetFacade.isCover(saveInquiryVO.getHospitalCode())) {
|
|
|
+ String dateStr = DateUtil.formatDate(now);
|
|
|
+ inquiryInfo = this.getOne(new QueryWrapper<InquiryInfo>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("hospital_code", saveInquiryVO.getHospitalCode())
|
|
|
+ .eq("pat_name", saveInquiryVO.getPatName())
|
|
|
+ .eq("id_type", saveInquiryVO.getIdType())
|
|
|
+ .eq("id_num", saveInquiryVO.getIdNum())
|
|
|
+ .apply("date_format(gmt_modified, '%Y-%m-%d')={0}", dateStr), false
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }*/
|
|
|
|
|
|
if (inquiryInfo == null) {
|
|
|
inquiryInfo = new InquiryInfo();
|
|
@@ -90,11 +133,16 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getPhone()), "phone", saveInquiryVO.getPhone())
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getPersonnel()), "personnel", saveInquiryVO.getPersonnel())
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyPoint()), "anxiety_point", saveInquiryVO.getAnxietyPoint())
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyRange()), "anxiety_range", saveInquiryVO.getAnxietyRange())
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyJudge()), "anxiety_judge", saveInquiryVO.getAnxietyJudge())
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyAdvise()), "anxiety_advise", saveInquiryVO.getAnxietyAdvise())
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getDepressionPoint()), "depression_point", saveInquiryVO.getDepressionPoint())
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getDepressionRange()), "depression_range", saveInquiryVO.getDepressionRange())
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getDepressionJudge()), "depression_judge", saveInquiryVO.getDepressionJudge())
|
|
|
.set(StringUtil.isNotBlank(saveInquiryVO.getDepressionAdvise()), "depression_advise", saveInquiryVO.getDepressionAdvise())
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getMachineId()), "machine_id", saveInquiryVO.getMachineId())
|
|
|
+ .set("mpi_id", saveInquiryVO.getMpiId())
|
|
|
+ .set("app_id", saveInquiryVO.getAppId())
|
|
|
.eq("id", inquiryInfo.getId())
|
|
|
);
|
|
|
// 删除原明细
|
|
@@ -106,18 +154,39 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
);
|
|
|
}
|
|
|
Long id = inquiryInfo.getId();
|
|
|
- List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryVO.getDetailList(), InquiryDetail.class);
|
|
|
- inquiryDetailList.forEach(i -> {
|
|
|
- i.setInquiryId(id);
|
|
|
- i.setGmtCreate(now);
|
|
|
- i.setGmtModified(now);
|
|
|
- });
|
|
|
+ saveInquiryVO.setInquiryId(id);
|
|
|
+ List<InquiryDetail> inquiryDetailList = Lists.newArrayList();
|
|
|
+ for (SaveInquiryDetailVO saveInquiryDetailVO : saveInquiryVO.getDetailList()) {
|
|
|
+ InquiryDetail inquiryDetail = new InquiryDetail();
|
|
|
+ BeanUtil.copyProperties(saveInquiryDetailVO, inquiryDetail);
|
|
|
+ inquiryDetail.setInquiryId(id);
|
|
|
+ inquiryDetail.setGmtCreate(now);
|
|
|
+ inquiryDetail.setGmtModified(now);
|
|
|
+ if (ListUtil.isNotEmpty(saveInquiryDetailVO.getOptions())) {
|
|
|
+ inquiryDetail.setRemark(GsonUtil.toJson(saveInquiryDetailVO.getOptions()));
|
|
|
+ }
|
|
|
+ inquiryDetailList.add(inquiryDetail);
|
|
|
+ }
|
|
|
inquiryDetailService.saveBatch(inquiryDetailList);
|
|
|
|
|
|
HospitalVO hospitalVO = new HospitalVO();
|
|
|
hospitalVO.setHospitalCode(saveInquiryVO.getHospitalCode());
|
|
|
// 保存记录表
|
|
|
optInfoFacade.saveOptOnfo(hospitalVO, "2");
|
|
|
+
|
|
|
+ //邵逸夫医院 心理测试 对接纳里时,返回url
|
|
|
+ if (saveInquiryVO.getHospitalCode().equals("邵逸夫医院")
|
|
|
+ && saveInquiryVO.getFrom().equals("5")
|
|
|
+ && saveInquiryVO.getDest().equals("1")) {
|
|
|
+ List<String> naliRetList = getUrl(saveInquiryVO);
|
|
|
+ String retUrl = naliRetList.get(0);
|
|
|
+ saveInquiryDTO.setBody(retUrl);
|
|
|
+ saveInquiryDTO.setResponse(naliRetList.get(1));
|
|
|
+ saveInquiryDTO.setRequest(naliRetList.get(2));
|
|
|
+ saveInquiryDTO.setRequestBodys(naliRetList.get(3));
|
|
|
+ }
|
|
|
+
|
|
|
+ return saveInquiryDTO;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -125,18 +194,255 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
return this.getPatList(inquiryPatVO);
|
|
|
}
|
|
|
|
|
|
+ public String getMachineId() {
|
|
|
+ return visibleIdCreater.getNextId(6).toString();
|
|
|
+ }
|
|
|
+
|
|
|
public List<InquiryDTO> getPatInquiryFac(InquiryPatInquiryVO inquiryPatInquiryVO) {
|
|
|
return this.getPatInquiryList(inquiryPatInquiryVO);
|
|
|
}
|
|
|
|
|
|
- public List<InquiryDetail> getDetail(InquiryDetailVO inquiryDetailVO) {
|
|
|
+ public List<InquiryDTO> getInquirysByMech(InquiryMechVO inquiryMechVO) {
|
|
|
+ return this.getInquirysByMechId(inquiryMechVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<GetInquiryDetailDTO> getDetail(InquiryDetailVO inquiryDetailVO) {
|
|
|
List<InquiryDetail> list = inquiryDetailFacade.list(new QueryWrapper<InquiryDetail>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.eq("inquiry_id", inquiryDetailVO.getId())
|
|
|
.orderByAsc("id")
|
|
|
);
|
|
|
- return list;
|
|
|
+
|
|
|
+ List<GetInquiryDetailDTO> resList = new ArrayList<>();
|
|
|
+ if (ListUtil.isNotEmpty(list)) {
|
|
|
+ for (InquiryDetail inquiryDetail : list) {
|
|
|
+ GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
|
+ BeanUtil.copyProperties(inquiryDetail, getInquiryDetailDTO);
|
|
|
+ if (StringUtil.isNotBlank(inquiryDetail.getRemark())) {
|
|
|
+ getInquiryDetailDTO.setOptions(GsonUtil.toList(inquiryDetail.getRemark(), Option.class));
|
|
|
+ }
|
|
|
+ resList.add(getInquiryDetailDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return resList;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 历史记录
|
|
|
+ *
|
|
|
+ * @param historyInquiryVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<HistoryInquiryDTO> getHistoryInquiry(HistoryInquiryVO historyInquiryVO) {
|
|
|
+ //入参验证
|
|
|
+ if (null == historyInquiryVO) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入获取历史记录的参数!");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtil.isBlank(historyInquiryVO.getHospitalCode())) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入医院名称!");
|
|
|
+ }
|
|
|
|
|
|
+ if (StringUtil.isBlank(historyInquiryVO.getMachineId())) {
|
|
|
+ if (StringUtil.isBlank(historyInquiryVO.getPatName()) || StringUtil.isBlank(historyInquiryVO.getIdNum())) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入机器ID或者同时输入证件号码和对应的姓名!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //业务获取
|
|
|
+ List<HistoryInquiryDTO> historyInquiryDTOList = Lists.newLinkedList();
|
|
|
+ QueryWrapper<InquiryInfo> inquiryInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ inquiryInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("hospital_code", historyInquiryVO.getHospitalCode())
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getPatName()), "pat_name", historyInquiryVO.getPatName())
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getIdNum()), "id_num", historyInquiryVO.getIdNum())
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getMachineId()), "machine_id", historyInquiryVO.getMachineId())
|
|
|
+ .orderByDesc("gmt_modified");
|
|
|
+ List<InquiryInfo> inquiryInfoList = this.list(inquiryInfoQueryWrapper);
|
|
|
+ if (ListUtil.isNotEmpty(inquiryInfoList)) {
|
|
|
+ if (sysSetFacade.isCover(historyInquiryVO.getHospitalCode())) {
|
|
|
+ List<String> keys = ListUtil.newArrayList();
|
|
|
+ for (int i = 0; i < inquiryInfoList.size(); i++) {
|
|
|
+ InquiryInfo myInquiryInfo = inquiryInfoList.get(i);
|
|
|
+ if (StringUtil.isNotBlank(myInquiryInfo.getPatName())
|
|
|
+ && StringUtil.isNotBlank(myInquiryInfo.getIdNum())
|
|
|
+ && (0 != myInquiryInfo.getIdType())) {
|
|
|
+ String key = myInquiryInfo.getIdType() + "_" + myInquiryInfo.getIdNum()
|
|
|
+ + "_" + myInquiryInfo.getPatName()
|
|
|
+ + "_" + DateUtil.format(myInquiryInfo.getGmtModified(), DateUtil.DATE_FORMAT);
|
|
|
+ if (keys.contains(key)) {
|
|
|
+ inquiryInfoList.remove(i--);
|
|
|
+ } else {
|
|
|
+ keys.add(key);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /* List<HistoryInquiryDTO> historyInquiryDTOList = Lists.newLinkedList();
|
|
|
+ QueryWrapper<InquiryInfo> inquiryInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ //配置了覆盖项时
|
|
|
+ if (sysSetFacade.isCover(historyInquiryVO.getHospitalCode())) {
|
|
|
+ if (StringUtil.isNotBlank(historyInquiryVO.getMachineId())) {
|
|
|
+ inquiryInfoQueryWrapper
|
|
|
+ .eq("machine_id", historyInquiryVO.getMachineId())
|
|
|
+ .apply("gmt_modified IN (\n" +
|
|
|
+ "\t\tSELECT\n" +
|
|
|
+ "\t\t\tmax(aa.gmt_modified) AS max_gmt_modified\n" +
|
|
|
+ "\t\tFROM\n" +
|
|
|
+ "\t\t\t(\n" +
|
|
|
+ "\t\t\t\tSELECT\n" +
|
|
|
+ "\t\t\t\t\tDATE(a.gmt_modified) datetemp,\n" +
|
|
|
+ "\t\t\t\t\ta.gmt_modified,\n" +
|
|
|
+ "\t\t\t\t\ta.machine_id\n" +
|
|
|
+ "\t\t\t\tFROM\n" +
|
|
|
+ "\t\t\t\t\txlcs_inquiry_info a\n" +
|
|
|
+ "\t\t\t\tWHERE\n" +
|
|
|
+ "\t\t\t\t\ta.is_deleted = 'N'\n" +
|
|
|
+ "\t\t\t\t\tAND a.machine_id = {0}\n" +
|
|
|
+ "\t\t\t\t\tAND a.hospital_code = {1}\n" +
|
|
|
+ "\t\t\t) aa\n" +
|
|
|
+ "\t\tGROUP BY\n" +
|
|
|
+ "\t\t\taa.datetemp,\n" +
|
|
|
+ "\t\t\taa.machine_id\n" +
|
|
|
+ "\t)", historyInquiryVO.getMachineId(), historyInquiryVO.getHospitalCode());
|
|
|
+
|
|
|
+ } else if (StringUtil.isNotBlank(historyInquiryVO.getPatName()) && StringUtil.isNotBlank(historyInquiryVO.getIdNum())) {
|
|
|
+ inquiryInfoQueryWrapper
|
|
|
+ .eq("pat_name", historyInquiryVO.getPatName())
|
|
|
+ .eq("id_num", historyInquiryVO.getIdNum())
|
|
|
+ .apply("gmt_modified IN (\n" +
|
|
|
+ "\t\tSELECT\n" +
|
|
|
+ "\t\t\tmax(aa.gmt_modified) AS max_gmt_modified\n" +
|
|
|
+ "\t\tFROM\n" +
|
|
|
+ "\t\t\t(\n" +
|
|
|
+ "\t\t\t\tSELECT\n" +
|
|
|
+ "\t\t\t\t\tDATE(gmt_modified) datetemp,\n" +
|
|
|
+ "\t\t\t\t\ta.gmt_modified,\n" +
|
|
|
+ "\t\t\t\t\ta.pat_name,\n" +
|
|
|
+ "\t\t\t\t\ta.id_num\n" +
|
|
|
+ "\t\t\t\tFROM\n" +
|
|
|
+ "\t\t\t\t\txlcs_inquiry_info a\n" +
|
|
|
+ "\t\t\t\tWHERE\n" +
|
|
|
+ "\t\t\t\t\ta.is_deleted = 'N'\n" +
|
|
|
+ "\t\t\t\tAND a.pat_name = {0}\n" +
|
|
|
+ "\t\t\t\tAND a.id_num = {1}\n" +
|
|
|
+ "\t\t\t\t\tAND a.hospital_code = {2}\n" +
|
|
|
+ "\t\t\t) aa\n" +
|
|
|
+ "\t\tGROUP BY\n" +
|
|
|
+ "\t\t\taa.datetemp,\n" +
|
|
|
+ "\t\t\taa.pat_name,\n" +
|
|
|
+ "\t\t\taa.id_num\n" +
|
|
|
+ "\t)", historyInquiryVO.getPatName(), historyInquiryVO.getIdNum(), historyInquiryVO.getHospitalCode());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ inquiryInfoQueryWrapper
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getPatName()), "pat_name", historyInquiryVO.getPatName())
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getIdNum()), "id_num", historyInquiryVO.getIdNum())
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getMachineId()), "machine_id", historyInquiryVO.getMachineId());
|
|
|
+ }
|
|
|
+ inquiryInfoQueryWrapper
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("hospital_code", historyInquiryVO.getHospitalCode())
|
|
|
+ .orderByDesc("gmt_modified");
|
|
|
+ List<InquiryInfo> inquiryInfoList = this.list(inquiryInfoQueryWrapper);*/
|
|
|
+ if (ListUtil.isNotEmpty(inquiryInfoList)) {
|
|
|
+ List<Long> inquiryIdList = inquiryInfoList.stream().map(i -> i.getId()).collect(Collectors.toList());
|
|
|
+ QueryWrapper<InquiryDetail> inquiryDetailQueryWrapper = new QueryWrapper<>();
|
|
|
+ inquiryDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .in("inquiry_id", inquiryIdList)
|
|
|
+ .orderByAsc("inquiry_id", "id");
|
|
|
+ List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.list(inquiryDetailQueryWrapper);
|
|
|
+ Map<Long, List<InquiryDetail>> detailMap = EntityUtil.makeEntityListMap(inquiryDetailList, "inquiryId");
|
|
|
+ for (InquiryInfo inquiryInfo : inquiryInfoList) {
|
|
|
+ HistoryInquiryDTO historyInquiryDTO = new HistoryInquiryDTO();
|
|
|
+ BeanUtil.copyProperties(inquiryInfo, historyInquiryDTO);
|
|
|
+ List<InquiryDetail> details = detailMap.get(inquiryInfo.getId());
|
|
|
+ List<GetInquiryDetailDTO> getInquiryDetailDTOList = Lists.newLinkedList();
|
|
|
+ if (ListUtil.isNotEmpty(details)) {
|
|
|
+ for (InquiryDetail inquiryDetail : details) {
|
|
|
+ GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
|
+ BeanUtil.copyProperties(inquiryDetail, getInquiryDetailDTO);
|
|
|
+ if (StringUtil.isNotBlank(inquiryDetail.getRemark())) {
|
|
|
+ getInquiryDetailDTO.setOptions(GsonUtil.toList(inquiryDetail.getRemark(), Option.class));
|
|
|
+ }
|
|
|
+ getInquiryDetailDTOList.add(getInquiryDetailDTO);
|
|
|
+ }
|
|
|
+ historyInquiryDTO.setDetailList(getInquiryDetailDTOList);
|
|
|
+ }
|
|
|
+ historyInquiryDTOList.add(historyInquiryDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return historyInquiryDTOList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private List<String> getUrl(SaveInquiryVO saveInquiryVO) {
|
|
|
+ List<String> ret = Lists.newArrayList();
|
|
|
+ String retUrl = null;
|
|
|
+ Request request = null;
|
|
|
+ Response response = null;
|
|
|
+ try {
|
|
|
+ String encodingAesKey = "";
|
|
|
+ Client client = new Client(apiUrl, appKey, appSecret, encodingAesKey);
|
|
|
+ request = getltcs(saveInquiryVO);
|
|
|
+ response = client.execute(request);
|
|
|
+ log.info("request:" + FastJsonUtils.getBeanToJson(request));
|
|
|
+ log.info("requestBodys:" + FastJsonUtils.getBeanToJson(request.getBodys()));
|
|
|
+ log.info("response:" + FastJsonUtils.getBeanToJson(response));
|
|
|
+ if (response.isSuccess()) {
|
|
|
+ JSONResponseBean result = response.getJsonResponseBean();
|
|
|
+ retUrl = result.getBody().toString();
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ ret.add(retUrl);
|
|
|
+ ret.add(FastJsonUtils.getBeanToJson(response));
|
|
|
+ ret.add(FastJsonUtils.getBeanToJson(request));
|
|
|
+ ret.add(FastJsonUtils.getBeanToJson(request.getBodys()));
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Request getltcs(SaveInquiryVO saveInquiryVO) {
|
|
|
+ List bodyList = new ArrayList<>();
|
|
|
+
|
|
|
+ List<Map<String, Object>> details = new ArrayList<>();
|
|
|
+ saveInquiryVO.getDetailList().forEach(i -> {
|
|
|
+ Map<String, Object> detail = new HashMap<>();
|
|
|
+ detail.put("question", i.getQuestion());
|
|
|
+ detail.put("answer", i.getAnswer());
|
|
|
+ List<Map<String, Object>> optionMapList = Lists.newArrayList();
|
|
|
+ if (ListUtil.isNotEmpty(i.getOptions())) {
|
|
|
+ i.getOptions().forEach(option -> {
|
|
|
+ optionMapList.add(FastJsonUtils.getJsonToMap(FastJsonUtils.getBeanToJson(option)));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ detail.put("options", optionMapList);
|
|
|
+ details.add(detail);
|
|
|
+ });
|
|
|
+
|
|
|
+ Map<String, Object> body = new HashMap<>();
|
|
|
+ body.put("details", details);
|
|
|
+ body.put("mpiId", saveInquiryVO.getMpiId());
|
|
|
+ body.put("appId", saveInquiryVO.getAppId());
|
|
|
+ body.put("fromId", saveInquiryVO.getFrom());
|
|
|
+ body.put("sources", "langtong");
|
|
|
+ body.put("inquiryId", saveInquiryVO.getInquiryId());
|
|
|
+ body.put("anxietyPoint", saveInquiryVO.getAnxietyPoint());
|
|
|
+ body.put("anxietyRange", saveInquiryVO.getAnxietyRange());
|
|
|
+ body.put("anxietyJudge", saveInquiryVO.getAnxietyJudge());
|
|
|
+ body.put("anxietyAdvise", saveInquiryVO.getAnxietyAdvise());
|
|
|
+ body.put("depressionPoint", saveInquiryVO.getDepressionPoint());
|
|
|
+ body.put("depressionRange", saveInquiryVO.getDepressionRange());
|
|
|
+ body.put("depressionJudge", saveInquiryVO.getDepressionJudge());
|
|
|
+ body.put("depressionAdvise", saveInquiryVO.getDepressionAdvise());
|
|
|
+
|
|
|
+ bodyList.add(body);
|
|
|
+
|
|
|
+ //X-Service-Id对应的值
|
|
|
+ String serviceId = "consult.questionRecordService";
|
|
|
+ //X-Service-Method对应的值
|
|
|
+ String method = "saveQuestionRecord";
|
|
|
+ return new Request(serviceId, method, bodyList);
|
|
|
+ }
|
|
|
}
|