SaasController.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.yihu.jw.controller.base;
  2. import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
  3. import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
  4. import com.yihu.jw.fegin.base.SaasFegin;
  5. import com.yihu.jw.restmodel.base.base.BaseContants;
  6. import com.yihu.jw.restmodel.common.Envelop;
  7. import com.yihu.jw.version.ApiVersion;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import io.swagger.annotations.ApiParam;
  11. import org.slf4j.Logger;
  12. import org.slf4j.LoggerFactory;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.cloud.sleuth.Tracer;
  15. import org.springframework.web.bind.annotation.GetMapping;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RequestParam;
  18. import org.springframework.web.bind.annotation.RestController;
  19. @RestController
  20. @RequestMapping("{version}/"+BaseContants.Saas.api_common)
  21. @Api(description = "saas相关")
  22. public class SaasController {
  23. private Logger logger= LoggerFactory.getLogger(SaasController.class);
  24. @Autowired
  25. private SaasFegin saasFegin;
  26. @Autowired
  27. private Tracer tracer;
  28. @ApiVersion(1)
  29. @GetMapping(value = BaseContants.Saas.api_getSaassNoPage)
  30. @ApiOperation(value = "获取saas,不分页")
  31. @HystrixCommand(commandProperties = {
  32. @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "-1"),//超时时间
  33. @HystrixProperty(name = "execution.timeout.enabled", value = "false") })
  34. public Envelop getSaasNoPage(
  35. @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "id,code,name,saasId,appId,appSecret,baseUrl,remark")
  36. @RequestParam(value = "fields", required = false) String fields,
  37. @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
  38. @RequestParam(value = "filters", required = false) String filters,
  39. @ApiParam(name = "sorts", value = "排序,规则参见说明文档", defaultValue = "+name,+createTime")
  40. @RequestParam(value = "sorts", required = false) String sorts) {
  41. return saasFegin.getList(fields, filters, sorts);
  42. }
  43. }