|
|
@@ -0,0 +1,80 @@
|
|
|
+package com.fs.hisStore.facade.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.fs.hisStore.facade.FsStore580FacadeService;
|
|
|
+import com.fs.hospital580.entity.FsStoreHospital580AnswerScrmEntity;
|
|
|
+import com.fs.hospital580.entity.FsStoreHospital580OrderChatScrmEntity;
|
|
|
+import com.fs.hospital580.entity.FsStoreHospital580PrescriptionScrmEntity;
|
|
|
+import com.fs.hospital580.service.FsStoreHospital580AnswerScrmService;
|
|
|
+import com.fs.hospital580.service.FsStoreHospital580OrderChatScrmService;
|
|
|
+import com.fs.hospital580.service.FsStoreHospital580OrderScrmService;
|
|
|
+import com.fs.hospital580.service.FsStoreHospital580PrescriptionScrmService;
|
|
|
+import com.fs.hospital580.vo.*;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+@Service("fsStore580FacadeService")
|
|
|
+public class FsStore580FacadeServiceImpl implements FsStore580FacadeService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private FsStoreHospital580PrescriptionScrmService prescriptionScrmService;
|
|
|
+ @Autowired
|
|
|
+ private FsStoreHospital580OrderScrmService orderScrmService;
|
|
|
+ @Autowired
|
|
|
+ private FsStoreHospital580AnswerScrmService answerScrmService;
|
|
|
+ @Autowired
|
|
|
+ private FsStoreHospital580OrderChatScrmService chatScrmService;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<FsStoreHospital580PrescriptionScrmEntity> list(PrescriptionAdminQueryVo vo) {
|
|
|
+ return prescriptionScrmService.list(new LambdaQueryWrapper<FsStoreHospital580PrescriptionScrmEntity>()
|
|
|
+ .like(ObjectUtil.isNotEmpty(vo.getHospitalName()), FsStoreHospital580PrescriptionScrmEntity::getHospitalName, vo.getHospitalName())
|
|
|
+ .like(ObjectUtil.isNotEmpty(vo.getStoreName()), FsStoreHospital580PrescriptionScrmEntity::getStoreName, vo.getStoreName())
|
|
|
+ .like(ObjectUtil.isNotEmpty(vo.getUserFamilyName()), FsStoreHospital580PrescriptionScrmEntity::getUserFamilyName, vo.getUserFamilyName())
|
|
|
+ .eq(ObjectUtil.isNotEmpty(vo.getUserFamilyPhone()), FsStoreHospital580PrescriptionScrmEntity::getUserFamilyPhone, vo.getUserFamilyPhone())
|
|
|
+ .eq(ObjectUtil.isNotEmpty(vo.getAuditStatus()), FsStoreHospital580PrescriptionScrmEntity::getAuditStatus, vo.getAuditStatus())
|
|
|
+ .le(ObjectUtil.isNotEmpty(vo.getEndTime()), FsStoreHospital580PrescriptionScrmEntity::getCreatedTime, vo.getEndTime())
|
|
|
+ .ge(ObjectUtil.isNotEmpty(vo.getBeginTime()), FsStoreHospital580PrescriptionScrmEntity::getCreatedTime, vo.getBeginTime()));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PrescriptionScrmVo prescriptionDetail(Long preId) {
|
|
|
+ return BeanUtil.copyProperties(prescriptionScrmService.getById(preId), PrescriptionScrmVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public OrderScrmVo orderDetail(Long preId) {
|
|
|
+ OrderScrmVo orderScrmVo = BeanUtil.copyProperties(orderScrmService.getById(prescriptionScrmService.getById(preId)), OrderScrmVo.class);
|
|
|
+ orderScrmVo.setBeforeAiDataList(answerScrmService.list(new LambdaQueryWrapper<FsStoreHospital580AnswerScrmEntity>()
|
|
|
+ .eq(FsStoreHospital580AnswerScrmEntity::getOrderId, orderScrmVo.getOrderId()))
|
|
|
+ .stream()
|
|
|
+ .filter(Objects::nonNull) // 过滤掉空对象
|
|
|
+ .map(item -> {
|
|
|
+ BeforeAiDataVo vo = new BeforeAiDataVo();
|
|
|
+ BeanUtil.copyProperties(item, vo);
|
|
|
+ vo.setTitle();
|
|
|
+ return vo;
|
|
|
+ })
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ return orderScrmVo;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<OrderChatScrmVo> chatDetail(Long preId) {
|
|
|
+ return Optional.ofNullable(chatScrmService.getOne(new LambdaQueryWrapper<FsStoreHospital580OrderChatScrmEntity>()
|
|
|
+ .eq(FsStoreHospital580OrderChatScrmEntity::getDiagnosisId, prescriptionScrmService.getById(preId).getDiagnosisId())))
|
|
|
+ .map(OrderChatScrmVo::toOrderChatScrmVo)
|
|
|
+ .orElse(Collections.emptyList());
|
|
|
+ }
|
|
|
+}
|