97 lines
2.1 KiB
Go
97 lines
2.1 KiB
Go
package workflow
|
|
|
|
import (
|
|
"context"
|
|
"git.kumo.work/shama/service/client"
|
|
"git.kumo.work/shama/service/lib/bean"
|
|
"time"
|
|
)
|
|
|
|
type node struct {
|
|
}
|
|
|
|
type ArgsNodeCountSearch struct {
|
|
StaffIds []int64 // 员工筛选
|
|
Status []int64 // 状态筛选
|
|
}
|
|
|
|
type NodeCountItem struct {
|
|
BusinessType string `json:"businessType"`
|
|
Count int64 `json:"count"`
|
|
}
|
|
|
|
// Count @TITLE 节点统计
|
|
func (n *node) Count(ctx context.Context, args ArgsNodeCountSearch) (reply []NodeCountItem, err error) {
|
|
xClient, err := client.GetClient(n)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = xClient.Call(ctx, "Count", args, &reply)
|
|
return
|
|
}
|
|
|
|
type ArgsNodeList struct {
|
|
Page bean.Page
|
|
Search NodeSearch
|
|
}
|
|
type NodeSearch struct {
|
|
StaffIds []int64 // 员工筛选
|
|
Status []int64 // 状态筛选
|
|
BusinessType string // 业务类型
|
|
}
|
|
type ReplyNodeList struct {
|
|
List []NodeItem `json:"list"`
|
|
Total int64 `json:"total"`
|
|
}
|
|
type NodeItem struct {
|
|
Id int64 `json:"id"`
|
|
BusinessId int64 `json:"businessId"`
|
|
BusinessName string `json:"businessName"`
|
|
BusinessType string `json:"businessType"`
|
|
Status int64 `json:"status"`
|
|
CreatedAt *time.Time `json:"createdAt"`
|
|
}
|
|
|
|
// List @TITLE 节点列表
|
|
func (n *node) List(ctx context.Context, args ArgsNodeList) (reply ReplyNodeList, err error) {
|
|
xClient, err := client.GetClient(n)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = xClient.Call(ctx, "List", args, &reply)
|
|
return
|
|
}
|
|
|
|
type ArgsNodeAdopt struct {
|
|
StaffId int64 // 审核人
|
|
NodeId int64 // 节点id
|
|
}
|
|
|
|
// Adopt @TITLE 审核通过
|
|
func (n *node) Adopt(ctx context.Context, args ArgsNodeAdopt) (err error) {
|
|
xClient, err := client.GetClient(n)
|
|
if err != nil {
|
|
return
|
|
}
|
|
reply := 0
|
|
err = xClient.Call(ctx, "Adopt", args, &reply)
|
|
return
|
|
}
|
|
|
|
type ArgsNodeReject struct {
|
|
StaffId int64 // 审核人
|
|
NodeId int64 // 节点id
|
|
Reason string // 审核结果
|
|
}
|
|
|
|
// Reject @TITLE 审核驳回
|
|
func (n *node) Reject(ctx context.Context, args ArgsNodeReject) (err error) {
|
|
xClient, err := client.GetClient(n)
|
|
if err != nil {
|
|
return
|
|
}
|
|
reply := 0
|
|
err = xClient.Call(ctx, "Reject", args, &reply)
|
|
return
|
|
}
|