|
|
@@ -3,9 +3,7 @@ package com.fs.hisStore.service.impl;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
-import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
import cn.binarywang.wx.miniapp.api.WxMaService;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
@@ -14,9 +12,6 @@ import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.fs.common.BeanCopyUtils;
|
|
|
-import com.fs.common.OrderUtils;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.core.redis.RedisCache;
|
|
|
import com.fs.common.exception.CustomException;
|
|
|
@@ -30,13 +25,10 @@ import com.fs.company.service.ICompanyService;
|
|
|
import com.fs.core.config.WxMaConfiguration;
|
|
|
import com.fs.core.config.WxPayProperties;
|
|
|
import com.fs.core.utils.OrderCodeUtils;
|
|
|
-import com.fs.course.mapper.FsUserCompanyUserMapper;
|
|
|
import com.fs.course.param.CollectionInfoConfirmParam;
|
|
|
import com.fs.course.vo.FsUserInfoCollectionUVO;
|
|
|
import com.fs.doctor.domain.DoctorMsg;
|
|
|
import com.fs.doctor.mapper.DoctorMsgMapper;
|
|
|
-import com.fs.erp.dto.ErpRefundUpdateRequest;
|
|
|
-import com.fs.erp.service.IErpOrderService;
|
|
|
import com.fs.his.config.FsSysConfig;
|
|
|
import com.fs.his.domain.*;
|
|
|
import com.fs.his.enums.CollectionTaskStatusEnum;
|
|
|
@@ -44,15 +36,16 @@ import com.fs.his.enums.FsStoreOrderLogEnum;
|
|
|
import com.fs.his.enums.FsStoreOrderStatusEnum;
|
|
|
import com.fs.his.enums.PrescriptionTaskStepEnum;
|
|
|
import com.fs.his.mapper.*;
|
|
|
-import com.fs.his.param.FsPrescribeParam;
|
|
|
import com.fs.his.service.*;
|
|
|
import com.fs.his.utils.ConfigUtil;
|
|
|
import com.fs.his.vo.AnswerVO;
|
|
|
import com.fs.his.vo.FsQuestionAndAnswerVO;
|
|
|
+import com.fs.hisStore.dto.FsUserInformationCollectionOverviewDTO;
|
|
|
import com.fs.hisStore.param.FsUserInformationCollectionListDParam;
|
|
|
import com.fs.hisStore.param.FsUserInformationCollectionParam;
|
|
|
import com.fs.hisStore.vo.FsUserInformationCollectionListDVO;
|
|
|
import com.fs.hisStore.vo.FsUserInformationCollectionVO;
|
|
|
+import com.fs.hisStore.vo.FsUserInformationCollectionOverviewVo;
|
|
|
import com.fs.huifuPay.domain.HuiFuRefundResult;
|
|
|
import com.fs.huifuPay.domain.HuifuConfirmrefundResult;
|
|
|
import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentDelaytransConfirmrefundRequest;
|
|
|
@@ -83,12 +76,10 @@ import com.google.common.collect.Lists;
|
|
|
import com.google.gson.Gson;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
-import org.jetbrains.annotations.NotNull;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.fs.hisStore.mapper.FsUserInformationCollectionMapper;
|
|
|
import com.fs.hisStore.domain.FsUserInformationCollection;
|
|
|
@@ -1189,6 +1180,78 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
return R.error("添加信息采集失败");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<FsUserInformationCollectionOverviewVo> selectUserInformationCollectionOverviewByPage(FsUserInformationCollectionOverviewDTO queryDto) {
|
|
|
+ queryDto.setQuestionId(10L); // 问答模板为信息采集表类型
|
|
|
+ List<FsUserInformationCollectionOverviewVo> resultList = fsUserInformationCollectionMapper.selectUserInformationCollectionOverviewByPage(queryDto);
|
|
|
+ if (CollectionUtils.isEmpty(resultList)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<FsUserInformationCollectionOverviewVo> selectExportUserInfoCollectionList(FsUserInformationCollectionOverviewDTO queryDto) {
|
|
|
+ try {
|
|
|
+ List<FsUserInformationCollectionOverviewVo> resultList = this.selectUserInformationCollectionOverviewByPage(queryDto);
|
|
|
+ if (CollectionUtils.isEmpty(resultList)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 收集用户id查询用户处方列表
|
|
|
+ List<Long> userIds = resultList.stream()
|
|
|
+ .filter(vo -> vo.getUserId() != null)
|
|
|
+ .map(FsUserInformationCollectionOverviewVo::getUserId)
|
|
|
+ .distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (userIds.isEmpty()) {
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<FsPrescribe> fsPrescribes = prescribeService.selectFsPrescribeListByUserIds(userIds);
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(fsPrescribes)) {
|
|
|
+ for (FsUserInformationCollectionOverviewVo vo : resultList) {
|
|
|
+ vo.setPrescribeImgUrl(Collections.emptyList());
|
|
|
+ }
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 转成map<userId,List<FsPrescribe>>
|
|
|
+ Map<Long, List<FsPrescribe>> userIdPrescribeMap = fsPrescribes.stream()
|
|
|
+ .filter(prescribe -> prescribe.getUserId() != null)
|
|
|
+ .collect(Collectors.groupingBy(FsPrescribe::getUserId));
|
|
|
+
|
|
|
+ // 遍历resultList赋值处方图片列表
|
|
|
+ for (FsUserInformationCollectionOverviewVo vo : resultList) {
|
|
|
+ if (vo.getUserId() != null) {
|
|
|
+ List<FsPrescribe> userPrescribes = userIdPrescribeMap.get(vo.getUserId());
|
|
|
+ if (userPrescribes != null && !userPrescribes.isEmpty()) {
|
|
|
+ List<String> imgUrlList = userPrescribes.stream()
|
|
|
+ .filter(prescribe -> prescribe.getPrescribeImgUrl() != null)
|
|
|
+ .map(FsPrescribe::getPrescribeImgUrl)
|
|
|
+ .filter(url -> !url.trim().isEmpty())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 使用setPrescribeImgUrl方法,会自动设置prescribeImgUrlString
|
|
|
+ vo.setPrescribeImgUrl(imgUrlList);
|
|
|
+ } else {
|
|
|
+ vo.setPrescribeImgUrl(Collections.emptyList());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ vo.setPrescribeImgUrl(Collections.emptyList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return resultList;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("导出用户信息采集列表时发生错误", e);
|
|
|
+ // 返回基本数据,不包含处方图片信息
|
|
|
+ return this.selectUserInformationCollectionOverviewByPage(queryDto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private List<AnswerVO> getAnswerVOs(List<AnswerVO> target,List<AnswerVO> source) {
|
|
|
target.addAll(source);
|
|
|
return target.stream()
|