12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package gorm
- import (
- "context"
- "database/sql"
- "go-common/app/admin/main/aegis/model"
- "go-common/library/log"
- )
- //ReportTaskMetas 任务数据统计
- func (d *Dao) ReportTaskMetas(c context.Context, bt string, et string, bizid, flowid int64, uids []int64, mnames map[int64]string, tp int8) (metas []*model.ReportMeta, missuid []int64, err error) {
- db := d.orm.Table("task_report").Select("mtime,uid,type,content").Where("business_id=? AND type=?", bizid, tp)
- if flowid != 0 {
- db.Where("flow_id=?", flowid)
- }
- db = db.Where("mtime>=? AND mtime<?", bt, et)
- if len(uids) > 0 {
- db = db.Where("uid IN (?)", uids)
- }
- var rows *sql.Rows
- if rows, err = db.Order("mtime asc").Rows(); err != nil {
- log.Error("ReportTaskFlow error(%v)", err)
- return
- }
- defer rows.Close()
- for rows.Next() {
- meta := &model.ReportMeta{}
- if err = rows.Scan(&meta.Mtime, &meta.UID, &meta.Type, &meta.Content); err != nil {
- return
- }
- if uname, ok := mnames[meta.UID]; ok {
- meta.Uname = uname
- } else {
- missuid = append(missuid, meta.UID)
- }
- metas = append(metas, meta)
- }
- return
- }
- //TaskReports 任务报表记录
- func (d *Dao) TaskReports(c context.Context, biz int64, flowID int64, tp []int8, statdateFrom string, statdateTo string) (res []*model.TaskReport, err error) {
- res = []*model.TaskReport{}
- db := d.orm
- if statdateFrom != "" {
- db = db.Where("stat_date>=?", statdateFrom)
- }
- if statdateTo != "" {
- db = db.Where("stat_date <=?", statdateTo)
- }
- db = db.Where("business_id=?", biz)
- if flowID > 0 {
- db = db.Where("flow_id=?", flowID)
- }
- if len(tp) >= 0 {
- db = db.Where("type in (?)", tp)
- }
- db = db.Order("stat_date desc, business_id desc, flow_id desc")
- if err = db.Find(&res).Error; err != nil {
- log.Error("TaskReports error(%v)", err)
- }
- return
- }
|