144 lines
4.2 KiB
Go
144 lines
4.2 KiB
Go
|
package dao
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
"go-common/app/admin/main/manager/model"
|
||
|
)
|
||
|
|
||
|
// AddCateSecExt .
|
||
|
func (d *Dao) AddCateSecExt(c context.Context, e *model.CateSecExt) (err error) {
|
||
|
str := "INSERT INTO manager_reason_catesecext (bid,name,type) VALUES (?,?,?) ON DUPLICATE KEY UPDATE bid=values(bid),name=values(name),type=values(type)"
|
||
|
return d.db.Exec(str, e.BusinessID, e.Name, e.Type).Error
|
||
|
}
|
||
|
|
||
|
// UpdateCateSecExt .
|
||
|
func (d *Dao) UpdateCateSecExt(c context.Context, e *model.CateSecExt) (err error) {
|
||
|
return d.db.Table("manager_reason_catesecext").Where("id = ?", e.ID).Update("name", e.Name).Error
|
||
|
}
|
||
|
|
||
|
// BanCateSecExt .
|
||
|
func (d *Dao) BanCateSecExt(c context.Context, e *model.CateSecExt) (err error) {
|
||
|
return d.db.Table("manager_reason_catesecext").Where("id = ?", e.ID).Update("state", e.State).Error
|
||
|
}
|
||
|
|
||
|
// AddAssociation .
|
||
|
func (d *Dao) AddAssociation(c context.Context, e *model.Association) (err error) {
|
||
|
return d.db.Table("manager_reason_association").Create(&e).Error
|
||
|
}
|
||
|
|
||
|
// UpdateAssociation .
|
||
|
func (d *Dao) UpdateAssociation(c context.Context, e *model.Association) (err error) {
|
||
|
return d.db.Table("manager_reason_association").Where("id = ?", e.ID).Updates(
|
||
|
map[string]interface{}{
|
||
|
"rid": e.RoleID,
|
||
|
"cid": e.CategoryID,
|
||
|
"sids": e.SecondIDs,
|
||
|
}).Error
|
||
|
}
|
||
|
|
||
|
// BanAssociation .
|
||
|
func (d *Dao) BanAssociation(c context.Context, e *model.Association) (err error) {
|
||
|
return d.db.Table("manager_reason_association").Where("id = ?", e.ID).Update("state", e.State).Error
|
||
|
}
|
||
|
|
||
|
// AddReason .
|
||
|
func (d *Dao) AddReason(c context.Context, e *model.Reason) (err error) {
|
||
|
return d.db.Table("manager_reason").Create(e).Error
|
||
|
}
|
||
|
|
||
|
// UpdateReason .
|
||
|
func (d *Dao) UpdateReason(c context.Context, e *model.Reason) (err error) {
|
||
|
return d.db.Table("manager_reason").Where("id = ?", e.ID).
|
||
|
Updates(map[string]interface{}{
|
||
|
"rid": e.RoleID,
|
||
|
"cid": e.CategoryID,
|
||
|
"sid": e.SecondID,
|
||
|
"state": e.State,
|
||
|
"common": e.Common,
|
||
|
"uid": e.UID,
|
||
|
"description": e.Description,
|
||
|
"weight": e.Weight,
|
||
|
"flag": e.Flag,
|
||
|
"lid": e.LinkID,
|
||
|
"type_id": e.TypeID,
|
||
|
"tid": e.TagID,
|
||
|
}).Error
|
||
|
}
|
||
|
|
||
|
// ReasonList .
|
||
|
func (d *Dao) ReasonList(c context.Context, e *model.SearchReasonParams) (res []*model.Reason, err error) {
|
||
|
db := d.db.Table("manager_reason")
|
||
|
if e.BusinessID != -1 {
|
||
|
db = db.Where("bid = ?", e.BusinessID)
|
||
|
}
|
||
|
if e.KeyWord != "" {
|
||
|
db = db.Where("description LIKE ?", "%"+e.KeyWord+"%")
|
||
|
}
|
||
|
if e.RoleID != 0 {
|
||
|
db = db.Where("rid = ?", e.RoleID)
|
||
|
}
|
||
|
if e.CategoryID != 0 {
|
||
|
db = db.Where("cid = ?", e.CategoryID)
|
||
|
}
|
||
|
if e.SecondID != 0 {
|
||
|
db = db.Where("sid = ?", e.SecondID)
|
||
|
}
|
||
|
if e.State != -1 {
|
||
|
db = db.Where("state = ?", e.State)
|
||
|
}
|
||
|
if e.UName != "" {
|
||
|
db = db.Where("uid = ?", e.UID)
|
||
|
}
|
||
|
if e.Order != "" {
|
||
|
db = db.Order(e.Order+" "+e.Sort, true)
|
||
|
}
|
||
|
err = db.Find(&res).Error
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// CateSecByIDs .
|
||
|
func (d *Dao) CateSecByIDs(c context.Context, ids []int64) (res map[int64]string, err error) {
|
||
|
r := []*model.CateSecExt{}
|
||
|
res = make(map[int64]string)
|
||
|
if err = d.db.Table("manager_reason_catesecext").Where("id IN (?)", ids).Find(&r).Error; err != nil {
|
||
|
return
|
||
|
}
|
||
|
for _, cn := range r {
|
||
|
res[cn.ID] = cn.Name
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// BatchUpdateReasonState .
|
||
|
func (d *Dao) BatchUpdateReasonState(c context.Context, b *model.BatchUpdateReasonState) (err error) {
|
||
|
return d.db.Table("manager_reason").Where("id IN (?)", b.IDs).Update("state", b.State).Error
|
||
|
}
|
||
|
|
||
|
// CateSecExtList .
|
||
|
func (d *Dao) CateSecExtList(c context.Context, e *model.CateSecExt) (res []*model.CateSecExt, err error) {
|
||
|
// Display all record
|
||
|
db := d.db.Table("manager_reason_catesecext").Where("bid = ? and type = ?", e.BusinessID, e.Type)
|
||
|
if e.State != -1 {
|
||
|
db = db.Where("state = ?", e.State)
|
||
|
}
|
||
|
err = db.Find(&res).Error
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// CateSecList .
|
||
|
func (d *Dao) CateSecList(c context.Context, bid int64) (res []*model.CateSecExt, err error) {
|
||
|
err = d.db.Table("manager_reason_catesecext").Where("bid = ?", bid).Find(&res).Error
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// AssociationList .
|
||
|
func (d *Dao) AssociationList(c context.Context, state int64, bid int64) (res []*model.Association, err error) {
|
||
|
db := d.db.Table("manager_reason_association").Where("bid = ?", bid)
|
||
|
if state != -1 {
|
||
|
db = db.Where("state = ?", state)
|
||
|
}
|
||
|
err = db.Find(&res).Error
|
||
|
return
|
||
|
}
|