58 lines
2.0 KiB
Go
58 lines
2.0 KiB
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go-common/app/job/main/workflow/model"
|
|
"go-common/library/database/elastic"
|
|
"go-common/library/log"
|
|
)
|
|
|
|
const (
|
|
challBusiness = "workflow_chall_common"
|
|
challIndex = "workflow_chall_common"
|
|
|
|
appealBusiness = "workflow_appeal"
|
|
appealIndex = "workflow_appeal"
|
|
)
|
|
|
|
// SearchChall .
|
|
func (d *Dao) SearchChall(c context.Context, params *model.SearchParams) (res *model.ChallSearchCommonRes, err error) {
|
|
r := d.es.NewRequest(challBusiness).Fields("id").
|
|
Index(challIndex).
|
|
WhereEq("business", params.Business).
|
|
WhereEq("state", params.States).
|
|
WhereEq("business_state", params.BusinessStates)
|
|
if params.AssigneeAdminIDs != "" {
|
|
r = r.WhereEq("assignee_adminid", params.AssigneeAdminIDs)
|
|
}
|
|
if params.AssigneeAdminIDsNot != "" {
|
|
r = r.WhereNot("assignee_adminid", params.AssigneeAdminIDsNot)
|
|
}
|
|
if params.MtimeTo != "" {
|
|
r = r.WhereRange("mtime", "", params.MtimeTo, elastic.RangeScopeLcRo)
|
|
}
|
|
log.Info("search condition %v", r.Params())
|
|
err = r.Scan(c, &res)
|
|
return
|
|
}
|
|
|
|
// SearchAppeal .
|
|
func (d *Dao) SearchAppeal(c context.Context, cond model.AppealSearchCond) (res *model.AppealSearchRes, err error) {
|
|
r := d.es.NewRequest(appealBusiness).Index(appealIndex).Fields(cond.Fields...).WhereIn("bid", cond.Bid).
|
|
WhereIn("id", cond.IDs).WhereIn("assign_state", cond.AssignState).WhereIn("audit_state", cond.AuditState).
|
|
WhereIn("transfer_state", cond.TransferState).WhereIn("audit_adminid", cond.AuditAdmin).
|
|
WhereIn("transfer_adminid", cond.TransferAdmin).WhereRange("ctime", cond.CTimeFrom, cond.CTimeTo, elastic.RangeScopeLcRo).
|
|
WhereRange("dtime", cond.DTimeFrom, cond.DTimeTo, elastic.RangeScopeLcRo).WhereRange("ttime", cond.TTimeFrom, cond.TTimeTo, elastic.RangeScopeLcRo).
|
|
WhereRange("mtime", cond.MTimeFrom, cond.MTimeTo, elastic.RangeScopeLcRo).Order(cond.Order, cond.Sort).Pn(cond.PN).Ps(cond.PS)
|
|
|
|
log.Info("search condition (%v)", r.Params())
|
|
if err = r.Scan(c, &res); err != nil {
|
|
log.Error("r.Scan(%+v) error(%v)", &res, err)
|
|
}
|
|
if res == nil {
|
|
res = new(model.AppealSearchRes)
|
|
}
|
|
return
|
|
}
|