Преглед на файлове

fix:580医院对接 部分bug

zhangqin преди 3 седмици
родител
ревизия
89417c5e18
променени са 29 файла, в които са добавени 475 реда и са изтрити 31 реда
  1. 63 0
      fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreHospital580PrescriptionScrmController.java
  2. 20 0
      fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductScrmController.java
  3. 19 0
      fs-admin/src/main/java/com/fs/hisStore/facade/FsStore580FacadeService.java
  4. 80 0
      fs-admin/src/main/java/com/fs/hisStore/facade/impl/FsStore580FacadeServiceImpl.java
  5. 8 0
      fs-common/src/main/java/com/fs/common/core/domain/R.java
  6. 18 0
      fs-common/src/main/java/com/fs/common/core/page/PageRequest.java
  7. 4 0
      fs-common/src/main/java/com/fs/common/enums/BusinessType.java
  8. 8 0
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductScrmMapper.java
  9. 2 0
      fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductScrmService.java
  10. 5 0
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductScrmServiceImpl.java
  11. 48 0
      fs-service/src/main/java/com/fs/hospital580/entity/FsStoreHospital580OrderChatScrmEntity.java
  12. 0 4
      fs-service/src/main/java/com/fs/hospital580/entity/FsStoreHospital580OrderScrmEntity.java
  13. 18 0
      fs-service/src/main/java/com/fs/hospital580/mapper/FsStoreHospital580OrderChatScrmMapper.java
  14. 16 0
      fs-service/src/main/java/com/fs/hospital580/service/FsStoreHospital580OrderChatScrmService.java
  15. 2 2
      fs-service/src/main/java/com/fs/hospital580/service/FsStoreHospital580ScrmService.java
  16. 20 0
      fs-service/src/main/java/com/fs/hospital580/service/impl/FsStoreHospital580OrderChatScrmServiceImpl.java
  17. 10 4
      fs-service/src/main/java/com/fs/hospital580/service/impl/FsStoreHospital580ScrmServiceImpl.java
  18. 25 1
      fs-service/src/main/java/com/fs/hospital580/vo/BeforeAiDataVo.java
  19. 43 0
      fs-service/src/main/java/com/fs/hospital580/vo/OrderChatScrmVo.java
  20. 10 3
      fs-service/src/main/java/com/fs/hospital580/vo/OrderScrmVo.java
  21. 25 0
      fs-service/src/main/java/com/fs/hospital580/vo/PrescriptionAdminQueryVo.java
  22. 1 1
      fs-service/src/main/java/com/fs/hospital580/vo/PrescriptionMedicineScrmVo.java
  23. 3 5
      fs-service/src/main/java/com/fs/hospital580/vo/PrescriptionScrmVo.java
  24. 17 0
      fs-service/src/main/resources/mapper/hospital580/FsStoreHospital580OrderChatScrmMapper.xml
  25. 1 2
      fs-service/src/main/resources/mapper/hospital580/FsStoreHospital580OrderScrmMapper.xml
  26. 2 2
      fs-user-app/src/main/java/com/fs/app/controller/Hospital580CallbackController.java
  27. 2 2
      fs-user-app/src/main/java/com/fs/app/controller/Hospital580Controller.java
  28. 2 2
      fs-user-app/src/main/java/com/fs/app/facade/Hospital580FacadeService.java
  29. 3 3
      fs-user-app/src/main/java/com/fs/app/facade/impl/Hospital580FacadeServiceImpl.java

+ 63 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreHospital580PrescriptionScrmController.java

@@ -0,0 +1,63 @@
+package com.fs.hisStore.controller;
+
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.hisStore.facade.FsStore580FacadeService;
+import com.fs.hospital580.vo.PrescriptionAdminQueryVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 处方相关接口
+ */
+@Slf4j
+@RestController
+@RequestMapping("/store/prescription")
+public class FsStoreHospital580PrescriptionScrmController extends BaseController {
+    @Autowired
+    private FsStore580FacadeService facadeService;
+
+    /**
+     * 查询商品列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storePrescription:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PrescriptionAdminQueryVo vo) {
+        startPage();
+        return getDataTable(facadeService.list(vo));
+    }
+
+    /**
+     * 处方订单详情
+     */
+    @PreAuthorize("@ss.hasPermi('store:storePrescription:prescriptionDetail')")
+    @GetMapping("/prescriptionDetail/{preId}")
+    public R prescriptionDetail(@PathVariable("preId") Long preId) {
+        return R.ok(facadeService.prescriptionDetail(preId));
+    }
+
+
+    /**
+     * 获取问诊信息
+     */
+    @PreAuthorize("@ss.hasPermi('store:storePrescription:orderDetail')")
+    @GetMapping("/orderDetail/{preId}")
+    public R orderDetail(@PathVariable("preId") Long preId) {
+        return R.ok(facadeService.orderDetail(preId));
+    }
+
+    /**
+     * 获取聊天记录记录
+     */
+    @PreAuthorize("@ss.hasPermi('store:storePrescription:chatDetail')")
+    @GetMapping("/chatDetail/{preId}")
+    public R chatDetail(@PathVariable("preId") Long preId) {
+        return R.ok(facadeService.chatDetail(preId));
+    }
+}

+ 20 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductScrmController.java

@@ -8,10 +8,12 @@ import com.fs.common.core.domain.R;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.hisStore.facade.FsStore580FacadeService;
 import com.fs.hisStore.vo.FsStoreProductAttrValueVO;
 import com.fs.hisStore.vo.FsStoreProductExportVO;
 import com.fs.hisStore.vo.FsStoreProductListVO;
 import com.fs.hisStore.vo.FsStoreTuiProductAttrValueVO;
+import com.fs.hospital580.service.FsStoreHospital580ScrmService;
 import com.fs.statis.dto.ModifyMoreDTO;
 import com.fs.hisStore.domain.FsStoreProductScrm;
 import com.fs.hisStore.domain.FsStoreProductAttrScrm;
@@ -55,6 +57,11 @@ public class FsStoreProductScrmController extends BaseController
 
     @Autowired
     private IFsStoreProductAttrValueScrmService attrValueService;
+    @Autowired
+    private FsStoreHospital580ScrmService fsStoreHospital580ScrmService;
+    @Autowired
+    private FsStore580FacadeService fsStore580FacadeService;
+
 
 
     /**
@@ -209,4 +216,17 @@ public class FsStoreProductScrmController extends BaseController
         return R.ok().put("data",list);
     }
 
+
+    /**
+     * 同步商品到580商城
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProduct:sync')")
+    @Log(title = "同步商品到580医院", businessType = BusinessType.DELETE,isStoreLog = true,
+            logParamExpression ="#p0.length>1?new String[]{'商品','同步商品到580医院'}: new String[]{'商品','同步商品到580医院'}" )
+    @PostMapping("/sync580/{productIds}")
+    public R sync(@PathVariable Long[] productIds)
+    {
+        fsStoreHospital580ScrmService.SynDrugToHospital580(productIds);
+        return R.ok("同步成功");
+    }
 }

+ 19 - 0
fs-admin/src/main/java/com/fs/hisStore/facade/FsStore580FacadeService.java

@@ -0,0 +1,19 @@
+package com.fs.hisStore.facade;
+
+import com.fs.hospital580.entity.FsStoreHospital580PrescriptionScrmEntity;
+import com.fs.hospital580.vo.OrderChatScrmVo;
+import com.fs.hospital580.vo.OrderScrmVo;
+import com.fs.hospital580.vo.PrescriptionAdminQueryVo;
+import com.fs.hospital580.vo.PrescriptionScrmVo;
+
+import java.util.List;
+
+public interface FsStore580FacadeService {
+    List<FsStoreHospital580PrescriptionScrmEntity> list(PrescriptionAdminQueryVo vo);
+
+    PrescriptionScrmVo prescriptionDetail(Long preId);
+
+    OrderScrmVo orderDetail(Long preId);
+
+    List<OrderChatScrmVo> chatDetail(Long preId);
+}

+ 80 - 0
fs-admin/src/main/java/com/fs/hisStore/facade/impl/FsStore580FacadeServiceImpl.java

@@ -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());
+    }
+}

+ 8 - 0
fs-common/src/main/java/com/fs/common/core/domain/R.java

@@ -50,4 +50,12 @@ public class R extends HashMap<String, Object> {
 		super.put(key, value);
 		return this;
 	}
+
+	public static R ok(Object data) {
+		R r = new R();
+		r.put("code", 200);
+		r.put("msg", "success");
+		r.put("data", data);
+		return r;
+	}
 }

+ 18 - 0
fs-common/src/main/java/com/fs/common/core/page/PageRequest.java

@@ -0,0 +1,18 @@
+package com.fs.common.core.page;
+
+import lombok.Getter;
+import lombok.Setter;
+
+
+@Setter
+@Getter
+public class PageRequest {
+    /**
+     * 当前页
+     */
+    private int pageNum = 1;
+    /**
+     * 每页结果数
+     */
+    private int pageSize = 10;
+}

+ 4 - 0
fs-common/src/main/java/com/fs/common/enums/BusinessType.java

@@ -61,4 +61,8 @@ public enum BusinessType
      * 审核
      * */
     AUDIT,
+    /**
+     * 同步数据
+     * */
+    SYNC
 }

+ 8 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductScrmMapper.java

@@ -398,4 +398,12 @@ public interface FsStoreProductScrmMapper
             "where find_in_set(p.product_id,#{ids})  " +
             "</script>"})
     List<FsStoreProductActivityListVO> selectFsStoreProductByIdsAudit(String productIds,@Param("config") MedicalMallConfig  config);
+
+    @Select({"<script> " +
+            "SELECT * FROM fs_store_product_scrm WHERE product_id IN " +
+            "<foreach item='item' index='index' collection='productIds' open='(' separator=',' close=')'>" +
+            "#{item}" +
+            "</foreach>" +
+            "</script>"})
+    List<FsStoreProductScrm> selectProductByIds(@Param("productIds") Long[] productIds);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductScrmService.java

@@ -135,4 +135,6 @@ public interface IFsStoreProductScrmService
     FsStoreProductScrm selectFsStoreProductByIdAudit(Long productId);
 
     List<FsStoreProductActivityListVO> selectFsStoreProductByIdsAudit(String productIds);
+
+    List<FsStoreProductScrm> selectProductByIds(Long[] productIds);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductScrmServiceImpl.java

@@ -1037,4 +1037,9 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
     public List<FsStoreProductActivityListVO> selectFsStoreProductByIdsAudit(String productIds) {
         return fsStoreProductMapper.selectFsStoreProductByIdsAudit(productIds,medicalMallConfig);
     }
+
+    @Override
+    public List<FsStoreProductScrm> selectProductByIds(Long[] productIds) {
+        return fsStoreProductMapper.selectProductByIds(productIds);
+    }
 }

+ 48 - 0
fs-service/src/main/java/com/fs/hospital580/entity/FsStoreHospital580OrderChatScrmEntity.java

@@ -0,0 +1,48 @@
+package com.fs.hospital580.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 问诊单聊天记录信息
+ * </p>
+ *
+ * @author zhangqin
+ * @since 2025-09-28
+ */
+@Getter
+@Setter
+@TableName("fs_store_hospital580_order_chat_scrm")
+@ApiModel(value = "FsStoreHospital580OrderChatScrmEntity对象", description = "问诊单聊天记录信息")
+public class FsStoreHospital580OrderChatScrmEntity extends Model<FsStoreHospital580OrderChatScrmEntity> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("聊天表主键")
+    @TableId(value = "chat_id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("聊天记录信息json数组")
+    @TableField("content")
+    private String content;
+
+
+    @ApiModelProperty("问诊单id")
+    @TableField("diagnosis_id")
+    private Long diagnosisId;
+
+    @Override
+    public Serializable pkVal() {
+        return this.id;
+    }
+}

+ 0 - 4
fs-service/src/main/java/com/fs/hospital580/entity/FsStoreHospital580OrderScrmEntity.java

@@ -41,10 +41,6 @@ public class FsStoreHospital580OrderScrmEntity extends Model<FsStoreHospital580O
     @TableField("user_id")
     private Long userId;
 
-    @ApiModelProperty("门店ID")
-    @TableField("store_id")
-    private Integer storeId;
-
     @ApiModelProperty("服务类型:0-图文,1-视频")
     @TableField("service_type")
     private Byte serviceType;

+ 18 - 0
fs-service/src/main/java/com/fs/hospital580/mapper/FsStoreHospital580OrderChatScrmMapper.java

@@ -0,0 +1,18 @@
+package com.fs.hospital580.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.hospital580.entity.FsStoreHospital580OrderChatScrmEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 问诊单聊天记录信息 Mapper 接口
+ * </p>
+ *
+ * @author zhangqin
+ * @since 2025-09-28
+ */
+@Mapper
+public interface FsStoreHospital580OrderChatScrmMapper extends BaseMapper<FsStoreHospital580OrderChatScrmEntity> {
+
+}

+ 16 - 0
fs-service/src/main/java/com/fs/hospital580/service/FsStoreHospital580OrderChatScrmService.java

@@ -0,0 +1,16 @@
+package com.fs.hospital580.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.hospital580.entity.FsStoreHospital580OrderChatScrmEntity;
+
+/**
+ * <p>
+ * 问诊单聊天记录信息 服务类
+ * </p>
+ *
+ * @author zhangqin
+ * @since 2025-09-28
+ */
+public interface FsStoreHospital580OrderChatScrmService extends IService<FsStoreHospital580OrderChatScrmEntity> {
+
+}

+ 2 - 2
fs-service/src/main/java/com/fs/hospital580/service/FsStoreHospital580ScrmService.java

@@ -18,6 +18,6 @@ public interface FsStoreHospital580ScrmService extends IService<FsStoreHospital5
     /**
      * 同步药品信息到580医院
      */
-    void SynDrugToHospital580(FsStoreProductScrm productScrm);
-    void SynDrugToHospital580(List<FsStoreProductScrm> productScrms);
+    void SynDrugToHospital580(Long[] productIds);
+    // void SynDrugToHospital580(List<FsStoreProductScrm> productScrms);
 }

+ 20 - 0
fs-service/src/main/java/com/fs/hospital580/service/impl/FsStoreHospital580OrderChatScrmServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fs.hospital580.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fs.hospital580.entity.FsStoreHospital580OrderChatScrmEntity;
+import com.fs.hospital580.mapper.FsStoreHospital580OrderChatScrmMapper;
+import com.fs.hospital580.service.FsStoreHospital580OrderChatScrmService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 问诊单聊天记录信息 服务实现类
+ * </p>
+ *
+ * @author zhangqin
+ * @since 2025-09-28
+ */
+@Service
+public class FsStoreHospital580OrderChatScrmServiceImpl extends ServiceImpl<FsStoreHospital580OrderChatScrmMapper, FsStoreHospital580OrderChatScrmEntity> implements FsStoreHospital580OrderChatScrmService {
+
+}

+ 10 - 4
fs-service/src/main/java/com/fs/hospital580/service/impl/FsStoreHospital580ScrmServiceImpl.java

@@ -2,6 +2,8 @@ package com.fs.hospital580.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.hisStore.domain.FsStoreProductScrm;
+import com.fs.hisStore.service.IFsStoreProductScrmService;
+import com.fs.hisStore.vo.FsStoreProductActivityListVO;
 import com.fs.hospital580.dto.Medicine;
 import com.fs.hospital580.dto.MedicineDto;
 import com.fs.hospital580.dto.Result580;
@@ -17,6 +19,7 @@ import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -35,20 +38,23 @@ public class FsStoreHospital580ScrmServiceImpl extends ServiceImpl<FsStoreHospit
     private Hospital580Service hospital580Service;
     @Autowired
     private FsStoreHospital580ProductPushScrmService pushScrmService;
+    @Autowired
+    private IFsStoreProductScrmService fsStoreProductScrmService;
 
-    @Override
+/*    @Override
     public void SynDrugToHospital580(FsStoreProductScrm productScrm) {
         MedicineDto medicineDto = new MedicineDto();
         // 使用MapStruct自动映射
         Medicine medicine = MedicineMapper.INSTANCE.toMedicine(productScrm);
         medicineDto.setMedicineList(Arrays.asList(medicine));
         syncMedicine(medicineDto);
-    }
+    }*/
 
     @Override
-    public void SynDrugToHospital580(List<FsStoreProductScrm> productScrms) {
+    public void SynDrugToHospital580(Long[] productIds) {
+        List<FsStoreProductScrm> fsStoreProductScrms = fsStoreProductScrmService.selectProductByIds(productIds);
         MedicineDto medicineDto = new MedicineDto();
-        medicineDto.setMedicineList(convertToMedicines(productScrms));
+        medicineDto.setMedicineList(convertToMedicines(fsStoreProductScrms));
         syncMedicine(medicineDto);
     }
 

+ 25 - 1
fs-service/src/main/java/com/fs/hospital580/vo/BeforeAiDataVo.java

@@ -10,10 +10,34 @@ import lombok.Data;
 @Data
 @ApiModel("问诊答案请求对象")
 public class BeforeAiDataVo {
-    @ApiModelProperty("题目ID")
+    @ApiModelProperty("题目ID:1-症状,2-用药信息,3-是否使用过此类药物,4-药物过敏史,5-肝肾功能异常")
     private Integer subjectId;
+    @ApiModelProperty("问题")
+    private String title;
     @ApiModelProperty("题目答案")
     private String answer;
     @ApiModelProperty("存问诊用药信息选择")
     private String answerMedicine;
+
+    public void setTitle() {
+        switch (subjectId) {
+            case 1:
+                this.title = "症状";
+                break;
+            case 2:
+                this.title = "用药信息";
+                break;
+            case 3:
+                this.title = "是否使用过此类药物";
+                break;
+            case 4:
+                this.title = "药物过敏史";
+                break;
+            case 5:
+                this.title = "肝肾功能异常";
+                break;
+            default:
+                this.title = "";
+        }
+    }
 }

+ 43 - 0
fs-service/src/main/java/com/fs/hospital580/vo/OrderChatScrmVo.java

@@ -0,0 +1,43 @@
+package com.fs.hospital580.vo;
+
+import cn.hutool.json.JSONUtil;
+import com.fs.hospital580.entity.FsStoreHospital580OrderChatScrmEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+
+@Getter
+@Setter
+@ApiModel("聊天记录vo")
+public class OrderChatScrmVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("聊天表主键")
+    private Long chatId;
+
+    @ApiModelProperty("	聊天记录信息")
+    private String content;
+
+    @ApiModelProperty("目标(1是用户发送给医生,2是医生发送给用户)")
+    private Byte target;
+
+    @ApiModelProperty("类型(1是文字,2是图片,3是处方,4是诊疗详情,5是音频,12是患者信息问诊卡)")
+    private Byte type;
+
+    @ApiModelProperty("聊天时间")
+    private LocalDateTime createdTime;
+
+    @ApiModelProperty("问诊单id")
+    private Long diagnosisId;
+
+    public static List<OrderChatScrmVo> toOrderChatScrmVo(FsStoreHospital580OrderChatScrmEntity entity) {
+        return JSONUtil.parseArray(entity.getContent()).toList(OrderChatScrmVo.class);
+    }
+}

+ 10 - 3
fs-service/src/main/java/com/fs/hospital580/vo/FsStoreHospital580OrderScrmVo.java → fs-service/src/main/java/com/fs/hospital580/vo/OrderScrmVo.java

@@ -6,16 +6,19 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
-import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 
 @Getter
 @Setter
-@ApiModel("问诊请求对象")
-public class FsStoreHospital580OrderScrmVo implements Serializable {
+@ApiModel("问诊vo")
+public class OrderScrmVo implements Serializable {
 
     private static final long serialVersionUID = 1L;
+    @ApiModelProperty("问诊ID")
+    private String orderId;
+
     @ApiModelProperty("第三方系统问诊人唯一标识(患者手机号)")
     private String memberId;
 
@@ -63,6 +66,10 @@ public class FsStoreHospital580OrderScrmVo implements Serializable {
 
     @ApiModelProperty("结束问诊后跳回三方的地址")
     private String thirdReturnUrl;
+
+    @ApiModelProperty("创建时间")
+    private Date createdTime;
+
     @ApiModelProperty("问诊题目")
     private List<BeforeAiDataVo> beforeAiDataList; // 问诊前面的题目,传固定的五道题
 }

+ 25 - 0
fs-service/src/main/java/com/fs/hospital580/vo/PrescriptionAdminQueryVo.java

@@ -0,0 +1,25 @@
+package com.fs.hospital580.vo;
+
+import com.fs.common.core.page.PageRequest;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PrescriptionAdminQueryVo extends PageRequest {
+    @ApiModelProperty("医院名称")
+    private String hospitalName;
+    @ApiModelProperty("药店名称")
+    private String storeName;
+    @ApiModelProperty("患者姓名")
+    private String userFamilyName;
+    @ApiModelProperty("患者手机号")
+    private String userFamilyPhone;
+    private String beginTime;
+    private String endTime;
+    @ApiModelProperty("处方审核状态:1为待审核,2为审核通过,3为审核不通过")
+    private Byte auditStatus;
+}

+ 1 - 1
fs-service/src/main/java/com/fs/hospital580/vo/FsStoreHospital580PrescriptionMedicineScrmVo.java → fs-service/src/main/java/com/fs/hospital580/vo/PrescriptionMedicineScrmVo.java

@@ -5,7 +5,7 @@ import lombok.Data;
 import java.io.Serializable;
 
 @Data
-public class FsStoreHospital580PrescriptionMedicineScrmVo implements Serializable {
+public class PrescriptionMedicineScrmVo implements Serializable {
     /**
      * 药品通用名
      */

+ 3 - 5
fs-service/src/main/java/com/fs/hospital580/vo/FsStoreHospital580PrescriptionScrmVo.java → fs-service/src/main/java/com/fs/hospital580/vo/PrescriptionScrmVo.java

@@ -7,12 +7,10 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-/**
- * 处方信息实体类
- */
+
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class FsStoreHospital580PrescriptionScrmVo extends CommonVo implements Serializable {
+public class PrescriptionScrmVo extends CommonVo implements Serializable {
     /**
      * 处方ID
      */
@@ -131,6 +129,6 @@ public class FsStoreHospital580PrescriptionScrmVo extends CommonVo implements Se
     /**
      * 药品信息列表
      */
-    private List<FsStoreHospital580PrescriptionMedicineScrmVo> drugRspList;
+    private List<PrescriptionMedicineScrmVo> drugRspList;
 }
 

+ 17 - 0
fs-service/src/main/resources/mapper/hospital580/FsStoreHospital580OrderChatScrmMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.hospital580.mapper.FsStoreHospital580OrderChatScrmMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.fs.hospital580.entity.FsStoreHospital580OrderChatScrmEntity">
+        <result column="id" property="id"/>
+        <result column="content" property="content"/>
+        <result column="diagnosis_id" property="diagnosisId"/>
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id,content,diagnosis_id
+    </sql>
+
+</mapper>

+ 1 - 2
fs-service/src/main/resources/mapper/hospital580/FsStoreHospital580OrderScrmMapper.xml

@@ -7,7 +7,6 @@
         <id column="order_id" property="orderId" />
         <result column="member_id" property="memberId" />
         <result column="user_id" property="userId" />
-        <result column="store_id" property="storeId" />
         <result column="service_type" property="serviceType" />
         <result column="is_examine" property="isExamine" />
         <result column="is_pregnant_woman" property="isPregnantWoman" />
@@ -31,7 +30,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        order_id, member_id, user_id, store_id, service_type, is_examine
+        order_id, member_id, user_id, service_type, is_examine
                 , is_pregnant_woman, is_lactation, souce_from, user_family_name, user_family_id_card
                 , user_family_age, user_family_gender, user_family_phone, relationship, user_family_addr
                 , img_list, third_return_url, create_time, update_time,jump_url

+ 2 - 2
fs-user-app/src/main/java/com/fs/app/controller/Hospital580CallbackController.java

@@ -1,7 +1,7 @@
 package com.fs.app.controller;
 
 import com.fs.app.facade.Hospital580FacadeService;
-import com.fs.hospital580.vo.FsStoreHospital580PrescriptionScrmVo;
+import com.fs.hospital580.vo.PrescriptionScrmVo;
 import com.fs.hospital580.vo.MedicineSyncVo;
 import com.fs.hospital580.vo.RefusePrescriptionVo;
 import com.fs.hospital580.vo.ReviewPrescriptionVo;
@@ -35,7 +35,7 @@ public class Hospital580CallbackController {
      * 处方推送接口
      */
     @PostMapping("/prescription")
-    public void prescription(@RequestBody FsStoreHospital580PrescriptionScrmVo vo) {
+    public void prescription(@RequestBody PrescriptionScrmVo vo) {
         hospital580FacadeService.prescription(vo);
     }
 

+ 2 - 2
fs-user-app/src/main/java/com/fs/app/controller/Hospital580Controller.java

@@ -3,7 +3,7 @@ package com.fs.app.controller;
 import com.fs.app.facade.Hospital580FacadeService;
 import com.fs.common.core.domain.R;
 import com.fs.hospital580.vo.DiseaseVo;
-import com.fs.hospital580.vo.FsStoreHospital580OrderScrmVo;
+import com.fs.hospital580.vo.OrderScrmVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -25,7 +25,7 @@ public class Hospital580Controller {
      * 新增问诊单接口
      */
     @PostMapping ("/initPreDemand")
-    public R initPreDemand(@RequestBody FsStoreHospital580OrderScrmVo vo) {
+    public R initPreDemand(@RequestBody OrderScrmVo vo) {
         return hospital580FacadeService.initPreDemand(vo);
     }
 

+ 2 - 2
fs-user-app/src/main/java/com/fs/app/facade/Hospital580FacadeService.java

@@ -4,11 +4,11 @@ import com.fs.common.core.domain.R;
 import com.fs.hospital580.vo.*;
 
 public interface Hospital580FacadeService {
-    R initPreDemand(FsStoreHospital580OrderScrmVo vo);
+    R initPreDemand(OrderScrmVo vo);
 
     R diseaseQuery(DiseaseVo vo);
 
-    void prescription(FsStoreHospital580PrescriptionScrmVo vo);
+    void prescription(PrescriptionScrmVo vo);
 
     void refusePrescription(RefusePrescriptionVo vo);
 

+ 3 - 3
fs-user-app/src/main/java/com/fs/app/facade/impl/Hospital580FacadeServiceImpl.java

@@ -32,7 +32,7 @@ public class Hospital580FacadeServiceImpl implements Hospital580FacadeService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R initPreDemand(FsStoreHospital580OrderScrmVo vo) {
+    public R initPreDemand(OrderScrmVo vo) {
         // 保存问诊信息
         FsStoreHospital580OrderScrmEntity order = new FsStoreHospital580OrderScrmEntity();
         BeanUtil.copyProperties(vo, order);
@@ -62,14 +62,14 @@ public class Hospital580FacadeServiceImpl implements Hospital580FacadeService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void prescription(FsStoreHospital580PrescriptionScrmVo vo) {
+    public void prescription(PrescriptionScrmVo vo) {
         FsStoreHospital580PrescriptionScrmEntity prescription = new FsStoreHospital580PrescriptionScrmEntity();
         BeanUtil.copyProperties(vo, prescription);
         prescription.setOrderId(vo.getBizOrderId());
         // 插入处方记录
         prescription.insert();
 
-        List<FsStoreHospital580PrescriptionMedicineScrmVo> drugRspList = vo.getDrugRspList();
+        List<PrescriptionMedicineScrmVo> drugRspList = vo.getDrugRspList();
         drugRspList.forEach(item -> {
             FsStoreHospital580PrescriptionMedicineScrmEntity entity = new FsStoreHospital580PrescriptionMedicineScrmEntity();
             BeanUtil.copyProperties(item, entity);