From 667acc2224375671b5d240de127e90550608dd78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E4=BF=8A=E6=88=90?= Date: Mon, 16 Oct 2023 16:46:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/apis/basic/supplier.go | 80 ++++++++++++++++++------------ app/admin/middleware/permission.go | 10 ++++ app/admin/models/game_card.go | 2 +- app/admin/models/supplier.go | 40 ++++++++------- app/admin/models/sysuser.go | 14 +++--- 5 files changed, 88 insertions(+), 58 deletions(-) diff --git a/app/admin/apis/basic/supplier.go b/app/admin/apis/basic/supplier.go index 78fe7b2..bb7f67b 100644 --- a/app/admin/apis/basic/supplier.go +++ b/app/admin/apis/basic/supplier.go @@ -3,29 +3,31 @@ package basic import ( "errors" "github.com/gin-gonic/gin" + "go-admin/app/admin/middleware" "go-admin/app/admin/models" orm "go-admin/common/global" "go-admin/logger" + "go-admin/tools" "go-admin/tools/app" "net/http" ) type SupplierCreateRequest struct { - Name string `json:"name" binding:"required"` - Contact string `json:"contact" binding:"required"` - Tel string `json:"tel" binding:"required"` - Address string `json:"address" binding:"required"` - OpeningBank string `json:"opening_bank" binding:"required"` - BankAccount string `json:"bank_account" binding:"required"` - PaymentCycle uint32 `json:"payment_cycle" binding:"required"` - TaxNumber string `json:"tax_number"` - StoreIds string `json:"store_ids"` - Landline string `json:"landline"` - Email string `json:"email"` - CompanyWebsite string `json:"company_website"` - Province string `json:"province" binding:"required"` - City string `json:"city" binding:"required"` - Area string `json:"area" binding:"required"` + Name string `json:"name" validate:"required"` //供应商名称 + Contact string `json:"contact" validate:"required"` //联系人 + Tel string `json:"tel" validate:"required"` //手机号 + Address string `json:"address" validate:"required"` //地址 + OpeningBank string `json:"opening_bank" validate:"required"` //开户行 + AccountHolder string `json:"account_holder"` //开户人 + BankAccount string `json:"bank_account" validate:"required"` //银行卡号 + PaymentCycle uint32 `json:"payment_cycle" validate:"required"` //支付周期 + TaxNumber string `json:"tax_number"` //税点 + Landline string `json:"landline"` //固话 + Email string `json:"email"` //邮箱 + CompanyWebsite string `json:"company_website"` //网站 + Province string `json:"province" validate:"required"` //省份 + City string `json:"city" validate:"required"` //城市 + Area string `json:"area" validate:"required"` //地区 } // SupplierCreate 添加供应商 @@ -35,21 +37,32 @@ func SupplierCreate(c *gin.Context) { app.Error(c, http.StatusBadRequest, errors.New("para err"), "参数错误") return } - supplier := &models.Supplier{ - Name: req.Name, - Contact: req.Contact, - Tel: req.Tel, - Address: req.Address, - OpeningBank: req.OpeningBank, - BankAccount: req.BankAccount, - PaymentCycle: req.PaymentCycle, - TaxNumber: req.TaxNumber, - Landline: req.Landline, - Email: req.Email, - CompanyWebsite: req.CompanyWebsite, + + err := tools.Validate(req) + if err != nil { + app.Error(c, http.StatusBadRequest, err, err.Error()) + return } - err := orm.Eloquent.Create(supplier).Error + supplier := &models.Supplier{ + Name: req.Name, + Contact: req.Contact, + Tel: req.Tel, + Address: req.Address, + OpeningBank: req.OpeningBank, + BankAccount: req.BankAccount, + PaymentCycle: req.PaymentCycle, + TaxNumber: req.TaxNumber, + Landline: req.Landline, + Email: req.Email, + CompanyWebsite: req.CompanyWebsite, + Province: req.Province, + City: req.City, + Area: req.Area, + CooperativeBusinessId: middleware.GetCooperativeBusinessId(c), + } + + err = orm.Eloquent.Create(supplier).Error if err != nil { logger.Error("[SupplierCreate]:create supplier err", logger.Field("err", err)) app.Error(c, http.StatusInternalServerError, err, "操作失败") @@ -62,7 +75,7 @@ func SupplierCreate(c *gin.Context) { type SupplierUpdateRequest struct { SupplierCreateRequest - Id uint32 `json:"id" binding:"required"` + Id uint32 `json:"id" validate:"required"` } // SupplierUpdate 更新供应商 @@ -109,8 +122,9 @@ func SupplierList(c *gin.Context) { } list, err := models.GetSupplier(models.GetSupplierRequest{ - Name: req.Name, - Number: req.Number, + Name: req.Name, + Number: req.Number, + CooperativeBusinessId: middleware.GetCooperativeBusinessId(c), }) if err != nil { app.Error(c, http.StatusInternalServerError, err, "获取列表失败") @@ -133,7 +147,7 @@ func SupplierDetail(c *gin.Context) { return } - app.OK(c, supplier, "") + app.OK(c, supplier, "ok") return } @@ -150,6 +164,6 @@ func SupplierDel(c *gin.Context) { return } - app.OK(c, nil, "") + app.OK(c, nil, "删除成功") return } diff --git a/app/admin/middleware/permission.go b/app/admin/middleware/permission.go index f9db348..e2d81ca 100644 --- a/app/admin/middleware/permission.go +++ b/app/admin/middleware/permission.go @@ -3,6 +3,7 @@ package middleware import ( "fmt" "github.com/gin-gonic/gin" + "go-admin/app/admin/models" mycasbin "go-admin/pkg/casbin" "net/http" @@ -39,3 +40,12 @@ func AuthCheckRole() gin.HandlerFunc { } } } + +// GetCooperativeBusinessId 获取用户合作商id +func GetCooperativeBusinessId(c *gin.Context) uint32 { + u, b := c.Get("userInfo") + if !b { + return 0 + } + return u.(*models.SysUserB).CooperativeBusinessId +} diff --git a/app/admin/models/game_card.go b/app/admin/models/game_card.go index 8c10395..e9b00ba 100644 --- a/app/admin/models/game_card.go +++ b/app/admin/models/game_card.go @@ -1511,7 +1511,7 @@ func ExpireMemberSMSSendDay(day uint32, nowTime time.Time) { smsSend.Tel = users[i].Tel exist, err := QueryRecordExist(fmt.Sprintf("SELECT * FROM order_card WHERE uid = %d AND pay_status=2 AND card_status IN (1,2,3) ", users[i].Uid)) if err != nil || !exist { - logger.Error(err.Error()) + logger.Error("QueryRecordExist err", logger.Field("err", err), logger.Field("exists", exist)) continue } err = GtSendMessage([]string{users[i].Tel}, smsSend.Message) diff --git a/app/admin/models/supplier.go b/app/admin/models/supplier.go index 81b37cd..a1b28c0 100644 --- a/app/admin/models/supplier.go +++ b/app/admin/models/supplier.go @@ -10,22 +10,23 @@ import ( type Supplier struct { Model - Number string `json:"number" gorm:"index"` //编号 - Name string `json:"name"` //供应商名称 - Contact string `json:"contact"` //联系人 - Tel string `json:"tel"` //手机号 - Province string `json:"province"` //省 - City string `json:"city"` //市 - Area string `json:"area"` //区 - Address string `json:"address"` //详细地址 - AccountHolder string `json:"account_holder"` //开户人 - OpeningBank string `json:"opening_bank"` //开户银行 - BankAccount string `json:"bank_account"` //银行账号 - PaymentCycle uint32 `json:"payment_cycle"` //支付周期 - TaxNumber string `json:"tax_number"` //税号 - Landline string `json:"landline"` //固定电话 - Email string `json:"email"` //邮件 - CompanyWebsite string `json:"company_website"` //网站 + Number string `json:"number" gorm:"index"` //编号 + Name string `json:"name"` //供应商名称 + Contact string `json:"contact"` //联系人 + Tel string `json:"tel"` //手机号 + Province string `json:"province"` //省 + City string `json:"city"` //市 + Area string `json:"area"` //区 + Address string `json:"address"` //详细地址 + AccountHolder string `json:"account_holder"` //开户人 + OpeningBank string `json:"opening_bank"` //开户银行 + BankAccount string `json:"bank_account"` //银行账号 + PaymentCycle uint32 `json:"payment_cycle"` //支付周期 + TaxNumber string `json:"tax_number"` //税号 + Landline string `json:"landline"` //固定电话 + Email string `json:"email"` //邮件 + CompanyWebsite string `json:"company_website"` //网站 + CooperativeBusinessId uint32 `json:"cooperative_business_id"` //合作商id } func (s *Supplier) TableName() string { @@ -46,8 +47,9 @@ func (s *Supplier) BeforeCreate(tx *gorm.DB) error { } type GetSupplierRequest struct { - Name string //供应商名称 - Number string //供应商编号 + Name string //供应商名称 + Number string //供应商编号 + CooperativeBusinessId uint32 //合作商id } func GetSupplier(req GetSupplierRequest) ([]*Supplier, error) { @@ -61,6 +63,8 @@ func GetSupplier(req GetSupplierRequest) ([]*Supplier, error) { m = m.Where("number = ?", req.Number) } + m = m.Where("cooperative_business_id = ?", req.CooperativeBusinessId) + err := m. Order("created_at desc"). Find(&list). diff --git a/app/admin/models/sysuser.go b/app/admin/models/sysuser.go index 269f481..029d562 100644 --- a/app/admin/models/sysuser.go +++ b/app/admin/models/sysuser.go @@ -2,7 +2,6 @@ package models import ( "errors" - "gorm.io/gorm" "log" "strings" @@ -236,7 +235,7 @@ func (e *SysUser) GetPage(pageSize int, pageIndex int) ([]SysUserPage, int, erro return doc, int(count), nil } -//加密 +// 加密 func (e *SysUser) Encrypt() (err error) { if e.Password == "" { return @@ -251,7 +250,7 @@ func (e *SysUser) Encrypt() (err error) { } } -//添加 +// 添加 func (e SysUser) Insert() (id int, err error) { if err = e.Encrypt(); err != nil { return @@ -273,7 +272,7 @@ func (e SysUser) Insert() (id int, err error) { return } -//修改 +// 修改 func (e *SysUser) Update(id int) (update SysUser, err error) { if e.Password != "" { if err = e.Encrypt(); err != nil { @@ -322,6 +321,9 @@ func (e *SysUser) SetPwd(pwd SysUserPwd) (Result bool, err error) { return } -func (e *SysUser) GetByUserId(tx *gorm.DB, id interface{}) error { - return tx.First(e, id).Error +func GetUserById(id uint32) *SysUserB { + var u = new(SysUserB) + orm.Eloquent.Table("sys_user").Where("user_id", id).First(u) + + return u }