| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package workflow
- import (
- "dashoo.cn/opms_libary/plugin/dingtalk/base"
- "dashoo.cn/opms_libary/plugin/dingtalk/context"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/util/gconv"
- )
- const (
- FormSchemasUrl = "/v1.0/workflow/forms/schemas/processCodes"
- CreateInstanceUrl = "/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
- }
- //GetFormSchema 获取表单 schema
- func (w *Workflow) GetFormSchema(processCode string) (mediaID string, err error) {
- resp, _ := w.HTTPGetWithAccessToken(FormSchemasUrl, g.Map{"processCode": processCode})
- return gconv.String(resp), nil
- }
- //CreateProcessInstance 发起审批实例
- func (w *Workflow) CreateProcessInstance(originUserId, processCode string, deptId int64) (mediaID string, err error) {
- inst1 := new(StartProcessInstanceRequest)
- inst1.OriginatorUserId = &originUserId
- inst1.ProcessCode = &processCode
- inst1.DeptId = &deptId
- //formComponentValues0 := &StartProcessInstanceRequestFormComponentValues{
- // Name: tea.String("单行输入框"),
- // Value: tea.String("22222"),
- // Id: tea.String("TextField-K2AD4O5B"),
- //}
- //approvers0 := &StartProcessInstanceRequestApprovers{
- // ActionType: tea.String("NONE"),
- // UserIds: []*string{tea.String("47073111989114")},
- //}
- //inst1.FormComponentValues = []*StartProcessInstanceRequestFormComponentValues{formComponentValues0}
- //inst1.Approvers = []*StartProcessInstanceRequestApprovers{approvers0}
- resp, _ := w.HTTPPostJSONWithAccessToken(CreateInstanceUrl, inst1)
- return gconv.String(resp), nil
- }
|