package dao import ( "git.rosy.net.cn/jx-print/globals" editionModel "git.rosy.net.cn/jx-print/model/app_model" "time" ) type PrintNotice struct { } var PrintNoticeDao = new(PrintNotice) // AddNotice 添加版本控制 func (p PrintNotice) AddNotice(param *editionModel.AddOrUpdatePrintNotice) error { if err := Insert(globals.GetDB(), editionModel.PrintNotice{ CreatedAt: time.Now(), UpdatedAt: time.Now(), NoticeType: param.NoticeType, Msg: param.Msg, Link: param.Link, }); err != nil { return err } return nil } // UpdateNotice 修改版本控制 func (p PrintNotice) UpdateNotice(param *editionModel.AddOrUpdatePrintNotice) error { if err := Update(globals.GetDB(), editionModel.PrintNotice{ ID: param.Id, UpdatedAt: time.Now(), NoticeType: param.NoticeType, Msg: param.Msg, Link: param.Link, }, []string{"updated_at", "notice_type", "msg", "link"}...); err != nil { return err } return nil } // DeletePrintNotice 删除 func (p PrintNotice) DeletePrintNotice(id int) error { sql := `DELETE FROM print_notice WHERE id = ?` _, err := globals.GetDB().Exec(sql, []interface{}{id}...) return err } func (p PrintNotice) SelectPrintNotice(param *editionModel.QueryPrintNotice) ([]*editionModel.PrintNotice, int, error) { var result []*editionModel.PrintNotice sql := `SELECT SQL_CALC_FOUND_ROWS * FROM print_notice WHERE notice_type = ? ORDER BY created_at DESC LIMIT ? OFFSET ? ` txDb := globals.GetTxDb() if err := txDb.Select(&result, sql, []interface{}{param.NoticeType, param.PageSize, (param.PageNumber - 1) * param.PageSize}...); err != nil { txDb.Rollback() return nil, 0, err } var countInfo []*editionModel.Count err := txDb.Select(&countInfo, "SELECT FOUND_ROWS() ct") if err != nil { txDb.Rollback() return nil, 0, err } return result, countInfo[0].Ct, nil }