From 22e50153de7f6fd6d33d286be046162a43a10a0e Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Wed, 22 May 2024 11:39:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=95=86=E5=93=81=E5=88=97=E8=A1=A8-?= =?UTF-8?q?=E5=88=86=E9=A1=B5=20=E5=BA=93=E5=AD=98=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/product.go | 2 +- api/dao/product.go | 10 +++++++++- api/requests/product.go | 31 ++++++++++++++++++------------- api/router/router.go | 2 +- 4 files changed, 29 insertions(+), 16 deletions(-) diff --git a/api/controller/product.go b/api/controller/product.go index 30f366c..3bb0b0b 100644 --- a/api/controller/product.go +++ b/api/controller/product.go @@ -89,7 +89,7 @@ func (r *Product) GetProductPlatform(c *gin.Context) { func (r *Product) GetProductPage(c *gin.Context) { productRequest := requests.ProductRequest{} req := productRequest.GetProductPage - if err := c.ShouldBind(&req); err != nil { + if err := c.ShouldBindJSON(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } diff --git a/api/dao/product.go b/api/dao/product.go index 0d5a775..b2af336 100644 --- a/api/dao/product.go +++ b/api/dao/product.go @@ -143,7 +143,15 @@ func (r *ProductDao) GetProductPageSearch(req requests.GetProductPage, page, pag } // 排序 - query = query.Order("created_at desc") + if req.Order != nil { + if req.Order.Stock != "" { + query = query.Joins("JOIN gdxz_product_platform_amount ON gdxz_product_platform_amount.product_platform_id = gdxz_product.product_platform_id"). + Order("gdxz_product_platform_amount.stock " + req.Order.Stock) + } + + } + + query = query.Order("gdxz_product.created_at desc") // 查询总数量 if err := query.Count(&totalRecords).Error; err != nil { diff --git a/api/requests/product.go b/api/requests/product.go index c3792d1..197aa9b 100644 --- a/api/requests/product.go +++ b/api/requests/product.go @@ -34,19 +34,24 @@ type GetPlatformProductList struct { // GetProductPage 获取系统商品列表-分页 type GetProductPage struct { - Page int `json:"page" form:"page" label:"页码"` - PageSize int `json:"page_size" form:"page_size" label:"每页个数"` - ProductName string `json:"product_name" form:"product_name" label:"商品名称"` // 商品名称 - CommonName string `json:"common_name" form:"common_name" label:"商品通用名"` // 商品通用名 - MnemonicCode string `json:"mnemonic_code" form:"mnemonic_code" label:"商品助记码"` // 商品助记码(首字母简拼) - ProductType *int `json:"product_type" form:"product_type" label:"药品类型"` // 药品类型(0:未知 1:中成药 2:西药) - ProductPlatformId string `json:"product_platform_id" form:"product_platform_id" label:"平台商品id"` // 处方平台商品id - ProductPlatformCode string `json:"product_platform_code" form:"product_platform_code" label:"处方平台编码"` // 处方平台商品编码 - ProductPharmacyCode string `json:"product_pharmacy_code" form:"product_pharmacy_code" label:"药店编码"` // 第三方药店商品编码 - LicenseNumber string `json:"license_number" form:"license_number" label:"批准文号"` // 批准文号 - Manufacturer string `json:"manufacturer" form:"manufacturer" label:"生产厂家"` // 生产厂家 - ProductRemarks string `json:"product_remarks" form:"product_remarks" label:"商品备注"` // 商品备注 - ProductStatus *int `json:"product_status" form:"product_status" label:"商品状态"` // 商品状态(1:正常 2:下架) + Page int `json:"page" form:"page" label:"页码"` + PageSize int `json:"page_size" form:"page_size" label:"每页个数"` + ProductName string `json:"product_name" form:"product_name" label:"商品名称"` // 商品名称 + CommonName string `json:"common_name" form:"common_name" label:"商品通用名"` // 商品通用名 + MnemonicCode string `json:"mnemonic_code" form:"mnemonic_code" label:"商品助记码"` // 商品助记码(首字母简拼) + ProductType *int `json:"product_type" form:"product_type" label:"药品类型"` // 药品类型(0:未知 1:中成药 2:西药) + ProductPlatformId string `json:"product_platform_id" form:"product_platform_id" label:"平台商品id"` // 处方平台商品id + ProductPlatformCode string `json:"product_platform_code" form:"product_platform_code" label:"处方平台编码"` // 处方平台商品编码 + ProductPharmacyCode string `json:"product_pharmacy_code" form:"product_pharmacy_code" label:"药店编码"` // 第三方药店商品编码 + LicenseNumber string `json:"license_number" form:"license_number" label:"批准文号"` // 批准文号 + Manufacturer string `json:"manufacturer" form:"manufacturer" label:"生产厂家"` // 生产厂家 + ProductRemarks string `json:"product_remarks" form:"product_remarks" label:"商品备注"` // 商品备注 + ProductStatus *int `json:"product_status" form:"product_status" label:"商品状态"` // 商品状态(1:正常 2:下架) + Order *GetProductPageOrder `json:"order" form:"order" label:"排序"` +} + +type GetProductPageOrder struct { + Stock string `json:"stock" form:"stock" label:"库存" validate:"oneof=desc asc"` } // AddProduct 新增商品 diff --git a/api/router/router.go b/api/router/router.go index 5ff3fd8..cc51171 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -676,7 +676,7 @@ func privateRouter(r *gin.Engine, api controller.Api) { productGroup := adminGroup.Group("/product") { // 获取系统商品列表-分页 - productGroup.GET("", api.Product.GetProductPage) + productGroup.POST("/page", api.Product.GetProductPage) // 系统商品详情 productGroup.GET("/:product_id", api.Product.GetProduct)