Jelajahi Sumber

感觉搞定了所有

wukai 1 bulan lalu
induk
melakukan
c2940724b6

+ 14 - 6
jjt-biz/src/main/java/com/jjt/ripa/controller/RipaMetricsAnalyController.java

@@ -1,13 +1,13 @@
 package com.jjt.ripa.controller;
 
-import com.jjt.ripa.domain.RipaMetricsAnaly;
-import com.jjt.ripa.service.IRipaMetricsAnalyService;
-import com.jjt.ripa.vo.RipaMetricsAnalyVO;
 import com.jjt.common.annotation.Log;
 import com.jjt.common.core.controller.BaseController;
 import com.jjt.common.core.domain.AjaxResult;
 import com.jjt.common.core.page.TableDataInfo;
 import com.jjt.common.enums.BusinessType;
+import com.jjt.ripa.domain.RipaMetricsAnaly;
+import com.jjt.ripa.service.IRipaMetricsAnalyService;
+import com.jjt.ripa.vo.RipaMetricsAnalyVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
@@ -40,6 +40,14 @@ public class RipaMetricsAnalyController extends BaseController {
         return getDataTable(list);
     }
 
+    @ApiOperation("立即分析")
+    //@PreAuthorize("@ss.hasPermi('biz:analy:query')")
+    @GetMapping(value = "/analy")
+    public AjaxResult analy(Long analyId) {
+        return success(ripaMetricsAnalyService.analy(analyId));
+    }
+
+
     /**
      * 导出模型指标分析列表
      */
@@ -70,7 +78,7 @@ public class RipaMetricsAnalyController extends BaseController {
     //@PreAuthorize("@ss.hasPermi('biz:analy:add')")
     @Log(title = "模型指标分析", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody RipaMetricsAnaly ripaMetricsAnaly) {
+    public AjaxResult add(@RequestBody RipaMetricsAnalyVO ripaMetricsAnaly) {
         return toAjax(ripaMetricsAnalyService.insertRipaMetricsAnaly(ripaMetricsAnaly));
     }
 
@@ -81,7 +89,7 @@ public class RipaMetricsAnalyController extends BaseController {
     //@PreAuthorize("@ss.hasPermi('biz:analy:edit')")
     @Log(title = "模型指标分析", businessType = BusinessType.UPDATE)
     @PostMapping("/edit")
-    public AjaxResult edit(@RequestBody RipaMetricsAnaly ripaMetricsAnaly) {
+    public AjaxResult edit(@RequestBody RipaMetricsAnalyVO ripaMetricsAnaly) {
         return toAjax(ripaMetricsAnalyService.updateRipaMetricsAnaly(ripaMetricsAnaly));
     }
 
@@ -98,7 +106,7 @@ public class RipaMetricsAnalyController extends BaseController {
 
     @ApiOperation("批量插入指标")
     @PostMapping("/insert")
-    public AjaxResult insert(@RequestBody List<RipaMetricsAnaly> list) {
+    public AjaxResult insert(@RequestBody List<RipaMetricsAnalyVO> list) {
         return toAjax(ripaMetricsAnalyService.insertRipaMetricsAnalyBatch(list));
     }
 }

+ 2 - 1
jjt-biz/src/main/java/com/jjt/ripa/domain/RipaMetrics.java

@@ -31,9 +31,10 @@ public class RipaMetrics extends BaseEntity {
     @ApiModelProperty("模型ID")
     @Excel(name = "模型ID")
     private Long modelId;
-
     @ApiModelProperty("模型名称")
     private String modelName;
+    @ApiModelProperty("对象ID")
+    private Long objId;
     /**
      * 指标ID
      */

+ 12 - 2
jjt-biz/src/main/java/com/jjt/ripa/mapper/RipaMetricsAnalyMapper.java

@@ -2,7 +2,10 @@ package com.jjt.ripa.mapper;
 
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jjt.common.annotation.DataSource;
+import com.jjt.common.enums.DataSourceType;
 import com.jjt.ripa.domain.RipaMetricsAnaly;
+import com.jjt.ripa.vo.AlarmRecord;
 import com.jjt.ripa.vo.RipaMetricsAnalyVO;
 
 /**
@@ -35,7 +38,7 @@ public interface RipaMetricsAnalyMapper extends BaseMapper<RipaMetricsAnaly>
      * @param ripaMetricsAnaly 模型指标分析
      * @return 结果
      */
-    public int insertRipaMetricsAnaly(RipaMetricsAnaly ripaMetricsAnaly);
+    public int insertRipaMetricsAnaly(RipaMetricsAnalyVO ripaMetricsAnaly);
 
     /**
      * 修改模型指标分析
@@ -43,7 +46,7 @@ public interface RipaMetricsAnalyMapper extends BaseMapper<RipaMetricsAnaly>
      * @param ripaMetricsAnaly 模型指标分析
      * @return 结果
      */
-    public int updateRipaMetricsAnaly(RipaMetricsAnaly ripaMetricsAnaly);
+    public int updateRipaMetricsAnaly(RipaMetricsAnalyVO ripaMetricsAnaly);
 
     /**
      * 删除模型指标分析
@@ -60,4 +63,11 @@ public interface RipaMetricsAnalyMapper extends BaseMapper<RipaMetricsAnaly>
      * @return 结果
      */
     public int deleteRipaMetricsAnalyByAnalyIds(Long[] analyIds);
+
+    /**
+     * 插入告警记录
+     * @param alarmRecord 告警记录
+     */
+    @DataSource(value = DataSourceType.SLAVE)
+    void insertRipaAlarmRecord(AlarmRecord alarmRecord);
 }

+ 11 - 3
jjt-biz/src/main/java/com/jjt/ripa/service/IRipaMetricsAnalyService.java

@@ -34,7 +34,7 @@ public interface IRipaMetricsAnalyService {
      * @param ripaMetricsAnaly 模型指标分析
      * @return 结果
      */
-    public int insertRipaMetricsAnaly(RipaMetricsAnaly ripaMetricsAnaly);
+    public int insertRipaMetricsAnaly(RipaMetricsAnalyVO ripaMetricsAnaly);
 
     /**
      * 修改模型指标分析
@@ -42,7 +42,7 @@ public interface IRipaMetricsAnalyService {
      * @param ripaMetricsAnaly 模型指标分析
      * @return 结果
      */
-    public int updateRipaMetricsAnaly(RipaMetricsAnaly ripaMetricsAnaly);
+    public int updateRipaMetricsAnaly(RipaMetricsAnalyVO ripaMetricsAnaly);
 
     /**
      * 批量删除模型指标分析
@@ -66,5 +66,13 @@ public interface IRipaMetricsAnalyService {
      * @param autoIds 模型指标分析主键集合
      * @return 批量插入结果
      */
-    int insertRipaMetricsAnalyBatch(List<RipaMetricsAnaly> autoIds);
+    int insertRipaMetricsAnalyBatch(List<RipaMetricsAnalyVO> autoIds);
+
+    /**
+     * 立即分析
+     *
+     * @param analyId 分析ID
+     * @return 结果
+     */
+    String analy(Long analyId);
 }

+ 0 - 1
jjt-biz/src/main/java/com/jjt/ripa/service/impl/RipaAnalyRecordServiceImpl.java

@@ -49,7 +49,6 @@ public class RipaAnalyRecordServiceImpl implements IRipaAnalyRecordService {
      */
     @Override
     public int insertRipaAnalyRecord(RipaAnalyRecord ripaAnalyRecord) {
-                ripaAnalyRecord.setCreateTime(DateUtils.getNowDate());
             return ripaAnalyRecordMapper.insertRipaAnalyRecord(ripaAnalyRecord);
     }
 

+ 93 - 5
jjt-biz/src/main/java/com/jjt/ripa/service/impl/RipaMetricsAnalyServiceImpl.java

@@ -1,16 +1,25 @@
 package com.jjt.ripa.service.impl;
 
-import com.jjt.ripa.domain.RipaMetricsAnaly;
+import com.jjt.common.utils.DateUtils;
+import com.jjt.ripa.domain.RipaAlgo;
+import com.jjt.ripa.domain.RipaAnalyRecord;
 import com.jjt.ripa.mapper.RipaMetricsAnalyMapper;
+import com.jjt.ripa.service.IRipaAlgoService;
+import com.jjt.ripa.service.IRipaAnalyRecordService;
 import com.jjt.ripa.service.IRipaMetricsAnalyService;
+import com.jjt.ripa.service.IRipaMetricsService;
+import com.jjt.ripa.vo.AlarmRecord;
+import com.jjt.ripa.vo.ObjMetricsData;
 import com.jjt.ripa.vo.RipaMetricsAnalyVO;
-import com.jjt.common.utils.DateUtils;
+import com.jjt.utils.JavaScriptUtil;
 import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -25,6 +34,12 @@ public class RipaMetricsAnalyServiceImpl implements IRipaMetricsAnalyService {
     private RipaMetricsAnalyMapper ripaMetricsAnalyMapper;
     @Resource
     private SqlSessionFactory factory;
+    @Resource
+    private IRipaMetricsService ripaMetricsService;
+    @Resource
+    private IRipaAlgoService algoService;
+    @Resource
+    private IRipaAnalyRecordService recordService;
 
     /**
      * 查询模型指标分析
@@ -55,7 +70,7 @@ public class RipaMetricsAnalyServiceImpl implements IRipaMetricsAnalyService {
      * @return 结果
      */
     @Override
-    public int insertRipaMetricsAnaly(RipaMetricsAnaly ripaMetricsAnaly) {
+    public int insertRipaMetricsAnaly(RipaMetricsAnalyVO ripaMetricsAnaly) {
         ripaMetricsAnaly.setCreateTime(DateUtils.getNowDate());
         return ripaMetricsAnalyMapper.insertRipaMetricsAnaly(ripaMetricsAnaly);
     }
@@ -67,7 +82,7 @@ public class RipaMetricsAnalyServiceImpl implements IRipaMetricsAnalyService {
      * @return 结果
      */
     @Override
-    public int updateRipaMetricsAnaly(RipaMetricsAnaly ripaMetricsAnaly) {
+    public int updateRipaMetricsAnaly(RipaMetricsAnalyVO ripaMetricsAnaly) {
         ripaMetricsAnaly.setUpdateTime(DateUtils.getNowDate());
         return ripaMetricsAnalyMapper.updateRipaMetricsAnaly(ripaMetricsAnaly);
     }
@@ -101,7 +116,7 @@ public class RipaMetricsAnalyServiceImpl implements IRipaMetricsAnalyService {
      * @return 批量插入结果
      */
     @Override
-    public int insertRipaMetricsAnalyBatch(List<RipaMetricsAnaly>  metricsList) {
+    public int insertRipaMetricsAnalyBatch(List<RipaMetricsAnalyVO> metricsList) {
         if (metricsList.size() > 0) {
             try (SqlSession sqlSession = factory.openSession(ExecutorType.BATCH, false)) {
                 RipaMetricsAnalyMapper mapper = sqlSession.getMapper(RipaMetricsAnalyMapper.class);
@@ -114,4 +129,77 @@ public class RipaMetricsAnalyServiceImpl implements IRipaMetricsAnalyService {
         }
         return 1;
     }
+
+    /**
+     * 立即分析
+     *
+     * @param analyId 分析ID
+     * @return 结果
+     */
+    @Override
+    public String analy(Long analyId) {
+        String result = "";
+        RipaMetricsAnalyVO vo = selectRipaMetricsAnalyByAnalyId(analyId);
+        List<ObjMetricsData> dataList = ripaMetricsService.selectDataList(vo.getObjMetricsId(), 1000L);
+        RipaAlgo algo = algoService.selectRipaAlgoByAlgoId(vo.getAlgoId());
+        if ("1".equals(algo.getAlgoPara())) {
+            Double[] normalData = new Double[dataList.size()];
+            for (int i = 0; i < dataList.size(); i++) {
+                normalData[i] = dataList.get(i).getData();
+            }
+            try {
+                result = JavaScriptUtil.exec(algo.getAlgoScript(), normalData);
+            } catch (Exception e) {
+                result = "执行失败," + e.getMessage();
+                e.printStackTrace();
+            }
+        } else if ("2".equals(algo.getAlgoPara())) {
+            // 将dataList平均分成两个double数组
+            int totalSize = dataList.size();
+            int halfSize = totalSize / 2;
+
+            // 如果是奇数,去除最后一条记录
+            if (totalSize % 2 != 0) {
+                totalSize -= 1;
+                halfSize = totalSize / 2;
+            }
+            Double[] firstHalf = new Double[halfSize];
+            Double[] secondHalf = new Double[halfSize];
+            for (int i = 0; i < halfSize; i++) {
+                firstHalf[i] = dataList.get(i).getData();
+                secondHalf[i] = dataList.get(i + halfSize).getData();
+            }
+            try {
+                result = JavaScriptUtil.exec(algo.getAlgoScript(), firstHalf, secondHalf);
+            } catch (Exception e) {
+                result = "执行失败," + e.getMessage();
+                e.printStackTrace();
+            }
+        }
+        //告警时间
+        Date d = DateUtils.getNowDate();
+        RipaAnalyRecord record = new RipaAnalyRecord();
+        record.setAnalyId(analyId);
+        record.setAnalyResult(result);
+        record.setAlarmWitch("N");
+        if ("Y".equals(vo.getAlarmWitch())) {
+            if (result.contains(vo.getAlarmKey())) {
+                //处理告警
+                record.setAlarmWitch("Y");
+                AlarmRecord alarmRecord = new AlarmRecord();
+                alarmRecord.setAlarmType("1");
+                alarmRecord.setAlarmLevel("low");
+                alarmRecord.setObjId(vo.getObjId());
+                alarmRecord.setObjMetricsId(vo.getObjMetricsId());
+                alarmRecord.setAlarmValue(BigDecimal.valueOf(-1));
+                alarmRecord.setAlarmTime(d);
+                ripaMetricsAnalyMapper.insertRipaAlarmRecord(alarmRecord);
+            }
+        }
+        record.setCreateTime(d);
+        recordService.insertRipaAnalyRecord(record);
+        vo.setLastTime(d);
+        updateRipaMetricsAnaly(vo);
+        return result;
+    }
 }

+ 86 - 0
jjt-biz/src/main/java/com/jjt/ripa/vo/AlarmRecord.java

@@ -0,0 +1,86 @@
+package com.jjt.ripa.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 告警记录对象 alarm_record
+ *
+ * @author jjt
+ * @date 2024-08-08
+ */
+@ApiModel(value = "AlarmRecord", description = "告警记录")
+@Data
+public class AlarmRecord extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 告警ID
+     */
+    @ApiModelProperty("告警ID")
+    @TableId
+    private Long alarmId;
+
+    /**
+     * 告警对象
+     */
+    @ApiModelProperty("告警对象")
+    @Excel(name = "告警对象")
+    private Long objId;
+
+    @ApiModelProperty("对象类型")
+    private String objType;
+
+    @ApiModelProperty("对象名称")
+    private String objName;
+
+    @ApiModelProperty("告警指标")
+    @Excel(name = "告警指标")
+    private Long objMetricsId;
+    @Excel(name = "指标名称")
+    private String metricsName;
+
+    /**
+     * 告警类型
+     */
+    @ApiModelProperty("告警类型")
+    @Excel(name = "告警类型")
+    private String alarmType;
+
+    /**
+     * 告警级别
+     */
+    @ApiModelProperty("告警级别")
+    @Excel(name = "告警级别")
+    private String alarmLevel;
+
+    /**
+     * 告警值
+     */
+    @ApiModelProperty("告警值")
+    @Excel(name = "告警值")
+    private BigDecimal alarmValue;
+
+    /**
+     * 告警时间
+     */
+    @ApiModelProperty("告警时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "告警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date alarmTime;
+
+    @ApiModelProperty("告警结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endTime;
+
+    @ApiModelProperty("告警状态 1.当前风险 0.历史风险")
+    private String alarmStatus;
+}

+ 1 - 0
jjt-biz/src/main/java/com/jjt/ripa/vo/ObjMetrics.java

@@ -11,6 +11,7 @@ import lombok.Data;
 @Data
 public class ObjMetrics {
     private Long objMetricsId;
+    private Long objId;
     private String objType;
     private String objName;
     private String metricsName;

+ 2 - 0
jjt-biz/src/main/java/com/jjt/ripa/vo/RipaMetricsAnalyVO.java

@@ -32,6 +32,8 @@ public class RipaMetricsAnalyVO extends BaseEntity {
     @ApiModelProperty("指标名称")
     private String metricsName;
     @ApiModelProperty("对象类型")
+    private Long objId;
+    @ApiModelProperty("对象类型")
     private String objType;
     @ApiModelProperty("对象名称")
     private String objName;

+ 103 - 93
jjt-biz/src/main/resources/mapper/ripa/RipaAnalyRecordMapper.xml

@@ -5,133 +5,143 @@
 <mapper namespace="com.jjt.ripa.mapper.RipaAnalyRecordMapper">
 
     <resultMap type="RipaAnalyRecord" id="RipaAnalyRecordResult">
-            <result property="recordId" column="RECORD_ID"/>
-            <result property="analyId" column="ANALY_ID"/>
-            <result property="analyResult" column="ANALY_RESULT"/>
-            <result property="alarmWitch" column="ALARM_WITCH"/>
-            <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"/>
+        <result property="recordId" column="RECORD_ID"/>
+        <result property="analyId" column="ANALY_ID"/>
+        <result property="analyResult" column="ANALY_RESULT"/>
+        <result property="alarmWitch" column="ALARM_WITCH"/>
+        <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="selectRipaAnalyRecordVo">
-        select RECORD_ID, ANALY_ID, ANALY_RESULT, ALARM_WITCH, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, REMARK
+        select RECORD_ID,
+               ANALY_ID,
+               ANALY_RESULT,
+               ALARM_WITCH,
+               CREATE_BY,
+               CREATE_TIME,
+               UPDATE_BY,
+               UPDATE_TIME,
+               REMARK
         from ripa_analy_record
     </sql>
 
     <select id="selectRipaAnalyRecordList" parameterType="RipaAnalyRecord" resultMap="RipaAnalyRecordResult">
         <include refid="selectRipaAnalyRecordVo"/>
         <where>
-                        <if test="analyId != null ">
-                            and ANALY_ID = #{analyId}
-                        </if>
-                        <if test="analyResult != null  and analyResult != ''">
-                            and ANALY_RESULT like concat('%', #{analyResult}, '%')
-                        </if>
-                        <if test="alarmWitch != null  and alarmWitch != ''">
-                            and ALARM_WITCH = #{alarmWitch}
-                        </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>
+            <if test="analyId != null ">
+                and ANALY_ID = #{analyId}
+            </if>
+            <if test="analyResult != null  and analyResult != ''">
+                and ANALY_RESULT like concat('%', #{analyResult}, '%')
+            </if>
+            <if test="alarmWitch != null  and alarmWitch != ''">
+                and ALARM_WITCH = #{alarmWitch}
+            </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>
+        order by CREATE_TIME desc
     </select>
 
     <select id="selectRipaAnalyRecordByRecordId" parameterType="Long"
             resultMap="RipaAnalyRecordResult">
-            <include refid="selectRipaAnalyRecordVo"/>
-            where RECORD_ID = #{recordId}
+        <include refid="selectRipaAnalyRecordVo"/>
+        where RECORD_ID = #{recordId}
     </select>
 
     <insert id="insertRipaAnalyRecord" parameterType="RipaAnalyRecord" useGeneratedKeys="true"
             keyProperty="recordId">
         insert into ripa_analy_record
         <trim prefix="(" suffix=")" suffixOverrides=",">
-                    <if test="analyId != null">ANALY_ID,
-                    </if>
-                    <if test="analyResult != null">ANALY_RESULT,
-                    </if>
-                    <if test="alarmWitch != null">ALARM_WITCH,
-                    </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>
+            <if test="analyId != null">ANALY_ID,
+            </if>
+            <if test="analyResult != null">ANALY_RESULT,
+            </if>
+            <if test="alarmWitch != null">ALARM_WITCH,
+            </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="analyId != null">#{analyId},
-                    </if>
-                    <if test="analyResult != null">#{analyResult},
-                    </if>
-                    <if test="alarmWitch != null">#{alarmWitch},
-                    </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>
+            <if test="analyId != null">#{analyId},
+            </if>
+            <if test="analyResult != null">#{analyResult},
+            </if>
+            <if test="alarmWitch != null">#{alarmWitch},
+            </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="updateRipaAnalyRecord" parameterType="RipaAnalyRecord">
         update ripa_analy_record
         <trim prefix="SET" suffixOverrides=",">
-                    <if test="analyId != null">ANALY_ID =
-                        #{analyId},
-                    </if>
-                    <if test="analyResult != null">ANALY_RESULT =
-                        #{analyResult},
-                    </if>
-                    <if test="alarmWitch != null">ALARM_WITCH =
-                        #{alarmWitch},
-                    </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>
+            <if test="analyId != null">ANALY_ID =
+                #{analyId},
+            </if>
+            <if test="analyResult != null">ANALY_RESULT =
+                #{analyResult},
+            </if>
+            <if test="alarmWitch != null">ALARM_WITCH =
+                #{alarmWitch},
+            </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 RECORD_ID = #{recordId}
     </update>
 
     <delete id="deleteRipaAnalyRecordByRecordId" parameterType="Long">
         delete
-        from ripa_analy_record where RECORD_ID = #{recordId}
+        from ripa_analy_record
+        where RECORD_ID = #{recordId}
     </delete>
 
     <delete id="deleteRipaAnalyRecordByRecordIds" parameterType="String">

+ 70 - 9
jjt-biz/src/main/resources/mapper/ripa/RipaMetricsAnalyMapper.xml

@@ -36,13 +36,14 @@
                     FROM ripa_metrics_analy a,
                          (SELECT a.auto_id,
                                  a.model_id,
-                                 obj_metrics_id,
-                                 metrics_name,
-                                 obj_type,
-                                 obj_name,
-                                 algo_type,
-                                 ntr,
-                                 hov,
+                                 a.obj_id,
+                                 a.obj_metrics_id,
+                                 a.metrics_name,
+                                 a.obj_type,
+                                 a.obj_name,
+                                 a.algo_type,
+                                 a.ntr,
+                                 a.hov,
                                  b.model_name
                           FROM ripa_metrics a,
                                ripa_model b
@@ -102,7 +103,7 @@
         <include refid="selectRipaMetricsAnalyVo"/>
         where ANALY_ID = #{analyId}
     </select>
-    <insert id="insertRipaMetricsAnaly" parameterType="RipaMetricsAnaly">
+    <insert id="insertRipaMetricsAnaly" parameterType="com.jjt.ripa.vo.RipaMetricsAnalyVO">
         insert into ripa_metrics_analy
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="autoId != null">AUTO_ID,
@@ -161,8 +162,68 @@
             </if>
         </trim>
     </insert>
+    <insert id="insertRipaAlarmRecord" parameterType="com.jjt.ripa.vo.AlarmRecord" useGeneratedKeys="true"
+            keyProperty="alarmId">
+        insert into alarm_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="objId != null">OBJ_ID,
+            </if>
+            <if test="objMetricsId != null">OBJ_METRICS_ID,
+            </if>
+            <if test="alarmType != null">ALARM_TYPE,
+            </if>
+            <if test="alarmLevel != null">ALARM_LEVEL,
+            </if>
+            <if test="alarmValue != null">ALARM_VALUE,
+            </if>
+            <if test="alarmTime != null">ALARM_TIME,
+            </if>
+            <if test="endTime != null">END_TIME,
+            </if>
+            <if test="alarmStatus != null">ALARM_STATUS,
+            </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="objId != null">#{objId},
+            </if>
+            <if test="objMetricsId != null">#{objMetricsId},
+            </if>
+            <if test="alarmType != null">#{alarmType},
+            </if>
+            <if test="alarmLevel != null">#{alarmLevel},
+            </if>
+            <if test="alarmValue != null">#{alarmValue},
+            </if>
+            <if test="alarmTime != null">#{alarmTime},
+            </if>
+            <if test="endTime != null">#{endTime},
+            </if>
+            <if test="alarmStatus != null">#{alarmStatus},
+            </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="updateRipaMetricsAnaly" parameterType="RipaMetricsAnaly">
+    <update id="updateRipaMetricsAnaly" parameterType="com.jjt.ripa.vo.RipaMetricsAnalyVO">
         update ripa_metrics_analy
         <trim prefix="SET" suffixOverrides=",">
             <if test="autoId != null">AUTO_ID =

+ 5 - 1
jjt-biz/src/main/resources/mapper/ripa/RipaMetricsMapper.xml

@@ -94,7 +94,7 @@
         where AUTO_ID = #{autoId}
     </select>
     <select id="selectRiskMetricsList" parameterType="com.jjt.ripa.vo.ObjMetrics" resultMap="ObjMetricsResult">
-        SELECT a.OBJ_TYPE, a.OBJ_NAME, b.METRICS_NAME, b.OBJ_METRICS_ID
+        SELECT a.OBJ_ID,a.OBJ_TYPE, a.OBJ_NAME, b.METRICS_NAME, b.OBJ_METRICS_ID
         FROM (SELECT B.DICT_LABEL OBJ_TYPE, A.OBJ_ID, A.OBJ_NAME
         FROM biz_obj a,
         (SELECT dict_value, dict_label FROM sys_dict_data WHERE dict_type = 'biz_type') b
@@ -133,6 +133,8 @@
             </if>
             <if test="metricsName != null">METRICS_NAME,
             </if>
+            <if test="objId != null">OBJ_ID,
+            </if>
             <if test="objType != null">OBJ_TYPE,
             </if>
             <if test="objName != null">OBJ_NAME,
@@ -161,6 +163,8 @@
             </if>
             <if test="metricsName != null">#{metricsName},
             </if>
+            <if test="objId != null">#{objId},
+            </if>
             <if test="objType != null">#{objType},
             </if>
             <if test="objName != null">#{objName},