xdd 3 주 전
부모
커밋
001ccfe0b8
33개의 변경된 파일3133개의 추가작업 그리고 747개의 파일을 삭제
  1. 543 0
      fs-service-system/src/main/java/com/fs/store/domain/FsInquiryOrder.java
  2. 43 0
      fs-service-system/src/main/java/com/fs/store/domain/FsInquiryOrderMsg.java
  3. 54 307
      fs-service-system/src/main/java/com/fs/store/domain/FsPrescribe.java
  4. 35 156
      fs-service-system/src/main/java/com/fs/store/domain/FsPrescribeDrug.java
  5. 47 0
      fs-service-system/src/main/java/com/fs/store/domain/FsStoreOrderLogs.java
  6. 22 187
      fs-service-system/src/main/java/com/fs/store/domain/FsStoreProductAttrValue.java
  7. 15 0
      fs-service-system/src/main/java/com/fs/store/dto/FsPrescribeUsageDTO.java
  8. 443 0
      fs-service-system/src/main/java/com/fs/store/mapper/FsInquiryOrderMapper.java
  9. 11 8
      fs-service-system/src/main/java/com/fs/store/mapper/FsPrescribeMapper.java
  10. 15 0
      fs-service-system/src/main/java/com/fs/store/param/BaseParam.java
  11. 24 0
      fs-service-system/src/main/java/com/fs/store/param/FsInquiryOrderListPDParam.java
  12. 12 0
      fs-service-system/src/main/java/com/fs/store/param/FsInquiryOrderListUParam.java
  13. 153 0
      fs-service-system/src/main/java/com/fs/store/param/FsInquiryOrderParam.java
  14. 67 0
      fs-service-system/src/main/java/com/fs/store/param/PrescribeXyImgParam.java
  15. 83 0
      fs-service-system/src/main/java/com/fs/store/param/PrescribeZyImgParam.java
  16. 15 11
      fs-service-system/src/main/java/com/fs/store/service/IFsPrescribeService.java
  17. 366 44
      fs-service-system/src/main/java/com/fs/store/service/impl/FsPrescribeServiceImpl.java
  18. 6 0
      fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreProductServiceImpl.java
  19. 2 2
      fs-service-system/src/main/java/com/fs/store/service/impl/PrescribeServiceImpl.java
  20. 61 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryFeedbackExportListVO.java
  21. 140 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderExeclListVO.java
  22. 16 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListDParam.java
  23. 35 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListDVO.java
  24. 43 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListPDVO.java
  25. 37 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListUVO.java
  26. 130 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListVO.java
  27. 137 0
      fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderVO.java
  28. 151 0
      fs-service-system/src/main/java/com/fs/store/vo/FsPackageOrderVO.java
  29. 92 29
      fs-service-system/src/main/java/com/fs/store/vo/FsPrescribeVO.java
  30. 320 0
      fs-service-system/src/main/resources/mapper/store/FsInquiryOrderMapper.xml
  31. 13 1
      fs-service-system/src/main/resources/mapper/store/FsStoreProductAttrValueMapper.xml
  32. 1 2
      fs-service-system/src/main/resources/mapper/store/FsStoreProductMapper.xml
  33. 1 0
      fs-user-app/src/main/resources/static/nDOivNIU3j.txt

+ 543 - 0
fs-service-system/src/main/java/com/fs/store/domain/FsInquiryOrder.java

@@ -0,0 +1,543 @@
+package com.fs.store.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import com.vdurmont.emoji.EmojiParser;
+import org.apache.commons.lang3.StringUtils;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 问诊订单对象 fs_inquiry_order
+ *
+ * @author fs
+ * @date 2023-09-15
+ */
+public class FsInquiryOrder extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long orderId;
+
+    /** 订单号 */
+    @Excel(name = "订单号")
+    private String orderSn;
+
+    /** 问诊标题 */
+    @Excel(name = "问诊标题")
+    private String title;
+
+    /** 病例组图 */
+    @Excel(name = "病例组图")
+    private String imgs;
+
+    /** 会员ID */
+    @Excel(name = "会员ID")
+    private Long userId;
+
+    /** 病人ID */
+    @Excel(name = "病人ID")
+    private Long patientId;
+
+    /** 订单类型 1图文 2语音 */
+    @Excel(name = "订单类型 1图文 2语音")
+    private Integer orderType;
+
+    /** 订单金额 */
+    @Excel(name = "订单金额")
+    private BigDecimal money;
+
+    /** 支付金额 */
+    @Excel(name = "支付金额")
+    private BigDecimal payMoney;
+
+    /** 支付类型 1微信支付 */
+    @Excel(name = "支付类型 1微信支付")
+    private Integer payType;
+
+    /** 是否支付 */
+    @Excel(name = "是否支付")
+    private Integer isPay;
+
+    /** 医生ID */
+    @Excel(name = "医生ID")
+    private Long doctorId;
+
+    /** 支付时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date payTime;
+
+    /** 状态 1待支付 2已支付 3已完成  -1已关闭 -2已退款 */
+    @Excel(name = "状态 1待支付 2已支付 3已完成  -1已关闭 -2已退款")
+    private Integer status;
+
+    /** 问诊开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "问诊开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date finishTime;
+
+    /** 是否评价 */
+    @Excel(name = "是否评价")
+    private Integer isPing;
+
+    /** 科室ID */
+    @Excel(name = "科室ID")
+    private Long departmentId;
+
+    /** 问诊类型  1专家 2极速 3开药问诊 */
+    @Excel(name = "问诊类型  1专家 2极速 3开药问诊")
+    private Integer inquiryType;
+
+    /** 问诊子类型 1凯蒙名医 2健康草本 3御君方 3不良反应 */
+    @Excel(name = "问诊子类型 1凯蒙名医 2健康草本 3御君方 3不良反应")
+    private Integer inquirySubType;
+
+    /** 患者信息 */
+    @Excel(name = "患者信息")
+    private String patientJson;
+
+    /** $column.columnComment */
+    @Excel(name = "患者信息")
+    private Integer isReceive;
+
+    /** 支付订单号 */
+    @Excel(name = "支付订单号")
+    private String tradeNo;
+
+    /** 是否审核 */
+    @Excel(name = "是否审核")
+    private Integer isAudit;
+
+    /** 审核人 */
+    @Excel(name = "审核人")
+    private Long auditUserId;
+
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date auditTime;
+
+    private Long userCouponId;
+
+    private BigDecimal discountMoney;
+
+    private Long packageOrderId;
+    private String doctorRemark;
+
+    private Long companyId;
+    private Long companyUserId;
+    private Long deptId;
+    private BigDecimal companyDeductMoney;
+
+    private String companyUserRemark; //销售备注
+
+    private Integer isSendSms; //是否发送短信
+    private Integer source;//订单来源
+
+    private Long triageUserId;
+
+    public Long getTriageUserId() {
+        return triageUserId;
+    }
+
+    public void setTriageUserId(Long triageUserId) {
+        this.triageUserId = triageUserId;
+    }
+
+    public Integer getSource() {
+        return source;
+    }
+
+    public void setSource(Integer source) {
+        this.source = source;
+    }
+
+    public String getDoctorRemark() {
+        return doctorRemark;
+    }
+
+    public void setDoctorRemark(String doctorRemark) {
+        this.doctorRemark = doctorRemark;
+    }
+
+    public Integer getIsSendSms() {
+        return isSendSms;
+    }
+
+    public void setIsSendSms(Integer isSendSms) {
+        this.isSendSms = isSendSms;
+    }
+
+    public String getCompanyUserRemark() {
+        return companyUserRemark;
+    }
+
+    public void setCompanyUserRemark(String companyUserRemark) {
+        this.companyUserRemark = companyUserRemark;
+    }
+
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public BigDecimal getCompanyDeductMoney() {
+        return companyDeductMoney;
+    }
+
+    public void setCompanyDeductMoney(BigDecimal companyDeductMoney) {
+        this.companyDeductMoney = companyDeductMoney;
+    }
+
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
+
+    public Long getCompanyUserId() {
+        return companyUserId;
+    }
+
+    public void setCompanyUserId(Long companyUserId) {
+        this.companyUserId = companyUserId;
+    }
+
+    public Long getPackageOrderId() {
+        return packageOrderId;
+    }
+
+    public void setPackageOrderId(Long packageOrderId) {
+        this.packageOrderId = packageOrderId;
+    }
+
+    public Long getUserCouponId() {
+        return userCouponId;
+    }
+
+    public void setUserCouponId(Long userCouponId) {
+        this.userCouponId = userCouponId;
+    }
+
+    public BigDecimal getDiscountMoney() {
+        return discountMoney;
+    }
+
+    public void setDiscountMoney(BigDecimal discountMoney) {
+        this.discountMoney = discountMoney;
+    }
+
+    public void setOrderId(Long orderId)
+    {
+        this.orderId = orderId;
+    }
+
+    public Long getOrderId()
+    {
+        return orderId;
+    }
+    public void setOrderSn(String orderSn)
+    {
+        this.orderSn = orderSn;
+    }
+
+    public String getOrderSn()
+    {
+        return orderSn;
+    }
+    public void setTitle(String title)
+    {
+        if(StringUtils.isNotEmpty(title)){
+            this.title= EmojiParser.parseToHtmlDecimal(title);
+        }
+        else{
+            this.title= title;
+        }
+    }
+
+    public String getTitle()
+    {
+        if(StringUtils.isNotEmpty(title)){
+            return EmojiParser.parseToUnicode(title);
+        }
+        else{
+            return title;
+        }
+    }
+    public void setImgs(String imgs)
+    {
+        this.imgs = imgs;
+    }
+
+    public String getImgs()
+    {
+        return imgs;
+    }
+    public void setUserId(Long userId)
+    {
+        this.userId = userId;
+    }
+
+    public Long getUserId()
+    {
+        return userId;
+    }
+    public void setPatientId(Long patientId)
+    {
+        this.patientId = patientId;
+    }
+
+    public Long getPatientId()
+    {
+        return patientId;
+    }
+    public void setOrderType(Integer orderType)
+    {
+        this.orderType = orderType;
+    }
+
+    public Integer getOrderType()
+    {
+        return orderType;
+    }
+    public void setMoney(BigDecimal money)
+    {
+        this.money = money;
+    }
+
+    public BigDecimal getMoney()
+    {
+        return money;
+    }
+    public void setPayMoney(BigDecimal payMoney)
+    {
+        this.payMoney = payMoney;
+    }
+
+    public BigDecimal getPayMoney()
+    {
+        return payMoney;
+    }
+    public void setPayType(Integer payType)
+    {
+        this.payType = payType;
+    }
+
+    public Integer getPayType()
+    {
+        return payType;
+    }
+    public void setIsPay(Integer isPay)
+    {
+        this.isPay = isPay;
+    }
+
+    public Integer getIsPay()
+    {
+        return isPay;
+    }
+    public void setDoctorId(Long doctorId)
+    {
+        this.doctorId = doctorId;
+    }
+
+    public Long getDoctorId()
+    {
+        return doctorId;
+    }
+    public void setPayTime(Date payTime)
+    {
+        this.payTime = payTime;
+    }
+
+    public Date getPayTime()
+    {
+        return payTime;
+    }
+    public void setStatus(Integer status)
+    {
+        this.status = status;
+    }
+
+    public Integer getStatus()
+    {
+        return status;
+    }
+    public void setStartTime(Date startTime)
+    {
+        this.startTime = startTime;
+    }
+
+    public Date getStartTime()
+    {
+        return startTime;
+    }
+    public void setFinishTime(Date finishTime)
+    {
+        this.finishTime = finishTime;
+    }
+
+    public Date getFinishTime()
+    {
+        return finishTime;
+    }
+    public void setIsPing(Integer isPing)
+    {
+        this.isPing = isPing;
+    }
+
+    public Integer getIsPing()
+    {
+        return isPing;
+    }
+    public void setDepartmentId(Long departmentId)
+    {
+        this.departmentId = departmentId;
+    }
+
+    public Long getDepartmentId()
+    {
+        return departmentId;
+    }
+    public void setInquiryType(Integer inquiryType)
+    {
+        this.inquiryType = inquiryType;
+    }
+
+    public Integer getInquiryType()
+    {
+        return inquiryType;
+    }
+    public void setInquirySubType(Integer inquirySubType)
+    {
+        this.inquirySubType = inquirySubType;
+    }
+
+    public Integer getInquirySubType()
+    {
+        return inquirySubType;
+    }
+    public void setPatientJson(String patientJson)
+    {
+        if(StringUtils.isNotEmpty(patientJson)){
+            this.patientJson= EmojiParser.parseToHtmlDecimal(patientJson);
+        }
+        else{
+            this.patientJson= patientJson;
+        }
+
+    }
+
+    public String getPatientJson()
+    {
+        if(StringUtils.isNotEmpty(patientJson)){
+            return EmojiParser.parseToUnicode(patientJson);
+        }
+        else{
+            return patientJson;
+        }
+    }
+    public void setIsReceive(Integer isReceive)
+    {
+        this.isReceive = isReceive;
+    }
+
+    public Integer getIsReceive()
+    {
+        return isReceive;
+    }
+    public void setTradeNo(String tradeNo)
+    {
+        this.tradeNo = tradeNo;
+    }
+
+    public String getTradeNo()
+    {
+        return tradeNo;
+    }
+    public void setIsAudit(Integer isAudit)
+    {
+        this.isAudit = isAudit;
+    }
+
+    public Integer getIsAudit()
+    {
+        return isAudit;
+    }
+    public void setAuditUserId(Long auditUserId)
+    {
+        this.auditUserId = auditUserId;
+    }
+
+    public Long getAuditUserId()
+    {
+        return auditUserId;
+    }
+    public void setAuditTime(Date auditTime)
+    {
+        this.auditTime = auditTime;
+    }
+
+    public Date getAuditTime()
+    {
+        return auditTime;
+    }
+
+    @Override
+    public String toString() {
+        return "FsInquiryOrder{" +
+                "orderId=" + orderId +
+                ", orderSn='" + orderSn + '\'' +
+                ", title='" + title + '\'' +
+                ", imgs='" + imgs + '\'' +
+                ", userId=" + userId +
+                ", patientId=" + patientId +
+                ", orderType=" + orderType +
+                ", money=" + money +
+                ", payMoney=" + payMoney +
+                ", payType=" + payType +
+                ", isPay=" + isPay +
+                ", doctorId=" + doctorId +
+                ", payTime=" + payTime +
+                ", status=" + status +
+                ", startTime=" + startTime +
+                ", finishTime=" + finishTime +
+                ", isPing=" + isPing +
+                ", departmentId=" + departmentId +
+                ", inquiryType=" + inquiryType +
+                ", inquirySubType=" + inquirySubType +
+                ", patientJson='" + patientJson + '\'' +
+                ", isReceive=" + isReceive +
+                ", tradeNo='" + tradeNo + '\'' +
+                ", isAudit=" + isAudit +
+                ", auditUserId=" + auditUserId +
+                ", auditTime=" + auditTime +
+                ", userCouponId=" + userCouponId +
+                ", discountMoney=" + discountMoney +
+                ", packageOrderId=" + packageOrderId +
+                ", doctorRemark='" + doctorRemark + '\'' +
+                ", companyId=" + companyId +
+                ", companyUserId=" + companyUserId +
+                ", deptId=" + deptId +
+                ", companyDeductMoney=" + companyDeductMoney +
+                ", companyUserRemark='" + companyUserRemark + '\'' +
+                ", isSendSms=" + isSendSms +
+                ", source=" + source +
+                ", triageUserId=" + triageUserId +
+                '}';
+    }
+}

+ 43 - 0
fs-service-system/src/main/java/com/fs/store/domain/FsInquiryOrderMsg.java

@@ -0,0 +1,43 @@
+package com.fs.store.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 图文订单对象 fs_inquiry_order_msg
+ *
+ * @author fs
+ * @date 2023-06-12
+ */
+@Data
+public class FsInquiryOrderMsg extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long msgId;
+
+    /** 消息类型 1会员消息 2医生消息 */
+    @Excel(name = "消息类型 1会员消息 2医生消息")
+    private String msgType;
+
+    /** 会员ID */
+    @Excel(name = "会员ID")
+    private String fromAccount;
+
+    /** 医生ID */
+    @Excel(name = "医生ID")
+    private String toAccount;
+
+    /** 消息内容 */
+    @Excel(name = "消息内容")
+    private String content;
+
+    /** 订单ID */
+    @Excel(name = "订单ID")
+    private Long orderId;
+
+    private String msgKey;
+    private Integer msgContentType;
+}

+ 54 - 307
fs-service-system/src/main/java/com/fs/store/domain/FsPrescribe.java

@@ -4,15 +4,19 @@ import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 /**
  * 处方对象 fs_prescribe
- * 
+ *
  * @author fs
  * @date 2022-03-15
  */
+@EqualsAndHashCode(callSuper = true)
+@Data
 public class FsPrescribe extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
@@ -20,13 +24,17 @@ public class FsPrescribe extends BaseEntity
     /** id */
     private Long prescribeId;
 
-    /** 处方类型 1订单 2问诊 */
-    @Excel(name = "处方类型 1订单 2问诊")
+    /** 处方类型 1问诊 2订单 */
+    @Excel(name = "处方类型 1西药 2中药")
     private Integer prescribeType;
 
     /** 订单ID */
     @Excel(name = "订单ID")
-    private Long orderId;
+    private Long inquiryOrderId;
+
+    /** 店铺订单ID */
+    @Excel(name = "店铺订单ID")
+    private Long storeOrderId;
 
     /** 用户ID */
     @Excel(name = "用户ID")
@@ -134,307 +142,46 @@ public class FsPrescribe extends BaseEntity
 
     private Integer status;
 
-    public String getAuditReason() {
-        return auditReason;
-    }
-
-    public void setAuditReason(String auditReason) {
-        this.auditReason = auditReason;
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
-
-    public void setPrescribeId(Long prescribeId)
-    {
-        this.prescribeId = prescribeId;
-    }
-
-    public Long getPrescribeId() 
-    {
-        return prescribeId;
-    }
-    public void setPrescribeType(Integer prescribeType) 
-    {
-        this.prescribeType = prescribeType;
-    }
-
-    public Integer getPrescribeType() 
-    {
-        return prescribeType;
-    }
-    public void setOrderId(Long orderId) 
-    {
-        this.orderId = orderId;
-    }
-
-    public Long getOrderId() 
-    {
-        return orderId;
-    }
-    public void setUserId(Long userId) 
-    {
-        this.userId = userId;
-    }
-
-    public Long getUserId() 
-    {
-        return userId;
-    }
-    public void setPatientId(Long patientId) 
-    {
-        this.patientId = patientId;
-    }
-
-    public Long getPatientId() 
-    {
-        return patientId;
-    }
-    public void setRpId(String rpId) 
-    {
-        this.rpId = rpId;
-    }
-
-    public String getRpId() 
-    {
-        return rpId;
-    }
-    public void setPharmacyCode(String pharmacyCode) 
-    {
-        this.pharmacyCode = pharmacyCode;
-    }
-
-    public String getPharmacyCode() 
-    {
-        return pharmacyCode;
-    }
-    public void setPharmacyName(String pharmacyName) 
-    {
-        this.pharmacyName = pharmacyName;
-    }
-
-    public String getPharmacyName() 
-    {
-        return pharmacyName;
-    }
-    public void setChiefComplaint(String chiefComplaint) 
-    {
-        this.chiefComplaint = chiefComplaint;
-    }
-
-    public String getChiefComplaint() 
-    {
-        return chiefComplaint;
-    }
-    public void setNowIllness(String nowIllness) 
-    {
-        this.nowIllness = nowIllness;
-    }
-
-    public String getNowIllness() 
-    {
-        return nowIllness;
-    }
-    public void setHistoryIllness(String historyIllness) 
-    {
-        this.historyIllness = historyIllness;
-    }
-
-    public String getHistoryIllness() 
-    {
-        return historyIllness;
-    }
-    public void setPatientAge(String patientAge) 
-    {
-        this.patientAge = patientAge;
-    }
-
-    public String getPatientAge() 
-    {
-        return patientAge;
-    }
-    public void setPatientName(String patientName) 
-    {
-        this.patientName = patientName;
-    }
-
-    public String getPatientName() 
-    {
-        return patientName;
-    }
-    public void setWeight(String weight) 
-    {
-        this.weight = weight;
-    }
-
-    public String getWeight() 
-    {
-        return weight;
-    }
-    public void setIsHistoryAllergic(String isHistoryAllergic) 
-    {
-        this.isHistoryAllergic = isHistoryAllergic;
-    }
-
-    public String getIsHistoryAllergic() 
-    {
-        return isHistoryAllergic;
-    }
-    public void setHistoryAllergic(String historyAllergic) 
-    {
-        this.historyAllergic = historyAllergic;
-    }
-
-    public String getHistoryAllergic() 
-    {
-        return historyAllergic;
-    }
-    public void setLiverUnusual(String liverUnusual) 
-    {
-        this.liverUnusual = liverUnusual;
-    }
-
-    public String getLiverUnusual() 
-    {
-        return liverUnusual;
-    }
-    public void setRenalUnusual(String renalUnusual) 
-    {
-        this.renalUnusual = renalUnusual;
-    }
-
-    public String getRenalUnusual() 
-    {
-        return renalUnusual;
-    }
-    public void setLactationFlag(String lactationFlag) 
-    {
-        this.lactationFlag = lactationFlag;
-    }
-
-    public String getLactationFlag() 
-    {
-        return lactationFlag;
-    }
-    public void setPatientTel(String patientTel) 
-    {
-        this.patientTel = patientTel;
-    }
-
-    public String getPatientTel() 
-    {
-        return patientTel;
-    }
-    public void setPatientGender(String patientGender) 
-    {
-        this.patientGender = patientGender;
-    }
-
-    public String getPatientGender() 
-    {
-        return patientGender;
-    }
-    public void setRecordPic(String recordPic) 
-    {
-        this.recordPic = recordPic;
-    }
-
-    public String getRecordPic() 
-    {
-        return recordPic;
-    }
-    public void setRpUrl(String rpUrl) 
-    {
-        this.rpUrl = rpUrl;
-    }
-
-    public String getRpUrl() 
-    {
-        return rpUrl;
-    }
-    public void setRpCreateTime(Date rpCreateTime) 
-    {
-        this.rpCreateTime = rpCreateTime;
-    }
-
-    public Date getRpCreateTime() 
-    {
-        return rpCreateTime;
-    }
-    public void setDiagnose(String diagnose) 
-    {
-        this.diagnose = diagnose;
-    }
-
-    public String getDiagnose() 
-    {
-        return diagnose;
-    }
-    public void setDrugs(String drugs) 
-    {
-        this.drugs = drugs;
-    }
-
-    public String getDrugs() 
-    {
-        return drugs;
-    }
-    public void setDoctorName(String doctorName) 
-    {
-        this.doctorName = doctorName;
-    }
-
-    public String getDoctorName() 
-    {
-        return doctorName;
-    }
-    public void setDoctorId(String doctorId) 
-    {
-        this.doctorId = doctorId;
-    }
-
-    public String getDoctorId() 
-    {
-        return doctorId;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("prescribeId", getPrescribeId())
-            .append("prescribeType", getPrescribeType())
-            .append("orderId", getOrderId())
-            .append("userId", getUserId())
-            .append("patientId", getPatientId())
-            .append("rpId", getRpId())
-            .append("pharmacyCode", getPharmacyCode())
-            .append("pharmacyName", getPharmacyName())
-            .append("chiefComplaint", getChiefComplaint())
-            .append("nowIllness", getNowIllness())
-            .append("historyIllness", getHistoryIllness())
-            .append("patientAge", getPatientAge())
-            .append("patientName", getPatientName())
-            .append("weight", getWeight())
-            .append("isHistoryAllergic", getIsHistoryAllergic())
-            .append("historyAllergic", getHistoryAllergic())
-            .append("liverUnusual", getLiverUnusual())
-            .append("renalUnusual", getRenalUnusual())
-            .append("lactationFlag", getLactationFlag())
-            .append("patientTel", getPatientTel())
-            .append("patientGender", getPatientGender())
-            .append("recordPic", getRecordPic())
-            .append("rpUrl", getRpUrl())
-            .append("rpCreateTime", getRpCreateTime())
-            .append("diagnose", getDiagnose())
-            .append("drugs", getDrugs())
-            .append("doctorName", getDoctorName())
-            .append("doctorId", getDoctorId())
-            .append("createTime", getCreateTime())
-            .toString();
-    }
+    @Excel(name = "使用方法")
+    private String usageJson;
+
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date auditTime;
+
+    @Excel(name = "病人生日")
+    private String patientBirthday;
+    @Excel(name = "备注")
+    private String remark;
+    @Excel(name = "店铺id")
+    private Long storeId;
+
+    @Excel(name = "开方医生id")
+    private Long prescribeDoctorId;
+
+    @Excel(name = "开方医生签名")
+    private String doctorSignUrl;
+
+    @Excel(name = "处方医生签名")
+    private String prescribeDoctorSignUrl;
+
+    @Excel(name = "药师签名")
+    private String drugDoctorSignUrl;
+
+    @Excel(name = "0颗粒1膏方")
+    private Integer recipeType;
+    private String prescribeCodeUrl;
+    private String prescribeImgStoreUrl;
+
+
+    private Integer cycle;
+
+
+
+    private String icdCode;
+
+    public Integer source;
+
+
 }

+ 35 - 156
fs-service-system/src/main/java/com/fs/store/domain/FsPrescribeDrug.java

@@ -2,15 +2,21 @@ package com.fs.store.domain;
 
 import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.math.BigDecimal;
+
 /**
  * 处方药品对象 fs_prescribe_drug
- * 
+ *
  * @author fs
- * @date 2022-03-15
+ * @date 2023-06-13
  */
+@EqualsAndHashCode(callSuper = true)
+@Data
 public class FsPrescribeDrug extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
@@ -18,17 +24,17 @@ public class FsPrescribeDrug extends BaseEntity
     /** ID */
     private Long drugId;
 
-    /** $column.columnComment */
-    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    /** 处方ID */
+    @Excel(name = "处方ID")
     private Long prescribeId;
 
     /** 药品名称 */
     @Excel(name = "药品名称")
-    private String drugCommonName;
+    private String drugName;
 
     /** 规格 */
     @Excel(name = "规格")
-    private String drugSpecification;
+    private String drugSpec;
 
     /** 使⽤⽅法 */
     @Excel(name = "使⽤⽅法")
@@ -50,13 +56,17 @@ public class FsPrescribeDrug extends BaseEntity
     @Excel(name = "天数")
     private String usageDays;
 
+    @Excel(name = "药品单价")
+    private BigDecimal drugPrice;
+
     /** 药品数量 */
     @Excel(name = "药品数量")
-    private String saleAmount;
+    private Long drugNum;
 
     /** 药品数量单位 */
     @Excel(name = "药品数量单位")
-    private String saleUnit;
+    private String drugUnit;
+
 
     /** 药品说明书 */
     @Excel(name = "药品说明书")
@@ -68,152 +78,21 @@ public class FsPrescribeDrug extends BaseEntity
 
     /** 产品ID */
     @Excel(name = "产品ID")
-    private Integer productId;
-
-    public void setDrugId(Long drugId) 
-    {
-        this.drugId = drugId;
-    }
-
-    public Long getDrugId() 
-    {
-        return drugId;
-    }
-    public void setPrescribeId(Long prescribeId) 
-    {
-        this.prescribeId = prescribeId;
-    }
-
-    public Long getPrescribeId() 
-    {
-        return prescribeId;
-    }
-    public void setDrugCommonName(String drugCommonName) 
-    {
-        this.drugCommonName = drugCommonName;
-    }
-
-    public String getDrugCommonName() 
-    {
-        return drugCommonName;
-    }
-    public void setDrugSpecification(String drugSpecification) 
-    {
-        this.drugSpecification = drugSpecification;
-    }
-
-    public String getDrugSpecification() 
-    {
-        return drugSpecification;
-    }
-    public void setUsageMethod(String usageMethod) 
-    {
-        this.usageMethod = usageMethod;
-    }
-
-    public String getUsageMethod() 
-    {
-        return usageMethod;
-    }
-    public void setUsageFrequencyUnit(String usageFrequencyUnit) 
-    {
-        this.usageFrequencyUnit = usageFrequencyUnit;
-    }
-
-    public String getUsageFrequencyUnit() 
-    {
-        return usageFrequencyUnit;
-    }
-    public void setUsagePerUseCount(String usagePerUseCount) 
-    {
-        this.usagePerUseCount = usagePerUseCount;
-    }
-
-    public String getUsagePerUseCount() 
-    {
-        return usagePerUseCount;
-    }
-    public void setUsagePerUseUnit(String usagePerUseUnit) 
-    {
-        this.usagePerUseUnit = usagePerUseUnit;
-    }
-
-    public String getUsagePerUseUnit() 
-    {
-        return usagePerUseUnit;
-    }
-    public void setUsageDays(String usageDays) 
-    {
-        this.usageDays = usageDays;
-    }
-
-    public String getUsageDays() 
-    {
-        return usageDays;
-    }
-    public void setSaleAmount(String saleAmount) 
-    {
-        this.saleAmount = saleAmount;
-    }
-
-    public String getSaleAmount() 
-    {
-        return saleAmount;
-    }
-    public void setSaleUnit(String saleUnit) 
-    {
-        this.saleUnit = saleUnit;
-    }
-
-    public String getSaleUnit() 
-    {
-        return saleUnit;
-    }
-    public void setInstructions(String instructions) 
-    {
-        this.instructions = instructions;
-    }
-
-    public String getInstructions() 
-    {
-        return instructions;
-    }
-    public void setApprovalNumber(String approvalNumber) 
-    {
-        this.approvalNumber = approvalNumber;
-    }
-
-    public String getApprovalNumber() 
-    {
-        return approvalNumber;
-    }
-    public void setProductId(Integer productId) 
-    {
-        this.productId = productId;
-    }
-
-    public Integer getProductId() 
-    {
-        return productId;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("drugId", getDrugId())
-            .append("prescribeId", getPrescribeId())
-            .append("drugCommonName", getDrugCommonName())
-            .append("drugSpecification", getDrugSpecification())
-            .append("usageMethod", getUsageMethod())
-            .append("usageFrequencyUnit", getUsageFrequencyUnit())
-            .append("usagePerUseCount", getUsagePerUseCount())
-            .append("usagePerUseUnit", getUsagePerUseUnit())
-            .append("usageDays", getUsageDays())
-            .append("saleAmount", getSaleAmount())
-            .append("saleUnit", getSaleUnit())
-            .append("instructions", getInstructions())
-            .append("approvalNumber", getApprovalNumber())
-            .append("productId", getProductId())
-            .toString();
-    }
+    private Long productId;
+
+    /** 药品图片 */
+    @Excel(name = "药品图片")
+    private String drugImgUrl;
+
+    private Long productAttrValueId;
+
+    private String remark;
+
+    private Integer drugType;
+
+    private Integer isDrug;
+
+    private String barCode;
+    private String prescribeCode;
+
 }

+ 47 - 0
fs-service-system/src/main/java/com/fs/store/domain/FsStoreOrderLogs.java

@@ -0,0 +1,47 @@
+package com.fs.store.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 订单操作记录对象 fs_store_order_logs
+ *
+ * @author fs
+ * @date 2023-06-13
+ */
+@Data
+public class FsStoreOrderLogs extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long logsId;
+
+    /** 订单id */
+    @Excel(name = "订单id")
+    private Long orderId;
+
+    /** 操作类型 */
+    @Excel(name = "操作类型")
+    private String changeType;
+
+    /** 操作备注 */
+    @Excel(name = "操作备注")
+    private String changeMessage;
+
+    /** 操作时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date changeTime;
+
+    /** 操作员 */
+    @Excel(name = "操作员")
+    private String operator;
+
+
+
+}

+ 22 - 187
fs-service-system/src/main/java/com/fs/store/domain/FsStoreProductAttrValue.java

@@ -5,6 +5,9 @@ import java.util.Map;
 
 import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
@@ -14,6 +17,9 @@ import org.apache.commons.lang3.builder.ToStringStyle;
  * @author fs
  * @date 2022-03-15
  */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ToString
 public class FsStoreProductAttrValue extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
@@ -56,6 +62,22 @@ public class FsStoreProductAttrValue extends BaseEntity
     @Excel(name = "组合条码")
     private String groupBarCode;
 
+    /**
+     * 服用方法
+     */
+    @Excel(name = "服用方法")
+    private String usageMethod;
+    /**
+     * 一日几次
+     */
+    @Excel(name = "一日几次")
+    private String frequency;
+    /**
+     * 用药数量
+     */
+    @Excel(name = "用药数量")
+    private String dosage;
+
     /** 原价 */
     @Excel(name = "原价")
     private BigDecimal otPrice;
@@ -88,192 +110,5 @@ public class FsStoreProductAttrValue extends BaseEntity
 
     private Map<String, String> detail;
 
-    public BigDecimal getBrokerageThree() {
-        return brokerageThree;
-    }
-
-    public void setBrokerageThree(BigDecimal brokerageThree) {
-        this.brokerageThree = brokerageThree;
-    }
-
-    public String getGroupBarCode() {
-        return groupBarCode;
-    }
-
-    public void setGroupBarCode(String groupBarCode) {
-        this.groupBarCode = groupBarCode;
-    }
-
-    public BigDecimal getAgentPrice() {
-        return agentPrice;
-    }
-
-    public void setAgentPrice(BigDecimal agentPrice) {
-        this.agentPrice = agentPrice;
-    }
-
-    public Map<String, String> getDetail() {
-        return detail;
-    }
-
-    public void setDetail(Map<String, String> detail) {
-        this.detail = detail;
-    }
-
-    public void setId(Long id)
-    {
-        this.id = id;
-    }
-
-    public Long getId()
-    {
-        return id;
-    }
-    public void setProductId(Long productId)
-    {
-        this.productId = productId;
-    }
-
-    public Long getProductId()
-    {
-        return productId;
-    }
-    public void setSku(String sku)
-    {
-        this.sku = sku;
-    }
-
-    public String getSku()
-    {
-        return sku;
-    }
-    public void setStock(Integer stock)
-    {
-        this.stock = stock;
-    }
-
-    public Integer getStock()
-    {
-        return stock;
-    }
-    public void setSales(Integer sales)
-    {
-        this.sales = sales;
-    }
-
-    public Integer getSales()
-    {
-        return sales;
-    }
-    public void setPrice(BigDecimal price)
-    {
-        this.price = price;
-    }
-
-    public BigDecimal getPrice()
-    {
-        return price;
-    }
-    public void setImage(String image)
-    {
-        this.image = image;
-    }
-
-    public String getImage()
-    {
-        return image;
-    }
-    public void setCost(BigDecimal cost)
-    {
-        this.cost = cost;
-    }
-
-    public BigDecimal getCost()
-    {
-        return cost;
-    }
-    public void setBarCode(String barCode)
-    {
-        this.barCode = barCode;
-    }
-
-    public String getBarCode()
-    {
-        return barCode;
-    }
-    public void setOtPrice(BigDecimal otPrice)
-    {
-        this.otPrice = otPrice;
-    }
-
-    public BigDecimal getOtPrice()
-    {
-        return otPrice;
-    }
-    public void setWeight(BigDecimal weight)
-    {
-        this.weight = weight;
-    }
-
-    public BigDecimal getWeight()
-    {
-        return weight;
-    }
-    public void setVolume(BigDecimal volume)
-    {
-        this.volume = volume;
-    }
-
-    public BigDecimal getVolume()
-    {
-        return volume;
-    }
-    public void setBrokerage(BigDecimal brokerage)
-    {
-        this.brokerage = brokerage;
-    }
-
-    public BigDecimal getBrokerage()
-    {
-        return brokerage;
-    }
-    public void setBrokerageTwo(BigDecimal brokerageTwo)
-    {
-        this.brokerageTwo = brokerageTwo;
-    }
-
-    public BigDecimal getBrokerageTwo()
-    {
-        return brokerageTwo;
-    }
-    public void setIntegral(Integer integral)
-    {
-        this.integral = integral;
-    }
-
-    public Integer getIntegral()
-    {
-        return integral;
-    }
 
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("productId", getProductId())
-            .append("sku", getSku())
-            .append("stock", getStock())
-            .append("sales", getSales())
-            .append("price", getPrice())
-            .append("image", getImage())
-            .append("cost", getCost())
-            .append("barCode", getBarCode())
-            .append("otPrice", getOtPrice())
-            .append("weight", getWeight())
-            .append("volume", getVolume())
-            .append("brokerage", getBrokerage())
-            .append("brokerageTwo", getBrokerageTwo())
-            .append("integral", getIntegral())
-            .toString();
-    }
 }

+ 15 - 0
fs-service-system/src/main/java/com/fs/store/dto/FsPrescribeUsageDTO.java

@@ -0,0 +1,15 @@
+package com.fs.store.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class FsPrescribeUsageDTO implements Serializable {
+
+    Long counts;//数量
+    String usageFrequencyUnit;//用药频率
+    String usagePerUseCount;//单次用量
+    String usageMethod;//用药方法
+    String remark;
+}

+ 443 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsInquiryOrderMapper.java

@@ -0,0 +1,443 @@
+package com.fs.store.mapper;
+
+import com.fs.common.annotation.DataSource;
+import com.fs.common.enums.DataSourceType;
+import com.fs.store.domain.FsInquiryOrder;
+import com.fs.store.domain.FsInquiryOrderMsg;
+import com.fs.store.domain.FsStoreOrderLogs;
+import com.fs.store.param.FsInquiryOrderListPDParam;
+import com.fs.store.param.FsInquiryOrderListUParam;
+import com.fs.store.param.FsInquiryOrderParam;
+import com.fs.store.vo.*;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 问诊订单Mapper接口
+ *
+ * @author fs
+ * @date 2023-06-12
+ */
+@Repository
+public interface FsInquiryOrderMapper
+{
+    /**
+     * 查询问诊订单
+     *
+     * @param orderId 问诊订单主键
+     * @return 问诊订单
+     */
+    public FsInquiryOrder selectFsInquiryOrderByOrderId(Long orderId);
+
+    /**
+     * 查询问诊订单列表
+     *
+     * @param fsInquiryOrder 问诊订单
+     * @return 问诊订单集合
+     */
+    public List<FsInquiryOrder> selectFsInquiryOrderList(FsInquiryOrder fsInquiryOrder);
+
+    /**
+     * 新增问诊订单
+     *
+     * @param fsInquiryOrder 问诊订单
+     * @return 结果
+     */
+    public int insertFsInquiryOrder(FsInquiryOrder fsInquiryOrder);
+
+    /**
+     * 修改问诊订单
+     *
+     * @param fsInquiryOrder 问诊订单
+     * @return 结果
+     */
+    public int updateFsInquiryOrder(FsInquiryOrder fsInquiryOrder);
+
+    /**
+     * 删除问诊订单
+     *
+     * @param orderId 问诊订单主键
+     * @return 结果
+     */
+    public int deleteFsInquiryOrderByOrderId(Long orderId);
+
+    /**
+     * 批量删除问诊订单
+     *
+     * @param orderIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteFsInquiryOrderByOrderIds(Long[] orderIds);
+
+    @Select({"<script> " +
+            "select io.*,dc.doctor_name,dc.account as doctor_account,det.dept_name,c.company_name,cu.nick_name company_user_name ," +
+            "io.patient_json->>'$.patientName'as  patient_name,syu.nick_name user_name" +
+            " from fs_inquiry_order io " +
+            " LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id" +
+            " LEFT JOIN fs_department det ON det.dept_id =io.department_id  " +
+            "LEFT JOIN sys_user syu ON syu.user_id =io.audit_user_id " +
+            " LEFT JOIN company c ON c.company_id= io.company_id " +
+            "LEFT JOIN company_user cu ON cu.user_id=io.company_user_id  "+
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> LEFT JOIN fs_user fu ON fu.user_id=io.user_id</if>\n" +
+            " where 1=1 " +
+            "            <if test=\"maps.orderSn != null  and maps.orderSn != ''\"> and io.order_sn = #{maps.orderSn}</if>\n" +
+            "            <if test=\"maps.title != null  and maps.title != ''\"> and io.title = #{maps.title}</if>\n" +
+            "            <if test=\"maps.userId != null \"> and io.user_id = #{maps.userId}</if>\n" +
+            "            <if test=\"maps.doctorName != null \">  and dc.doctor_name like concat('%', #{maps.doctorName}, '%')</if>\n" +
+            "            <if test=\"maps.patientId != null \"> and io.patient_id = #{maps.patientId}</if>\n" +
+            "            <if test=\"maps.patientName != null \"> and io.patient_json like concat('%',#{maps.patientName},'%')</if>\n" +
+            "            <if test=\"maps.orderType != null \"> and io.order_type = #{maps.orderType}</if>\n" +
+            "            <if test=\"maps.payType != null \"> and io.pay_type = #{maps.payType}</if>\n" +
+            "            <if test=\"maps.isPay != null \"> and io.is_pay = #{maps.isPay}</if>\n" +
+            "            <if test=\"maps.doctorId != null \"> and io.doctor_id = #{maps.doctorId}</if>\n" +
+            "            <if test=\"maps.status != null \"> and io.status = #{maps.status}</if>\n" +
+            "            <if test=\"maps.sTime != null \">  and io.start_time &gt;= DATE_FORMAT(#{maps.sTime},'%Y-%m-%d 00:00:00') </if>\n" +
+            "            <if test=\"maps.eTime != null \">  and io.start_time &lt;= DATE_FORMAT(#{maps.eTime},'%Y-%m-%d 23:59:59') </if>\n" +
+            "            <if test=\"maps.fsTime != null \">  and io.finish_time &gt;= DATE_FORMAT(#{maps.fsTime},'%Y-%m-%d 00:00:00') </if>\n" +
+            "            <if test=\"maps.feTime != null \">  and io.finish_time &lt;= DATE_FORMAT(#{maps.feTime},'%Y-%m-%d 23:59:59') </if>\n" +
+            "            <if test=\"maps.isPing != null \"> and io.is_ping = #{maps.isPing}</if>\n" +
+            "            <if test=\"maps.departmentId != null \"> and io.department_id = #{maps.departmentId}</if>\n" +
+            "            <if test=\"maps.inquiryType != null \"> and io.inquiry_type = #{maps.inquiryType}</if>\n" +
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> and fu.phone = #{maps.phone}</if>\n" +
+            "            <if test=\"maps.companyId != null  \"> and io.company_id = #{maps.companyId}</if>\n" +
+            "            <if test=\"maps.companyUserId != null  \"> and io.company_user_id = #{maps.companyUserId}</if>\n" +
+            "            <if test=\"maps.companyUserName != null  \"> and cu.user_name = #{maps.companyUserName}</if>\n" +
+            "            <if test=\"maps.inquirySubType != null  \"> and io.inquiry_sub_type = #{maps.inquirySubType}</if>\n" +
+            "            <if test = 'maps.createTimeList != null    '>  AND date_format(io.create_time,'%y%m%d') &gt;= date_format(#{maps.createTimeList[0]},'%y%m%d') AND date_format(io.create_time,'%y%m%d') &lt;= date_format(#{maps.createTimeList[1]},'%y%m%d') </if>" +
+            "            <if test = 'maps.payTimeList != null    '>  AND date_format(io.pay_time,'%y%m%d') &gt;= date_format(#{maps.payTimeList[0]},'%y%m%d')  AND date_format(io.pay_time,'%y%m%d') &lt;= date_format(#{maps.payTimeList[1]},'%y%m%d') </if>" +
+            "            <if test = 'maps.deptId != null    '>  AND (io.dept_id = #{maps.deptId} OR io.dept_id IN ( SELECT t.dept_id FROM company_dept t WHERE find_in_set(#{maps.deptId}, ancestors) )) </if>" +
+            "            <if test = 'maps.inquirySubType != null    '> and io.inquiry_sub_type =#{maps.inquirySubType} </if>" +
+            "            <if test = 'maps.doctorAccount != null    '> and dc.account =#{maps.doctorAccount} </if>" +
+            "            <if test = 'maps.companyUserNickName != null and  maps.companyUserNickName !=  \"\" '>  and cu.nick_name like concat( #{maps.companyUserNickName}, '%') </if>" +
+            " order by io.order_id desc" +
+            "</script>"})
+    @DataSource(DataSourceType.SLAVE)
+    List<FsInquiryOrderListVO> selectFsInquiryOrderVOList(@Param("maps") FsInquiryOrderParam fsInquiryOrder);
+    @Select("select io.*,dc.doctor_name,det.dept_name,op.ping_star,op.ping_content, io.patient_json->>'$.patientName'as  patient_name,syu.nick_name user_name,fuc.send_user_id,send.nick_name sendName  from fs_inquiry_order io  LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id LEFT JOIN fs_department det ON det.dept_id =io.department_id LEFT JOIN fs_inquiry_order_ping op ON op.order_id=io.order_id LEFT JOIN sys_user syu ON syu.user_id =io.audit_user_id LEFT JOIN fs_user_coupon fuc ON io.user_coupon_id=fuc.id LEFT JOIN sys_user send ON send.user_id=fuc.send_user_id " +
+            " where io.order_id=#{orderId}")
+    FsInquiryOrderVO selectFsInquiryOrderVOByOrderId(Long orderId);
+
+    @Select("SELECT * FROM  fs_inquiry_order_msg WHERE order_id =#{orderId}")
+    List<FsInquiryOrderMsg> selectFsInquiryOrderMsgByOrderId(Long orderId);
+    @Select({"<script> " +
+            "select o.*,d.doctor_name,d.avatar,dt.dept_name  from fs_inquiry_order o left join fs_doctor d on d.doctor_id=o.doctor_id  LEFT JOIN fs_department dt ON d.dept_id =dt.dept_id  " +
+            "where 1=1  " +
+            "<if test = 'maps.userId != null     '> " +
+            "and o.user_id = #{maps.userId} " +
+            "</if>" +
+            "<if test = 'maps.companyUserId != null     '> " +
+            "and o.company_user_id = #{maps.companyUserId} " +
+            "</if>" +
+            "<if test = 'maps.inquiryType != null and maps.inquiryType>0   '> " +
+            "and o.inquiry_type = #{maps.inquiryType} " +
+            "</if>" +
+            " order by o.create_time desc "+
+            "</script>"})
+    List<FsInquiryOrderListUVO> selectFsInquiryOrderListUVO(@Param("maps") FsInquiryOrderListUParam param);
+    @Select("SELECT * FROM  fs_inquiry_order WHERE order_sn =#{orderSn}")
+    FsInquiryOrder selectFsInquiryOrderByOrderSn(String orderSn);
+    @Select({"<script> " +
+            "select o.*,u.avatar  from fs_inquiry_order o left join fs_user u on u.user_id=o.user_id   " +
+            "where o.is_audit=1  " +
+            "<if test = 'maps.keyword != null   and maps.keyword!=\"\"   '> " +
+            "and ( o.order_sn like CONCAT('%',#{maps.keyword},'%') || o.patient_json->>'$.patientName' like CONCAT('%',#{maps.keyword},'%') || o.patient_json->>'$.mobile' like CONCAT('%',#{maps.keyword},'%')   ) " +
+            "</if>" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==0 and  maps.isAccept != null   and maps.isAccept==1 and maps.isSelf!=null and maps.isSelf==1   '> " +
+            "and o.is_receive = #{maps.isReceive} and (o.inquiry_type=1 or o.inquiry_type=2) " +
+            "</if>" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==0 and maps.isAccept != null   and maps.isAccept==1 and maps.isSelf!=null and maps.isSelf==0   '> " +
+            "and o.is_receive = #{maps.isReceive} and (o.inquiry_type=1 or o.inquiry_type=3)  " +
+            "</if>" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==0 and maps.isAccept != null   and maps.isAccept==0    '> " +
+            "and o.is_receive = #{maps.isReceive} and 1=0   " +
+            "</if>" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==1   '> " +
+            "and o.is_receive = #{maps.isReceive} and o.doctor_id = #{maps.doctorId} " +
+            "</if>" +
+            "<if test = 'maps.status != null and maps.status != 0   '> " +
+            "and o.status = #{maps.status} " +
+            "</if>" +
+            " order by o.create_time desc "+
+            "</script>"})
+    List<FsInquiryOrderListDVO> selectFsInquiryOrderListDVO(@Param("maps") FsInquiryOrderListDParam param);
+    @Select({"<script> " +
+            "select o.*,u.avatar,c.company_name,c.company_id as companyId,cu.nick_name nickName  from fs_inquiry_order o left join fs_user u on u.user_id=o.user_id LEFT JOIN company c ON c.company_id=o.company_id LEFT JOIN  company_user cu on o.company_user_id = cu.user_id   " +
+            "where o.is_audit=1  " +
+            "<if test = 'maps.keyword != null   and maps.keyword!=\"\"   '> " +
+            "and ( o.order_sn like CONCAT('%',#{maps.keyword},'%') || o.patient_json->>'$.patientName' like CONCAT('%',#{maps.keyword},'%') || o.patient_json->>'$.mobile' like CONCAT('%',#{maps.keyword},'%')   ) " +
+            "</if>" +
+            "<if test = 'maps.phone != null   and maps.phone!=\"\"   '> " +
+            "and ( o.patient_json->>'$.mobile' like CONCAT('%',#{maps.phone},'%') ) " +
+            "</if>" +
+            "<if test = 'maps.companyId != null '> " +
+            "and  o.company_id = #{maps.companyId}  " +
+            "</if>" +
+            "<if test = 'maps.userId != null '> " +
+            "and  o.user_id = #{maps.userId}  " +
+            "</if>" +
+            "<if test = 'maps.companyUserNickName != null and maps.companyUserNickName!=\"\" '> " +
+            "and  cu.nick_name = #{maps.companyUserNickName}  " +
+            "</if>" +
+            " <if test=\"maps.sTime != null \">  and DATE(o.start_time) &gt;= DATE(#{maps.sTime})</if>\n" +
+            " <if test=\"maps.eTime != null \">  and DATE(o.start_time) &lt;= DATE(#{maps.eTime})</if>\n" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==0 and  maps.isAccept != null   and maps.isAccept==1 and maps.isSelf!=null and maps.isSelf==1   '> " +
+            "and o.is_receive = #{maps.isReceive} and (o.inquiry_type=1 or o.inquiry_type=2) " +
+            "</if>" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==0 and maps.isAccept != null   and maps.isAccept==1 and maps.isSelf!=null and maps.isSelf==0   '> " +
+            "and o.is_receive = #{maps.isReceive} and (o.inquiry_type=1 or o.inquiry_type=3)  " +
+            "</if>" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==0 and maps.isAccept != null   and maps.isAccept==0    '> " +
+            "and o.is_receive = #{maps.isReceive} and 1=0   " +
+            "</if>" +
+            "<if test = 'maps.isReceive != null   and maps.isReceive==1   '> " +
+            "and o.is_receive = #{maps.isReceive}  " +
+            "</if>" +
+            "<if test = 'maps.doctorId != null and maps.doctorId != 0   '> " +
+            "and o.doctor_id = #{maps.doctorId} " +
+            "</if>" +
+            "<if test = 'maps.status != null and maps.status != 0   '> " +
+            "and o.status = #{maps.status} " +
+            "</if>" +
+            " order by o.create_time desc "+
+            "</script>"})
+    List<FsInquiryOrderListPDVO> selectFsInquiryOrderListPDVO(@Param("maps") FsInquiryOrderListPDParam param);
+
+    @Select("select ifnull(count(1),0) from fs_inquiry_order where status=3 and doctor_id=#{doctorId} and user_id=#{userId}")
+    int checkAcceptOrder(@Param("doctorId") Long doctorId,@Param("userId") Long userId);
+    @Select("select ifnull(count(1),0) from fs_inquiry_order where status=2 and is_audit=1 and doctor_id=#{doctorId}    ")
+    Integer getDoctorDoReceiveOrder(@Param("doctorId")String doctorId);
+    @Select("SELECT * FROM fs_inquiry_order_logs WHERE order_id =#{orderId}")
+    List<FsStoreOrderLogs> selectFsInquiryOrderLogsList(String orderId);
+    @Select({"<script> " +
+            "select io.*,dc.doctor_name,dc.account,det.dept_name,c.company_name,cu.nick_name company_user_name ," +
+            "io.patient_json->>'$.patientName'as  patient_name,syu.nick_name user_name," +
+//            "fuc.send_user_id," +
+//            "send.nick_name sendName," +
+            "IF(fdr.report_id IS NULL, 0, 1) AS isDrugReport " +
+            " from fs_inquiry_order io  LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id " +
+            " LEFT JOIN fs_department det ON det.dept_id =io.department_id  " +
+            " LEFT JOIN sys_user syu ON syu.user_id =io.audit_user_id" +
+//            " LEFT JOIN fs_user_coupon fuc ON io.user_coupon_id=fuc.id" +
+//            " LEFT JOIN sys_user send ON send.user_id=fuc.send_user_id" +
+            " LEFT JOIN company c ON c.company_id= io.company_id" +
+            " LEFT JOIN company_user cu ON cu.user_id=io.company_user_id" +
+            " LEFT JOIN fs_inquiry_order_report fdr ON fdr.order_id=io.order_id "+
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> LEFT JOIN fs_user fu ON fu.user_id=io.user_id</if>\n" +
+            " where 1=1 " +
+            "            <if test=\"maps.orderSn != null  and maps.orderSn != ''\"> and io.order_sn = #{maps.orderSn}</if>\n" +
+            "            <if test=\"maps.title != null  and maps.title != ''\"> and io.title = #{maps.title}</if>\n" +
+            "            <if test=\"maps.userId != null \"> and io.user_id = #{maps.userId}</if>\n" +
+            "            <if test=\"maps.doctorName != null \">  and dc.doctor_name like concat('%', #{maps.doctorName}, '%')</if>\n" +
+            "            <if test=\"maps.patientId != null \"> and io.patient_id = #{maps.patientId}</if>\n" +
+            "            <if test=\"maps.patientName != null \"> and io.patient_json like concat('%',#{maps.patientName},'%')</if>\n" +
+            "            <if test=\"maps.orderType != null \"> and io.order_type = #{maps.orderType}</if>\n" +
+            "            <if test=\"maps.payType != null \"> and io.pay_type = #{maps.payType}</if>\n" +
+            "            <if test=\"maps.isPay != null \"> and io.is_pay = #{maps.isPay}</if>\n" +
+            "            <if test=\"maps.doctorId != null \"> and io.doctor_id = #{maps.doctorId}</if>\n" +
+            "            <if test=\"maps.status != null \"> and io.status = #{maps.status}</if>\n" +
+            "            <if test=\"maps.sTime != null \">  and io.start_time &gt;= DATE_FORMAT(#{maps.sTime},'%Y-%m-%d 00:00:00')</if>\n" +
+            "            <if test=\"maps.eTime != null \">  and io.start_time &lt;= DATE_FORMAT(#{maps.eTime},'%Y-%m-%d 23:59:59')</if>\n" +
+            "            <if test=\"maps.fsTime != null \">  and io.finish_time &gt;= DATE_FORMAT(#{maps.fsTime},'%Y-%m-%d 00:00:00')</if>\n" +
+            "            <if test=\"maps.feTime != null \">  and io.finish_time &lt;= DATE_FORMAT(#{maps.feTime},'%Y-%m-%d 23:59:59')</if>\n" +
+            "            <if test=\"maps.isPing != null \"> and io.is_ping = #{maps.isPing}</if>\n" +
+            "            <if test=\"maps.departmentId != null \"> and io.department_id = #{maps.departmentId}</if>\n" +
+            "            <if test=\"maps.inquiryType != null \"> and io.inquiry_type = #{maps.inquiryType}</if>\n" +
+//            "            <if test=\"maps.sendName != null \"> and send.nick_name like concat( #{maps.sendName}, '%')</if>\n" +
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> and fu.phone = #{maps.phone}</if>\n" +
+            "            <if test=\"maps.companyId != null  \"> and io.company_id = #{maps.companyId}</if>\n" +
+            "            <if test=\"maps.companyUserId != null  \"> and io.company_user_id = #{maps.companyUserId}</if>\n" +
+            "            <if test = 'maps.createTimeList != null    '>  AND date_format(io.create_time,'%y%m%d') &gt;= date_format(#{maps.createTimeList[0]},'%y%m%d')  AND date_format(io.create_time,'%y%m%d') &lt;= date_format(#{maps.createTimeList[1]},'%y%m%d') </if>" +
+            "            <if test = 'maps.payTimeList != null    '>  AND date_format(io.pay_time,'%y%m%d') &gt;= date_format(#{maps.payTimeList[0]},'%y%m%d')  AND date_format(io.pay_time,'%y%m%d') &lt;= date_format(#{maps.payTimeList[1]},'%y%m%d') </if>" +
+            "            <if test = 'maps.inquirySubType != null   '> and io.inquiry_sub_type =#{maps.inquirySubType} </if>" +
+            "            <if test = 'maps.deptId != null    '>  AND (io.dept_id = #{maps.deptId} OR io.dept_id IN ( SELECT t.dept_id FROM company_dept t WHERE find_in_set(#{maps.deptId}, ancestors) )) </if>" +
+            "            <if test = 'maps.doctorAccount != null    '> and dc.account =#{maps.doctorAccount} </if>" +
+            "            <if test = 'maps.companyUserNickName != null and  maps.companyUserNickName !=  \"\" '> and cu.nick_name like concat( #{maps.companyUserNickName}, '%') </if>" +
+            "<if test='maps.lastOrderId != null '> and io.order_id &lt; #{maps.lastOrderId}</if>"+
+            " order by io.order_id desc" +
+            " <if test='maps.limitSqlStr != null and maps.limitSqlStr != \"\"' >  ${maps.limitSqlStr}  </if>" +
+            "</script>"})
+    @DataSource(DataSourceType.SLAVE)
+    List<FsInquiryOrderExeclListVO> selectFsInquiryOrderExcelListVO(@Param("maps") FsInquiryOrderParam fsInquiryOrder);
+
+
+    @Select({"<script> " +
+            "select io.*,dc.doctor_name,c.company_name,cu.nick_name company_user_name ,io.patient_json->>'$.patientName'as  patient_name," +
+            "io.patient_json->>'$.mobile'as  patient_tel  " +
+            "from fs_inquiry_order io " +
+            " LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id  " +
+            "LEFT JOIN company c ON c.company_id= io.company_id " +
+            "LEFT JOIN company_user cu ON cu.user_id=io.company_user_id "+
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> LEFT JOIN fs_user fu ON fu.user_id=io.user_id</if>\n" +
+            " where 1=1 " +
+            "            <if test=\"maps.orderSn != null  and maps.orderSn != ''\"> and io.order_sn = #{maps.orderSn}</if>\n" +
+            "            <if test=\"maps.title != null  and maps.title != ''\"> and io.title = #{maps.title}</if>\n" +
+            "            <if test=\"maps.userId != null \"> and io.user_id = #{maps.userId}</if>\n" +
+            "            <if test=\"maps.doctorName != null \">  and dc.doctor_name like concat('%', #{maps.doctorName}, '%')</if>\n" +
+            "            <if test=\"maps.patientId != null \"> and io.patient_id = #{maps.patientId}</if>\n" +
+            "            <if test=\"maps.patientName != null \"> and io.patient_json like concat('%',#{maps.patientName},'%')</if>\n" +
+            "            <if test=\"maps.orderType != null \"> and io.order_type = #{maps.orderType}</if>\n" +
+            "            <if test=\"maps.payType != null \"> and io.pay_type = #{maps.payType}</if>\n" +
+            "            <if test=\"maps.isPay != null \"> and io.is_pay = #{maps.isPay}</if>\n" +
+            "            <if test=\"maps.doctorId != null \"> and io.doctor_id = #{maps.doctorId}</if>\n" +
+            "            <if test=\"maps.status != null \"> and io.status = #{maps.status}</if>\n" +
+            "            <if test=\"maps.sTime != null \">  and io.start_time &gt;= DATE_FORMAT(#{maps.sTime},'%Y-%m-%d 00:00:00') </if>\n" +
+            "            <if test=\"maps.eTime != null \">  and io.start_time &lt;= DATE_FORMAT(#{maps.eTime},'%Y-%m-%d 23:59:59') </if>\n" +
+            "            <if test=\"maps.finishTime != null \"> and (io.finish_time &gt;= DATE_FORMAT(#{maps.finishTime},'%Y-%m-%d 00:00:00') and io.finish_time &lt;= DATE_FORMAT(#{maps.finishTime},'%Y-%m-%d 23:59:59')) </if>\n" +
+            "            <if test=\"maps.isPing != null \"> and io.is_ping = #{maps.isPing}</if>\n" +
+            "            <if test=\"maps.departmentId != null \"> and io.department_id = #{maps.departmentId}</if>\n" +
+            "            <if test=\"maps.inquiryType != null \"> and io.inquiry_type = #{maps.inquiryType}</if>\n" +
+            "            <if test=\"maps.sendName != null \"> and send.nick_name like concat( #{maps.sendName}, '%')</if>\n" +
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> and fu.phone = #{maps.phone}</if>\n" +
+            "            <if test=\"maps.companyId != null  \"> and io.company_id = #{maps.companyId}</if>\n" +
+            "            <if test=\"maps.companyUserId != null  \"> and io.company_user_id = #{maps.companyUserId}</if>\n" +
+            "<if test = 'maps.createTimeList != null    '> " +
+            " AND date_format(io.create_time,'%y%m%d') &gt;= date_format(#{maps.createTimeList[0]},'%y%m%d') " +
+            " AND date_format(io.create_time,'%y%m%d') &lt;= date_format(#{maps.createTimeList[1]},'%y%m%d') " +
+            "</if>" +
+            "<if test = 'maps.payTimeList != null    '> " +
+            " AND date_format(io.pay_time,'%y%m%d') &gt;= date_format(#{maps.payTimeList[0]},'%y%m%d') " +
+            " AND date_format(io.pay_time,'%y%m%d') &lt;= date_format(#{maps.payTimeList[1]},'%y%m%d') " +
+            "</if>" +
+            "<if test = 'maps.inquirySubType != null    '> " +
+            "and io.inquiry_sub_type =#{maps.inquirySubType} " +
+            "</if>" +
+            "<if test = 'maps.deptId != null    '> " +
+            "  AND (io.dept_id = #{maps.deptId} OR io.dept_id IN ( SELECT t.dept_id FROM company_dept t WHERE find_in_set(#{maps.deptId}, ancestors) )) " +
+            "</if>" +
+            "<if test = 'maps.doctorAccount != null    '> " +
+            "and dc.account =#{maps.doctorAccount} " +
+            "</if>" +
+            " <if test = 'maps.companyUserNickName != null and  maps.companyUserNickName !=  \"\" '> " +
+            " and cu.nick_name like concat( #{maps.companyUserNickName}, '%') " +
+            "</if>" +
+            "<if test='maps.lastOrderId !=null '> and io.order_id &lt;  #{maps.lastOrderId}  </if>" +
+            " order by io.order_id desc" +
+            " <if test='maps.limitSqlStr != null and maps.limitSqlStr != \"\"' >  ${maps.limitSqlStr}  </if>" +
+            "</script>"})
+    @DataSource(DataSourceType.SLAVE)
+    List<FsInquiryFeedbackExportListVO> selectFsInquiryFeedbackExportListVO(@Param("maps") FsInquiryOrderParam fsInquiryOrder);
+
+
+    @Select("select *  from fs_inquiry_order where patient_json LIKE '%https://htj-1258038825.cos.ap-beijing.myqcloud.com%' order by order_id desc ")
+    List<FsInquiryOrder> selectFsInquiryOrderListByUpdate();
+    @Select("select * from fs_inquiry_order where order_type=2 AND inquiry_sub_type=3 and patient_json LIKE \"%未就诊%\"")
+    List<FsInquiryOrder> selectFsInquiryOrderByOrderIdSub3();
+
+    @Select("select * from fs_inquiry_order where status = 3 and (inquiry_type = 1 or inquiry_type = 3)  AND TIMESTAMPDIFF(HOUR, start_time, NOW()) >= 48  ")
+    List<FsInquiryOrder> selectFsInquiryOrderByFinish();
+
+    @Select("select * from fs_inquiry_order where status = 3 and (inquiry_type = 1 or inquiry_type = 3) and is_send_sms = 0 and  TIMESTAMPDIFF(HOUR, start_time, NOW()) > 36  AND TIMESTAMPDIFF(HOUR, start_time, NOW()) < 48 ")
+    List<FsInquiryOrder> selectFsInquiryOrderBySendSms();
+    @Select("select patient_json->>'$.tongueImages'as  patient_name from fs_inquiry_order where inquiry_type=2 and title !='服务问诊' AND patient_json->>'$.tongueImages' !='' and create_time>'2024-08-27'")
+    List<String> selectTongueImages();
+
+
+    @Select("select order_sn from fs_inquiry_order where order_id=#{orderId}")
+    String selectFsInquiryOrderSnByOrderId(long orderId);
+
+    @Select({"<script> " +
+            "select count(1)  from fs_inquiry_order io " +
+            " LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id" +
+            " LEFT JOIN fs_department det ON det.dept_id =io.department_id " +
+            " LEFT JOIN sys_user syu ON syu.user_id =io.audit_user_id " +
+//            "LEFT JOIN fs_user_coupon fuc ON io.user_coupon_id=fuc.id" +
+//            " LEFT JOIN sys_user send ON send.user_id=fuc.send_user_id " +
+            "LEFT JOIN company c ON c.company_id= io.company_id " +
+            "LEFT JOIN company_user cu ON cu.user_id=io.company_user_id " +
+            "LEFT JOIN fs_inquiry_order_report fdr ON fdr.order_id=io.order_id "+
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> LEFT JOIN fs_user fu ON fu.user_id=io.user_id</if>\n" +
+            " where 1=1 " +
+            "            <if test=\"maps.orderSn != null  and maps.orderSn != ''\"> and io.order_sn = #{maps.orderSn}</if>\n" +
+            "            <if test=\"maps.title != null  and maps.title != ''\"> and io.title = #{maps.title}</if>\n" +
+            "            <if test=\"maps.userId != null \"> and io.user_id = #{maps.userId}</if>\n" +
+            "            <if test=\"maps.doctorName != null \">  and dc.doctor_name like concat('%', #{maps.doctorName}, '%')</if>\n" +
+            "            <if test=\"maps.patientId != null \"> and io.patient_id = #{maps.patientId}</if>\n" +
+            "            <if test=\"maps.patientName != null \"> and io.patient_json like concat('%',#{maps.patientName},'%')</if>\n" +
+            "            <if test=\"maps.orderType != null \"> and io.order_type = #{maps.orderType}</if>\n" +
+            "            <if test=\"maps.payType != null \"> and io.pay_type = #{maps.payType}</if>\n" +
+            "            <if test=\"maps.isPay != null \"> and io.is_pay = #{maps.isPay}</if>\n" +
+            "            <if test=\"maps.doctorId != null \"> and io.doctor_id = #{maps.doctorId}</if>\n" +
+            "            <if test=\"maps.status != null \"> and io.status = #{maps.status}</if>\n" +
+            "            <if test=\"maps.sTime != null \">  and io.start_time &gt;= DATE_FORMAT(#{maps.sTime},'%Y-%m-%d 00:00:00')</if>\n" +
+            "            <if test=\"maps.eTime != null \">  and io.start_time &lt;= DATE_FORMAT(#{maps.eTime},'%Y-%m-%d 23:59:59') </if>\n" +
+            "            <if test=\"maps.finishTime != null \"> and (io.finish_time &gt;= DATE_FORMAT(#{maps.finishTime},'%Y-%m-%d 00:00:00') and io.finish_time &lt;= DATE_FORMAT(#{maps.finishTime},'%Y-%m-%d 23:59:59') )</if>\n" +
+            "            <if test=\"maps.isPing != null \"> and io.is_ping = #{maps.isPing}</if>\n" +
+            "            <if test=\"maps.departmentId != null \"> and io.department_id = #{maps.departmentId}</if>\n" +
+            "            <if test=\"maps.inquiryType != null \"> and io.inquiry_type = #{maps.inquiryType}</if>\n" +
+//            "            <if test=\"maps.sendName != null \"> and send.nick_name like concat( #{maps.sendName}, '%')</if>\n" +
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> and fu.phone = #{maps.phone}</if>\n" +
+            "            <if test=\"maps.companyId != null  \"> and io.company_id = #{maps.companyId}</if>\n" +
+            "            <if test=\"maps.companyUserId != null  \"> and io.company_user_id = #{maps.companyUserId}</if>\n" +
+            "            <if test = 'maps.createTimeList != null    '>  AND date_format(io.create_time,'%y%m%d') &gt;= date_format(#{maps.createTimeList[0]},'%y%m%d')  AND date_format(io.create_time,'%y%m%d') &lt;= date_format(#{maps.createTimeList[1]},'%y%m%d') </if>" +
+            "            <if test = 'maps.payTimeList != null    '>  AND date_format(io.pay_time,'%y%m%d') &gt;= date_format(#{maps.payTimeList[0]},'%y%m%d')  AND date_format(io.pay_time,'%y%m%d') &lt;= date_format(#{maps.payTimeList[1]},'%y%m%d') </if>" +
+            "            <if test = 'maps.inquirySubType != null   '> and io.inquiry_sub_type =#{maps.inquirySubType} </if>" +
+            "            <if test = 'maps.deptId != null    '>  AND (io.dept_id = #{maps.deptId} OR io.dept_id IN ( SELECT t.dept_id FROM company_dept t WHERE find_in_set(#{maps.deptId}, ancestors) )) </if>" +
+            "            <if test = 'maps.doctorAccount != null    '> and dc.account =#{maps.doctorAccount} </if>" +
+            "            <if test = 'maps.companyUserNickName != null and  maps.companyUserNickName !=  \"\" '> and cu.nick_name like concat( #{maps.companyUserNickName}, '%') </if>" +
+            " order by io.order_id desc" +
+            "</script>"})
+    @DataSource(DataSourceType.SLAVE)
+    Long selectFsInquiryOrderExcelListVOCount(@Param("maps") FsInquiryOrderParam fsInquiryOrder);
+    @Select({"<script> " +
+            "select count(1)  from fs_inquiry_order io " +
+            " LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id " +
+            " LEFT JOIN company c ON c.company_id= io.company_id " +
+            "LEFT JOIN company_user cu ON cu.user_id=io.company_user_id "+
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> LEFT JOIN fs_user fu ON fu.user_id=io.user_id</if>\n" +
+            " where 1=1 " +
+            "            <if test=\"maps.orderSn != null  and maps.orderSn != ''\"> and io.order_sn = #{maps.orderSn}</if>\n" +
+            "            <if test=\"maps.title != null  and maps.title != ''\"> and io.title = #{maps.title}</if>\n" +
+            "            <if test=\"maps.userId != null \"> and io.user_id = #{maps.userId}</if>\n" +
+            "            <if test=\"maps.doctorName != null \">  and dc.doctor_name like concat('%', #{maps.doctorName}, '%')</if>\n" +
+            "            <if test=\"maps.patientId != null \"> and io.patient_id = #{maps.patientId}</if>\n" +
+            "            <if test=\"maps.patientName != null \"> and io.patient_json like concat('%',#{maps.patientName},'%')</if>\n" +
+            "            <if test=\"maps.orderType != null \"> and io.order_type = #{maps.orderType}</if>\n" +
+            "            <if test=\"maps.payType != null \"> and io.pay_type = #{maps.payType}</if>\n" +
+            "            <if test=\"maps.isPay != null \"> and io.is_pay = #{maps.isPay}</if>\n" +
+            "            <if test=\"maps.doctorId != null \"> and io.doctor_id = #{maps.doctorId}</if>\n" +
+            "            <if test=\"maps.status != null \"> and io.status = #{maps.status}</if>\n" +
+            "            <if test=\"maps.sTime != null \">  and io.start_time &gt;= DATE_FORMAT(#{maps.sTime},'%Y-%m-%d 00:00:00') </if>\n" +
+            "            <if test=\"maps.eTime != null \">  and io.start_time &lt;= DATE_FORMAT(#{maps.eTime},'%Y-%m-%d 23:59:59')</if>\n" +
+            "            <if test=\"maps.finishTime != null \"> and (io.finish_time &gt;= DATE_FORMAT(#{maps.finishTime},'%Y-%m-%d 00:00:00') and io.finish_time &lt;= DATE_FORMAT(#{maps.finishTime},'%Y-%m-%d 23:59:59') )</if>\n" +
+            "            <if test=\"maps.isPing != null \"> and io.is_ping = #{maps.isPing}</if>\n" +
+            "            <if test=\"maps.departmentId != null \"> and io.department_id = #{maps.departmentId}</if>\n" +
+            "            <if test=\"maps.inquiryType != null \"> and io.inquiry_type = #{maps.inquiryType}</if>\n" +
+            "            <if test=\"maps.sendName != null \"> and send.nick_name like concat( #{maps.sendName}, '%')</if>\n" +
+            "            <if test=\"maps.phone != null  and maps.phone != ''\"> and fu.phone = #{maps.phone}</if>\n" +
+            "            <if test=\"maps.companyId != null  \"> and io.company_id = #{maps.companyId}</if>\n" +
+            "            <if test=\"maps.companyUserId != null  \"> and io.company_user_id = #{maps.companyUserId}</if>\n" +
+            "<if test = 'maps.createTimeList != null    '> " +
+            " AND date_format(io.create_time,'%y%m%d') &gt;= date_format(#{maps.createTimeList[0]},'%y%m%d') " +
+            " AND date_format(io.create_time,'%y%m%d') &lt;= date_format(#{maps.createTimeList[1]},'%y%m%d') " +
+            "</if>" +
+            "<if test = 'maps.payTimeList != null    '> " +
+            " AND date_format(io.pay_time,'%y%m%d') &gt;= date_format(#{maps.payTimeList[0]},'%y%m%d') " +
+            " AND date_format(io.pay_time,'%y%m%d') &lt;= date_format(#{maps.payTimeList[1]},'%y%m%d') " +
+            "</if>" +
+            "<if test = 'maps.inquirySubType != null    '> " +
+            "and io.inquiry_sub_type =#{maps.inquirySubType} " +
+            "</if>" +
+            "<if test = 'maps.deptId != null    '> " +
+            "  AND (io.dept_id = #{maps.deptId} OR io.dept_id IN ( SELECT t.dept_id FROM company_dept t WHERE find_in_set(#{maps.deptId}, ancestors) )) " +
+            "</if>" +
+            "<if test = 'maps.doctorAccount != null    '> " +
+            "and dc.account =#{maps.doctorAccount} " +
+            "</if>" +
+            " <if test = 'maps.companyUserNickName != null and  maps.companyUserNickName !=  \"\" '> " +
+            " and cu.nick_name like concat( #{maps.companyUserNickName}, '%') " +
+            "</if>" +
+            " order by io.order_id desc" +
+            "</script>"})
+    @DataSource(DataSourceType.SLAVE)
+    Long selectFsInquiryFeedbackExportListVOCount(@Param("maps") FsInquiryOrderParam fsInquiryOrder);
+
+    int revokeFsInquiryOrder(FsInquiryOrder fsInquiryOrder);
+
+    @Select("select order_id,patient_json  from fs_inquiry_order where order_id > #{orderId} ORDER BY order_id asc  limit 500")
+    List<FsInquiryOrder> selectFsInquiryOrderPhoneList(FsInquiryOrder order);
+
+    FsPackageOrderVO selectOrderMsgByPackageOrderId(@Param("packageOrderId") Long packageOrderId);
+}

+ 11 - 8
fs-service-system/src/main/java/com/fs/store/mapper/FsPrescribeMapper.java

@@ -10,15 +10,18 @@ import org.apache.ibatis.annotations.Select;
 
 /**
  * 处方Mapper接口
- * 
+ *
  * @author fs
  * @date 2022-03-15
  */
-public interface FsPrescribeMapper 
+public interface FsPrescribeMapper
 {
+
+    @Select("select so.*,ffff.doctor_name prescribeDoctorName, us.nick_name ,dc.doctor_name,dp.doctor_name doctor_drug_name,fso.order_code,fso.`status` order_status,fse.store_name FROM fs_prescribe so  LEFT JOIN fs_user us ON us.user_id=so.user_id LEFT JOIN fs_doctor dc ON dc.doctor_id = so.doctor_id LEFT JOIN fs_doctor dp ON dp.doctor_id =so.drug_doctor_id LEFT JOIN fs_store_order fso ON fso.order_id = so.store_order_id LEFT JOIN fs_store fse ON fse.store_id = so.store_id  LEFT JOIN fs_doctor ffff ON ffff.doctor_id=so.prescribe_doctor_id  where so.prescribe_id=#{prescribeId}")
+    FsPrescribeVO selectFsPrescribeByPrescribeIdVO(Long prescribeId);
     /**
      * 查询处方
-     * 
+     *
      * @param prescribeId 处方ID
      * @return 处方
      */
@@ -26,7 +29,7 @@ public interface FsPrescribeMapper
 
     /**
      * 查询处方列表
-     * 
+     *
      * @param fsPrescribe 处方
      * @return 处方集合
      */
@@ -34,7 +37,7 @@ public interface FsPrescribeMapper
 
     /**
      * 新增处方
-     * 
+     *
      * @param fsPrescribe 处方
      * @return 结果
      */
@@ -42,7 +45,7 @@ public interface FsPrescribeMapper
 
     /**
      * 修改处方
-     * 
+     *
      * @param fsPrescribe 处方
      * @return 结果
      */
@@ -50,7 +53,7 @@ public interface FsPrescribeMapper
 
     /**
      * 删除处方
-     * 
+     *
      * @param prescribeId 处方ID
      * @return 结果
      */
@@ -58,7 +61,7 @@ public interface FsPrescribeMapper
 
     /**
      * 批量删除处方
-     * 
+     *
      * @param prescribeIds 需要删除的数据ID
      * @return 结果
      */

+ 15 - 0
fs-service-system/src/main/java/com/fs/store/param/BaseParam.java

@@ -0,0 +1,15 @@
+package com.fs.store.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class BaseParam implements Serializable {
+    @ApiModelProperty(value = "页码,默认为1")
+    private Integer pageNum =1;
+    @ApiModelProperty(value = "页大小,默认为10")
+    private Integer pageSize = 10;
+    private String keyword;
+}

+ 24 - 0
fs-service-system/src/main/java/com/fs/store/param/FsInquiryOrderListPDParam.java

@@ -0,0 +1,24 @@
+package com.fs.store.param;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class FsInquiryOrderListPDParam extends BaseParam implements Serializable {
+    Long doctorId;
+    Integer isSelf;//是否自营
+    Integer isAccept;//是否可抢单
+    Integer inquiryType;
+    Integer status;
+    Integer isReceive;
+
+    String phone;//电话
+    private Long companyId;
+    private String companyUserNickName;
+    /** 问诊开始时间 */
+    Long userId;
+    private String eTime;
+    private String sTime;
+
+}

+ 12 - 0
fs-service-system/src/main/java/com/fs/store/param/FsInquiryOrderListUParam.java

@@ -0,0 +1,12 @@
+package com.fs.store.param;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class FsInquiryOrderListUParam extends BaseParam implements Serializable {
+    Long userId;
+    Integer inquiryType;
+    Long companyUserId;
+}

+ 153 - 0
fs-service-system/src/main/java/com/fs/store/param/FsInquiryOrderParam.java

@@ -0,0 +1,153 @@
+package com.fs.store.param;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class FsInquiryOrderParam {
+    private Long orderId;
+
+    /** 订单号 */
+    @Excel(name = "订单号")
+    private String orderSn;
+
+    /** 问诊标题 */
+    @Excel(name = "问诊标题")
+    private String title;
+
+    /** 病例组图 */
+    @Excel(name = "病例组图")
+    private String imgs;
+
+    /** 会员ID */
+    @Excel(name = "会员ID")
+    private Long userId;
+
+    /** 病人ID */
+    @Excel(name = "病人ID")
+    private Long patientId;
+
+    @Excel(name = "病人名称")
+    private String patientName;
+    @Excel(name = "电话")
+    private String phone;
+    /** 订单类型 1图文 2语音 */
+    @Excel(name = "订单类型 1图文 2语音")
+    private Integer orderType;
+
+    /** 订单金额 */
+    @Excel(name = "订单金额")
+    private BigDecimal money;
+
+    /** 支付金额 */
+    @Excel(name = "支付金额")
+    private BigDecimal payMoney;
+
+    /** 支付类型 1微信支付 */
+    @Excel(name = "支付类型 1微信支付")
+    private Integer payType;
+
+    /** 是否支付 */
+    @Excel(name = "是否支付")
+    private Integer isPay;
+
+    /** 医生ID */
+    @Excel(name = "医生ID")
+    private Long doctorId;
+
+    /** 医生ID */
+    @Excel(name = "医生")
+    private String doctorName;
+    private String sendName;
+    /** 医生ID */
+    @Excel(name = "医生")
+    private String patientJson;
+    /** 支付时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+
+    /** 状态 0待支付 1已支付 2已完成  -1已关闭 -2已退款 */
+    @Excel(name = "状态 0待支付 1已支付 2已完成  -1已关闭 -2已退款")
+    private Integer status;
+
+    /** 问诊开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "问诊开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    /** 问诊开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date sTime;
+
+    /** 问诊开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date eTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
+
+    /** 问诊结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date fsTime;
+
+    /** 问诊结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date feTime;
+    /** 是否评价 */
+    @Excel(name = "是否评价")
+    private Integer isPing;
+
+
+    /** 科室ID */
+    @Excel(name = "科室ID")
+    private Long departmentId;
+    @Excel(name = "科室ID")
+    private String deptName;
+    /** 问诊类型 */
+    @Excel(name = "问诊类型")
+    private Integer inquiryType;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /** 评价内容 */
+    String pingContent;
+    /** 评分 */
+    Integer pingStar;
+
+    private Long companyId;
+    private Long companyUserId;
+    private String companyUserName;
+    private String createTimeRange;
+    private Integer inquirySubType;
+    private String[] createTimeList;
+
+    private String payTimeRange;
+
+    private String[] payTimeList;
+
+    //部门id
+    private Long deptId;
+    //公司员工昵称
+    private String companyUserNickName;
+
+    private String doctorAccount;
+
+    private Long taskId;//任务ID
+    //导出分页
+    private String limitSqlStr;
+
+    private Long lastOrderId;
+}

+ 67 - 0
fs-service-system/src/main/java/com/fs/store/param/PrescribeXyImgParam.java

@@ -0,0 +1,67 @@
+package com.fs.store.param;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import com.fs.store.domain.FsPrescribeDrug;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class PrescribeXyImgParam {
+
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date time;
+
+    /** 订单ID */
+    @Excel(name = "处方ID")
+    private String prescribeId;
+
+    /** 患者姓名 */
+    @Excel(name = "患者姓名")
+    private String patientName;
+
+    /** 患者性别*/
+    @Excel(name = "患者性别(传数字,1男 2⼥)")
+    private String patientGender;
+    /** 患者年龄 */
+    @Excel(name = "患者年龄")
+    private String patientAge;
+    /** 门诊id号 */
+    private String outpatientId;
+    /** 床号 */
+    private String bedId;
+    /** 过敏史 */
+    private String historyAllergic;
+
+    /** 诊断 */
+    @Excel(name = "诊断")
+    private String diagnose;
+    /** 订单 */
+    private List<FsPrescribeDrug> prescribeDrug;
+
+    /** 医生ID */
+    @Excel(name = "医生名称")
+    private String doctorName;
+
+    /** 订单总价 */
+    @Excel(name = "订单总价")
+    private BigDecimal totalPrice;
+
+    /** 审核药师 */
+    private String auditDoctor;
+    /** 调配员 */
+    private String Dispatcher;
+    /** 发药 */
+    private String checkDoctor;
+
+    private String url;
+
+    private String drugDoctorUrl;
+
+    @Excel(name = "医嘱")
+    private String remark;
+}

+ 83 - 0
fs-service-system/src/main/java/com/fs/store/param/PrescribeZyImgParam.java

@@ -0,0 +1,83 @@
+package com.fs.store.param;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import com.fs.store.domain.FsPrescribeDrug;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class PrescribeZyImgParam {
+    /** 处方类型 1问诊 2订单 */
+    @Excel(name = "处方类型 1问诊 2订单")
+    private Integer prescribeType;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date time;
+
+    /** 订单ID */
+    @Excel(name = "订单ID")
+    private String prescribeId;
+
+    /** 患者姓名 */
+    @Excel(name = "患者姓名")
+    private String patientName;
+
+    /** 患者性别(传数字,1男 2⼥) */
+    @Excel(name = "患者性别(传数字,1男 2⼥)")
+    private String patientGender;
+    /** 患者年龄 */
+    @Excel(name = "患者年龄")
+    private String patientAge;
+    /** 患者电话 */
+    @Excel(name = "患者电话")
+    private String patientTel;
+
+    /** 收货人 */
+    @Excel(name = "收货人")
+    private String userName;
+
+    /** 收货人电话 */
+    @Excel(name = "收货人电话")
+    private String userPhone;
+
+    /** 详细地址 */
+    @Excel(name = "详细地址")
+    private String userAddress;
+
+    /** 诊断 */
+    @Excel(name = "诊断")
+    private String diagnose;
+    /** 订单 */
+    private List<FsPrescribeDrug> prescribeDrug;
+
+
+    /** 吃法 */
+    @Excel(name = "吃法")
+    private String eat;
+
+    /** 医嘱 */
+    @Excel(name = "医嘱")
+    private String remark;
+    @Excel(name = "服用频率")
+    private String usageFrequencyUnit;
+    /** 医生ID */
+    @Excel(name = "医生名称")
+    private String doctorName;
+
+    private String prescribeDoctorName;
+    private String url;
+    /** 复核 */
+    private String check;
+
+    private String drugDoctorUrl;
+    /** 剂数 */
+    @Excel(name = "剂数")
+    private String size ;
+    /** 订单总价 */
+    @Excel(name = "订单总价")
+    private BigDecimal totalPrice;
+}

+ 15 - 11
fs-service-system/src/main/java/com/fs/store/service/IFsPrescribeService.java

@@ -4,22 +4,20 @@ import java.util.List;
 
 import com.fs.common.core.domain.R;
 import com.fs.store.domain.FsPrescribe;
-import com.fs.store.param.FsPrescribeParam;
-import com.fs.store.param.FsPrescribeQueryParam;
-import com.fs.store.param.FsPrescribeVOParam;
+import com.fs.store.param.*;
 import com.fs.store.vo.FsPrescribeVO;
 
 /**
  * 处方Service接口
- * 
+ *
  * @author fs
  * @date 2022-03-15
  */
-public interface IFsPrescribeService 
+public interface IFsPrescribeService
 {
     /**
      * 查询处方
-     * 
+     *
      * @param prescribeId 处方ID
      * @return 处方
      */
@@ -27,7 +25,7 @@ public interface IFsPrescribeService
 
     /**
      * 查询处方列表
-     * 
+     *
      * @param fsPrescribe 处方
      * @return 处方集合
      */
@@ -35,7 +33,7 @@ public interface IFsPrescribeService
 
     /**
      * 新增处方
-     * 
+     *
      * @param fsPrescribe 处方
      * @return 结果
      */
@@ -43,7 +41,7 @@ public interface IFsPrescribeService
 
     /**
      * 修改处方
-     * 
+     *
      * @param fsPrescribe 处方
      * @return 结果
      */
@@ -51,7 +49,7 @@ public interface IFsPrescribeService
 
     /**
      * 批量删除处方
-     * 
+     *
      * @param prescribeIds 需要删除的处方ID
      * @return 结果
      */
@@ -59,7 +57,7 @@ public interface IFsPrescribeService
 
     /**
      * 删除处方信息
-     * 
+     *
      * @param prescribeId 处方ID
      * @return 结果
      */
@@ -74,4 +72,10 @@ public interface IFsPrescribeService
     List<FsPrescribeVO> selectFsPrescribeListVO(FsPrescribeVOParam fsPrescribe);
 
     FsPrescribe selectFsPrescribeByOrderId(Long id);
+
+    String PrescribeImg(Long prescribeId);
+
+    String getFsPrescribeZyImg(PrescribeZyImgParam o);
+
+    String getFsPrescribeXyImg(PrescribeXyImgParam o);
 }

+ 366 - 44
fs-service-system/src/main/java/com/fs/store/service/impl/FsPrescribeServiceImpl.java

@@ -1,28 +1,40 @@
 package com.fs.store.service.impl;
 
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.math.BigDecimal;
+import java.net.URL;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import cn.hutool.json.JSONUtil;
 import com.fs.common.config.FSSysConfig;
 import com.fs.common.core.domain.R;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.OrderUtils;
 import com.fs.common.utils.StringUtils;
-import com.fs.store.bean.Drug;
 import com.fs.store.bean.DrugV2;
-import com.fs.store.bean.Prescribe;
 import com.fs.store.bean.PrescribeV2;
 import com.fs.store.domain.*;
+import com.fs.store.dto.FsPrescribeUsageDTO;
+import com.fs.store.mapper.FsInquiryOrderMapper;
+import com.fs.store.mapper.FsPrescribeDrugMapper;
 import com.fs.store.param.*;
 import com.fs.store.service.*;
+import com.fs.store.vo.FsInquiryOrderVO;
 import com.fs.store.vo.FsPrescribeVO;
+import com.fs.system.oss.CloudStorageService;
+import com.fs.system.oss.OSSFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.fs.store.mapper.FsPrescribeMapper;
 
+import javax.imageio.ImageIO;
+
 /**
  * 处方Service业务层处理
  *
@@ -33,22 +45,27 @@ import com.fs.store.mapper.FsPrescribeMapper;
 public class FsPrescribeServiceImpl implements IFsPrescribeService
 {
     @Autowired
-    IPrescribeService prescribeService;
+    private IPrescribeService prescribeService;
+    @Autowired
+    private FsPrescribeMapper fsPrescribeMapper;
     @Autowired
-    FsPrescribeMapper fsPrescribeMapper;
+    private IFsStoreOrderService orderService;
     @Autowired
-    IFsStoreOrderService orderService;
+    private IFsPatientService patientService;
     @Autowired
-    IFsPatientService patientService;
+    private IFsUserService userService;
     @Autowired
-    IFsUserService userService;
+    private FSSysConfig fsSysConfig;
     @Autowired
-    FSSysConfig fsSysConfig;
+    private IFsStoreOrderItemService orderItemService;
     @Autowired
-    IFsStoreOrderItemService orderItemService;
+    private IFsStoreProductService productService;
+
     @Autowired
-    IFsStoreProductService productService;
+    private FsInquiryOrderMapper fsInquiryOrderMapper;
 
+    @Autowired
+    private FsPrescribeDrugMapper fsPrescribeDrugMapper;
     /**
      * 查询处方
      *
@@ -183,40 +200,39 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
             prescribeParam.setData(prescribe);
         }
         R response=prescribeService.doPrescribeV2(prescribeParam);
-        if(response.get("code").equals(200)){
-            FsPrescribe fsPrescribe=new FsPrescribe();
-            fsPrescribe.setRpId(rpId);
-            fsPrescribe.setUserId(userId);
-            fsPrescribe.setPatientId(patient.getPatientId());
-            fsPrescribe.setPharmacyCode("00001");
-            fsPrescribe.setPharmacyName("零利润药房");
-            fsPrescribe.setStatus(0);
-            fsPrescribe.setPrescribeType(1);
-            fsPrescribe.setOrderId(order.getId());
-            fsPrescribe.setCreateTime(new Date());
-            fsPrescribe.setPatientGender(patient.getGender().toString());
-            fsPrescribe.setPatientName(patient.getPatientName());
-            fsPrescribe.setIsHistoryAllergic(param.getIsAllergic()?"是":"否");
-            fsPrescribe.setLiverUnusual(param.getIsLiver()?"是":"否");
-            fsPrescribe.setLactationFlag(param.getIsLactation()?"是":"否");
-            fsPrescribe.setRenalUnusual(param.getIsRenal()?"是":"否");
-            fsPrescribe.setChiefComplaint(param.getChiefComplaint());
-            fsPrescribe.setNowIllness(param.getNowIllness());
-            fsPrescribe.setHistoryIllness(param.getHistoryIllness());
-            fsPrescribe.setRecordPic(param.getRecordPic());
-            fsPrescribe.setPatientAge(String.valueOf( DateUtils.getAge(patient.getBirthday())));
-            fsPrescribeMapper.insertFsPrescribe(fsPrescribe);
-
-            FsStoreOrder orderMap=new FsStoreOrder();
-            orderMap.setId(order.getId());
-            orderMap.setPrescribeId(fsPrescribe.getPrescribeId());
-            orderService.updateFsStoreOrder(orderMap);
-            return R.ok("操作成功").put("order",order);
-
-        }
-        else{
-            return R.error(response.get("msg").toString());
-        }
+//        if(response.get("code").equals(200)){
+        FsPrescribe fsPrescribe=new FsPrescribe();
+        fsPrescribe.setRpId(rpId);
+        fsPrescribe.setUserId(userId);
+        fsPrescribe.setPatientId(patient.getPatientId());
+        fsPrescribe.setPharmacyCode("00001");
+        fsPrescribe.setPharmacyName("零利润药房");
+        fsPrescribe.setStatus(0);
+        fsPrescribe.setPrescribeType(1);
+        fsPrescribe.setStoreOrderId(order.getId());
+        fsPrescribe.setCreateTime(new Date());
+        fsPrescribe.setPatientGender(patient.getGender().toString());
+        fsPrescribe.setPatientName(patient.getPatientName());
+        fsPrescribe.setIsHistoryAllergic(param.getIsAllergic()?"是":"否");
+        fsPrescribe.setLiverUnusual(param.getIsLiver()?"是":"否");
+        fsPrescribe.setLactationFlag(param.getIsLactation()?"是":"否");
+        fsPrescribe.setRenalUnusual(param.getIsRenal()?"是":"否");
+        fsPrescribe.setChiefComplaint(param.getChiefComplaint());
+        fsPrescribe.setNowIllness(param.getNowIllness());
+        fsPrescribe.setHistoryIllness(param.getHistoryIllness());
+        fsPrescribe.setRecordPic(param.getRecordPic());
+        fsPrescribe.setPatientAge(String.valueOf( DateUtils.getAge(patient.getBirthday())));
+        fsPrescribeMapper.insertFsPrescribe(fsPrescribe);
+
+        FsStoreOrder orderMap=new FsStoreOrder();
+        orderMap.setId(order.getId());
+        orderMap.setPrescribeId(fsPrescribe.getPrescribeId());
+        orderService.updateFsStoreOrder(orderMap);
+        return R.ok("操作成功").put("order",order);
+//        }
+//        else{
+//            return R.error(response.get("msg").toString());
+//        }
     }
 
     @Override
@@ -239,4 +255,310 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
     public FsPrescribe selectFsPrescribeByOrderId(Long id) {
         return fsPrescribeMapper.selectFsPrescribeByOrderId(id);
     }
+
+    @Override
+    public String PrescribeImg(Long prescribeId) {
+        FsPrescribeVO f = fsPrescribeMapper.selectFsPrescribeByPrescribeIdVO(prescribeId);
+        if (f==null){
+            return "";
+        }
+        FsStoreOrder fsStoreOrder = orderService.selectFsStoreOrderById(f.getStoreOrderId());
+        FsInquiryOrderVO order = fsInquiryOrderMapper.selectFsInquiryOrderVOByOrderId(f.getInquiryOrderId());
+        if (f.getPrescribeImgUrl()==null||f.getPrescribeImgUrl().equals("")){
+            FsPrescribeDrug d = new FsPrescribeDrug();
+            d.setPrescribeId(f.getPrescribeId());
+            List<FsPrescribeDrug> list = fsPrescribeDrugMapper.selectFsPrescribeDrugList(d);
+//            List<FsPrescribeDrug> list =new ArrayList<>();
+//            for (FsPrescribeDrug fsPrescribeDrug : FsPrescribeDruglist) {
+//                if (fsPrescribeDrug.getIsDrug()!=null&&fsPrescribeDrug.getIsDrug()!=0){
+//                    list.add(fsPrescribeDrug);
+//                }else if (fsPrescribeDrug.getIsDrug()==null){
+//                    list.add(fsPrescribeDrug);
+//                }
+//            }
+            if (list.size()==0){
+                return "";
+            }
+            if (f.getPrescribeType()==1){
+                PrescribeXyImgParam o = new PrescribeXyImgParam();
+                o.setTotalPrice(fsStoreOrder.getPayPrice());
+                o.setTime(f.getCreateTime());
+                o.setPrescribeId(f.getPrescribeCode());
+                o.setPatientName(f.getPatientName());
+                o.setPatientGender(f.getPatientGender());
+                o.setPatientAge(f.getPatientAge());
+                o.setOutpatientId(f.getPrescribeCode());
+                o.setUrl(f.getPrescribeDoctorSignUrl());
+                o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
+                if (order!=null){
+                    o.setBedId(order.getDeptName());
+                }else {
+                    o.setBedId("中医科");
+                }
+                String remark="";
+                if (f.getUsageJson()!=null){
+                    FsPrescribeUsageDTO usage = JSONUtil.toBean(f.getUsageJson(), FsPrescribeUsageDTO.class);
+                    remark=usage.getRemark();
+                }
+                if (remark!=null&&remark!=""){
+                    o.setRemark(remark);
+                }else {
+                    o.setRemark("请按照用药说明书服用药品,如有不适,请及时就医!");
+                }
+                o.setHistoryAllergic(f.getHistoryAllergic());
+                o.setDiagnose(f.getDiagnose());
+                o.setPrescribeDrug(list); // 在这里添加处方药品列表的值
+                o.setDoctorName(f.getDoctorName());
+                o.setAuditDoctor(f.getDoctorDrugName());
+                o.setDispatcher("");
+                o.setCheckDoctor("");
+                o.setDoctorName(f.getDoctorName());
+                String s = getFsPrescribeXyImg(o);
+                FsPrescribe fsPrescribe = new FsPrescribe();
+                fsPrescribe.setRpUrl(s);
+                fsPrescribe.setPrescribeId(f.getPrescribeId());
+                fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
+                return s;
+            }else if (f.getPrescribeType()==2){
+
+                FsPrescribeUsageDTO usage = JSONUtil.toBean(f.getUsageJson(), FsPrescribeUsageDTO.class);
+
+                // 设置字段值
+                PrescribeZyImgParam o = new PrescribeZyImgParam();
+                o.setTime(f.getCreateTime());
+
+                o.setPrescribeId(f.getPrescribeCode());
+                o.setPatientName(f.getPatientName());
+                o.setPatientGender(f.getPatientGender());
+                o.setPatientAge(f.getPatientAge());
+                o.setPatientTel(f.getPatientTel());
+                o.setPrescribeDoctorName(f.getPrescribeDoctorName());
+                o.setUserName(fsStoreOrder.getRealName()); //发货地址
+                o.setUserPhone(fsStoreOrder.getUserPhone()); //收货人手机
+                o.setUserAddress(fsStoreOrder.getUserAddress()); //收货地址
+                o.setDiagnose(f.getDiagnose());
+                o.setPrescribeDrug(list); // 在这里添加处方药品列表的值
+                o.setEat(usage.getUsageMethod());
+                o.setUsageFrequencyUnit(usage.getUsageFrequencyUnit());
+                o.setRemark(usage.getRemark());
+                o.setDoctorName(f.getDoctorName());
+                o.setCheck(f.getDoctorDrugName());
+                if (usage.getCounts()!=null){
+                    o.setSize(usage.getCounts().toString());
+                }
+                o.setUrl(f.getPrescribeDoctorSignUrl());
+                o.setDrugDoctorUrl(f.getDrugDoctorSignUrl());
+                o.setTotalPrice(fsStoreOrder.getPayPrice());
+                String s = getFsPrescribeZyImg(o);
+                FsPrescribe fsPrescribe = new FsPrescribe();
+                fsPrescribe.setRpUrl(s);
+                fsPrescribe.setPrescribeId(f.getPrescribeId());
+                fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
+                return s;
+            }
+        }
+        return f.getPrescribeImgUrl();
+    }
+
+
+    @Override
+    public String getFsPrescribeZyImg(PrescribeZyImgParam o) {
+        File mb = new File("C:\\fs\\zycf.jpg");
+        if (!mb.exists()) {
+            // 创建目录
+            throw  new CustomException("模板文件不存在");
+        }
+        BufferedImage image = null;
+        try {
+            image = ImageIO.read(mb);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        // 创建画笔(image为上一步的图片对象)
+        Graphics2D pen = image.createGraphics();
+        pen.setColor(Color.black);
+        //处理字体 高清加边缘模糊
+        pen.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
+                RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+        pen.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+        pen.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
+        pen.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
+        pen.setFont(new Font("黑体", Font.PLAIN, 21));
+        // 将date对象格式化为字符串
+
+        penDrawString(pen,new SimpleDateFormat("yyyy-MM-dd").format(o.getTime()), 730, 290);
+        penDrawString(pen,o.getPrescribeId(),1030,290);
+        penDrawString(pen,o.getPatientName(),136,372);
+        penDrawString(pen,o.getPatientGender().equals("1")?"男":o.getPatientGender().equals("2")?"女":o.getPatientGender(),420,372);
+        penDrawString(pen,o.getPatientAge(),690,372);
+        penDrawString(pen,o.getPatientTel(),970,372);
+        String address= o.getUserName()+"      "+o.getUserPhone()+"     "+o.getUserAddress();
+        penDrawString(pen,address,180,445);
+        penDrawString(pen,o.getDiagnose(),180,515);
+        List<FsPrescribeDrug> Drug = o.getPrescribeDrug();
+        int size=Drug.size();
+
+        for (int i = 0; i < size/3.0; i++) {
+            if (i*3<size){
+                pen.drawString(Drug.get(i*3).getDrugName(),145,680+i*50);
+            }
+            if (i*3+1<size){
+                pen.drawString(Drug.get(i*3+1).getDrugName(),510,680+i*50);
+            }
+            if (i*3+2<size){
+                pen.drawString(Drug.get(i*3+2).getDrugName(),875,680+i*50);
+            }
+        }
+        penDrawString(pen,o.getEat(),110,1195);
+        penDrawString(pen,o.getUsageFrequencyUnit(),135,1240);
+        penDrawString(pen,o.getRemark(),110,1288);
+
+        // penDrawString(pen,o.getDoctorName(),152,1378);
+        if (o.getUrl()!=null){
+            try {
+                URL imageUrl = new URL(o.getUrl());
+                BufferedImage img = ImageIO.read(imageUrl);
+                pen.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+                pen.drawImage(img, 130, 1420, 127, 60, null);
+            } catch (Exception e) {
+                throw new CustomException("获取医生签名图片失败");
+            }
+
+        }else {
+            penDrawString(pen,o.getPrescribeDoctorName(),152,1450);
+        }
+        if (o.getDrugDoctorUrl()!=null){
+            try {
+                URL   imageUrl3 = new URL(o.getDrugDoctorUrl());
+                BufferedImage img3 = ImageIO.read(imageUrl3);
+                pen.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+                pen.drawImage(img3, 370, 1345, 127, 60, null);
+            } catch (Exception e) {
+                throw new CustomException("获取药师签名图片失败");
+            }
+        }
+//        penDrawString(pen,o.getCheck(),348,1378);
+        penDrawString(pen,o.getSize(),620,1378);
+        if (o.getTotalPrice()!=null){
+            penDrawString(pen,o.getTotalPrice().toString(),370,1452);
+            penDrawString(pen,o.getTotalPrice().toString(),620,1452);
+        }
+        ByteArrayOutputStream os = new ByteArrayOutputStream();
+        try {
+            ImageIO.write(image, "png", os);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        InputStream inputStream = new ByteArrayInputStream(os.toByteArray());
+        CloudStorageService storage = OSSFactory.build();
+        String url = storage.uploadSuffix(inputStream, ".jpg");
+        return url;
+    }
+
+    @Override
+    public String getFsPrescribeXyImg(PrescribeXyImgParam o) {
+        // File mb = new File(System.getProperty("user.dir")+"\\xycf.jpg");
+        File mb = new File("C:\\fs\\xycf.jpg");
+        if (!mb.exists()) {
+            // 创建目录
+            throw  new CustomException("模板文件不存在");
+        }
+        BufferedImage image = null;
+        try {
+            image = ImageIO.read(mb);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        // 创建画笔(image为上一步的图片对象)
+        Graphics2D pen = image.createGraphics();
+        pen.setColor(Color.black);
+        //处理字体 高清加边缘模糊
+        pen.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
+                RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+        pen.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+        pen.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
+        pen.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
+        pen.setFont(new Font("黑体", Font.PLAIN, 14));
+        penDrawString(pen,o.getPrescribeId(),448,145);
+        penDrawString(pen,o.getPatientName(),60,178);
+        if (o.getPatientGender().equals("1")){
+            penDrawString(pen,"√",255,178);
+        }else if(o.getPatientGender().equals("2")){
+            penDrawString(pen,"√",298,178);
+        }
+        penDrawString(pen,o.getPatientAge(),400,178);
+        penDrawString(pen,o.getOutpatientId(),92,205);
+        penDrawString(pen,o.getBedId(),400,205);
+        penDrawString(pen,o.getHistoryAllergic(),95,230);
+        penDrawString(pen,o.getDiagnose(),95,257);
+        penDrawString(pen,new SimpleDateFormat("yyyy-MM-dd").format(o.getTime()),400,257);
+        List<FsPrescribeDrug> Drug = o.getPrescribeDrug();
+        int size=Drug.size();
+//        BigDecimal price=BigDecimal.valueOf(0);
+        for (int i = 0; i < size; i++) {
+            FsPrescribeDrug d = Drug.get(i);
+            String drugName = d.getDrugName();
+            BigDecimal drugPrice = d.getDrugPrice().multiply(BigDecimal.valueOf(d.getDrugNum()));
+//            price= price.add(drugPrice);
+            if (drugName.length()>30){
+                drugName = drugName.substring(0, 30)+"...";
+            }
+
+            String drugSpec = (d.getDrugSpec() != null) ? d.getDrugSpec() : "   ";
+
+            penDrawString(pen,i+1+","+drugName+"    "+drugSpec+"    "+d.getDrugNum(),35,305+i*40);
+            String usageMethod = (d.getUsageMethod() != null) ? d.getUsageMethod() : "   ";
+            String usageFrequencyUnit = (d.getUsageFrequencyUnit() != null) ? d.getUsageFrequencyUnit() : "   ";
+            String usagePerUseCount = (d.getUsagePerUseCount() != null) ? d.getUsagePerUseCount() : "   ";
+
+            penDrawString(pen," Sig:          "+usageMethod+"     "+usageFrequencyUnit+"     "+usagePerUseCount,35,325+i*40);
+        }
+        penDrawString(pen,"本页完",277,325+size*40);
+
+        penDrawString(pen,o.getRemark(),62,651);
+        if (o.getUrl()!=null){
+            try {
+                URL   imageUrl = new URL(o.getUrl());
+                pen.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+                BufferedImage img = ImageIO.read(imageUrl);
+                pen.drawImage(img, 65, 688, 88, 40, null);
+            } catch (Exception e) {
+                throw new CustomException("获取签名图片失败");
+            }
+        }else {
+            penDrawString(pen,o.getDoctorName(),63,716);
+        }
+
+        penDrawString(pen,o.getTotalPrice().toString(),375,717);
+        if (o.getDrugDoctorUrl()!=null){
+            try {
+                URL   imageUrl = new URL(o.getDrugDoctorUrl());
+                BufferedImage img = ImageIO.read(imageUrl);
+                pen.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+                pen.drawImage(img, 90, 730, 88, 40, null);
+            } catch (Exception e) {
+                throw new CustomException("获取药师签名图片失败");
+            }
+        }
+        penDrawString(pen,o.getDispatcher(),357,757);
+        penDrawString(pen,o.getCheckDoctor(),135,796);
+
+
+        ByteArrayOutputStream os = new ByteArrayOutputStream();
+        try {
+            ImageIO.write(image, "png", os);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        InputStream inputStream = new ByteArrayInputStream(os.toByteArray());
+        CloudStorageService storage = OSSFactory.build();
+        String url = storage.uploadSuffix(inputStream, ".jpg");
+        return url;
+    }
+
+    public void penDrawString( Graphics2D pen,String value,int x,int y){
+        if (value!=null){
+            pen.drawString(value,x,y);
+        }
+    }
 }

+ 6 - 0
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreProductServiceImpl.java

@@ -204,6 +204,9 @@ public class FsStoreProductServiceImpl implements IFsStoreProductService
             valueMap.put("brokerageTwo", 0);
             valueMap.put("brokerageThree", 0);
             valueMap.put("integral", 0);
+            valueMap.put("usageMethod", "");
+            valueMap.put("frequency", 0);
+            valueMap.put("dosage", 0);
             if (productId > 0) {
                 FsStoreProductAttrValue attrValueMap=new FsStoreProductAttrValue();
                 attrValueMap.setProductId(productId);
@@ -226,6 +229,9 @@ public class FsStoreProductServiceImpl implements IFsStoreProductService
                     valueMap.put("brokerageTwo", values.get(0).getBrokerageTwo());
                     valueMap.put("brokerageThree", values.get(0).getBrokerageThree());
                     valueMap.put("integral", values.get(0).getIntegral());
+                    valueMap.put("usageMethod", values.get(0).getUsageMethod());
+                    valueMap.put("frequency", values.get(0).getFrequency());
+                    valueMap.put("dosage", values.get(0).getDosage());
                 }
             }
             valueMapList.add(ObjectUtil.clone(valueMap));

+ 2 - 2
fs-service-system/src/main/java/com/fs/store/service/impl/PrescribeServiceImpl.java

@@ -21,8 +21,8 @@ import java.util.Locale;
 
 /**
  * 参数配置 服务层实现
- * 
- 
+ *
+
  */
 @Slf4j
 @Service

+ 61 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryFeedbackExportListVO.java

@@ -0,0 +1,61 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FsInquiryFeedbackExportListVO {
+
+    private Long orderId;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "问诊日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+
+    @Excel(name = "问诊号")
+    private String orderSn;
+
+    /** 用户id */
+    @Excel(name = "会员号")
+    private String userId;
+
+    @Excel(name = "医生名称")
+    private String  doctorName;
+
+    /** 患者姓名 */
+    @Excel(name = "患者姓名")
+    private String patientName;
+//    /** 患者年龄 */
+//    @Excel(name = "患者年龄")
+//    private String patientAge;
+
+
+    @Excel(name = "患者联系方式")
+    private String patientTel;
+
+
+    /** 诊断 */
+    @Excel(name = "病例内容")
+    private String title;
+
+    @Excel(name = "反馈内容")
+    private String feedbackContent;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "反馈时间",width = 30, dateFormat = "yyyy-MM-dd")
+    private Date feedbackTime;
+
+    @Excel(name = "操作人")
+
+    private String companyUserName;
+    @Excel(name = "服务团队")
+    private String companyName;
+
+    @Excel(name = "备注")
+    private String remark;
+
+
+}

+ 140 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderExeclListVO.java

@@ -0,0 +1,140 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class FsInquiryOrderExeclListVO {
+
+    /** ID */
+    private Long orderId;
+
+    /** 订单号 */
+    @Excel(name = "订单号")
+    private String orderSn;
+
+    /** 问诊标题 */
+    @Excel(name = "问诊标题")
+    private String title;
+
+    /** 病例组图 */
+    private String imgs;
+
+    /** 会员ID */
+    private Long userId;
+
+    /** 病人ID */
+    private Long patientId;
+
+    @Excel(name = "病人名称")
+    private String patientName;
+    /** 订单类型 1图文 2语音 */
+    @Excel(name = "订单类型",dictType = "sys_inquiry_order_type")
+    private Integer orderType;
+
+    /** 订单金额 */
+    @Excel(name = "订单金额")
+    private BigDecimal money;
+
+    /** 支付金额 */
+    @Excel(name = "支付金额")
+    private BigDecimal payMoney;
+    /** 支付类型 1微信支付 */
+    @Excel(name = "支付类型 1微信支付")
+    private Integer payType;
+
+    /** 是否支付 */
+    @Excel(name = "是否支付")
+    private Integer isPay;
+    /** 医生ID */
+    private Long doctorId;
+    /** 医生ID */
+    @Excel(name = "医生")
+    private String doctorName;
+
+    @Excel(name = "医生账号")
+    private String account;
+    private String patientJson;
+//    @Excel(name = "优惠劵发送人")
+    private String sendName;
+    /** 支付时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+
+    /** 状态 0待支付 1已支付 2已完成  -1已关闭 -2已退款 */
+    @Excel(name = "状态",dictType="sys_inquiry_status")
+    private Integer status;
+
+    /** 问诊开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "问诊开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
+
+    /** 是否评价 */
+    @Excel(name = "是否评价")
+    private Integer isPing;
+    /** 是否审核 */
+    @Excel(name = "是否审核")
+    private Integer isAudit;
+
+//    /** 审核人 */
+//    @Excel(name = "审核人")
+//    private Long auditUserId;
+    @Excel(name = "导医 ")
+    private String userName;
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date auditTime;
+
+    private Long userCouponId;
+
+    private BigDecimal discountMoney;
+    /** 科室ID */
+    @Excel(name = "科室ID")
+    private Long departmentId;
+    @Excel(name = "科室ID")
+    private String deptName;
+    /** 问诊类型 */
+    @Excel(name = "问诊类型" ,dictType="sys_inquiry_type")
+    private Integer inquiryType;
+
+    private Integer inquirySubType;
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+    /** 评价内容 */
+    String pingContent;
+
+    String replyContent;
+    /** 评分 */
+    Integer pingStar;
+
+    private Long packageOrderId;
+
+    private Long companyId;
+    private Long companyUserId;
+    @Excel(name = "导医2")
+    private String companyUserName;
+    @Excel(name = "技术主体")
+    private String companyName;
+    @Excel(name = "技术主体抵扣金额")
+    private BigDecimal companyDeductMoney;
+
+    @Excel(name = "是否开具问诊报告",dictType = "sys_company_or")
+    private Integer isDrugReport;
+}

+ 16 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListDParam.java

@@ -0,0 +1,16 @@
+package com.fs.store.vo;
+
+import com.fs.store.param.BaseParam;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class FsInquiryOrderListDParam extends BaseParam implements Serializable {
+    Long doctorId;
+    Integer isSelf;//是否自营
+    Integer isAccept;//是否可抢单
+    Integer inquiryType;
+    Integer status;
+    Integer isReceive;
+}

+ 35 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListDVO.java

@@ -0,0 +1,35 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class FsInquiryOrderListDVO implements Serializable {
+
+
+    private Long orderId;
+
+    private String title;
+
+    private Integer orderType;
+
+    private Integer status;
+
+    private Integer inquiryType;
+
+    private Integer isPing;
+
+    private Long userId;
+
+    private String avatar;
+
+    private String patientJson;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+
+}

+ 43 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListPDVO.java

@@ -0,0 +1,43 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class FsInquiryOrderListPDVO implements Serializable {
+    private Long orderId;
+
+    private String title;
+
+    private Integer orderType;
+
+    private Integer status;
+
+    private Integer inquiryType;
+
+    private Integer isPing;
+
+    private Long userId;
+
+    private String avatar;
+
+    private String patientJson;
+    private String doctorId;
+    private String nickName;
+    private String orderSn;
+    private String companyName;
+    private String companyId;
+    private String inquirySubType;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
+
+
+}

+ 37 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListUVO.java

@@ -0,0 +1,37 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class FsInquiryOrderListUVO implements Serializable {
+
+
+    private Long orderId;
+
+    private String title;
+
+    private Integer orderType;
+
+    private Integer status;
+
+    private Integer inquiryType;
+
+    private Integer isPing;
+
+    private Long doctorId;
+
+    private String doctorName;
+
+    private String deptName;
+
+    private String avatar;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+
+}

+ 130 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderListVO.java

@@ -0,0 +1,130 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class FsInquiryOrderListVO {
+    /** ID */
+    private Long orderId;
+
+    /** 订单号 */
+    @Excel(name = "订单号")
+    private String orderSn;
+
+    /** 问诊标题 */
+    @Excel(name = "问诊标题")
+    private String title;
+
+    /** 会员ID */
+    @Excel(name = "会员ID")
+    private Long userId;
+
+    /** 病人ID */
+    @Excel(name = "病人ID")
+    private Long patientId;
+
+    @Excel(name = "病人名称")
+    private String patientName;
+
+    /** 订单类型 1图文 2语音 */
+    @Excel(name = "订单类型 1图文 2语音")
+    private Integer orderType;
+
+    /** 订单金额 */
+    @Excel(name = "订单金额")
+    private BigDecimal money;
+
+    /** 支付金额 */
+    @Excel(name = "支付金额")
+    private BigDecimal payMoney;
+
+    /** 支付类型 1微信支付 */
+    @Excel(name = "支付类型 1微信支付")
+    private Integer payType;
+
+    /** 是否支付 */
+    @Excel(name = "是否支付")
+    private Integer isPay;
+
+    /** 医生ID */
+    @Excel(name = "医生ID")
+    private Long doctorId;
+
+    /** 医生ID */
+    @Excel(name = "医生")
+    private String doctorName;
+
+    private String sendName;
+    /** 支付时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+
+    /** 状态 0待支付 1已支付 2已完成  -1已关闭 -2已退款 */
+    @Excel(name = "状态 0待支付 1已支付 2已完成  -1已关闭 -2已退款")
+    private Integer status;
+
+    /** 问诊开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "问诊开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
+
+    /** 是否评价 */
+    @Excel(name = "是否评价")
+    private Integer isPing;
+    /** 是否审核 */
+    @Excel(name = "是否审核")
+    private Integer isAudit;
+
+    /** 审核人 */
+    @Excel(name = "审核人")
+    private Long auditUserId;
+
+    private String userName;
+
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date auditTime;
+
+    private Long userCouponId;
+
+    private BigDecimal discountMoney;
+    /** 科室ID */
+    @Excel(name = "科室ID")
+    private Long departmentId;
+    @Excel(name = "科室ID")
+    private String deptName;
+    /** 问诊类型 */
+    @Excel(name = "问诊类型")
+    private Integer inquiryType;
+
+    private Integer inquirySubType;
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+    private Long packageOrderId;
+    private Long companyId;
+    private Long companyUserId;
+    @Excel(name = "员工")
+    private String companyUserName;
+    @Excel(name = "公司")
+    private String companyName;
+    @Excel(name = "公司抵扣金额")
+    private BigDecimal companyDeductMoney;
+    private String doctorAccount;
+}

+ 137 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsInquiryOrderVO.java

@@ -0,0 +1,137 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class FsInquiryOrderVO implements Serializable {
+    /** ID */
+    private Long orderId;
+
+    /** 订单号 */
+    @Excel(name = "订单号")
+    private String orderSn;
+
+    /** 问诊标题 */
+    @Excel(name = "问诊标题")
+    private String title;
+
+    /** 病例组图 */
+    @Excel(name = "病例组图")
+    private String imgs;
+
+    /** 会员ID */
+    @Excel(name = "会员ID")
+    private Long userId;
+
+    /** 病人ID */
+    @Excel(name = "病人ID")
+    private Long patientId;
+
+    @Excel(name = "病人名称")
+    private String patientName;
+
+    /** 订单类型 1图文 2语音 */
+    @Excel(name = "订单类型 1图文 2语音")
+    private Integer orderType;
+
+    /** 订单金额 */
+    @Excel(name = "订单金额")
+    private BigDecimal money;
+
+    /** 支付金额 */
+    @Excel(name = "支付金额")
+    private BigDecimal payMoney;
+
+    /** 支付类型 1微信支付 */
+    @Excel(name = "支付类型 1微信支付")
+    private Integer payType;
+
+    /** 是否支付 */
+    @Excel(name = "是否支付")
+    private Integer isPay;
+
+    /** 医生ID */
+    @Excel(name = "医生ID")
+    private Long doctorId;
+
+    /** 医生ID */
+    @Excel(name = "医生")
+    private String doctorName;
+    private String  prescribeDoctorName;
+
+    private String patientJson;
+
+    private String sendName;
+    /** 支付时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+
+    /** 状态 0待支付 1已支付 2已完成  -1已关闭 -2已退款 */
+    @Excel(name = "状态 0待支付 1已支付 2已完成  -1已关闭 -2已退款")
+    private Integer status;
+
+    /** 问诊开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "问诊开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
+
+    /** 是否评价 */
+    @Excel(name = "是否评价")
+    private Integer isPing;
+    /** 是否审核 */
+    @Excel(name = "是否审核")
+    private Integer isAudit;
+
+    /** 审核人 */
+    @Excel(name = "审核人")
+    private Long auditUserId;
+    private String userName;
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date auditTime;
+
+    private Long userCouponId;
+
+    private BigDecimal discountMoney;
+    /** 科室ID */
+    @Excel(name = "科室ID")
+    private Long departmentId;
+    @Excel(name = "科室名称")
+    private String deptName;
+    /** 问诊类型 */
+    @Excel(name = "问诊类型")
+    private Integer inquiryType;
+    private Integer inquirySubType;
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+    /** 评价内容 */
+    String pingContent;
+
+    String replyContent;
+    /** 评分 */
+    Integer pingStar;
+
+    private Long packageOrderId;
+
+    private Long companyUserId;
+
+    private String companyUserRemark;
+}

+ 151 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsPackageOrderVO.java

@@ -0,0 +1,151 @@
+package com.fs.store.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class FsPackageOrderVO {
+    private Long orderId;
+
+    /** 订单号 */
+    @Excel(name = "订单号")
+    private String orderSn;
+
+    /** 用户ID */
+    @Excel(name = "用户ID")
+    private Long userId;
+    @Excel(name = "用户昵称")
+    private String nickName;
+    @Excel(name = "电话")
+    private String phone;
+    @Excel(name = "医生名称")
+    private String doctorName;
+
+    /** 医生ID */
+    @Excel(name = "医生ID")
+    private Long doctorId;
+
+    /** 套餐ID */
+    @Excel(name = "套餐ID")
+    private Long packageId;
+
+    /** 套餐名称 */
+    @Excel(name = "套餐名称")
+    private String packageName;
+
+    /** 支付金额 */
+    @Excel(name = "支付金额")
+    private BigDecimal payMoney;
+
+    /** 是否支付 */
+    @Excel(name = "是否支付")
+    private Integer isPay;
+
+    /** 天数 */
+    @Excel(name = "天数")
+    private Long days;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private Integer status;
+
+    /** 开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date finishTime;
+
+    @Excel(name = "json")
+    private String formJson;
+
+    @Excel(name = "公司ID")
+    private Long companyId;
+
+    @Excel(name = "公司用户ID")
+    private Long companyUserId;
+
+    @Excel(name = "问诊订单ID")
+    private Long inquiryOrderId;
+
+    @Excel(name = "商品订单ID")
+    private Long storeOrderId;
+
+    @Excel(name = "套餐包数据")
+    private String packageJson;
+
+    @Excel(name = "患者数据")
+    private String patientJson;
+
+    private String patientName;
+
+    @Excel(name = "退款图片")
+    private String refundImg;
+
+    @Excel(name = "退款用户说明")
+    private String refundExplain;
+
+    @Excel(name = "不退款的理由")
+    private String refundReason;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "退款时间")
+    private Date refundTime;
+
+    @Excel(name = "退款金额")
+    private BigDecimal refundMoney;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "支付时间")
+    private Date payTime;
+
+    @Excel(name = "退款状态")
+    private Integer refundStatus;
+
+    @Excel(name = "套餐价格")
+    private BigDecimal totalPrice;
+    @Excel(name = "地址")
+    private String addressJson;
+    @Excel(name = "付款类型")
+    private String payType;
+    @Excel(name = "备注")
+    private String remark;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @Excel(name = "店铺id")
+    private Long storeId;
+    @Excel(name = "公司名称")
+    private String companyName;
+    @Excel(name = "公司用户名称")
+    private String companyUserName;
+    @Excel(name = "实际支付金额")
+    private BigDecimal payPrice;
+    @Excel(name = "剩余金额")
+    private BigDecimal payRemain;
+    @Excel(name = "邮费")
+    private BigDecimal payDelivery;
+    @Excel(name = "优惠金额")
+    private BigDecimal discountMoney;
+    @Excel(name = "随访次数")
+    private Integer followNum;
+    @Excel(name = "已随访次数")
+    private Integer followCount;
+    private Integer inquiryRefundStatus;
+    private Integer storeRefundStatus;
+    private Integer packageSubType;
+    private BigDecimal inquiryPrice;
+    private BigDecimal productPrice;
+    private BigDecimal prescribePrice;
+    //别名
+    private String secondName;
+    private Integer source;
+}

+ 92 - 29
fs-service-system/src/main/java/com/fs/store/vo/FsPrescribeVO.java

@@ -1,111 +1,174 @@
 package com.fs.store.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
 import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
 
 @Data
-public class FsPrescribeVO implements Serializable
-{
-
+public class FsPrescribeVO implements Serializable {
     /** id */
     private Long prescribeId;
 
-    /** 处方类型 1订单 2问诊 */
+    /** 处方类型 1问诊 2订单 */
+    @Excel(name = "处方类型 1西药 2中药")
     private Integer prescribeType;
 
     /** 订单ID */
-    private Long orderId;
+    @Excel(name = "订单ID")
+    private Long inquiryOrderId;
+
+    /** 店铺订单ID */
+    @Excel(name = "店铺订单ID")
+    private Long storeOrderId;
+    /** 用户id */
+    @Excel(name = "用户昵称")
+    private String nickName;
+    /** 店铺ID */
+    @Excel(name = "店铺名称")
+    private String  storeName;
+    @Excel(name = "医生名称")
+    private String  doctorName;
+    @Excel(name = "药师名称")
+    private String  doctorDrugName;
 
     /** 用户ID */
+    @Excel(name = "用户ID")
     private Long userId;
 
     /** 患者ID */
+    @Excel(name = "患者ID")
     private Long patientId;
 
     /** 处⽅单ID(唯⼀ID) */
-    private String rpId;
-
-    /** 门店标识 */
-    private String pharmacyCode;
-
-    /** ⻔店名称 */
-    private String pharmacyName;
+    @Excel(name = "处⽅单ID")
+    private String prescribeCode;
 
     /** 病情描述(主诉) */
-    private String chiefComplaint;
+    @Excel(name = "病情描述(主诉)")
+    private String patientDescs;
 
     /** 现病史 */
+    @Excel(name = "现病史")
     private String nowIllness;
 
     /** 既往史 */
+    @Excel(name = "既往史")
     private String historyIllness;
 
     /** 患者年龄 */
+    @Excel(name = "患者年龄")
     private String patientAge;
 
     /** 患者姓名 */
+    @Excel(name = "患者姓名")
     private String patientName;
 
     /** 体重 */
+    @Excel(name = "体重")
     private String weight;
 
     /** 是否有过敏史(传值:是/否) */
+    @Excel(name = "是否有过敏史")
     private String isHistoryAllergic;
 
     /** 过敏史 */
+    @Excel(name = "过敏史")
     private String historyAllergic;
 
     /** 肝功能是否异常(传值:是/否) */
+    @Excel(name = "肝功能是否异常")
     private String liverUnusual;
 
     /** 肾功能是否异常(传值:是/否) */
+    @Excel(name = "肾功能是否异常")
     private String renalUnusual;
 
     /** 是否是备孕/怀孕/哺乳期(传值:是 */
-    private String lactationFlag;
+    @Excel(name = "是否是备孕/怀孕/哺乳期")
+    private String isLactation;
 
     /** 患者电话 */
+    @Excel(name = "患者电话")
     private String patientTel;
 
     /** 患者性别(传数字,1男 2⼥) */
+    @Excel(name = "患者性别(传数字,1男 2⼥)")
     private String patientGender;
 
     /** 复诊凭证 */
+    @Excel(name = "复诊凭证")
     private String recordPic;
 
-    /** 处方图片地址 */
-    private String rpUrl;
+    @Excel(name = "身份证")
+    private String idCard;
 
-    /** 处⽅开具时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date rpCreateTime;
+    /** 处方图片地址 */
+    @Excel(name = "处方图片地址")
+    private String prescribeImgUrl;
+    private String prescribeImgStoreUrl;
 
+    /** 拒绝原因 */
+    @Excel(name = "拒绝原因")
     private String auditReason;
 
     /** 诊断 */
+    @Excel(name = "诊断")
     private String diagnose;
 
-    /** 药品列表 JSON */
-    private String drugs;
+    /** 医生ID */
+    @Excel(name = "医生ID")
+    private Long doctorId;
 
-    /** 医生名称 */
-    private String doctorName;
-
-    /** 科室名称 */
-    private String doctorId;
+    /** 医生ID */
+    @Excel(name = "药师ID")
+    private Long drugDoctorId;
+    @Excel(name = "0颗粒1膏方")
+    private Integer recipeType;
 
+    /** 状态 0未开 1已开 */
+    @Excel(name = "状态 0未开 1已开")
     private Integer status;
+    private String prescribeDoctorName;
+    @Excel(name = "使用方法")
+    private String usageJson;
+    @Excel(name = "病人生日")
+    private String patientBirthday;
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date auditTime;
+    @Excel(name = "备注")
+    private String remark;
+    @Excel(name = "店铺id")
+    private Long storeId;
 
+    @Excel(name = "医生id")
+    private Long prescribeDoctorId;
 
-    private String orderCode;
+    @Excel(name = "开方医生签名")
+    private String doctorSignUrl;
 
-    private String userNickname;
+    @Excel(name = "处方医生签名")
+    private String prescribeDoctorSignUrl;
 
-    private String userPhone;
+    @Excel(name = "药师签名")
+    private String drugDoctorSignUrl;
+
+    @Excel(name = "药品订单状态",dictType="sys_order_status")
+    private String orderStatus;
+
+    @Excel(name = "药品订单编号")
+    private String orderCode;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+    private String prescribeCodeUrl;
+    private String icdCode;
+    private String userPhone;
 }

+ 320 - 0
fs-service-system/src/main/resources/mapper/store/FsInquiryOrderMapper.xml

@@ -0,0 +1,320 @@
+<?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.store.mapper.FsInquiryOrderMapper">
+
+    <resultMap type="FsInquiryOrder" id="FsInquiryOrderResult">
+        <result property="orderId"    column="order_id"    />
+        <result property="orderSn"    column="order_sn"    />
+        <result property="title"    column="title"    />
+        <result property="imgs"    column="imgs"    />
+        <result property="userId"    column="user_id"    />
+        <result property="patientId"    column="patient_id"    />
+        <result property="orderType"    column="order_type"    />
+        <result property="money"    column="money"    />
+        <result property="payMoney"    column="pay_money"    />
+        <result property="payType"    column="pay_type"    />
+        <result property="isPay"    column="is_pay"    />
+        <result property="doctorId"    column="doctor_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="payTime"    column="pay_time"    />
+        <result property="status"    column="status"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="finishTime"    column="finish_time"    />
+        <result property="remark"    column="remark"    />
+        <result property="isPing"    column="is_ping"    />
+        <result property="departmentId"    column="department_id"    />
+        <result property="inquiryType"    column="inquiry_type"    />
+        <result property="inquirySubType"    column="inquiry_sub_type"    />
+        <result property="patientJson"    column="patient_json"    />
+        <result property="isReceive"    column="is_receive"    />
+        <result property="tradeNo"    column="trade_no"    />
+        <result property="isAudit"    column="is_audit"    />
+        <result property="auditUserId"    column="audit_user_id"    />
+        <result property="auditTime"    column="audit_time"    />
+        <result property="userCouponId"    column="user_coupon_id"    />
+        <result property="discountMoney"    column="discount_money"    />
+        <result property="packageOrderId"    column="package_order_id"    />
+        <result property="companyId"    column="company_id"    />
+        <result property="companyUserId"    column="company_user_id"    />
+        <result property="companyDeductMoney"    column="company_deduct_money"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="companyUserRemark"    column="company_user_remark"    />
+        <result property="isSendSms"    column="is_send_sms"    />
+        <result property="doctorRemark"    column="doctor_remark"    />
+        <result property="source"    column="source"    />
+        <result property="triageUserId"    column="triage_user_id"    />
+    </resultMap>
+
+    <sql id="selectFsInquiryOrderVo">
+        select order_id,doctor_remark,source,triage_user_id, user_coupon_id,dept_id,company_deduct_money,company_id,company_user_id,company_user_remark,is_send_sms,package_order_id,discount_money, order_sn, title, imgs, user_id, patient_id, order_type, money, pay_money, pay_type, is_pay, doctor_id, create_time, pay_time, status, start_time, finish_time, remark, is_ping, department_id, inquiry_type, inquiry_sub_type, patient_json, is_receive, trade_no, is_audit, audit_user_id, audit_time from fs_inquiry_order
+    </sql>
+
+    <select id="selectFsInquiryOrderList" parameterType="FsInquiryOrder" resultMap="FsInquiryOrderResult">
+        <include refid="selectFsInquiryOrderVo"/>
+        <where>
+            <if test="orderSn != null  and orderSn != ''"> and order_sn = #{orderSn}</if>
+            <if test="title != null  and title != ''"> and title = #{title}</if>
+            <if test="imgs != null  and imgs != ''"> and imgs = #{imgs}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="patientId != null "> and patient_id = #{patientId}</if>
+            <if test="orderType != null "> and order_type = #{orderType}</if>
+            <if test="money != null "> and money = #{money}</if>
+            <if test="payMoney != null "> and pay_money = #{payMoney}</if>
+            <if test="payType != null "> and pay_type = #{payType}</if>
+            <if test="isPay != null "> and is_pay = #{isPay}</if>
+            <if test="doctorId != null "> and doctor_id = #{doctorId}</if>
+            <if test="payTime != null "> and pay_time = #{payTime}</if>
+            <if test="status != null "> and status = #{status}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="finishTime != null "> and finish_time = #{finishTime}</if>
+            <if test="isPing != null "> and is_ping = #{isPing}</if>
+            <if test="departmentId != null "> and department_id = #{departmentId}</if>
+            <if test="inquiryType != null "> and inquiry_type = #{inquiryType}</if>
+            <if test="inquirySubType != null "> and inquiry_sub_type = #{inquirySubType}</if>
+            <if test="patientJson != null  and patientJson != ''"> and patient_json = #{patientJson}</if>
+            <if test="isReceive != null "> and is_receive = #{isReceive}</if>
+            <if test="tradeNo != null  and tradeNo != ''"> and trade_no = #{tradeNo}</if>
+            <if test="isAudit != null "> and is_audit = #{isAudit}</if>
+            <if test="auditUserId != null "> and audit_user_id = #{auditUserId}</if>
+            <if test="auditTime != null "> and audit_time = #{auditTime}</if>
+            <if test="isSendSms != null "> and is_send_sms = #{isSendSms}</if>
+        </where>
+    </select>
+
+    <select id="selectFsInquiryOrderByOrderId" parameterType="Long" resultMap="FsInquiryOrderResult">
+        <include refid="selectFsInquiryOrderVo"/>
+        where order_id = #{orderId}
+    </select>
+
+    <insert id="insertFsInquiryOrder" parameterType="FsInquiryOrder" useGeneratedKeys="true" keyProperty="orderId">
+        insert into fs_inquiry_order
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="orderSn != null">order_sn,</if>
+            <if test="title != null">title,</if>
+            <if test="imgs != null">imgs,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="patientId != null">patient_id,</if>
+            <if test="orderType != null">order_type,</if>
+            <if test="money != null">money,</if>
+            <if test="payMoney != null">pay_money,</if>
+            <if test="payType != null">pay_type,</if>
+            <if test="isPay != null">is_pay,</if>
+            <if test="doctorId != null">doctor_id,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="payTime != null">pay_time,</if>
+            <if test="status != null">status,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="finishTime != null">finish_time,</if>
+            <if test="remark != null">remark,</if>
+            <if test="isPing != null">is_ping,</if>
+            <if test="departmentId != null">department_id,</if>
+            <if test="inquiryType != null">inquiry_type,</if>
+            <if test="inquirySubType != null">inquiry_sub_type,</if>
+            <if test="patientJson != null">patient_json,</if>
+            <if test="isReceive != null">is_receive,</if>
+            <if test="tradeNo != null">trade_no,</if>
+            <if test="isAudit != null">is_audit,</if>
+            <if test="auditUserId != null">audit_user_id,</if>
+            <if test="auditTime != null">audit_time,</if>
+            <if test="userCouponId != null">user_coupon_id,</if>
+            <if test="discountMoney != null">discount_money,</if>
+            <if test="packageOrderId != null">package_order_id,</if>
+            <if test="companyId != null">company_id,</if>
+            <if test="companyUserId != null">company_user_id,</if>
+            <if test="companyDeductMoney != null">company_deduct_money,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="companyUserRemark != null">company_user_remark,</if>
+            <if test="isSendSms != null">is_send_sms,</if>
+            <if test="doctorRemark != null">doctor_remark,</if>
+            <if test="source != null">source,</if>
+            <if test="triageUserId != null">triage_user_id,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="orderSn != null">#{orderSn},</if>
+            <if test="title != null">#{title},</if>
+            <if test="imgs != null">#{imgs},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="patientId != null">#{patientId},</if>
+            <if test="orderType != null">#{orderType},</if>
+            <if test="money != null">#{money},</if>
+            <if test="payMoney != null">#{payMoney},</if>
+            <if test="payType != null">#{payType},</if>
+            <if test="isPay != null">#{isPay},</if>
+            <if test="doctorId != null">#{doctorId},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="payTime != null">#{payTime},</if>
+            <if test="status != null">#{status},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="finishTime != null">#{finishTime},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="isPing != null">#{isPing},</if>
+            <if test="departmentId != null">#{departmentId},</if>
+            <if test="inquiryType != null">#{inquiryType},</if>
+            <if test="inquirySubType != null">#{inquirySubType},</if>
+            <if test="patientJson != null">#{patientJson},</if>
+            <if test="isReceive != null">#{isReceive},</if>
+            <if test="tradeNo != null">#{tradeNo},</if>
+            <if test="isAudit != null">#{isAudit},</if>
+            <if test="auditUserId != null">#{auditUserId},</if>
+            <if test="auditTime != null">#{auditTime},</if>
+            <if test="userCouponId != null">#{userCouponId},</if>
+            <if test="discountMoney != null">#{discountMoney},</if>
+            <if test="packageOrderId != null">#{packageOrderId},</if>
+            <if test="companyId != null">#{companyId},</if>
+            <if test="companyUserId != null">#{companyUserId},</if>
+            <if test="companyDeductMoney != null">#{companyDeductMoney},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="companyUserRemark != null">#{companyUserRemark},</if>
+            <if test="isSendSms != null">#{isSendSms},</if>
+            <if test="doctorRemark != null">#{doctorRemark},</if>
+            <if test="source != null">#{source},</if>
+            <if test="triageUserId != null">#{triageUserId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsInquiryOrder" parameterType="FsInquiryOrder">
+        update fs_inquiry_order
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="orderSn != null">order_sn = #{orderSn},</if>
+            <if test="title != null">title = #{title},</if>
+            <if test="imgs != null">imgs = #{imgs},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="patientId != null">patient_id = #{patientId},</if>
+            <if test="orderType != null">order_type = #{orderType},</if>
+            <if test="money != null">money = #{money},</if>
+            <if test="payMoney != null">pay_money = #{payMoney},</if>
+            <if test="payType != null">pay_type = #{payType},</if>
+            <if test="isPay != null">is_pay = #{isPay},</if>
+            <if test="doctorId != null">doctor_id = #{doctorId},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="payTime != null">pay_time = #{payTime},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="finishTime != null">finish_time = #{finishTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="isPing != null">is_ping = #{isPing},</if>
+            <if test="departmentId != null">department_id = #{departmentId},</if>
+            <if test="inquiryType != null">inquiry_type = #{inquiryType},</if>
+            <if test="inquirySubType != null">inquiry_sub_type = #{inquirySubType},</if>
+            <if test="patientJson != null">patient_json = #{patientJson},</if>
+            <if test="isReceive != null">is_receive = #{isReceive},</if>
+            <if test="tradeNo != null">trade_no = #{tradeNo},</if>
+            <if test="isAudit != null">is_audit = #{isAudit},</if>
+            <if test="auditUserId != null">audit_user_id = #{auditUserId},</if>
+            <if test="auditTime != null">audit_time = #{auditTime},</if>
+            <if test="userCouponId != null">user_coupon_id = #{userCouponId},</if>
+            <if test="discountMoney != null">discount_money = #{discountMoney},</if>
+            <if test="packageOrderId != null">package_order_id = #{packageOrderId},</if>
+            <if test="companyId != null">company_id = #{companyId},</if>
+            <if test="companyUserId != null">company_user_id = #{companyUserId},</if>
+            <if test="companyDeductMoney != null">company_deduct_money = #{companyDeductMoney},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="companyUserRemark != null">company_user_remark = #{companyUserRemark},</if>
+            <if test="isSendSms != null">is_send_sms = #{isSendSms},</if>
+            <if test="doctorRemark != null">doctor_remark = #{doctorRemark},</if>
+            <if test="source != null">source = #{source},</if>
+            <if test="triageUserId != null">triage_user_id = #{triageUserId},</if>
+        </trim>
+        where order_id = #{orderId}
+    </update>
+
+
+    <update id="revokeFsInquiryOrder" parameterType="FsInquiryOrder">
+        update fs_inquiry_order
+        <trim prefix="SET" suffixOverrides=",">
+            audit_time = #{auditTime},
+            audit_user_id = #{auditUserId},
+            <if test="orderSn != null">order_sn = #{orderSn},</if>
+            <if test="title != null">title = #{title},</if>
+            <if test="imgs != null">imgs = #{imgs},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="patientId != null">patient_id = #{patientId},</if>
+            <if test="orderType != null">order_type = #{orderType},</if>
+            <if test="money != null">money = #{money},</if>
+            <if test="payMoney != null">pay_money = #{payMoney},</if>
+            <if test="payType != null">pay_type = #{payType},</if>
+            <if test="isPay != null">is_pay = #{isPay},</if>
+            <if test="doctorId != null">doctor_id = #{doctorId},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="payTime != null">pay_time = #{payTime},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="finishTime != null">finish_time = #{finishTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="isPing != null">is_ping = #{isPing},</if>
+            <if test="departmentId != null">department_id = #{departmentId},</if>
+            <if test="inquiryType != null">inquiry_type = #{inquiryType},</if>
+            <if test="inquirySubType != null">inquiry_sub_type = #{inquirySubType},</if>
+            <if test="patientJson != null">patient_json = #{patientJson},</if>
+            <if test="isReceive != null">is_receive = #{isReceive},</if>
+            <if test="tradeNo != null">trade_no = #{tradeNo},</if>
+            <if test="isAudit != null">is_audit = #{isAudit},</if>
+            <if test="userCouponId != null">user_coupon_id = #{userCouponId},</if>
+            <if test="discountMoney != null">discount_money = #{discountMoney},</if>
+            <if test="packageOrderId != null">package_order_id = #{packageOrderId},</if>
+            <if test="companyId != null">company_id = #{companyId},</if>
+            <if test="companyUserId != null">company_user_id = #{companyUserId},</if>
+            <if test="companyDeductMoney != null">company_deduct_money = #{companyDeductMoney},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="companyUserRemark != null">company_user_remark = #{companyUserRemark},</if>
+            <if test="isSendSms != null">is_send_sms = #{isSendSms},</if>
+            <if test="doctorRemark != null">doctor_remark = #{doctorRemark},</if>
+            <if test="source != null">source = #{source},</if>
+            <if test="triageUserId != null">triage_user_id = #{triageUserId},</if>
+        </trim>
+        where order_id = #{orderId}
+    </update>
+    <delete id="deleteFsInquiryOrderByOrderId" parameterType="Long">
+        delete from fs_inquiry_order where order_id = #{orderId}
+    </delete>
+
+    <delete id="deleteFsInquiryOrderByOrderIds" parameterType="String">
+        delete from fs_inquiry_order where order_id in
+        <foreach item="orderId" collection="array" open="(" separator="," close=")">
+            #{orderId}
+        </foreach>
+    </delete>
+
+    <select id="selectFsInquiryOrderVOList_COUNT" parameterType="com.fs.store.vo.FsInquiryOrderListVO" resultType="Long">
+    select count(1) from fs_inquiry_order   io
+        <if test="maps.doctorName != null or maps.doctorAccount != null"> LEFT JOIN fs_doctor dc ON io.doctor_id = dc.doctor_id  </if>
+        <if test="maps.phone != null and maps.phone != ''"> LEFT JOIN fs_user fu ON fu.user_id=io.user_id</if>
+        <if test="maps.companyUserName != null or (maps.companyUserNickName != null and maps.companyUserNickName != '') "> LEFT JOIN company_user cu ON cu.user_id = io.company_user_id </if>
+        where 1=1
+        <if test="maps.orderSn != null and maps.orderSn != ''"> and io.order_sn = #{maps.orderSn}</if>
+        <if test="maps.title != null and maps.title != ''"> and io.title = #{maps.title}</if>
+        <if test="maps.userId != null"> and io.user_id = #{maps.userId}</if>
+        <if test="maps.doctorName != null"> and dc.doctor_name like concat('%', #{maps.doctorName}, '%')</if>
+        <if test="maps.patientId != null"> and io.patient_id = #{maps.patientId}</if>
+        <if test="maps.patientName != null"> and io.patient_json like concat('%',#{maps.patientName},'%')</if>
+        <if test="maps.orderType != null"> and io.order_type = #{maps.orderType}</if>
+        <if test="maps.payType != null"> and io.pay_type = #{maps.payType}</if>
+        <if test="maps.isPay != null"> and io.is_pay = #{maps.isPay}</if>
+        <if test="maps.doctorId != null"> and io.doctor_id = #{maps.doctorId}</if>
+        <if test="maps.status != null"> and io.status = #{maps.status}</if>
+        <if test="maps.sTime != null"> and DATE(io.start_time) &gt;= DATE(#{maps.sTime})</if>
+        <if test="maps.eTime != null"> and DATE(io.start_time) &lt;= DATE(#{maps.eTime})</if>
+        <if test="maps.fsTime != null"> and DATE(io.finish_time) &gt;= DATE(#{maps.fsTime})</if>
+        <if test="maps.feTime != null"> and DATE(io.finish_time) &lt;= DATE(#{maps.feTime})</if>
+        <if test="maps.isPing != null"> and io.is_ping = #{maps.isPing}</if>
+        <if test="maps.departmentId != null"> and io.department_id = #{maps.departmentId}</if>
+        <if test="maps.inquiryType != null"> and io.inquiry_type = #{maps.inquiryType}</if>
+        <if test="maps.phone != null and maps.phone != ''"> and fu.phone = #{maps.phone}</if>
+        <if test="maps.companyId != null"> and io.company_id = #{maps.companyId}</if>
+        <if test="maps.companyUserId != null"> and io.company_user_id = #{maps.companyUserId}</if>
+        <if test="maps.companyUserName != null"> and cu.user_name = #{maps.companyUserName}</if>
+        <if test="maps.inquirySubType != null"> and io.inquiry_sub_type = #{maps.inquirySubType}</if>
+        <if test="maps.createTimeList != null"> and date_format(io.create_time,'%y%m%d') &gt;= date_format(#{maps.createTimeList[0]},'%y%m%d') AND date_format(io.create_time,'%y%m%d') &lt;= date_format(#{maps.createTimeList[1]},'%y%m%d')</if>
+        <if test="maps.payTimeList != null"> and date_format(io.pay_time,'%y%m%d') &gt;= date_format(#{maps.payTimeList[0]},'%y%m%d') AND date_format(io.pay_time,'%y%m%d') &lt;= date_format(#{maps.payTimeList[1]},'%y%m%d')</if>
+        <if test="maps.deptId != null"> AND (io.dept_id = #{maps.deptId} OR io.dept_id IN (SELECT t.dept_id FROM company_dept t WHERE find_in_set(#{maps.deptId}, ancestors)))</if>
+        <if test="maps.inquirySubType != null"> and io.inquiry_sub_type = #{maps.inquirySubType}</if>
+        <if test="maps.doctorAccount != null"> and dc.account = #{maps.doctorAccount}</if>
+        <if test="maps.companyUserNickName != null and maps.companyUserNickName != ''"> and cu.nick_name like concat( #{maps.companyUserNickName}, '%')</if>
+    </select>
+    <select id="selectOrderMsgByPackageOrderId" resultType="com.fs.store.vo.FsPackageOrderVO">
+        select order_id orderId,form_json formJson from fs_package_order where order_id = #{packageOrderId} limit 1
+    </select>
+
+</mapper>

+ 13 - 1
fs-service-system/src/main/resources/mapper/store/FsStoreProductAttrValueMapper.xml

@@ -23,10 +23,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="brokerageTwo"    column="brokerage_two"    />
         <result property="brokerageThree"    column="brokerage_three"    />
         <result property="integral"    column="integral"    />
+        <result property="usageMethod"    column="usage_method"    />
+        <result property="frequency"    column="frequency"    />
+        <result property="dosage"    column="dosage"    />
     </resultMap>
 
     <sql id="selectFsStoreProductAttrValueVo">
-        select id, product_id, sku, stock, sales, price, image, cost,agent_price, bar_code,group_bar_code, ot_price, weight, volume, brokerage, brokerage_two,brokerage_three, integral from fs_store_product_attr_value
+        select id, product_id, sku, stock, sales, price, image, cost,agent_price, bar_code,group_bar_code, ot_price, weight, volume, brokerage, brokerage_two,brokerage_three, integral,usage_method,frequency,dosage from fs_store_product_attr_value
     </sql>
 
     <select id="selectFsStoreProductAttrValueList" parameterType="FsStoreProductAttrValue" resultMap="FsStoreProductAttrValueResult">
@@ -76,6 +79,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="brokerageTwo != null">brokerage_two,</if>
             <if test="brokerageThree != null">brokerage_three,</if>
             <if test="integral != null">integral,</if>
+            <if test="usageMethod != null">usage_method,</if>
+            <if test="frequency != null">frequency,</if>
+            <if test="dosage != null">dosage,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="productId != null">#{productId},</if>
@@ -95,6 +101,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="brokerageTwo != null">#{brokerageTwo},</if>
             <if test="brokerageThree != null">#{brokerageThree},</if>
             <if test="integral != null">#{integral},</if>
+            <if test="usageMethod != null">#{usageMethod},</if>
+            <if test="frequency != null">#{frequency},</if>
+            <if test="dosage != null">#{dosage},</if>
          </trim>
     </insert>
 
@@ -118,6 +127,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="brokerageTwo != null">brokerage_two = #{brokerageTwo},</if>
             <if test="brokerageThree != null">brokerage_three = #{brokerageThree},</if>
             <if test="integral != null">integral = #{integral},</if>
+            <if test="usageMethod != null">usage_method = #{usageMethod},</if>
+            <if test="frequency != null">frequency = #{frequency},</if>
+            <if test="dosage != null">dosage = #{dosage},</if>
         </trim>
         where id = #{id}
     </update>

+ 1 - 2
fs-service-system/src/main/resources/mapper/store/FsStoreProductMapper.xml

@@ -50,7 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectFsStoreProductVo">
-        select product_id, image, slider_image, product_name, product_info, keyword, bar_code, cate_id, price, vip_price, ot_price, postage, unit_name, sort, sales, stock, is_show, is_hot, is_benefit, is_best, is_new, description, create_time, update_time, is_postage, is_del, give_integral, cost, is_good, browse, code_path, temp_id, spec_type, is_integral, integral, product_type, prescribe_code, prescribe_spec, prescribe_factory, prescribe_name,is_display,tui_cate_id,warehouse_id,warehouse_code from fs_store_product
+        select product_id, image, slider_image, product_name, product_info, keyword, bar_code, cate_id, price, vip_price, ot_price, postage, unit_name, sort, sales, stock, is_show, is_hot, is_benefit, is_best, is_new, description, create_time, update_time, is_postage, is_del, give_integral, cost, is_good, browse, code_path, temp_id, spec_type, is_integral, integral, product_type, prescribe_code, prescribe_spec, prescribe_factory, prescribe_name,is_display,tui_cate_id,warehouse_id,warehouse_code,usage_method,frequency,dosage from fs_store_product
     </sql>
 
     <select id="selectFsStoreProductList" parameterType="FsStoreProduct" resultMap="FsStoreProductResult">
@@ -243,7 +243,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isDisplay != null">is_display = #{isDisplay},</if>
             <if test="tuiCateId != null">tui_cate_id = #{tuiCateId},</if>
             <if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
-            <if test="warehouseCode != null">warehouse_code = #{warehouseCode},</if>
         </trim>
         where product_id = #{productId}
     </update>

+ 1 - 0
fs-user-app/src/main/resources/static/nDOivNIU3j.txt

@@ -0,0 +1 @@
+0cd8b9a715fcf7f5bd3bdd6e6226802d