package report import ( "eta/eta_api/utils" "github.com/beego/beego/v2/client/orm" "time" ) // ReportChapterGrant // @Description: 报告章节授权用户表 type ReportChapterGrant struct { GrantId int `orm:"column(grant_id)"` // 授权id ReportChapterId int `description:"报告章节id"` AdminId int `description:"授权的用户id"` CreateTime time.Time `description:"授权时间"` } // MultiAddReportChapterGrantGrant // @Description: 批量添加报告授权用户 // @author: Roc // @receiver m // @datetime 2024-06-04 15:36:02 // @param reportChapterId int // @param list []*ReportChapterGrant // @return err error func (m ReportChapterGrant) MultiAddReportChapterGrantGrant(reportChapterId int, list []*ReportChapterGrant) (err error) { o := orm.NewOrmUsingDB("rddp") to, err := o.Begin() if err != nil { return } defer func() { if err != nil { _ = to.Rollback() } else { _ = to.Commit() } }() sql := "DELETE from report_chapter_grant where report_chapter_id=?" _, err = to.Raw(sql, reportChapterId).Exec() if err != nil { return } // 新增授权记录 if len(list) > 0 { _, tmpErr := to.InsertMulti(500, list) if tmpErr != nil { err = tmpErr return } } return } // GetGrantListById // @Description: 根据id获取授权列表 // @author: Roc // @receiver m // @datetime 2024-06-04 15:33:58 // @param reportChapterId int // @return list []*ReportChapterGrant // @return err error func (m ReportChapterGrant) GetGrantListById(reportChapterId int) (list []*ReportChapterGrant, err error) { o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM report_chapter_grant WHERE report_chapter_id=? ` _, err = o.Raw(sql, reportChapterId).QueryRows(&list) return } // GetGrantListByIdList // @Description: 根据id列表获取授权列表 // @author: Roc // @receiver m // @datetime 2024-06-04 15:33:58 // @param reportChapterIdList []int // @return list []*ReportChapterGrant // @return err error func (m ReportChapterGrant) GetGrantListByIdList(reportChapterIdList []int) (list []*ReportChapterGrant, err error) { num := len(reportChapterIdList) if num <= 0 { return } o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM report_chapter_grant WHERE report_chapter_id in (` + utils.GetOrmInReplace(num) + `) ` _, err = o.Raw(sql, reportChapterIdList).QueryRows(&list) return } // GetGrantByIdAndAdmin // @Description: 根据reportId和操作人获取报告章节权限配置 // @author: Roc // @receiver m // @datetime 2024-06-04 15:49:59 // @param reportChapterId int // @param sysUserId int // @return item *ReportGrant // @return err error func (m ReportChapterGrant) GetGrantByIdAndAdmin(reportChapterId, sysUserId int) (item *ReportGrant, err error) { o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM report_chapter_grant WHERE report_chapter_id = ? AND admin_id = ? ` err = o.Raw(sql, reportChapterId, sysUserId).QueryRow(&item) return }