3 Star 1 Fork 0

中光云计算(西安)有限公司 / Doraemon

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Stepins.go 1.98 KB
一键复制 编辑 原始数据 按行查看 历史
countpoison 提交于 2019-09-04 21:54 . update workflow
package workflow
import (
"errors"
"time"
)
func addStepins(si *Stepins) error {
_, err := wfdb.Insert(si)
if err != nil {
return err
}
return nil
}
func updateStepins(si *Stepins) error {
_, err := wfdb.Id(si.Id).Update(si)
if err != nil {
return err
}
return nil
}
func deleteStepins(siid string) error {
si := Stepins{}
_, err := wfdb.Id(siid).Delete(&si)
if err != nil {
return err
}
return nil
}
func selectStepins(siid string) (*Stepins, error) {
si := Stepins{}
bo, err := wfdb.Id(siid).Get(&si)
if err != nil {
return nil, err
}
if !bo {
return nil, errors.New("siid not found")
}
return &si, err
}
func selectStepinsNodeId(nodeid string) (*Stepins, error) {
si := Stepins{}
bo, err := wfdb.Where("node_id=? and status=?", nodeid, 0).Get(&si)
if err != nil {
return nil, err
}
if !bo {
return nil, errors.New("siid not found")
}
return &si, err
}
func selectStepinsNodeIdUndone(nodeid ...interface{}) ([]Stepins, error) {
si := []Stepins{}
err := wfdb.In("node_id", nodeid...).Where("status=?", 0).Find(&si)
if err != nil {
return si, err
}
return si, err
}
func updateStepinsStatus(id string, status int) error {
fi := Stepins{}
fi.Status = status
fi.FinishDate = time.Now()
_, err := wfdb.Id(id).Cols("status").Update(&fi)
if err != nil {
return err
}
return err
}
func removeStepinsFlowinsId(fid string) error {
tk := Stepins{}
_, err := wfdb.Where("flow_id = ? and status = ?", fid, 0).Delete(&tk)
if err != nil {
return err
}
return nil
}
func removeStepinsNodeId(flowinsid string, nids ...string) error {
if len(nids) > 0 {
for _, nid := range nids {
tk := []Stepins{}
err := wfdb.Where("flowins_id=? and node_id = ? and status = ?", flowinsid, nid, 0).Find(&tk)
if err != nil {
return err
}
}
return nil
}
return errors.New("arg not found")
}
func removeStepinsFlowinsIdAll(fid string) error {
tk := Stepins{}
_, err := wfdb.Where("flow_id = ?", fid).Delete(&tk)
if err != nil {
return err
}
return nil
}
Go
1
https://gitee.com/countpoison/Doraemon.git
git@gitee.com:countpoison/Doraemon.git
countpoison
Doraemon
Doraemon
f6c0e8d84ec1

搜索帮助