Преглед изворни кода

新增 预警信息批量处理接口

zhaiyifei пре 8 месеци
родитељ
комит
b015fc370a

+ 11 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotWarnlogController.java

@@ -11,6 +11,7 @@ import com.yunfeiyun.agmp.common.utils.DateUtils;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.utils.poi.ExcelUtil;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnlog;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogBatchDealReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogDealReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnlogResVo;
@@ -124,4 +125,14 @@ public class IotWarnlogController extends BaseController{
     public AjaxResult remove(@PathVariable String[] wrBids){
         return toAjax(iotWarnlogService.deleteIotWarnlogByWlBids(wrBids,SecurityUtils.getTid()));
     }
+
+    /**
+     * 批量修改告警记录
+     */
+    @PreAuthorize("@ss.hasPermi('iot:warn:record:edit')")
+    @Log(title = "告警记录", businessType = BusinessType.UPDATE)
+    @PostMapping("/batch/deal")
+    public AjaxResult batchDeal(@Valid @RequestBody IotWarnlogBatchDealReqVo reqVo){
+        return toAjax(iotWarnlogService.batchDeal(reqVo));
+    }
 }

+ 12 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/domain/reqvo/IotWarnlogBatchDealReqVo.java

@@ -0,0 +1,12 @@
+package com.yunfeiyun.agmp.iotm.web.domain.reqvo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IotWarnlogBatchDealReqVo {
+    private List<String> wlBidList;
+
+    private String wlDealresult;
+}

+ 8 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/mapper/IotWarnlogMapper.java

@@ -63,4 +63,12 @@ public interface IotWarnlogMapper {
     public int deleteIotWarnlogByWlBids(@Param("array") String[] wlBids, @Param("tid") String tid);
 
     List<IotWarnlogResVo> selectIotWarnlogResVoList(IotWarnlogReqVo iotWarnlogReqVo);
+
+    /**
+     * 批量修改告警记录
+     *
+     * @param iotWarnlogList 告警记录
+     * @return 结果
+     */
+    public int batchUpdateIotWarnlog(List<IotWarnlog> iotWarnlogList);
 }

+ 17 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotWarnlogService.java

@@ -1,6 +1,7 @@
 package com.yunfeiyun.agmp.iotm.web.service;
 
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnlog;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogBatchDealReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnlogResVo;
 
@@ -64,4 +65,20 @@ public interface IIotWarnlogService {
      */
     public int deleteIotWarnlogByWlBids(String wlBid, String tid);
 
+    /**
+     * 批量修改告警记录
+     *
+     * @param iotWarnlogList 告警记录
+     * @return 结果
+     */
+    public int batchUpdateIotWarnlog(List<IotWarnlog> iotWarnlogList);
+
+    /**
+     * 批量处理告警记录
+     *
+     * @param iotWarnlogDealReqVo 告警记录
+     * @return 结果
+     */
+    public int batchDeal(IotWarnlogBatchDealReqVo reqVo);
+
 }

+ 50 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnlogServiceImpl.java

@@ -3,6 +3,7 @@ package com.yunfeiyun.agmp.iotm.web.service.impl;
 import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.core.domain.entity.SysUser;
 import com.yunfeiyun.agmp.common.exception.BizException;
+import com.yunfeiyun.agmp.common.utils.DateUtils;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.web.system.mapper.SysUserMapper;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
@@ -10,6 +11,7 @@ import com.yunfeiyun.agmp.iot.common.domain.IotWarnlog;
 import com.yunfeiyun.agmp.iot.common.domain.TosDevicetype;
 import com.yunfeiyun.agmp.iot.common.enums.warn.IotWarnTouchTypeEnum;
 import com.yunfeiyun.agmp.iot.common.enums.warn.IotWarnlevelEnum;
+import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogBatchDealReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnlogReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnlogResVo;
 import com.yunfeiyun.agmp.iotm.web.mapper.IotDeviceMapper;
@@ -204,6 +206,54 @@ public class IotWarnlogServiceImpl implements IIotWarnlogService {
         return iotWarnlogMapper.deleteIotWarnlogByWlBid(wlBid, tid);
     }
 
+    /**
+     * 批量修改告警记录
+     *
+     * @param iotWarnlogList 告警记录
+     * @return 结果
+     */
+    @Override
+    public int batchUpdateIotWarnlog(List<IotWarnlog> iotWarnlogList) {
+        return iotWarnlogMapper.batchUpdateIotWarnlog(iotWarnlogList);
+    }
+
+    /**
+     * 批量处理告警记录
+     *
+     * @param iotWarnlogDealReqVo 告警记录
+     * @return 结果
+     */
+    @Override
+    public int batchDeal(IotWarnlogBatchDealReqVo reqVo) {
+        List<String> wlBidList = reqVo.getWlBidList();
+        if(null == wlBidList || wlBidList.isEmpty()){
+            throw new BizException(ErrorCode.INVALID_PARAMETER.getCode(),"参数不能为空");
+        }
+        if(wlBidList.size() > 100){
+            throw new BizException(ErrorCode.INVALID_PARAMETER.getCode(),"一次最多处理100条数据");
+        }
+        String wlDealresult = reqVo.getWlDealresult();
+        String userId = SecurityUtils.getUserId();
+        String tid = SecurityUtils.getTid();
+        String wlDealtime = DateUtils.dateTimeNow();
+        List<IotWarnlog> dealLogList = new ArrayList<>();
+        for(String wlBid : wlBidList) {
+            IotWarnlog dealLog = new IotWarnlog();
+            dealLog.setTid(tid);
+            dealLog.setWlBid(wlBid);
+            dealLog.setWlDealresult(wlDealresult);
+            dealLog.setWlDealtime(wlDealtime);
+            dealLog.setWlDealuserid(userId);
+            dealLog.setStatus("1");
+
+            dealLogList.add(dealLog);
+        }
+        if(!dealLogList.isEmpty()){
+            return batchUpdateIotWarnlog(dealLogList);
+        }
+        return 0;
+    }
+
     public static void main(String[] args)throws Exception{
         try {
 

+ 23 - 0
src/main/resources/mapper/IotWarnlogMapper.xml

@@ -117,6 +117,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where wlBid = #{wlBid}
     </update>
 
+    <update id="batchUpdateIotWarnlog" parameterType="IotWarnlog">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update IotWarnlog
+            <trim prefix="SET" suffixOverrides=",">
+                <if test="item.wlBid!= null">wlBid = #{item.wlBid},</if>
+                <if test="item.wlName!= null">wlName = #{item.wlName},</if>
+                <if test="item.wcBid!= null">wcBid = #{item.wcBid},</if>
+                <if test="item.wlType!= null">wlType = #{item.wlType},</if>
+                <if test="item.wlContent!= null">wlContent = #{item.wlContent},</if>
+                <if test="item.wlLevel!= null">wlLevel = #{item.wlLevel},</if>
+                <if test="item.devtypeBid!= null">devtypeBid = #{item.devtypeBid},</if>
+                <if test="item.devBid!= null">devBid = #{item.devBid},</if>
+                <if test="item.status!= null">status = #{item.status},</if>
+                <if test="item.wlDealuserid!= null">wlDealuserid = #{item.wlDealuserid},</if>
+                <if test="item.wlDealresult!= null">wlDealresult = #{item.wlDealresult},</if>
+                <if test="item.wlDealtime!= null">wlDealtime = #{item.wlDealtime},</if>
+                <if test="item.wlCreateddate!= null">wlCreateddate = #{item.wlCreateddate},</if>
+                <if test="item.wlData!= null">wlData = #{item.wlData},</if>
+            </trim>
+            where wlBid = #{item.wlBid} and tid = #{item.tid}
+        </foreach>
+    </update>
+
     <delete id="deleteIotWarnlogByWlBid" >
         delete from IotWarnlog where wlBid = #{wlBid,javaType=string} and tid = #{tid,javaType=string}
     </delete>