mirror of
https://github.com/tiger1103/gfast.git
synced 2026-10-02 21:39:34 +00:00
65 lines
1.5 KiB
Go
65 lines
1.5 KiB
Go
// ==========================================================================
|
|
// 生成日期:2020-08-24 17:13:46
|
|
// 生成人:gfast
|
|
// ==========================================================================
|
|
package flow_service
|
|
|
|
import (
|
|
flowModel "gfast/app/model/admin/wf_flow"
|
|
"gfast/app/model/admin/wf_run"
|
|
"github.com/gogf/gf/frame/g"
|
|
"github.com/gogf/gf/util/gconv"
|
|
)
|
|
|
|
// 添加
|
|
func AddSave(req *flowModel.AddReq) error {
|
|
return flowModel.AddSave(req)
|
|
}
|
|
|
|
// 删除
|
|
func DeleteByIds(Ids []int) error {
|
|
return flowModel.DeleteByIds(Ids)
|
|
}
|
|
|
|
func SetStatus(req *flowModel.StatusReq) error {
|
|
return flowModel.SetStatus(req)
|
|
}
|
|
|
|
//修改
|
|
func EditSave(editReq *flowModel.EditReq) error {
|
|
return flowModel.EditSave(editReq)
|
|
}
|
|
|
|
// 根据ID查询
|
|
func GetByID(id int64) (*flowModel.Entity, error) {
|
|
return flowModel.GetByID(id)
|
|
}
|
|
|
|
// 分页查询
|
|
func SelectListByPage(req *flowModel.SelectPageReq) (total int, page int64, list []*flowModel.Entity, err error) {
|
|
return flowModel.SelectListByPage(req)
|
|
}
|
|
|
|
func GetRunningStatus(flowList []*flowModel.Entity) (g.List, error) {
|
|
//获取流程Id
|
|
flowIds := make([]uint, len(flowList))
|
|
for k, v := range flowList {
|
|
flowIds[k] = v.Id
|
|
}
|
|
runs, err := wf_run.GetRuns("flow_id in(?) and status = ?", flowIds, 0)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
rdata := make(g.List, len(flowList))
|
|
for k, v := range flowList {
|
|
rdata[k] = gconv.Map(v)
|
|
for _, run := range runs {
|
|
if run.FlowId == v.Id {
|
|
rdata[k]["running"] = true
|
|
break
|
|
}
|
|
}
|
|
}
|
|
return rdata, nil
|
|
}
|