api.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. // 条件查询流程列表信息
  54. func getWorkflowListApi(reqParams *request.QueryMyWorkflowParams) (*response.InfosResponse[response.WorkflowInfo], error) {
  55. queryParams := map[string]string{
  56. "pageNo": strconv.Itoa(reqParams.PageNo),
  57. "pageSize": strconv.Itoa(reqParams.PageSize),
  58. "tenantId": reqParams.TenantID,
  59. "launchUserId": reqParams.LaunchUserID,
  60. "launchUserName": reqParams.LaunchUserName,
  61. "workflowTemplateId": reqParams.TemplateID,
  62. "status": strconv.Itoa(reqParams.Status),
  63. "matter": reqParams.Matter,
  64. "catalogId": reqParams.CatalogID,
  65. }
  66. newRequest := NGCwsClient.NewRequest(http_client.WithNewRequestTimeout(cwsTimeOut))
  67. newRequest.SetQueryParams(queryParams)
  68. resp, err := newRequest.Get(cwsUrl + service.GetWorkflowList)
  69. if err != nil {
  70. return nil, err
  71. }
  72. respInfo := new(response.InfosResponse[response.WorkflowInfo])
  73. err = resp.Json(respInfo)
  74. if err != nil {
  75. return nil, err
  76. }
  77. if !respInfo.Success {
  78. return nil, errors.New(respInfo.Msg)
  79. }
  80. return respInfo, nil
  81. }
  82. // 通过流程ID批量查询流程列表信息
  83. func getWorkflowListByWorkflowIdListApi(reqParams *request.QueryWorkflowByIDs) (*response.InfosResponse[response.WorkflowInfo], error) {
  84. requestJson, err := json.Marshal(reqParams)
  85. if err != nil {
  86. return nil, err
  87. }
  88. postResponse, err := NGCwsClient.NewRequest(http_client.WithNewRequestTimeout(cwsTimeOut)).
  89. Post(cwsUrl+service.GetWorkflowListByWorkflowIdList, requestJson)
  90. if err != nil {
  91. return nil, err
  92. }
  93. resp := new(response.InfosResponse[response.WorkflowInfo])
  94. err = postResponse.Json(resp)
  95. if err != nil {
  96. return nil, err
  97. }
  98. if !resp.Success {
  99. return nil, errors.New(resp.Msg)
  100. }
  101. return resp, nil
  102. }