package report import ( "eta_gn/eta_api/global" "eta_gn/eta_api/utils" "time" ) type ReportChapterGrant struct { GrantId int `gorm:"primaryKey;column:grant_id;type:int(9) unsigned;not null"` // 授权id ReportChapterId int `gorm:"index:idx_report_chapterid;column:report_chapter_id;type:int(9) unsigned;not null;default:0"` // 报告章节id AdminId int `gorm:"column:admin_id;type:int(9) unsigned;default:0"` // 授权的用户id CreateTime time.Time `gorm:"column:create_time;type:timestamp;default:CURRENT_TIMESTAMP"` // 授权时间 } func (m ReportChapterGrant) MultiAddReportChapterGrantGrant(reportChapterId int, list []*ReportChapterGrant) (err error) { tx := global.DmSQL["rddp"].Begin() defer func() { if err != nil { _ = tx.Rollback() return } _ = tx.Commit() }() sql := "DELETE from report_chapter_grant where report_chapter_id=?" err = tx.Exec(sql, reportChapterId).Error if err != nil { return } if len(list) > 0 { e := tx.CreateInBatches(list, utils.MultiAddNum).Error if e != nil { err = e return } } return } func (m ReportChapterGrant) GetGrantListById(reportChapterId int) (list []*ReportChapterGrant, err error) { sql := `SELECT * FROM report_chapter_grant WHERE report_chapter_id=? ` err = global.DmSQL["rddp"].Raw(sql, reportChapterId).Find(&list).Error return } func (m ReportChapterGrant) GetGrantListByIdList(reportChapterIdList []int) (list []*ReportChapterGrant, err error) { num := len(reportChapterIdList) if num <= 0 { return } sql := `SELECT * FROM report_chapter_grant WHERE report_chapter_id in (` + utils.GetOrmInReplace(num) + `) ` err = global.DmSQL["rddp"].Raw(sql, reportChapterIdList).Find(&list).Error return } func (m ReportChapterGrant) GetGrantByIdAndAdmin(reportChapterId, sysUserId int) (item *ReportGrant, err error) { sql := `SELECT * FROM report_chapter_grant WHERE report_chapter_id = ? AND admin_id = ? ` err = global.DmSQL["rddp"].Raw(sql, reportChapterId, sysUserId).First(&item).Error return }