RsAdapterMetaDataEndPoint.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package com.yihu.ehr.resource.controller;
  2. import com.yihu.ehr.constants.ServiceApi;
  3. import com.yihu.ehr.constants.ApiVersion;
  4. import com.yihu.ehr.model.resource.MRsAdapterMetadata;
  5. import com.yihu.ehr.resource.model.RsAdapterMetadata;
  6. import com.yihu.ehr.resource.service.RsAdapterMetadataService;
  7. import com.yihu.ehr.controller.EnvelopRestEndPoint;
  8. import com.yihu.ehr.util.id.BizObject;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import io.swagger.annotations.ApiParam;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.http.MediaType;
  15. import org.springframework.util.StringUtils;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.util.ArrayList;
  20. import java.util.Collection;
  21. import java.util.List;
  22. /**
  23. * 适配数据元服务
  24. *
  25. * Created by lyr on 2016/5/17.
  26. */
  27. @RestController
  28. @RequestMapping(value= ApiVersion.Version1_0)
  29. @Api(value = "RsAdapterMetaDataEndPoint", description = "适配数据元", tags = {"资源服务-适配数据元"})
  30. public class RsAdapterMetaDataEndPoint extends EnvelopRestEndPoint {
  31. @Autowired
  32. private RsAdapterMetadataService metadataService;
  33. @RequestMapping(value = ServiceApi.Adaptions.SchemaMetadataList,method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
  34. @ApiOperation("创建适配数据元")
  35. public MRsAdapterMetadata createMetadata(
  36. @ApiParam(name="adapterMetadata",value="数据元JSON",defaultValue = "")
  37. @RequestBody String adapterMetadata) throws Exception
  38. {
  39. RsAdapterMetadata metadata = toEntity(adapterMetadata,RsAdapterMetadata.class);
  40. metadata.setId(getObjectId(BizObject.RsAdapterMetadata));
  41. metadata = metadataService.saveAdapterMetadata(metadata);
  42. return convertToModel(metadata,MRsAdapterMetadata.class);
  43. }
  44. @RequestMapping(value = ServiceApi.Adaptions.SchemaMetadataList,method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
  45. @ApiOperation("更新适配数据元")
  46. public MRsAdapterMetadata updateMetadata(
  47. @ApiParam(name="adapterMetadata",value="数据元JSON",defaultValue = "")
  48. @RequestBody String adapterMetadata) throws Exception
  49. {
  50. RsAdapterMetadata metadata = toEntity(adapterMetadata,RsAdapterMetadata.class);
  51. metadata = metadataService.saveAdapterMetadata(metadata);
  52. return convertToModel(metadata,MRsAdapterMetadata.class);
  53. }
  54. @RequestMapping(value = ServiceApi.Adaptions.SchemaMetadata,method = RequestMethod.DELETE)
  55. @ApiOperation("删除适配数据元")
  56. public boolean deleteMetadata(
  57. @ApiParam(name="id",value="数据元ID",defaultValue = "")
  58. @PathVariable(value="id")String id) throws Exception
  59. {
  60. metadataService.deleteAdapterMetadata(id);
  61. return true;
  62. }
  63. @RequestMapping(value = ServiceApi.Adaptions.SchemaMetadataList,method = RequestMethod.DELETE)
  64. @ApiOperation("批量删除适配数据元")
  65. public boolean deleteMetadataBatch(
  66. @ApiParam(name="ids",value="数据元ID",defaultValue = "")
  67. @RequestParam(value="ids") String ids) throws Exception
  68. {
  69. metadataService.deleteAdapterMetadata(ids);
  70. return true;
  71. }
  72. @RequestMapping(value = ServiceApi.Adaptions.SchemaMetadata,method = RequestMethod.GET)
  73. @ApiOperation("根据ID获取适配数据元")
  74. public MRsAdapterMetadata getMetadataById(
  75. @ApiParam(name="id",value="id",defaultValue = "")
  76. @PathVariable(value="id") String id) throws Exception
  77. {
  78. return convertToModel(metadataService.getAdapterMetadataById(id),MRsAdapterMetadata.class);
  79. }
  80. @RequestMapping(value = ServiceApi.Adaptions.SchemaMetadataList,method = RequestMethod.GET)
  81. @ApiOperation("查询适配数据元")
  82. public List<MRsAdapterMetadata> getMetadata(
  83. @ApiParam(name="fields",value="返回字段",defaultValue = "")
  84. @RequestParam(value="fields",required = false)String fields,
  85. @ApiParam(name="filters",value="过滤",defaultValue = "")
  86. @RequestParam(value="filters",required = false)String filters,
  87. @ApiParam(name="sorts",value="排序",defaultValue = "")
  88. @RequestParam(value="sorts",required = false)String sorts,
  89. @ApiParam(name="page",value="页码",defaultValue = "1")
  90. @RequestParam(value="page",required = false)int page,
  91. @ApiParam(name="size",value="分页大小",defaultValue = "15")
  92. @RequestParam(value="size",required = false)int size,
  93. HttpServletRequest request,
  94. HttpServletResponse response) throws Exception {
  95. long total = 0;
  96. Collection<MRsAdapterMetadata> metaList;
  97. //过滤条件为空
  98. if (StringUtils.isEmpty(filters)) {
  99. Page<RsAdapterMetadata> metadataPage = metadataService.getAdapterMetadata(sorts, reducePage(page), size);
  100. total = metadataPage.getTotalElements();
  101. metaList = convertToModels(metadataPage.getContent(), new ArrayList<>(metadataPage.getNumber()), MRsAdapterMetadata.class, fields);
  102. } else {
  103. List<RsAdapterMetadata> metadata = metadataService.search(fields, filters, sorts, page, size);
  104. total = metadataService.getCount(filters);
  105. metaList = convertToModels(metadata, new ArrayList<>(metadata.size()), MRsAdapterMetadata.class, fields);
  106. }
  107. pagedResponse(request, response, total, page, size);
  108. return (List<MRsAdapterMetadata>)metaList;
  109. }
  110. @RequestMapping(value = ServiceApi.Adaptions.SchemaMetadataBatch, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
  111. @ApiOperation(value = "批量创建适配数据元", notes = "批量创建适配数据元")
  112. public boolean createRsMetaDataBatch(
  113. @ApiParam(name = "json_data", value = "", defaultValue = "")
  114. @RequestBody String jsonData) throws Exception {
  115. List<RsAdapterMetadata> adapterMetadata = toEntity(jsonData,List.class);
  116. metadataService.batchInsert(adapterMetadata);
  117. return true;
  118. }
  119. }