| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package workflow
- import (
- "dashoo.cn/opms_libary/plugin/dingtalk/base"
- "dashoo.cn/opms_libary/plugin/dingtalk/context"
- "encoding/json"
- "github.com/gogf/gf/frame/g"
- )
- const (
- FormSchemasUrl = "/v1.0/workflow/forms/schemas/processCodes"
- ProcessInstanceUrl = "/v1.0/workflow/processInstances"
- )
- //Workflow OA审批
- type Workflow struct {
- base.Base
- }
- //NewWorkflow init
- func NewWorkflow(context *context.Context) *Workflow {
- material := new(Workflow)
- material.Context = context
- return material
- }
- //QuerySchemaByProcessCode 获取表单 schema
- func (w *Workflow) QuerySchemaByProcessCode(processCode string) (response QuerySchemaByProcessCodeResponse, err error) {
- resp, _ := w.HTTPGetWithAccessToken(FormSchemasUrl, g.Map{"processCode": processCode})
- if err != nil {
- return
- }
- err = json.Unmarshal(resp, &response)
- return response, err
- }
- //StartProcessInstance 发起审批实例
- func (w *Workflow) StartProcessInstance(request *StartProcessInstanceRequest) (response StartProcessInstanceResponse, err error) {
- resp, _ := w.HTTPPostJSONWithAccessToken(ProcessInstanceUrl, request)
- if err != nil {
- return
- }
- err = json.Unmarshal(resp, &response)
- return response, err
- }
- //QueryProcessInstanceDetail 获取单个审批实例详情
- func (w *Workflow) QueryProcessInstanceDetail(instId string) (response QueryProcessInstanceResponse, err error) {
- resp, err := w.HTTPGetWithAccessToken(ProcessInstanceUrl, g.Map{"processInstanceId": instId})
- if err != nil {
- return
- }
- err = json.Unmarshal(resp, &response)
- return
- }
|