go-common/app/interface/main/dm2/dao/workflow.go
2019-04-22 18:49:16 +08:00

84 lines
2.4 KiB
Go

package dao
import (
"context"
"net/url"
"strconv"
"go-common/app/interface/main/dm2/model"
"go-common/library/ecode"
"go-common/library/log"
"go-common/library/net/metadata"
)
const (
_workFlowTagList = "/x/internal/workflow/tag/v3/list"
_workFlowAppealAdd = "/x/internal/workflow/appeal/v3/add"
_workFlowAppealDelete = "/x/internal/workflow/appeal/v3/delete"
)
// WorkFlowTagList get tag list from workflow
func (d *Dao) WorkFlowTagList(c context.Context, bid, rid int64) (data []*model.WorkFlowTag, err error) {
var (
res *model.WorkFlowTagListResp
params = url.Values{}
uri = d.conf.Host.API + _workFlowTagList
ip = metadata.String(c, metadata.RemoteIP)
)
params.Set("bid", strconv.FormatInt(bid, 10))
params.Set("rid", strconv.FormatInt(rid, 10))
if err = d.httpCli.Get(c, uri, ip, params, &res); err != nil {
log.Error("WorkFlowTagList(params:%v),error(%v)", params, err)
return
}
if err = ecode.Int(res.Code); err != ecode.OK {
log.Error("WorkFlowTagList(params:%v),error(%v)", params, err)
return
}
data = res.Data
err = nil
return
}
// WorkFlowAppealAdd add a record to workflow
func (d *Dao) WorkFlowAppealAdd(c context.Context, req *model.WorkFlowAppealAddReq) (err error) {
var (
res *model.CommonResponse
uri = d.conf.Host.API + _workFlowAppealAdd
ip = metadata.String(c, metadata.RemoteIP)
)
if err = d.httpCli.Post(c, uri, ip, req.Params(), &res); err != nil {
log.Error("WorkFlowAppealAdd(req:%+v),error(%v)", req.Params(), err)
return
}
if err = ecode.Int(res.Code); err != ecode.OK {
log.Error("WorkFlowAppealAdd(req:%+v),error(%v)", req, err)
return
}
err = nil
return
}
// WorkFlowAppealDelete .
func (d *Dao) WorkFlowAppealDelete(c context.Context, bid, oid, subtitleID int64) (err error) {
var (
res *model.CommonResponse
params = url.Values{}
uri = d.conf.Host.API + _workFlowAppealDelete
ip = metadata.String(c, metadata.RemoteIP)
)
params.Set("business", strconv.FormatInt(bid, 10))
params.Set("oid", strconv.FormatInt(oid, 10))
params.Set("eid", strconv.FormatInt(subtitleID, 10))
if err = d.httpCli.Post(c, uri, ip, params, &res); err != nil {
log.Error("WorkFlowAppealDelete(params:%v),error(%v)", params, err)
return
}
if err = ecode.Int(res.Code); err != ecode.OK {
log.Error("WorkFlowAppealDelete(params:%v),error(%v)", params, err)
return
}
err = nil
return
}