package bi_dashboard import ( "github.com/beego/beego/v2/client/orm" "time" ) type BiDashboardGrant struct { GrantId int `orm:"column(grant_id);pk"` // 授权id BiDashboardId int `gorm:"column:bi_dashboard_id" ` // 看板id GrantAdminId int `gorm:"column:grant_admin_id"` // 授权的用户id CreateTime time.Time `gorm:"column:create_time"` // 授权时间 } // tableName func (m *BiDashboardGrant) TableName() string { return "bi_dashboard_grant" } // GrantDashboardReq 分配看板权限 type GrantDashboardReq struct { BiDashboardId int `description:"看板id" ` AdminIdStr string `description:"指定成员id,多个成员用英文,隔开"` } // MultiAddDashboardGrant 批量添加授权记录 func MultiAddDashboardGrant(boardId int, list []*BiDashboardGrant) (err error) { o := orm.NewOrm() to, err := o.Begin() defer func() { if err != nil { _ = to.Rollback() } else { _ = to.Commit() } }() sql := "DELETE from bi_dashboard_grant where bi_dashboard_id=?" _, err = to.Raw(sql, boardId).Exec() if err != nil { return } // 新增授权记录 if len(list) > 0 { _, tmpErr := to.InsertMulti(len(list), list) if tmpErr != nil { err = tmpErr return } } return } // PublicDashboardReq 设置公共看板权限 type PublicDashboardReq struct { BiDashboardId int `description:"看板id" ` } // del func DeleteDashboardGrant(biDashboardId int) (err error) { //return global.DEFAULT_DmSQL.Where("bi_dashboard_id=?", biDashboardId).Delete(&BiDashboardGrant{}).Error o := orm.NewOrm() _, err = o.Raw("DELETE from bi_dashboard_grant where bi_dashboard_id=?", biDashboardId).Exec() return } // get func GetDashboardGrantInfo(biDashboardId int) (list []*BiDashboardGrant, err error) { //return list, global.DEFAULT_DmSQL.Where("bi_dashboard_id=?", biDashboardId).Find(&list).Error o := orm.NewOrm() _, err = o.Raw("SELECT * FROM bi_dashboard_grant where bi_dashboard_id=?", biDashboardId).QueryRows(&list) return }