package dao import ( "errors" "micro-document/api/emailAlerts" "micro-document/internel/model" "micro-document/pkg/db" ) type emailAlertsDao struct{} var EmailAlertsDao = new(emailAlertsDao) func (emailAlertsDao) Submit(req *emailAlerts.EmailAlertsSubmitReq) (err error) { err = db.DocDB.Model(&model.EmailAlerts{}).Create(&model.EmailAlerts{ FirstName: req.FirstName, LastName: req.LastName, FullName: req.FirstName + req.LastName, Email: req.Email, Company: req.Company, Phone: req.Phone, }).Error if err != nil { return errors.New("新增邮件提醒失败") } return } func (emailAlertsDao) GetEmailInformationList(req *emailAlerts.GetEmailInformationListReq) (data []model.EmailAlerts, total int64, err error) { dbQuery := db.DocDB.Model(&model.EmailAlerts{}) if req.Filtrate != nil { if req.Filtrate.Name != "" { dbQuery = dbQuery.Where("full_name LIKE ?", "%"+req.Filtrate.Name+"%") } if req.Filtrate.Email != "" { dbQuery = dbQuery.Where("email LIKE ?", "%"+req.Filtrate.Email+"%") } if req.Filtrate.Company != "" { dbQuery = dbQuery.Where("company LIKE ?", "%"+req.Filtrate.Company+"%") } } dbQuery.Count(&total) err = dbQuery.Scopes(db.Pagination(req.Page, req.PageSize)).Find(&data).Error if err != nil { return } return }