BizObjDataController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.jjt.biz.controller;
  2. import com.jjt.biz.domain.BizObjData;
  3. import com.jjt.biz.domain.BizObjMetrics;
  4. import com.jjt.biz.service.IBizObjDataService;
  5. import com.jjt.biz.service.IBizObjMetricsService;
  6. import com.jjt.common.annotation.Log;
  7. import com.jjt.common.core.controller.BaseController;
  8. import com.jjt.common.core.domain.AjaxResult;
  9. import com.jjt.common.core.page.TableDataInfo;
  10. import com.jjt.common.enums.BusinessType;
  11. import com.jjt.common.utils.poi.ExcelUtil;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import io.swagger.annotations.ApiParam;
  15. import org.springframework.security.access.prepost.PreAuthorize;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.annotation.Resource;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.util.List;
  20. import java.util.Map;
  21. import java.util.stream.Collectors;
  22. /**
  23. * 业务对象数据接口Controller
  24. *
  25. * @author jjt
  26. * @date 2024-08-09
  27. */
  28. @Api(tags = "业务对象数据接口")
  29. @RestController
  30. @RequestMapping("/obj/data")
  31. public class BizObjDataController extends BaseController {
  32. @Resource
  33. private IBizObjDataService bizObjDataService;
  34. @Resource
  35. private IBizObjMetricsService metricsService;
  36. /**
  37. * 查询业务对象数据接口列表
  38. */
  39. @ApiOperation("查询业务对象数据接口列表")
  40. @PreAuthorize("@ss.hasPermi('obj:data:list')")
  41. @GetMapping("/list")
  42. public TableDataInfo list(BizObjData bizObjData) {
  43. startPage();
  44. List<BizObjData> list = bizObjDataService.selectBizObjDataList(bizObjData);
  45. return getDataTable(list);
  46. }
  47. /**
  48. * 查询业务对象数据接口列表
  49. */
  50. @ApiOperation("根据对象查询列表")
  51. @GetMapping("/list/{objId}")
  52. public TableDataInfo list(@ApiParam(value = "对象ID", required = true) @PathVariable("objId") Long objId) {
  53. BizObjData bizObjData = new BizObjData();
  54. bizObjData.setObjId(objId);
  55. List<BizObjData> list = bizObjDataService.selectBizObjDataList(bizObjData);
  56. Map<String, List<BizObjData>> existsMap = list.stream().collect(Collectors.groupingBy(BizObjData::getMetricsType));
  57. BizObjMetrics om = new BizObjMetrics();
  58. om.setObjId(objId);
  59. List<BizObjMetrics> metricsList = metricsService.selectBizObjMetricsList(om);
  60. //根据部门对用户列表进行分组
  61. Map<String, List<BizObjMetrics>> userMap = metricsList.stream().collect(Collectors.groupingBy(obj -> obj.getMetricsDef().getMetricsType()));
  62. for (String s : userMap.keySet()) {
  63. //pinpoint不需要
  64. if (!existsMap.containsKey(s) && !"1".equals(s)) {
  65. BizObjData temp = new BizObjData();
  66. temp.setObjId(objId);
  67. temp.setMetricsType(s);
  68. bizObjDataService.insertBizObjData(temp);
  69. }
  70. }
  71. startPage();
  72. list = bizObjDataService.selectBizObjDataList(bizObjData);
  73. return getDataTable(list);
  74. }
  75. /**
  76. * 导出业务对象数据接口列表
  77. */
  78. @ApiOperation("导出业务对象数据接口列表")
  79. @PreAuthorize("@ss.hasPermi('obj:data:export')")
  80. @Log(title = "业务对象数据接口", businessType = BusinessType.EXPORT)
  81. @PostMapping("/export")
  82. public void export(HttpServletResponse response, BizObjData bizObjData) {
  83. List<BizObjData> list = bizObjDataService.selectBizObjDataList(bizObjData);
  84. ExcelUtil<BizObjData> util = new ExcelUtil<BizObjData>(BizObjData.class);
  85. util.exportExcel(response, list, "业务对象数据接口数据");
  86. }
  87. /**
  88. * 获取业务对象数据接口详细信息
  89. */
  90. @ApiOperation("获取业务对象数据接口详细信息")
  91. @PreAuthorize("@ss.hasPermi('obj:data:query')")
  92. @GetMapping(value = "/{dataId}")
  93. public AjaxResult getInfo(@PathVariable("dataId") Long dataId) {
  94. return success(bizObjDataService.selectBizObjDataByDataId(dataId));
  95. }
  96. /**
  97. * 新增业务对象数据接口
  98. */
  99. @ApiOperation("新增业务对象数据接口")
  100. @PreAuthorize("@ss.hasPermi('obj:data:add')")
  101. @Log(title = "业务对象数据接口", businessType = BusinessType.INSERT)
  102. @PostMapping
  103. public AjaxResult add(@RequestBody BizObjData bizObjData) {
  104. return toAjax(bizObjDataService.insertBizObjData(bizObjData));
  105. }
  106. /**
  107. * 修改业务对象数据接口
  108. */
  109. @ApiOperation("修改业务对象数据接口")
  110. @PreAuthorize("@ss.hasPermi('obj:data:edit')")
  111. @Log(title = "业务对象数据接口", businessType = BusinessType.UPDATE)
  112. @PostMapping("/edit")
  113. public AjaxResult edit(@RequestBody BizObjData bizObjData) {
  114. return toAjax(bizObjDataService.updateBizObjData(bizObjData));
  115. }
  116. /**
  117. * 删除业务对象数据接口
  118. */
  119. @ApiOperation("删除业务对象数据接口")
  120. @PreAuthorize("@ss.hasPermi('obj:data:remove')")
  121. @Log(title = "业务对象数据接口", businessType = BusinessType.DELETE)
  122. @GetMapping("/del/{dataIds}")
  123. public AjaxResult remove(@PathVariable Long[] dataIds) {
  124. return toAjax(bizObjDataService.deleteBizObjDataByDataIds(dataIds));
  125. }
  126. }