From 3d939d8e866a43f4b49326d931bd06b553f29979 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期一, 11 三月 2024 14:16:53 +0800
Subject: [PATCH] 产品获取单位信息
---
controllers/product_controller.go | 16 +++
models/unit_dict.go | 230 ++++++++++++++++++++++++++++++++++++++++++++++
router/router.go | 1
3 files changed, 247 insertions(+), 0 deletions(-)
diff --git a/controllers/product_controller.go b/controllers/product_controller.go
index 84d970e..565bf9a 100644
--- a/controllers/product_controller.go
+++ b/controllers/product_controller.go
@@ -761,3 +761,19 @@
m["userName"] = userInfo.Username
util.ResponseFormat(c, code.Success, m)
}
+
+// GetUnitInfo
+//
+// @Tags 浜у搧
+// @Summary 鑾峰彇鍗曚綅淇℃伅
+// @Produce application/json
+// @Success 200 {object} util.ResponseList{data=map[string]interface{}} "鎴愬姛"
+// @Router /api-wms/v1/product/getUnitInfo [get]
+func (slf ProductController) GetUnitInfo(c *gin.Context) {
+ dicts, total, err := models.NewUnitDictSearch().Find()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏌ヨ鍑洪敊")
+ return
+ }
+ util.ResponseFormatList(c, code.Success, dicts, int(total))
+}
diff --git a/models/unit_dict.go b/models/unit_dict.go
new file mode 100644
index 0000000..e7b3fb4
--- /dev/null
+++ b/models/unit_dict.go
@@ -0,0 +1,230 @@
+package models
+
+import (
+ "fmt"
+ "gorm.io/gorm"
+ "wms/pkg/mysqlx"
+)
+
+type (
+ // UnitDict 璁¢噺鍗曚綅瀛楀吀
+ UnitDict struct {
+ BaseModelInt
+ Name string `gorm:"unique;type:varchar(191);not null;comment:鍚嶇О" json:"name"`
+ IsDefault bool `gorm:"type:tinyint(1);comment:鏄惁榛樿" json:"isDefault"`
+ Sort int `gorm:"type:int(11);comment:鎺掑簭" json:"-"`
+ }
+
+ UnitDictSearch struct {
+ UnitDict
+ Order string
+ PageNum int
+ PageSize int
+ Orm *gorm.DB
+ }
+)
+
+func (slf UnitDict) TableName() string {
+ return "unit_dict"
+}
+
+func NewUnitDictSearch() *UnitDictSearch {
+ return &UnitDictSearch{Orm: mysqlx.GetDB()}
+}
+
+func (slf *UnitDictSearch) SetOrm(tx *gorm.DB) *UnitDictSearch {
+ slf.Orm = tx
+ return slf
+}
+
+func (slf *UnitDictSearch) SetPage(page, size int) *UnitDictSearch {
+ slf.PageNum, slf.PageSize = page, size
+ return slf
+}
+
+func (slf *UnitDictSearch) SetOrder(order string) *UnitDictSearch {
+ slf.Order = order
+ return slf
+}
+
+func (slf *UnitDictSearch) SetID(id uint) *UnitDictSearch {
+ slf.ID = id
+ return slf
+}
+
+func (slf *UnitDictSearch) SetName(name string) *UnitDictSearch {
+ slf.Name = name
+ return slf
+}
+
+func (slf *UnitDictSearch) build() *gorm.DB {
+ var db = slf.Orm.Table(slf.TableName())
+
+ if slf.ID > 0 {
+ db = db.Where("id = ?", slf.ID)
+ }
+
+ if slf.Name != "" {
+ db = db.Where("name = ?", slf.Name)
+ }
+
+ db.Where("1 = 1")
+ if slf.Order != "" {
+ db = db.Order(slf.Order)
+ }
+
+ return db
+}
+
+// Create 鍗曟潯鎻掑叆
+func (slf *UnitDictSearch) Create(record *UnitDict) error {
+ var db = slf.build()
+
+ if err := db.Create(record).Error; err != nil {
+ return fmt.Errorf("create err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+// CreateBatch 鎵归噺鎻掑叆
+func (slf *UnitDictSearch) CreateBatch(records []*UnitDict) error {
+ var db = slf.build()
+
+ if err := db.Create(&records).Error; err != nil {
+ return fmt.Errorf("create batch err: %v, records: %+v", err, records)
+ }
+
+ return nil
+}
+
+func (slf *UnitDictSearch) Save(record *UnitDict) error {
+ var db = slf.build()
+
+ if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
+ return fmt.Errorf("save err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+func (slf *UnitDictSearch) UpdateByMap(upMap map[string]interface{}) error {
+ var (
+ db = slf.build()
+ )
+
+ if err := db.Updates(upMap).Error; err != nil {
+ return fmt.Errorf("update by map err: %v, upMap: %+v", err, upMap)
+ }
+
+ return nil
+}
+
+func (slf *UnitDictSearch) UpdateByQuery(query string, args []interface{}, upMap map[string]interface{}) error {
+ var (
+ db = slf.Orm.Table(slf.TableName()).Where(query, args...)
+ )
+
+ if err := db.Updates(upMap).Error; err != nil {
+ return fmt.Errorf("update by query err: %v, query: %s, args: %+v, upMap: %+v", err, query, args, upMap)
+ }
+
+ return nil
+}
+
+func (slf *UnitDictSearch) Delete() error {
+ var db = slf.build()
+
+ if err := db.Unscoped().Delete(&UnitDict{}).Error; err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (slf *UnitDictSearch) First() (*UnitDict, error) {
+ var (
+ record = new(UnitDict)
+ db = slf.build()
+ )
+
+ if err := db.First(record).Error; err != nil {
+ return record, err
+ }
+
+ return record, nil
+}
+
+func (slf *UnitDictSearch) Find() ([]*UnitDict, int64, error) {
+ var (
+ records = make([]*UnitDict, 0)
+ total int64
+ db = slf.build()
+ )
+
+ if err := db.Count(&total).Error; err != nil {
+ return records, total, fmt.Errorf("find count err: %v", err)
+ }
+ if slf.PageNum*slf.PageSize > 0 {
+ db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+ }
+ if err := db.Find(&records).Error; err != nil {
+ return records, total, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, total, nil
+}
+
+func (slf *UnitDictSearch) FindNotTotal() ([]*UnitDict, error) {
+ var (
+ records = make([]*UnitDict, 0)
+ db = slf.build()
+ )
+
+ if slf.PageNum*slf.PageSize > 0 {
+ db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+ }
+ if err := db.Find(&records).Error; err != nil {
+ return records, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, nil
+}
+
+// FindByQuery 鎸囧畾鏉′欢鏌ヨ.
+func (slf *UnitDictSearch) FindByQuery(query string, args []interface{}) ([]*UnitDict, int64, error) {
+ var (
+ records = make([]*UnitDict, 0)
+ total int64
+ db = slf.Orm.Table(slf.TableName()).Where(query, args...)
+ )
+
+ if err := db.Count(&total).Error; err != nil {
+ return records, total, fmt.Errorf("find by query count err: %v", err)
+ }
+ if slf.PageNum*slf.PageSize > 0 {
+ db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+ }
+ if err := db.Find(&records).Error; err != nil {
+ return records, total, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args)
+ }
+
+ return records, total, nil
+}
+
+// FindByQueryNotTotal 鎸囧畾鏉′欢鏌ヨ&涓嶆煡璇㈡�绘潯鏁�.
+func (slf *UnitDictSearch) FindByQueryNotTotal(query string, args []interface{}) ([]*UnitDict, error) {
+ var (
+ records = make([]*UnitDict, 0)
+ db = slf.Orm.Table(slf.TableName()).Where(query, args...)
+ )
+
+ if slf.PageNum*slf.PageSize > 0 {
+ db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
+ }
+ if err := db.Find(&records).Error; err != nil {
+ return records, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args)
+ }
+
+ return records, nil
+}
diff --git a/router/router.go b/router/router.go
index 2bee382..7bd6d6d 100644
--- a/router/router.go
+++ b/router/router.go
@@ -121,6 +121,7 @@
productAPI.POST("listHistory", productController.ListHistory) //浜у搧浣嶇疆鍘嗗彶璁板綍
productAPI.PUT("cancelDisuse/:id", productController.CancelDisuse) //鍙栨秷鎶ュ簾
productAPI.GET("getUserInfo", productController.GetUserInfo) //鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+ productAPI.GET("getUnitInfo", productController.GetUnitInfo) //鑾峰彇鍗曚綅淇℃伅
}
--
Gitblit v1.8.0