You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.2KB

  1. package endpoints
  2. import (
  3. "context"
  4. "github.com/go-kit/kit/endpoint"
  5. "job_risk_third/internal/proto"
  6. "job_risk_third/internal/services"
  7. )
  8. type JobRiskThirdEndpoint struct {
  9. PushFeatureDealEndpoint endpoint.Endpoint
  10. PushUserInfoEndpoint endpoint.Endpoint
  11. PushFeatureInfoEndpoint endpoint.Endpoint
  12. HealthCheckEndpoint endpoint.Endpoint
  13. }
  14. // MakeHealthCheckEndpoint 创建健康检查Endpoint
  15. func MakeHealthCheckEndpoint(svc services.JobRiskThirdServices) endpoint.Endpoint {
  16. return func(ctx context.Context, request interface{}) (response interface{}, err error) {
  17. status := svc.HealthCheck()
  18. return proto.HealthResponse{Status: status}, nil
  19. }
  20. }
  21. //MakePushFeatureDealEndpoint 接收风险特征处置结果Endpoint
  22. func MakePushFeatureDealEndpoint(svc services.JobRiskThirdServices) endpoint.Endpoint {
  23. return func(ctx context.Context, request interface{}) (response interface{}, err error) {
  24. req := request.(proto.PushFeatureDealRequest)
  25. err = svc.PushFeatureDeal(req)
  26. if err != nil {
  27. return proto.BaseResponse{
  28. RespCode: 500,
  29. RespMsg: "接收风险特征处置结果失败",
  30. }, err
  31. }
  32. return proto.BaseResponse{
  33. RespCode: 200,
  34. RespMsg: "成功",
  35. }, err
  36. }
  37. }
  38. //MakePushUserInfoEndpoint 获取用户信息接口
  39. func MakePushUserInfoEndpoint(svc services.JobRiskThirdServices) endpoint.Endpoint {
  40. return func(ctx context.Context, request interface{}) (response interface{}, err error) {
  41. req := request.(proto.PushUserInfoRequest)
  42. err = svc.PushUserInfo(req)
  43. if err != nil {
  44. return proto.BaseResponse{
  45. RespCode: 500,
  46. RespMsg: "获取用户信息失败",
  47. }, err
  48. }
  49. return proto.BaseResponse{
  50. RespCode: 200,
  51. RespMsg: "成功",
  52. }, err
  53. }
  54. }
  55. //MakePushFeatureInfoEndpoint 推送的风险结果信息
  56. func MakePushFeatureInfoEndpoint(svc services.JobRiskThirdServices) endpoint.Endpoint {
  57. return func(ctx context.Context, request interface{}) (response interface{}, err error) {
  58. req := request.(proto.PushFeatureInfoRequest)
  59. err = svc.PushFeatureInfo(req)
  60. if err != nil {
  61. return proto.BaseResponse{
  62. RespCode: 500,
  63. RespMsg: "推送风险结果信息失败",
  64. }, err
  65. }
  66. return proto.BaseResponse{
  67. RespCode: 200,
  68. RespMsg: "成功",
  69. }, err
  70. }
  71. }