新增获取平台商品列表

This commit is contained in:
wucongxing 2023-12-22 17:22:57 +08:00
parent f3bcd31893
commit dceaa0aedf
4 changed files with 89 additions and 1 deletions

View File

@ -268,3 +268,35 @@ func (r *Product) PutProductStatus(c *gin.Context) {
responses.Ok(c)
}
// GetPlatformProductList 获取平台商品列表
func (r *Product) GetPlatformProductList(c *gin.Context) {
productRequest := requests.ProductRequest{}
req := productRequest.GetPlatformProductList
if err := c.ShouldBind(&req); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(req); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
productPlatformDao := dao.ProductPlatformDao{}
productPlatform, err := productPlatformDao.GetPlatformProductListSearch(req)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 处理返回值
productPlatforms := dto.GetProductPlatformListDto(productPlatform)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
responses.OkWithData(productPlatforms, c)
}

View File

@ -114,3 +114,48 @@ func (r *ProductPlatformDao) GetPlatformProductPageSearch(req requests.GetPlatfo
}
return m, totalRecords, nil
}
// GetPlatformProductListSearch 获取平台商品列表
func (r *ProductPlatformDao) GetPlatformProductListSearch(req requests.GetPlatformProductList) (m []*model.ProductPlatform, err error) {
// 构建查询条件
query := global.Db.Model(&model.ProductPlatform{})
// 商品名称
if req.ProductName != "" {
query = query.Where("product_name LIKE ?", "%"+req.ProductName+"%")
}
// 药品类型
if req.ProductType != nil {
query = query.Where("product_type = ?", req.ProductType)
}
// 处方平台编码
if req.ProductPlatformCode != "" {
query = query.Where("product_platform_code LIKE ?", "%"+req.ProductPlatformCode+"%")
}
// 药店编码
if req.ProductPharmacyCode != "" {
query = query.Where("product_pharmacy_code LIKE ?", "%"+req.ProductPharmacyCode+"%")
}
// 批准文号
if req.LicenseNumber != "" {
query = query.Where("license_number LIKE ?", "%"+req.LicenseNumber+"%")
}
// 生产厂家
if req.Manufacturer != "" {
query = query.Where("manufacturer LIKE ?", "%"+req.Manufacturer+"%")
}
// 排序
query = query.Order("created_at desc")
err = query.Scopes(model.Paginate(1, 10)).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}

View File

@ -6,6 +6,7 @@ type ProductRequest struct {
AddProduct // 新增商品
PutProduct // 修改商品
PutProductStatus // 修改商品状态(上/下架)
GetPlatformProductList // 获取平台商品列表
}
// GetPlatformProductPage 获取平台商品列表-分页
@ -20,6 +21,16 @@ type GetPlatformProductPage struct {
Manufacturer string `json:"manufacturer" form:"manufacturer" label:"生产厂家"` // 生产厂家
}
// GetPlatformProductList 获取平台商品列表
type GetPlatformProductList struct {
ProductName string `json:"product_name" form:"product_name" label:"商品名称"` // 商品名称
ProductType *int `json:"product_type" form:"product_type" label:"药品类型"` // 药品类型0:未知 1:中成药 2:西药)
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:"生产厂家"` // 生产厂家
}
// GetProductPage 获取系统商品列表-分页
type GetProductPage struct {
Page int `json:"page" form:"page" label:"页码"`

View File

@ -680,7 +680,7 @@ func privateRouter(r *gin.Engine, api controller.Api) {
platformGroup.GET("/:product_platform_id", api.Product.GetProductPlatform)
// 获取平台商品列表
platformGroup.GET("/list", api.UserDoctor.GetUserDoctorList)
platformGroup.GET("/list", api.Product.GetPlatformProductList)
}
}
}