Explorar el Código

处理数据入库,增加健康度与指标关系配置

wukai hace 9 meses
padre
commit
9e202cb915

+ 25 - 12
jjt-biz/src/main/java/com/jjt/biz/controller/BizObjMetricsController.java

@@ -1,6 +1,8 @@
 package com.jjt.biz.controller;
 
 import com.jjt.biz.domain.BizObjMetrics;
+import com.jjt.biz.domain.BizObjMetricsData;
+import com.jjt.biz.service.IBizObjMetricsDataService;
 import com.jjt.biz.service.IBizObjMetricsService;
 import com.jjt.common.annotation.Log;
 import com.jjt.common.core.controller.BaseController;
@@ -32,6 +34,8 @@ import java.util.*;
 public class BizObjMetricsController extends BaseController {
     @Resource
     private IBizObjMetricsService bizObjMetricsService;
+    @Resource
+    private IBizObjMetricsDataService dataService;
 
     /**
      * 查询业务对象指标列表
@@ -75,20 +79,29 @@ public class BizObjMetricsController extends BaseController {
     @ApiOperation("获取业务对象历史趋势")
     @GetMapping(value = "/history/{objMetricsId}")
     public AjaxResult history(@PathVariable("objMetricsId") Long objMetricsId) {
+        BizObjMetricsData data = new BizObjMetricsData();
+        data.setObjMetricsId(objMetricsId);
+        List<BizObjMetricsData> list = dataService.selectBizObjMetricsDataList(data);
+
         List<Long> times = new ArrayList<>();
         List<Float> values = new ArrayList<>();
-        LocalDateTime ed = LocalDateTime.now();
-        LocalDateTime st = ed.minusDays(7);
-        Random r = new Random();
-        DecimalFormat df = new DecimalFormat("#0.00");
-        do {
-            long time = st.toEpochSecond(ZoneOffset.ofHours(8)) * 1000;
-            times.add(time);
-            float f = r.nextFloat() * 100;
-//                System.err.println(df.format(f));
-            values.add(Float.parseFloat(df.format(f)));
-            st = st.plusMinutes(15);
-        } while (!st.isAfter(ed));
+
+        list.forEach(d -> {
+            times.add(d.getCreateTime().getTime());
+            values.add(d.getdValue().floatValue());
+        });
+//        LocalDateTime ed = LocalDateTime.now();
+//        LocalDateTime st = ed.minusDays(7);
+//        Random r = new Random();
+//        DecimalFormat df = new DecimalFormat("#0.00");
+//        do {
+//            long time = st.toEpochSecond(ZoneOffset.ofHours(8)) * 1000;
+//            times.add(time);
+//            float f = r.nextFloat() * 100;
+////                System.err.println(df.format(f));
+//            values.add(Float.parseFloat(df.format(f)));
+//            st = st.plusMinutes(15);
+//        } while (!st.isAfter(ed));
         Map<String, Object> map = new HashMap<>(16);
         map.put("times", times);
         map.put("values", values);

+ 114 - 0
jjt-biz/src/main/java/com/jjt/biz/controller/BizObjMetricsDataController.java

@@ -0,0 +1,114 @@
+package com.jjt.biz.controller;
+
+import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jjt.common.annotation.Log;
+import com.jjt.common.core.controller.BaseController;
+import com.jjt.common.core.domain.AjaxResult;
+import com.jjt.common.enums.BusinessType;
+import com.jjt.biz.domain.BizObjMetricsData;
+import com.jjt.biz.service.IBizObjMetricsDataService;
+import com.jjt.common.utils.poi.ExcelUtil;
+import com.jjt.common.core.page.TableDataInfo;
+
+/**
+ * 业务对象指标数据Controller
+ *
+ * @author jjt
+ * @date 2024-09-01
+ */
+@Api(tags="业务对象指标数据")
+@RestController
+@RequestMapping("/obj/omd")
+public class BizObjMetricsDataController extends BaseController
+{
+    @Resource
+    private IBizObjMetricsDataService bizObjMetricsDataService;
+
+    /**
+     * 查询业务对象指标数据列表
+     */
+    @ApiOperation("查询业务对象指标数据列表")
+    @PreAuthorize("@ss.hasPermi('obj:omd:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(BizObjMetricsData bizObjMetricsData)
+    {
+        startPage();
+        List<BizObjMetricsData> list = bizObjMetricsDataService.selectBizObjMetricsDataList(bizObjMetricsData);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出业务对象指标数据列表
+     */
+    @ApiOperation("导出业务对象指标数据列表")
+    @PreAuthorize("@ss.hasPermi('obj:omd:export')")
+    @Log(title = "业务对象指标数据", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, BizObjMetricsData bizObjMetricsData)
+    {
+        List<BizObjMetricsData> list = bizObjMetricsDataService.selectBizObjMetricsDataList(bizObjMetricsData);
+        ExcelUtil<BizObjMetricsData> util = new ExcelUtil<BizObjMetricsData>(BizObjMetricsData.class);
+        util.exportExcel(response, list, "业务对象指标数据数据");
+    }
+
+    /**
+     * 获取业务对象指标数据详细信息
+     */
+    @ApiOperation("获取业务对象指标数据详细信息")
+    @PreAuthorize("@ss.hasPermi('obj:omd:query')")
+    @GetMapping(value = "/{dataId}")
+    public AjaxResult getInfo(@PathVariable("dataId") Long dataId)
+    {
+        return success(bizObjMetricsDataService.selectBizObjMetricsDataByDataId(dataId));
+    }
+
+    /**
+     * 新增业务对象指标数据
+     */
+    @ApiOperation("新增业务对象指标数据")
+    @PreAuthorize("@ss.hasPermi('obj:omd:add')")
+    @Log(title = "业务对象指标数据", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody BizObjMetricsData bizObjMetricsData)
+    {
+        return toAjax(bizObjMetricsDataService.insertBizObjMetricsData(bizObjMetricsData));
+    }
+
+    /**
+     * 修改业务对象指标数据
+     */
+    @ApiOperation("修改业务对象指标数据")
+    @PreAuthorize("@ss.hasPermi('obj:omd:edit')")
+    @Log(title = "业务对象指标数据", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody BizObjMetricsData bizObjMetricsData)
+    {
+        return toAjax(bizObjMetricsDataService.updateBizObjMetricsData(bizObjMetricsData));
+    }
+
+    /**
+     * 删除业务对象指标数据
+     */
+    @ApiOperation("删除业务对象指标数据")
+    @PreAuthorize("@ss.hasPermi('obj:omd:remove')")
+    @Log(title = "业务对象指标数据", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{dataIds}")
+    public AjaxResult remove(@PathVariable Long[] dataIds)
+    {
+        return toAjax(bizObjMetricsDataService.deleteBizObjMetricsDataByDataIds(dataIds));
+    }
+}

+ 114 - 0
jjt-biz/src/main/java/com/jjt/biz/controller/HlMetricsRelaController.java

@@ -0,0 +1,114 @@
+package com.jjt.biz.controller;
+
+import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jjt.common.annotation.Log;
+import com.jjt.common.core.controller.BaseController;
+import com.jjt.common.core.domain.AjaxResult;
+import com.jjt.common.enums.BusinessType;
+import com.jjt.biz.domain.HlMetricsRela;
+import com.jjt.biz.service.IHlMetricsRelaService;
+import com.jjt.common.utils.poi.ExcelUtil;
+import com.jjt.common.core.page.TableDataInfo;
+
+/**
+ * 健康指标关系Controller
+ *
+ * @author jjt
+ * @date 2024-09-01
+ */
+@Api(tags="健康指标关系")
+@RestController
+@RequestMapping("/hl/rela")
+public class HlMetricsRelaController extends BaseController
+{
+    @Resource
+    private IHlMetricsRelaService hlMetricsRelaService;
+
+    /**
+     * 查询健康指标关系列表
+     */
+    @ApiOperation("查询健康指标关系列表")
+    @PreAuthorize("@ss.hasPermi('hl:rela:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(HlMetricsRela hlMetricsRela)
+    {
+        startPage();
+        List<HlMetricsRela> list = hlMetricsRelaService.selectHlMetricsRelaList(hlMetricsRela);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出健康指标关系列表
+     */
+    @ApiOperation("导出健康指标关系列表")
+    @PreAuthorize("@ss.hasPermi('hl:rela:export')")
+    @Log(title = "健康指标关系", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, HlMetricsRela hlMetricsRela)
+    {
+        List<HlMetricsRela> list = hlMetricsRelaService.selectHlMetricsRelaList(hlMetricsRela);
+        ExcelUtil<HlMetricsRela> util = new ExcelUtil<HlMetricsRela>(HlMetricsRela.class);
+        util.exportExcel(response, list, "健康指标关系数据");
+    }
+
+    /**
+     * 获取健康指标关系详细信息
+     */
+    @ApiOperation("获取健康指标关系详细信息")
+    @PreAuthorize("@ss.hasPermi('hl:rela:query')")
+    @GetMapping(value = "/{relaId}")
+    public AjaxResult getInfo(@PathVariable("relaId") Long relaId)
+    {
+        return success(hlMetricsRelaService.selectHlMetricsRelaByRelaId(relaId));
+    }
+
+    /**
+     * 新增健康指标关系
+     */
+    @ApiOperation("新增健康指标关系")
+    @PreAuthorize("@ss.hasPermi('hl:rela:add')")
+    @Log(title = "健康指标关系", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody HlMetricsRela hlMetricsRela)
+    {
+        return toAjax(hlMetricsRelaService.insertHlMetricsRela(hlMetricsRela));
+    }
+
+    /**
+     * 修改健康指标关系
+     */
+    @ApiOperation("修改健康指标关系")
+    @PreAuthorize("@ss.hasPermi('hl:rela:edit')")
+    @Log(title = "健康指标关系", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody HlMetricsRela hlMetricsRela)
+    {
+        return toAjax(hlMetricsRelaService.updateHlMetricsRela(hlMetricsRela));
+    }
+
+    /**
+     * 删除健康指标关系
+     */
+    @ApiOperation("删除健康指标关系")
+    @PreAuthorize("@ss.hasPermi('hl:rela:remove')")
+    @Log(title = "健康指标关系", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{relaIds}")
+    public AjaxResult remove(@PathVariable Long[] relaIds)
+    {
+        return toAjax(hlMetricsRelaService.deleteHlMetricsRelaByRelaIds(relaIds));
+    }
+}

+ 75 - 0
jjt-biz/src/main/java/com/jjt/biz/domain/BizObjMetricsData.java

@@ -0,0 +1,75 @@
+package com.jjt.biz.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.jjt.common.annotation.Excel;
+import com.jjt.common.core.domain.BaseEntity;
+
+/**
+ * 业务对象指标数据对象 biz_obj_metrics_data
+ *
+ * @author jjt
+ * @date 2024-09-01
+ */
+@ApiModel(value = "BizObjMetricsData", description = "业务对象指标数据")
+public class BizObjMetricsData extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 数据ID */
+    @ApiModelProperty("数据ID")
+    @TableId
+    private Long dataId;
+
+    /** 指标ID */
+    @ApiModelProperty("指标ID")
+    @Excel(name = "指标ID")
+    private Long objMetricsId;
+
+    /** 最新值 */
+    @ApiModelProperty("最新值")
+    @Excel(name = "最新值")
+    private BigDecimal dValue;
+
+    public void setDataId(Long dataId)
+    {
+        this.dataId = dataId;
+    }
+
+    public Long getDataId()
+    {
+        return dataId;
+    }
+    public void setObjMetricsId(Long objMetricsId)
+    {
+        this.objMetricsId = objMetricsId;
+    }
+
+    public Long getObjMetricsId()
+    {
+        return objMetricsId;
+    }
+    public void setdValue(BigDecimal dValue)
+    {
+        this.dValue = dValue;
+    }
+
+    public BigDecimal getdValue()
+    {
+        return dValue;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("dataId", getDataId())
+            .append("objMetricsId", getObjMetricsId())
+            .append("dValue", getdValue())
+            .append("createTime", getCreateTime())
+            .toString();
+    }
+}

+ 48 - 0
jjt-biz/src/main/java/com/jjt/biz/domain/HlMetricsRela.java

@@ -0,0 +1,48 @@
+package com.jjt.biz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.jjt.common.annotation.Excel;
+import com.jjt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 健康指标关系对象 hl_metrics_rela
+ *
+ * @author jjt
+ * @date 2024-09-01
+ */
+@ApiModel(value = "HlMetricsRela", description = "健康指标关系")
+@Data
+public class HlMetricsRela extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 关系ID
+     */
+    @ApiModelProperty("关系ID")
+    @TableId
+    private Long relaId;
+
+    /**
+     * 健康度编码
+     */
+    @ApiModelProperty("健康度编码")
+    @Excel(name = "健康度编码")
+    private String hlCode;
+
+    /**
+     * 指标ID
+     */
+    @ApiModelProperty("指标ID")
+    @Excel(name = "指标ID")
+    private Long metricsId;
+
+    /**
+     * 指标名称
+     */
+    @ApiModelProperty("指标名称")
+    @Excel(name = "指标名称")
+    private String metricsName;
+}

+ 62 - 0
jjt-biz/src/main/java/com/jjt/biz/mapper/BizObjMetricsDataMapper.java

@@ -0,0 +1,62 @@
+package com.jjt.biz.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jjt.biz.domain.BizObjMetricsData;
+
+/**
+ * 业务对象指标数据Mapper接口
+ * 
+ * @author jjt
+ * @date 2024-09-01
+ */
+public interface BizObjMetricsDataMapper extends BaseMapper<BizObjMetricsData>
+{
+    /**
+     * 查询业务对象指标数据
+     * 
+     * @param dataId 业务对象指标数据主键
+     * @return 业务对象指标数据
+     */
+    public BizObjMetricsData selectBizObjMetricsDataByDataId(Long dataId);
+
+    /**
+     * 查询业务对象指标数据列表
+     * 
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 业务对象指标数据集合
+     */
+    public List<BizObjMetricsData> selectBizObjMetricsDataList(BizObjMetricsData bizObjMetricsData);
+
+    /**
+     * 新增业务对象指标数据
+     * 
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 结果
+     */
+    public int insertBizObjMetricsData(BizObjMetricsData bizObjMetricsData);
+
+    /**
+     * 修改业务对象指标数据
+     * 
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 结果
+     */
+    public int updateBizObjMetricsData(BizObjMetricsData bizObjMetricsData);
+
+    /**
+     * 删除业务对象指标数据
+     * 
+     * @param dataId 业务对象指标数据主键
+     * @return 结果
+     */
+    public int deleteBizObjMetricsDataByDataId(Long dataId);
+
+    /**
+     * 批量删除业务对象指标数据
+     * 
+     * @param dataIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteBizObjMetricsDataByDataIds(Long[] dataIds);
+}

+ 62 - 0
jjt-biz/src/main/java/com/jjt/biz/mapper/HlMetricsRelaMapper.java

@@ -0,0 +1,62 @@
+package com.jjt.biz.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jjt.biz.domain.HlMetricsRela;
+
+/**
+ * 健康指标关系Mapper接口
+ * 
+ * @author jjt
+ * @date 2024-09-01
+ */
+public interface HlMetricsRelaMapper extends BaseMapper<HlMetricsRela>
+{
+    /**
+     * 查询健康指标关系
+     * 
+     * @param relaId 健康指标关系主键
+     * @return 健康指标关系
+     */
+    public HlMetricsRela selectHlMetricsRelaByRelaId(Long relaId);
+
+    /**
+     * 查询健康指标关系列表
+     * 
+     * @param hlMetricsRela 健康指标关系
+     * @return 健康指标关系集合
+     */
+    public List<HlMetricsRela> selectHlMetricsRelaList(HlMetricsRela hlMetricsRela);
+
+    /**
+     * 新增健康指标关系
+     * 
+     * @param hlMetricsRela 健康指标关系
+     * @return 结果
+     */
+    public int insertHlMetricsRela(HlMetricsRela hlMetricsRela);
+
+    /**
+     * 修改健康指标关系
+     * 
+     * @param hlMetricsRela 健康指标关系
+     * @return 结果
+     */
+    public int updateHlMetricsRela(HlMetricsRela hlMetricsRela);
+
+    /**
+     * 删除健康指标关系
+     * 
+     * @param relaId 健康指标关系主键
+     * @return 结果
+     */
+    public int deleteHlMetricsRelaByRelaId(Long relaId);
+
+    /**
+     * 批量删除健康指标关系
+     * 
+     * @param relaIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteHlMetricsRelaByRelaIds(Long[] relaIds);
+}

+ 61 - 0
jjt-biz/src/main/java/com/jjt/biz/service/IBizObjMetricsDataService.java

@@ -0,0 +1,61 @@
+package com.jjt.biz.service;
+
+import java.util.List;
+import com.jjt.biz.domain.BizObjMetricsData;
+
+/**
+ * 业务对象指标数据Service接口
+ * 
+ * @author jjt
+ * @date 2024-09-01
+ */
+public interface IBizObjMetricsDataService 
+{
+    /**
+     * 查询业务对象指标数据
+     * 
+     * @param dataId 业务对象指标数据主键
+     * @return 业务对象指标数据
+     */
+    public BizObjMetricsData selectBizObjMetricsDataByDataId(Long dataId);
+
+    /**
+     * 查询业务对象指标数据列表
+     * 
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 业务对象指标数据集合
+     */
+    public List<BizObjMetricsData> selectBizObjMetricsDataList(BizObjMetricsData bizObjMetricsData);
+
+    /**
+     * 新增业务对象指标数据
+     * 
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 结果
+     */
+    public int insertBizObjMetricsData(BizObjMetricsData bizObjMetricsData);
+
+    /**
+     * 修改业务对象指标数据
+     * 
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 结果
+     */
+    public int updateBizObjMetricsData(BizObjMetricsData bizObjMetricsData);
+
+    /**
+     * 批量删除业务对象指标数据
+     * 
+     * @param dataIds 需要删除的业务对象指标数据主键集合
+     * @return 结果
+     */
+    public int deleteBizObjMetricsDataByDataIds(Long[] dataIds);
+
+    /**
+     * 删除业务对象指标数据信息
+     * 
+     * @param dataId 业务对象指标数据主键
+     * @return 结果
+     */
+    public int deleteBizObjMetricsDataByDataId(Long dataId);
+}

+ 61 - 0
jjt-biz/src/main/java/com/jjt/biz/service/IHlMetricsRelaService.java

@@ -0,0 +1,61 @@
+package com.jjt.biz.service;
+
+import java.util.List;
+import com.jjt.biz.domain.HlMetricsRela;
+
+/**
+ * 健康指标关系Service接口
+ * 
+ * @author jjt
+ * @date 2024-09-01
+ */
+public interface IHlMetricsRelaService 
+{
+    /**
+     * 查询健康指标关系
+     * 
+     * @param relaId 健康指标关系主键
+     * @return 健康指标关系
+     */
+    public HlMetricsRela selectHlMetricsRelaByRelaId(Long relaId);
+
+    /**
+     * 查询健康指标关系列表
+     * 
+     * @param hlMetricsRela 健康指标关系
+     * @return 健康指标关系集合
+     */
+    public List<HlMetricsRela> selectHlMetricsRelaList(HlMetricsRela hlMetricsRela);
+
+    /**
+     * 新增健康指标关系
+     * 
+     * @param hlMetricsRela 健康指标关系
+     * @return 结果
+     */
+    public int insertHlMetricsRela(HlMetricsRela hlMetricsRela);
+
+    /**
+     * 修改健康指标关系
+     * 
+     * @param hlMetricsRela 健康指标关系
+     * @return 结果
+     */
+    public int updateHlMetricsRela(HlMetricsRela hlMetricsRela);
+
+    /**
+     * 批量删除健康指标关系
+     * 
+     * @param relaIds 需要删除的健康指标关系主键集合
+     * @return 结果
+     */
+    public int deleteHlMetricsRelaByRelaIds(Long[] relaIds);
+
+    /**
+     * 删除健康指标关系信息
+     * 
+     * @param relaId 健康指标关系主键
+     * @return 结果
+     */
+    public int deleteHlMetricsRelaByRelaId(Long relaId);
+}

+ 88 - 0
jjt-biz/src/main/java/com/jjt/biz/service/impl/BizObjMetricsDataServiceImpl.java

@@ -0,0 +1,88 @@
+package com.jjt.biz.service.impl;
+
+import java.util.List;
+        import com.jjt.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.jjt.biz.mapper.BizObjMetricsDataMapper;
+import com.jjt.biz.domain.BizObjMetricsData;
+import com.jjt.biz.service.IBizObjMetricsDataService;
+import javax.annotation.Resource;
+
+/**
+ * 业务对象指标数据Service业务层处理
+ *
+ * @author jjt
+ * @date 2024-09-01
+ */
+@Service
+public class BizObjMetricsDataServiceImpl implements IBizObjMetricsDataService {
+    @Resource
+    private BizObjMetricsDataMapper bizObjMetricsDataMapper;
+
+    /**
+     * 查询业务对象指标数据
+     *
+     * @param dataId 业务对象指标数据主键
+     * @return 业务对象指标数据
+     */
+    @Override
+    public BizObjMetricsData selectBizObjMetricsDataByDataId(Long dataId) {
+        return bizObjMetricsDataMapper.selectBizObjMetricsDataByDataId(dataId);
+    }
+
+    /**
+     * 查询业务对象指标数据列表
+     *
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 业务对象指标数据
+     */
+    @Override
+    public List<BizObjMetricsData> selectBizObjMetricsDataList(BizObjMetricsData bizObjMetricsData) {
+        return bizObjMetricsDataMapper.selectBizObjMetricsDataList(bizObjMetricsData);
+    }
+
+    /**
+     * 新增业务对象指标数据
+     *
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 结果
+     */
+    @Override
+    public int insertBizObjMetricsData(BizObjMetricsData bizObjMetricsData) {
+                bizObjMetricsData.setCreateTime(DateUtils.getNowDate());
+            return bizObjMetricsDataMapper.insertBizObjMetricsData(bizObjMetricsData);
+    }
+
+    /**
+     * 修改业务对象指标数据
+     *
+     * @param bizObjMetricsData 业务对象指标数据
+     * @return 结果
+     */
+    @Override
+    public int updateBizObjMetricsData(BizObjMetricsData bizObjMetricsData) {
+        return bizObjMetricsDataMapper.updateBizObjMetricsData(bizObjMetricsData);
+    }
+
+    /**
+     * 批量删除业务对象指标数据
+     *
+     * @param dataIds 需要删除的业务对象指标数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteBizObjMetricsDataByDataIds(Long[] dataIds) {
+        return bizObjMetricsDataMapper.deleteBizObjMetricsDataByDataIds(dataIds);
+    }
+
+    /**
+     * 删除业务对象指标数据信息
+     *
+     * @param dataId 业务对象指标数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteBizObjMetricsDataByDataId(Long dataId) {
+        return bizObjMetricsDataMapper.deleteBizObjMetricsDataByDataId(dataId);
+    }
+}

+ 28 - 2
jjt-biz/src/main/java/com/jjt/biz/service/impl/BizObjMetricsServiceImpl.java

@@ -49,6 +49,8 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
     private SqlSessionFactory factory;
     @Resource
     private IAlarmRecordService alarmRecordService;
+    @Resource
+    private IBizObjMetricsDataService metricsDataService;
 
     /**
      * 查询业务对象指标
@@ -189,6 +191,7 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
                 //如果是pinpoint,并且不是jvm参数
                 // 1.获取对象pinpoint组成
                 List<BizObjPp> pps = ppService.selectBizObjPpListByObjId(objId);
+
                 for (BizObjPp pp : pps) {
                     BizObjMetrics ms = new BizObjMetrics();
                     ms.setObjId(objId);
@@ -200,6 +203,22 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
                     ms.setAlarmLow(d.getAlarmLow());
                     ms.setAlarmMid(d.getAlarmMid());
                     ms.setAlarmHigh(d.getAlarmHigh());
+
+                    if (pp.getPpType().equals("REDIS")) {
+                        //redis需要将1s换成100ms 3s换成300ms 5s换成500ms
+                        if (d.getMetricsCode().endsWith("1s")) {
+                            ms.setMetricsName(ms.getMetricsName().replace("1s", "100ms"));
+                            ms.setMetricsCode(ms.getMetricsCode().replace("1s", "100ms"));
+                        }
+                        if (d.getMetricsCode().endsWith("3s")) {
+                            ms.setMetricsName(ms.getMetricsName().replace("3s", "300ms"));
+                            ms.setMetricsCode(ms.getMetricsCode().replace("3s", "300ms"));
+                        }
+                        if (d.getMetricsCode().endsWith("5s")) {
+                            ms.setMetricsName(ms.getMetricsName().replace("5s", "500ms"));
+                            ms.setMetricsCode(ms.getMetricsCode().replace("5s", "500ms"));
+                        }
+                    }
                     objMetrics.add(ms);
                 }
             } else {
@@ -501,7 +520,7 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
     }
 
     /**
-     * jvg指标更新
+     * jvm指标更新
      *
      * @param omList       jvm指标列表
      * @param metricSuffix 指标后缀
@@ -512,12 +531,15 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
                 .filter(om -> om.getMetricsCode().endsWith(metricSuffix))
                 .forEach(om -> {
                     String alarmLevel = getAlarmLevel(value.floatValue(), om);
-
                     if (alarmLevel != null) {
                         insertAlarm(om, alarmLevel);
                     }
                     om.setDValue(value);
                     updateBizObjMetrics(om);
+                    BizObjMetricsData data = new BizObjMetricsData();
+                    data.setObjMetricsId(om.getObjMetricsId());
+                    data.setdValue(om.getDValue());
+                    metricsDataService.insertBizObjMetricsData(data);
                 });
     }
 
@@ -569,6 +591,10 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
         if (om.getMetricsCode().endsWith(suffix) && value != null) {
             om.setDValue(BigDecimal.valueOf(value.doubleValue()));
             updateBizObjMetrics(om);
+            BizObjMetricsData data = new BizObjMetricsData();
+            data.setObjMetricsId(om.getObjMetricsId());
+            data.setdValue(om.getDValue());
+            metricsDataService.insertBizObjMetricsData(data);
         }
     }
 

+ 6 - 4
jjt-biz/src/main/java/com/jjt/biz/service/impl/HlBaseServiceImpl.java

@@ -11,11 +11,9 @@ import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.ZoneId;
-import java.time.ZoneOffset;
-import java.util.Date;
-import java.util.List;
-import java.util.Random;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
 
 /**
  * 健康度配置基本Service业务层处理
@@ -43,6 +41,8 @@ public class HlBaseServiceImpl implements IHlBaseService {
     private IHlDayService dayService;
     @Resource
     private IHlDayDetailService dayDetailService;
+    @Resource
+    private IHlMetricsRelaService relaService;
 
 
     /**
@@ -193,6 +193,8 @@ public class HlBaseServiceImpl implements IHlBaseService {
      */
     @Override
     public void score() {
+        Map<String, Long> relaMap = relaService.selectHlMetricsRelaList(new HlMetricsRela()).stream()
+                .collect(Collectors.toMap(HlMetricsRela::getHlCode, HlMetricsRela::getMetricsId));
         List<HlBase> list = selectHlBaseList(new HlBase());
         list.forEach(base -> {
             if (base.getModelId() != -1) {

+ 89 - 0
jjt-biz/src/main/java/com/jjt/biz/service/impl/HlMetricsRelaServiceImpl.java

@@ -0,0 +1,89 @@
+package com.jjt.biz.service.impl;
+
+import java.util.List;
+        import com.jjt.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.jjt.biz.mapper.HlMetricsRelaMapper;
+import com.jjt.biz.domain.HlMetricsRela;
+import com.jjt.biz.service.IHlMetricsRelaService;
+import javax.annotation.Resource;
+
+/**
+ * 健康指标关系Service业务层处理
+ *
+ * @author jjt
+ * @date 2024-09-01
+ */
+@Service
+public class HlMetricsRelaServiceImpl implements IHlMetricsRelaService {
+    @Resource
+    private HlMetricsRelaMapper hlMetricsRelaMapper;
+
+    /**
+     * 查询健康指标关系
+     *
+     * @param relaId 健康指标关系主键
+     * @return 健康指标关系
+     */
+    @Override
+    public HlMetricsRela selectHlMetricsRelaByRelaId(Long relaId) {
+        return hlMetricsRelaMapper.selectHlMetricsRelaByRelaId(relaId);
+    }
+
+    /**
+     * 查询健康指标关系列表
+     *
+     * @param hlMetricsRela 健康指标关系
+     * @return 健康指标关系
+     */
+    @Override
+    public List<HlMetricsRela> selectHlMetricsRelaList(HlMetricsRela hlMetricsRela) {
+        return hlMetricsRelaMapper.selectHlMetricsRelaList(hlMetricsRela);
+    }
+
+    /**
+     * 新增健康指标关系
+     *
+     * @param hlMetricsRela 健康指标关系
+     * @return 结果
+     */
+    @Override
+    public int insertHlMetricsRela(HlMetricsRela hlMetricsRela) {
+                hlMetricsRela.setCreateTime(DateUtils.getNowDate());
+            return hlMetricsRelaMapper.insertHlMetricsRela(hlMetricsRela);
+    }
+
+    /**
+     * 修改健康指标关系
+     *
+     * @param hlMetricsRela 健康指标关系
+     * @return 结果
+     */
+    @Override
+    public int updateHlMetricsRela(HlMetricsRela hlMetricsRela) {
+                hlMetricsRela.setUpdateTime(DateUtils.getNowDate());
+        return hlMetricsRelaMapper.updateHlMetricsRela(hlMetricsRela);
+    }
+
+    /**
+     * 批量删除健康指标关系
+     *
+     * @param relaIds 需要删除的健康指标关系主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlMetricsRelaByRelaIds(Long[] relaIds) {
+        return hlMetricsRelaMapper.deleteHlMetricsRelaByRelaIds(relaIds);
+    }
+
+    /**
+     * 删除健康指标关系信息
+     *
+     * @param relaId 健康指标关系主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlMetricsRelaByRelaId(Long relaId) {
+        return hlMetricsRelaMapper.deleteHlMetricsRelaByRelaId(relaId);
+    }
+}

+ 143 - 0
jjt-biz/src/main/resources/mapper/hl/HlMetricsRelaMapper.xml

@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jjt.biz.mapper.HlMetricsRelaMapper">
+
+    <resultMap type="HlMetricsRela" id="HlMetricsRelaResult">
+            <result property="relaId" column="RELA_ID"/>
+            <result property="hlCode" column="HL_CODE"/>
+            <result property="metricsId" column="METRICS_ID"/>
+            <result property="metricsName" column="METRICS_NAME"/>
+            <result property="createBy" column="CREATE_BY"/>
+            <result property="createTime" column="CREATE_TIME"/>
+            <result property="updateBy" column="UPDATE_BY"/>
+            <result property="updateTime" column="UPDATE_TIME"/>
+            <result property="remark" column="REMARK"/>
+    </resultMap>
+
+    <sql id="selectHlMetricsRelaVo">
+        select RELA_ID, HL_CODE, METRICS_ID, METRICS_NAME, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, REMARK
+        from hl_metrics_rela
+    </sql>
+
+    <select id="selectHlMetricsRelaList" parameterType="HlMetricsRela" resultMap="HlMetricsRelaResult">
+        <include refid="selectHlMetricsRelaVo"/>
+        <where>
+                        <if test="hlCode != null  and hlCode != ''">
+                            and HL_CODE = #{hlCode}
+                        </if>
+                        <if test="metricsId != null ">
+                            and METRICS_ID = #{metricsId}
+                        </if>
+                        <if test="metricsName != null  and metricsName != ''">
+                            and METRICS_NAME like concat('%', #{metricsName}, '%')
+                        </if>
+                        <if test="createBy != null  and createBy != ''">
+                            and CREATE_BY = #{createBy}
+                        </if>
+                        <if test="createTime != null ">
+                            and CREATE_TIME = #{createTime}
+                        </if>
+                        <if test="updateBy != null  and updateBy != ''">
+                            and UPDATE_BY = #{updateBy}
+                        </if>
+                        <if test="updateTime != null ">
+                            and UPDATE_TIME = #{updateTime}
+                        </if>
+                        <if test="remark != null  and remark != ''">
+                            and REMARK = #{remark}
+                        </if>
+        </where>
+    </select>
+
+    <select id="selectHlMetricsRelaByRelaId" parameterType="Long"
+            resultMap="HlMetricsRelaResult">
+            <include refid="selectHlMetricsRelaVo"/>
+            where RELA_ID = #{relaId}
+    </select>
+
+    <insert id="insertHlMetricsRela" parameterType="HlMetricsRela" useGeneratedKeys="true"
+            keyProperty="relaId">
+        insert into hl_metrics_rela
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                    <if test="hlCode != null">HL_CODE,
+                    </if>
+                    <if test="metricsId != null">METRICS_ID,
+                    </if>
+                    <if test="metricsName != null">METRICS_NAME,
+                    </if>
+                    <if test="createBy != null">CREATE_BY,
+                    </if>
+                    <if test="createTime != null">CREATE_TIME,
+                    </if>
+                    <if test="updateBy != null">UPDATE_BY,
+                    </if>
+                    <if test="updateTime != null">UPDATE_TIME,
+                    </if>
+                    <if test="remark != null">REMARK,
+                    </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                    <if test="hlCode != null">#{hlCode},
+                    </if>
+                    <if test="metricsId != null">#{metricsId},
+                    </if>
+                    <if test="metricsName != null">#{metricsName},
+                    </if>
+                    <if test="createBy != null">#{createBy},
+                    </if>
+                    <if test="createTime != null">#{createTime},
+                    </if>
+                    <if test="updateBy != null">#{updateBy},
+                    </if>
+                    <if test="updateTime != null">#{updateTime},
+                    </if>
+                    <if test="remark != null">#{remark},
+                    </if>
+        </trim>
+    </insert>
+
+    <update id="updateHlMetricsRela" parameterType="HlMetricsRela">
+        update hl_metrics_rela
+        <trim prefix="SET" suffixOverrides=",">
+                    <if test="hlCode != null">HL_CODE =
+                        #{hlCode},
+                    </if>
+                    <if test="metricsId != null">METRICS_ID =
+                        #{metricsId},
+                    </if>
+                    <if test="metricsName != null">METRICS_NAME =
+                        #{metricsName},
+                    </if>
+                    <if test="createBy != null">CREATE_BY =
+                        #{createBy},
+                    </if>
+                    <if test="createTime != null">CREATE_TIME =
+                        #{createTime},
+                    </if>
+                    <if test="updateBy != null">UPDATE_BY =
+                        #{updateBy},
+                    </if>
+                    <if test="updateTime != null">UPDATE_TIME =
+                        #{updateTime},
+                    </if>
+                    <if test="remark != null">REMARK =
+                        #{remark},
+                    </if>
+        </trim>
+        where RELA_ID = #{relaId}
+    </update>
+
+    <delete id="deleteHlMetricsRelaByRelaId" parameterType="Long">
+        delete
+        from hl_metrics_rela where RELA_ID = #{relaId}
+    </delete>
+
+    <delete id="deleteHlMetricsRelaByRelaIds" parameterType="String">
+        delete from hl_metrics_rela where RELA_ID in
+        <foreach item="relaId" collection="array" open="(" separator="," close=")">
+            #{relaId}
+        </foreach>
+    </delete>
+</mapper>

+ 90 - 0
jjt-biz/src/main/resources/mapper/obj/BizObjMetricsDataMapper.xml

@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jjt.biz.mapper.BizObjMetricsDataMapper">
+
+    <resultMap type="BizObjMetricsData" id="BizObjMetricsDataResult">
+        <result property="dataId" column="DATA_ID"/>
+        <result property="objMetricsId" column="OBJ_METRICS_ID"/>
+        <result property="dValue" column="D_VALUE"/>
+        <result property="createTime" column="CREATE_TIME"/>
+    </resultMap>
+
+    <sql id="selectBizObjMetricsDataVo">
+        select DATA_ID, OBJ_METRICS_ID, D_VALUE, CREATE_TIME
+        from biz_obj_metrics_data
+    </sql>
+
+    <select id="selectBizObjMetricsDataList" parameterType="BizObjMetricsData" resultMap="BizObjMetricsDataResult">
+        <include refid="selectBizObjMetricsDataVo"/>
+        <where>
+            <if test="objMetricsId != null ">
+                and OBJ_METRICS_ID = #{objMetricsId}
+            </if>
+            <if test="dValue != null ">
+                and D_VALUE = #{dValue}
+            </if>
+            <if test="createTime != null ">
+                and CREATE_TIME = #{createTime}
+            </if>
+        </where>
+        order by create_time
+    </select>
+
+    <select id="selectBizObjMetricsDataByDataId" parameterType="Long"
+            resultMap="BizObjMetricsDataResult">
+        <include refid="selectBizObjMetricsDataVo"/>
+        where DATA_ID = #{dataId}
+    </select>
+
+    <insert id="insertBizObjMetricsData" parameterType="BizObjMetricsData" useGeneratedKeys="true"
+            keyProperty="dataId">
+        insert into biz_obj_metrics_data
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="objMetricsId != null">OBJ_METRICS_ID,
+            </if>
+            <if test="dValue != null">D_VALUE,
+            </if>
+            <if test="createTime != null">CREATE_TIME,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="objMetricsId != null">#{objMetricsId},
+            </if>
+            <if test="dValue != null">#{dValue},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateBizObjMetricsData" parameterType="BizObjMetricsData">
+        update biz_obj_metrics_data
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="objMetricsId != null">OBJ_METRICS_ID =
+                #{objMetricsId},
+            </if>
+            <if test="dValue != null">D_VALUE =
+                #{dValue},
+            </if>
+            <if test="createTime != null">CREATE_TIME =
+                #{createTime},
+            </if>
+        </trim>
+        where DATA_ID = #{dataId}
+    </update>
+
+    <delete id="deleteBizObjMetricsDataByDataId" parameterType="Long">
+        delete
+        from biz_obj_metrics_data
+        where DATA_ID = #{dataId}
+    </delete>
+
+    <delete id="deleteBizObjMetricsDataByDataIds" parameterType="String">
+        delete from biz_obj_metrics_data where DATA_ID in
+        <foreach item="dataId" collection="array" open="(" separator="," close=")">
+            #{dataId}
+        </foreach>
+    </delete>
+</mapper>