HlMetricsServiceImpl.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.jjt.hl.service.impl;
  2. import com.jjt.common.utils.DateUtils;
  3. import com.jjt.hl.domain.HlMetrics;
  4. import com.jjt.hl.mapper.HlMetricsMapper;
  5. import com.jjt.hl.service.IHlMetricsService;
  6. import com.jjt.hl.vo.HlMetricsVO;
  7. import org.springframework.stereotype.Service;
  8. import javax.annotation.Resource;
  9. import java.util.Date;
  10. import java.util.List;
  11. import java.util.Map;
  12. import java.util.stream.Collectors;
  13. /**
  14. * 业务模型健康度指标Service业务层处理
  15. *
  16. * @author jjt
  17. * @date 2024-09-05
  18. */
  19. @Service
  20. public class HlMetricsServiceImpl implements IHlMetricsService {
  21. @Resource
  22. private HlMetricsMapper hlMetricsMapper;
  23. /**
  24. * 查询业务模型健康度指标
  25. *
  26. * @param hlMetricsId 业务模型健康度指标主键
  27. * @return 业务模型健康度指标
  28. */
  29. @Override
  30. public HlMetrics selectHlMetricsByHlMetricsId(Long hlMetricsId) {
  31. return hlMetricsMapper.selectHlMetricsByHlMetricsId(hlMetricsId);
  32. }
  33. /**
  34. * 查询业务模型健康度指标列表
  35. *
  36. * @param hlMetrics 业务模型健康度指标
  37. * @return 业务模型健康度指标
  38. */
  39. @Override
  40. public List<HlMetrics> selectHlMetricsList(HlMetrics hlMetrics) {
  41. return hlMetricsMapper.selectHlMetricsList(hlMetrics);
  42. }
  43. /**
  44. * 新增业务模型健康度指标
  45. *
  46. * @param hlMetrics 业务模型健康度指标
  47. * @return 结果
  48. */
  49. @Override
  50. public int insertHlMetrics(HlMetrics hlMetrics) {
  51. hlMetrics.setCreateTime(DateUtils.getNowDate());
  52. return hlMetricsMapper.insertHlMetrics(hlMetrics);
  53. }
  54. /**
  55. * 修改业务模型健康度指标
  56. *
  57. * @param hlMetrics 业务模型健康度指标
  58. * @return 结果
  59. */
  60. @Override
  61. public int updateHlMetrics(HlMetrics hlMetrics) {
  62. hlMetrics.setUpdateTime(DateUtils.getNowDate());
  63. return hlMetricsMapper.updateHlMetrics(hlMetrics);
  64. }
  65. /**
  66. * 批量删除业务模型健康度指标
  67. *
  68. * @param hlMetricsIds 需要删除的业务模型健康度指标主键
  69. * @return 结果
  70. */
  71. @Override
  72. public int deleteHlMetricsByHlMetricsIds(Long[] hlMetricsIds) {
  73. return hlMetricsMapper.deleteHlMetricsByHlMetricsIds(hlMetricsIds);
  74. }
  75. /**
  76. * 删除业务模型健康度指标信息
  77. *
  78. * @param hlMetricsId 业务模型健康度指标主键
  79. * @return 结果
  80. */
  81. @Override
  82. public int deleteHlMetricsByHlMetricsId(Long hlMetricsId) {
  83. return hlMetricsMapper.deleteHlMetricsByHlMetricsId(hlMetricsId);
  84. }
  85. /**
  86. * 查询指标列表
  87. *
  88. * @param modelId 模型ID
  89. * @param objType 对象类型
  90. * @return 结果
  91. */
  92. @Override
  93. public List<HlMetrics> selectHlMetricsList4ModelId(Long modelId, String objType) {
  94. return hlMetricsMapper.selectHlMetricsList4ModelId(modelId, objType);
  95. }
  96. /**
  97. * 添加指标
  98. *
  99. * @param hlClassId 分类ID
  100. * @param ids 指标IDS
  101. * @return 结果
  102. */
  103. @Override
  104. public int insertMetrics(Long hlClassId, Long[] ids) {
  105. if (ids.length == 0) {
  106. return 1;
  107. }
  108. for (Long objId : ids) {
  109. HlMetrics metrics = new HlMetrics();
  110. metrics.setHlClassId(hlClassId);
  111. metrics.setMetricsId(objId);
  112. insertHlMetrics(metrics);
  113. }
  114. return 0;
  115. }
  116. /**
  117. * 根据健康度分类获取所有指标对象
  118. *
  119. * @param hlClassId 健康度分类ID
  120. * @return 结果
  121. */
  122. @Override
  123. public Map<Long, List<HlMetricsVO>> hlMetricsList(Long hlClassId) {
  124. List<HlMetricsVO> list = hlMetricsMapper.hlMetricsList(hlClassId);
  125. return list.stream().collect(Collectors.groupingBy(HlMetricsVO::getMetricsId));
  126. }
  127. /**
  128. * 根据日期和模型查询所有存在单次扣分的指标
  129. * 并按metricsId分组
  130. *
  131. * @param modelId 健康度分类ID
  132. * @param date 日期
  133. * @return 结果
  134. */
  135. @Override
  136. public Map<Long, List<HlMetricsVO>> hlMetricsDayList(Long modelId, Date date) {
  137. List<HlMetricsVO> list = hlMetricsMapper.hlMetricsDayList(modelId, date);
  138. return list.stream().collect(Collectors.groupingBy(HlMetricsVO::getMetricsId));
  139. }
  140. }