You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
4.2 KiB
143 lines
4.2 KiB
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 |
|
}
|
|
|