api.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package ng_cws_client
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "git.sxidc.com/service-supports/cws-sdk/service"
  6. "git.sxidc.com/service-supports/cws-sdk/service/request"
  7. "git.sxidc.com/service-supports/cws-sdk/service/response"
  8. "git.sxidc.com/service-supports/cws-sdk/utils/http_client"
  9. "strconv"
  10. )
  11. func launchWorkflowPrepareApi(reqParams *request.LaunchWorkflowPrepareParams) (*response.InfosResponse[response.PrepareInfo], error) {
  12. requestJson, err := json.Marshal(reqParams)
  13. if err != nil {
  14. return nil, err
  15. }
  16. postResponse, err := NGCwsClient.NewRequest(http_client.WithNewRequestTimeout(cwsTimeOut)).
  17. Post(cwsUrl+service.StartWorkFlowPrepareMethodName, requestJson)
  18. if err != nil {
  19. return nil, err
  20. }
  21. resp := new(response.InfosResponse[response.PrepareInfo])
  22. err = postResponse.Json(resp)
  23. if err != nil {
  24. return nil, err
  25. }
  26. if !resp.Success {
  27. return nil, errors.New(resp.Msg)
  28. }
  29. return resp, nil
  30. }
  31. func getWorkTemplateInfoByBusinessTypeApi(businessType string, tenantId string) (string, error) {
  32. //查询业务类型配置
  33. queryParams := map[string]string{
  34. "code": businessType,
  35. "tenantId": tenantId,
  36. }
  37. newRequest := NGCwsClient.NewRequest(http_client.WithNewRequestTimeout(cwsTimeOut))
  38. newRequest.SetQueryParams(queryParams)
  39. resp, err := newRequest.Get(cwsUrl + service.GetWorkTemplateByCodeMethodName)
  40. if err != nil {
  41. return "", err
  42. }
  43. respInfo := new(response.InfoResponse[response.BusinessCatalogsInfoWithWorkflowTemplate])
  44. err = resp.Json(respInfo)
  45. if err != nil {
  46. return "", err
  47. }
  48. if !respInfo.Success {
  49. return "", errors.New(respInfo.Msg)
  50. }
  51. return respInfo.Info.WorkTemplateId, nil
  52. }
  53. func getWorkflowListApi(reqParams *request.QueryMyWorkflowParams) (*response.InfosResponse[response.WorkflowInfo], error) {
  54. queryParams := map[string]string{
  55. "pageNo": strconv.Itoa(reqParams.PageNo),
  56. "pageSize": strconv.Itoa(reqParams.PageSize),
  57. "tenantId": reqParams.TenantID,
  58. "launchUserId": reqParams.LaunchUserID,
  59. "launchUserName": reqParams.LaunchUserName,
  60. "workflowTemplateId": reqParams.TemplateID,
  61. "status": strconv.Itoa(reqParams.Status),
  62. "matter": reqParams.Matter,
  63. "catalogId": reqParams.CatalogID,
  64. }
  65. newRequest := NGCwsClient.NewRequest(http_client.WithNewRequestTimeout(cwsTimeOut))
  66. newRequest.SetQueryParams(queryParams)
  67. resp, err := newRequest.Get(cwsUrl + service.GetWorkflowList)
  68. if err != nil {
  69. return nil, err
  70. }
  71. respInfo := new(response.InfosResponse[response.WorkflowInfo])
  72. err = resp.Json(respInfo)
  73. if err != nil {
  74. return nil, err
  75. }
  76. if !respInfo.Success {
  77. return nil, errors.New(respInfo.Msg)
  78. }
  79. return respInfo, nil
  80. }