获取药品订单列表-分页,新增了 药品数据名称

This commit is contained in:
wucongxing8150 2024-05-21 14:15:38 +08:00
parent deb9a25f97
commit f1588a096e
4 changed files with 77 additions and 48 deletions

View File

@ -92,6 +92,9 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct
// 构建查询条件
query := global.Db.Model(&model.OrderProduct{})
// 药品数据
query = query.Preload("OrderProductItem")
// 医生
query = query.Preload("UserDoctor", func(db *gorm.DB) *gorm.DB {
return db.Omit("open_id", "union_id", "wx_session_key")

View File

@ -3,6 +3,7 @@ package dto
import (
"fmt"
"hospital-admin-api/api/model"
"strings"
)
// OrderProductDto 订单详情
@ -58,6 +59,7 @@ type OrderProductDto struct {
OrderPrescription *OrderPrescriptionDto `json:"order_prescription"` // 处方数据
OrderInquiryCase *OrderInquiryCaseDto `json:"order_inquiry_case"` // 问诊病例
OrderProductCoupon *OrderProductCouponDto `json:"order_product_coupon"` // 优惠卷
ProductName string `json:"product_name"` // 药品数据
}
// OrderProductConsigneeDto 药品订单收货人数据
@ -115,8 +117,8 @@ func GetOrderProductDto(m *model.OrderProduct) *OrderProductDto {
}
}
// GetOrderProductConsigneeDtoDto 药品订单收货人数据
func GetOrderProductConsigneeDtoDto(m *model.OrderProduct) *OrderProductConsigneeDto {
// GetOrderProductConsigneeDto 药品订单收货人数据
func GetOrderProductConsigneeDto(m *model.OrderProduct) *OrderProductConsigneeDto {
return &OrderProductConsigneeDto{
ProvinceId: m.ProvinceId,
Province: m.Province,
@ -181,6 +183,11 @@ func GetOrderProductListDto(m []*model.OrderProduct) []*OrderProductDto {
response = response.LoadOrderPrescriptionCode(v.OrderPrescription)
}
// 加载药品数据
if v.OrderProductItem != nil {
response = response.LoadProductName(v.OrderProductItem)
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
@ -274,3 +281,21 @@ func (r *OrderProductDto) LoadOrderProductCoupon(m *model.OrderProductCoupon) *O
}
return r
}
// LoadProductName 加载药品数据
func (r *OrderProductDto) LoadProductName(m []*model.OrderProductItem) *OrderProductDto {
if len(m) > 0 {
var products []string
for _, item := range m {
amount := fmt.Sprintf("%d", item.Amount)
productPrice := fmt.Sprintf("%.2f", item.ProductPrice)
product := item.ProductName + "(N:" + amount + " " + "P:" + productPrice + ")"
products = append(products, product)
r.ProductName = strings.Join(products, "; ")
}
}
return r
}

View File

@ -53,6 +53,7 @@ type OrderProduct struct {
OrderInquiry *OrderInquiry `gorm:"foreignKey:OrderInquiryId;references:order_inquiry_id" json:"order_inquiry"` // 问诊
UserPatient *UserPatient `gorm:"foreignKey:PatientId;references:patient_id" json:"user_patient"` // 患者
OrderPrescription *OrderPrescription `gorm:"foreignKey:OrderPrescriptionId;references:order_prescription_id" json:"order_prescription"` // 处方
OrderProductItem []*OrderProductItem `gorm:"foreignKey:OrderProductId;references:order_product_id" json:"order_product_item"` // 处方
Model
}

View File

@ -286,7 +286,7 @@ func (r *OrderProductService) GetOrderProductConsignee(orderProductId int64) (*d
}
// 处理返回值
u := dto.GetOrderProductConsigneeDtoDto(orderProduct)
u := dto.GetOrderProductConsigneeDto(orderProduct)
return u, nil
}