api.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. )
  10. func launchWorkflowPrepareApi(reqParams *request.LaunchWorkflowPrepareParams) (*response.InfosResponse[response.PrepareInfo], error) {
  11. requestJson, err := json.Marshal(reqParams)
  12. if err != nil {
  13. return nil, err
  14. }
  15. postResponse, err := NGCwsClient.NewRequest(http_client.WithNewRequestTimeout(cwsTimeOut)).
  16. Post(cwsUrl+service.StartWorkFlowPrepareMethodName, requestJson)
  17. if err != nil {
  18. return nil, err
  19. }
  20. resp := new(response.InfosResponse[response.PrepareInfo])
  21. err = postResponse.Json(resp)
  22. if err != nil {
  23. return nil, err
  24. }
  25. if !resp.Success {
  26. return nil, errors.New(resp.Msg)
  27. }
  28. return resp, nil
  29. }
  30. func getWorkTemplateInfoByBusinessTypeApi(businessType string, tenantId string) (string, error) {
  31. //查询业务类型配置
  32. queryParams := map[string]string{
  33. "code": businessType,
  34. "tenantId": tenantId,
  35. }
  36. newRequest := NGCwsClient.NewRequest(http_client.WithNewRequestTimeout(cwsTimeOut))
  37. newRequest.SetQueryParams(queryParams)
  38. resp, err := newRequest.Get(cwsUrl + service.GetWorkTemplateByCodeMethodName)
  39. if err != nil {
  40. return "", err
  41. }
  42. respInfo := new(response.InfoResponse[response.BusinessCatalogsInfoWithWorkflowTemplate])
  43. err = resp.Json(respInfo)
  44. if err != nil {
  45. return "", err
  46. }
  47. if !respInfo.Success {
  48. return "", errors.New(respInfo.Msg)
  49. }
  50. return respInfo.Info.WorkTemplateId, nil
  51. }