已添加1个文件
已修改22个文件
477 ■■■■ 文件已修改
admin/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaWarningRuleWindow.vue 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/warningRule.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/doc/新增告警规则关联监控点(2025-12-10).sql 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageRegionInfoResponse.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningEvent.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningRuleDetail.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development
@@ -3,9 +3,9 @@
# VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
# VUE_APP_API_URL  = 'http://192.168.1.45:10010'
VUE_APP_API_URL  = 'http://192.168.1.45:10010'
#VUE_APP_API_URL  = 'http://192.168.0.7/system_gateway'
# #VUE_APP_API_URL  = 'http://192.168.0.7/system_gateway'
VUE_APP_API_URL  = 'http://localhost:10010'
admin/src/components/business/OperaWarningRuleWindow.vue
@@ -19,7 +19,7 @@
          </el-select>
        </el-form-item>
        <el-form-item label=""  style="display: inline-block;margin-left: 10px">
<!--          <el-select v-model="item.regionId" filterable multiple clearable  placeholder="请选择发生区域" >
<!--      <el-select v-model="item.regionId" filterable multiple clearable  placeholder="请选择发生区域" >
            <el-option v-for="item in regionList" :key="item.id" :label="item.name" :value="item.id">
            </el-option>
          </el-select>-->
@@ -34,6 +34,11 @@
              noChildrenText="没有子选项"
              noOptionsText="没有可选项"
              noResultsText="没有匹配的结果" />
        </el-form-item>
        <el-form-item label=""   style="display: inline-block;margin-left: 10px; " >
          <el-select v-model="item.deviceId" filterable placeholder="请选择监控点"   @change="changeCamera(item)" >
            <el-option v-for="item1 in item.carmeraList"   :label="item1.name" :value="item1.indexCode" ></el-option>
          </el-select>
        </el-form-item>
        <el-button type="danger" style="margin-left: 10px;height: 32px; " @click="delDo(index)" v-if="index>0 || form.detailList.length>1">删除</el-button>
      </div>
@@ -111,7 +116,7 @@
        intervalSec: '',
        sortnum: '',
        status: 0,
        detailList: [{ random: Math.random(), regionId: null, regionName: null, regionCode: null, warningId: null }]
        detailList: [{ random: Math.random(), regionId: null, regionName: null, deviceId: null, deviceName: null, regionCode: null, warningId: null }]
      },
      deviceSelect: [],
      memberSelect: [],
@@ -135,6 +140,7 @@
      api: '/business/warningRule',
      'field.id': 'id'
    })
    this.loadRegions()
  },
  methods: {
    normalizeOptions (node) {
@@ -148,18 +154,48 @@
        children: node.childList
      }
    },
    changeCamera (curitem) {
      var list = curitem.carmeraList
      if (list && list.length) {
        list.forEach(item => {
          if (curitem.deviceId === item.indexCode) {
            curitem.deviceName = item.name
          }
        })
      }
    },
    changeSel (opt) {
      console.log('=================changeSel',opt,this.form.detailList)
      var item = this.form.detailList[opt]
      this.form.detailList[opt].regionCode = null
      this.form.detailList[opt].regionName = null
      this.form.detailList[opt].carmeraList = []
      if (item.regionId) {
        var reg = this.getSelectedObject(item.regionId)
        if (reg) {
          this.form.detailList[opt].regionCode = reg.indexCode
          this.form.detailList[opt].regionName = reg.name
          this.form.detailList[opt].carmeraList = reg.carmeraList
        }
      }
      console.log(' this.form.detailList[opt]', reg, this.form.detailList[opt])
      this.$nextTick(() => {
        console.log('=================changeSel1' , this.form.detailList[opt].carmeraList,this.form.detailList[opt].deviceId)
        if(this.notInCarmeraList( this.form.detailList[opt].carmeraList,this.form.detailList[opt].deviceId) ){
          this.form.detailList[opt].deviceId = null
          this.form.detailList[opt].deviceName = null
        }
      })
    },
    notInCarmeraList (list, id) {
      var r = true
      if (list && list.length) {
        for (const item of list) {
          if (item.indexCode === id) {
            r = false
          }
        }
      }
      return r
    },
    getSelectedObject (id) {
      if (!id) {
@@ -179,7 +215,7 @@
      return findSelected(this.regionList) // å¼€å§‹æœç´¢å¹¶è¿”回结果
    },
    addDo () {
      this.form.detailList.push({ random: Math.random(), regionId: null, regionName: null, regionCode: null, warningId: null })
      this.form.detailList.push({ random: Math.random(), deviceId: null, deviceName: null, regionId: null, regionName: null, regionCode: null, warningId: null })
    },
    delDo (index) {
      if (this.form.detailList.length > 1 && this.form.detailList.length > index) {
@@ -221,7 +257,7 @@
        deviceNoticeContent: '',
        memberNotice: 1,
        status: 0,
        detailList: [{ random: Math.random(), regionId: null, regionName: null, regionCode: null, warningId: null }]
        detailList: [{ random: Math.random(), deviceId: null, deviceName: null, regionId: null, regionName: null, regionCode: null, warningId: null }]
      }
      // æ–°å»º
      if (target == null) {
@@ -229,19 +265,29 @@
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
        })
        return
      }
      // ç¼–辑
      this.$nextTick(() => {
        this.form.detailList =target.detailList
        for (const key in this.form) {
          this.form[key] = target[key]
          this.form.memberNotice = this.form.memberNotice || 0
          this.form.deviceNotice = this.form.deviceNotice || 0
          this.form.status = this.form.status || 0
        }
        console.log('===========================', this.form.detailList, target.detailList)
        if (!this.form.detailList || !this.form.detailList.length) {
          this.form.detailList = [{ random: Math.random(), regionId: null, regionName: null, regionCode: null, warningId: null }]
          this.form.detailList = [{ random: Math.random(), deviceId: null, deviceName: null, regionId: null, regionName: null, regionCode: null, warningId: null }]
        } else {
          this.form.detailList.forEach((item, index) => {
            if (item.regionId != null) {
              var region = this.getSelectedObject(item.regionId)
              if (region) {
                item.carmeraList = region.carmeraList || []
              }
            }
          })
        }
        if (this.form.memberIds) {
          this.memberSelect = this.form.memberIds.split(',')
admin/src/views/business/warningRule.vue
@@ -37,6 +37,13 @@
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="title" label="报警规则" min-width="200px" show-tooltip-when-overflow></el-table-column>
        <el-table-column prop="detailList" label="规则明细" min-width="360px" show-tooltip-when-overflow>
          <template slot-scope="{row}">
            <div  v-if="row.detailList && row.detailList.length">
                <div style="display: block;" v-for="item in row.detailList"> {{item.warningName||''}} {{item.regionName||''}} {{item.deviceName||''}};</div>
             </div>
          </template>
        </el-table-column>
        <el-table-column prop="memberNames" label="报警接收人" min-width="200px" show-tooltip-when-overflow>
          <template slot-scope="{row}">
           <span v-if="row.memberNotice === 1">{{row.memberNames}}</span>
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
@@ -12,8 +12,13 @@
    private String linkPhone;
    //设备ID
    private String devId;
    //是否双重验证 0否 1是
    private int doubleAuth;
    //酒精检测开启:0=开启;1=关闭
    private int  alcoholStatus;
    //主键
    private Integer id;
    //备注
@@ -113,4 +118,12 @@
    public void setActivateFileUrl(String activateFileUrl) {
        this.activateFileUrl = activateFileUrl;
    }
    public int getAlcoholStatus() {
        return alcoholStatus;
    }
    public void setAlcoholStatus(int alcoholStatus) {
        this.alcoholStatus = alcoholStatus;
    }
}
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
@@ -297,7 +297,14 @@
                //司机ic卡成功
                if(flag==0) {
                    //取
                    statusFsm(4);
                    if(MApplication.getConfigBean()!=null&&MApplication.getConfigBean().getAlcoholStatus()==1) {
                        //非酒精检测
                        startActivity(KeyCabinetActivity.class);
                        finish();
                    }else {
                        //酒精检测
                        statusFsm(4);
                    }
                }else {
                    //还
                    startActivity(KeyCabinetActivity.class);
@@ -651,7 +658,14 @@
                            MApplication.getLoginBean().setMemberId(Integer.parseInt(user.getUserId()));
                            MApplication.getLoginBean().setAuthType(0);
                            //handler.sendEmptyMessageDelayed(8,0);
                            EventBus.getDefault().post(new FaceStatusChangeEvent(4));
                            if(MApplication.getConfigBean()!=null&&MApplication.getConfigBean().getAlcoholStatus()==1) {
                                //非酒精检测
                                startActivity(KeyCabinetActivity.class);
                                finish();
                            }else {
                                //酒精检测
                                EventBus.getDefault().post(new FaceStatusChangeEvent(4));
                            }
                        }else if(status==7){
                            //还-司机
                            MApplication.getLoginBean().setMemberId(Integer.parseInt(user.getUserId()));
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/OfflineActivationActivity.java
@@ -2,12 +2,18 @@
import androidx.annotation.Nullable;
import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import com.baidu.idl.main.facesdk.FaceAuth;
import com.baidu.idl.main.facesdk.callback.Callback;
@@ -68,6 +74,8 @@
        getDB().accreditOffBtn.setOnClickListener(this);
        getDB().btnDown.setOnClickListener(this);
        setupDownloadManager();
        setupDownloadReceiver();
    }
    @Subscribe
@@ -127,19 +135,7 @@
                }
                if(!TextUtils.isEmpty(MApplication.getConfigBean().getActivateFileUrl())){
                    isDownLoad = true;
                    FileUtil.downLoadFile(filePath, MApplication.getConfigBean().getActivateFileUrl(), new FileUtil.DownLoadCallBack() {
                        @Override
                        public void sucess() {
                            ToastView.show(MApplication.mContext,"下载成功");
                            isDownLoad = false;
                        }
                        @Override
                        public void err(String e) {
                            ToastView.show(MApplication.mContext,e);
                            isDownLoad = false;
                        }
                    });
                    startDownload(MApplication.getConfigBean().getActivateFileUrl());
                }
                break;
            // ç¦»çº¿æ¿€æ´»
@@ -186,5 +182,52 @@
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (downloadReceiver != null) {
            unregisterReceiver(downloadReceiver);
        }
    }
    private BroadcastReceiver downloadReceiver;
    private DownloadManager downloadManager;
    private long downloadId;
    private void setupDownloadManager() {
        downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
    }
    private void startDownload(String url) {
        try {
            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
            // è®¾ç½®ä¸‹è½½å‚æ•°
            request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
            request.setTitle("文件下载");
            request.setDescription("正在下载文件...");
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
            request.setDestinationInExternalPublicDir("", "License.zip");
            // å¼€å§‹ä¸‹è½½
            downloadId = downloadManager.enqueue(request);
            Toast.makeText(mContext, "下载已开始", Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            isDownLoad = false;
            Toast.makeText(this, "下载失败: " + e.getMessage(), Toast.LENGTH_LONG).show();
        }
    }
    private void setupDownloadReceiver() {
        downloadReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive (Context context, Intent intent){
                long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
                if (id == downloadId) {
                    isDownLoad = false;
                    Toast.makeText(context, "文件下载完成", Toast.LENGTH_LONG).show();
                }
            }
        };
        registerReceiver(downloadReceiver,new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
    }
}
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
@@ -1305,7 +1305,7 @@
            getVM().addInfo(e.getMsg());
        }
    }
    private long lastCloseDoorTime;
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void CLGridEvent(CLGridEvent e){
        if(!isFinishing()){
@@ -1378,6 +1378,7 @@
                String open = data.substring(6,8);
                String key = bh+tdh;
                CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(key);
                lastCloseDoorTime = System.currentTimeMillis();
                if(gridDo!=null){
                    gridDo.setIsOpen("00".equals(open)?1:0);
                    gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
@@ -1542,10 +1543,10 @@
                    }else {
                        gridDo.setCurKeyCode("");
                    }
                    if("0101".equals(key)) {
                    /*if("0101".equals(key)) {
                        getVM().addInfo(key+" , "+isHaveKey+"  "+keyCode);
                        getVM().addInfo(key + "设置钥匙:" + gridDo.getCurKeyCode());
                    }
                    }*/
                    gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
                    updateList.add(gridDo);
                }
keyCabinet-android/app/src/main/res/layout/offline_activation_activity.xml
@@ -191,7 +191,7 @@
                    android:layout_below="@+id/accredit_setTv"
                    android:layout_marginTop="20dp"
                    android:gravity="center"
                    android:textColor="@color/white" />
                    android:textColor="@color/black" />
                <View
                    android:id="@+id/aaccredit_view"
server/doc/ÐÂÔö¸æ¾¯¹æÔò¹ØÁª¼à¿Øµã£¨2025-12-10£©.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
ALTER TABLE `wuhuyancao`.`warning_rule_detail`
ADD COLUMN `DEVICE_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '监控点名称' AFTER `REGION_ID`,
ADD COLUMN `DEVICE_ID` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '监控点主键' AFTER `DEVICE_NAME`;
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -320,29 +320,50 @@
    @PostMapping("/regionList")
    public ApiResponse<List<PageRegionInfoResponse> > getRegionList(HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token ){
        CarmeraListVO param  =new CarmeraListVO();
        param.setWithCameras(0);
        param.setWithCameras(1);
        List<PageRegionInfoResponse>  result = new ArrayList<>();
        try {
            result = boardService.getRegionTree( param);
        }catch (Exception e){
        }
        /*if(result.size()==0){
            //------TODO---------测试模拟数据----start-----
           /* for (int i = 0; i < 5; i++) {
            for (int i = 0; i < 5; i++) {
                PageRegionInfoResponse t = new PageRegionInfoResponse();
                t.setName("总区域_"+i);
                t.setIndexCode(i+"_code");
                t.setChildList(new ArrayList<>());
                t.setCarmeraList(new ArrayList<>());
                CarmeraListVO c= new CarmeraListVO();
                c.setName("监控点11"+i);
                c.setIndexCode("jkd11"+i);
                t.getCarmeraList().add(c);
                c= new CarmeraListVO();
                c.setName("监控点12"+i);
                c.setIndexCode("jkd12"+i);
                t.getCarmeraList().add(c);
                for (int j = 0; j < 5; j++) {
                    PageRegionInfoResponse t1 = new PageRegionInfoResponse();
                    t1.setName("子区域_"+i+"_"+j);
                    t1.setIndexCode(i+"_"+j+"_ChildCode");
                    t1.setParentIndexCode(t.getIndexCode());
                    t1.setCarmeraList(new ArrayList<>());
                    CarmeraListVO c1= new CarmeraListVO();
                    c1.setName(i+"监控点111"+j);
                    c1.setIndexCode(i+"jkd111"+j);
                    t1.getCarmeraList().add(c1);
                    c1= new CarmeraListVO();
                    c1.setName(i+"监控点112"+j);
                    c1.setIndexCode(i+"jkd112"+j);
                    t1.getCarmeraList().add(c1);
                    t.getChildList().add(t1);
                }
                result.add(t);
            }*/
            }
            //------TODO---------测试模拟数据----end-----
        }catch (Exception e){
        }
        }*/
        return ApiResponse.success(result);
    }
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: visitsAdmin
    # å®‰å…¨é…ç½®
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageRegionInfoResponse.java
@@ -1,7 +1,6 @@
package com.doumee.core.haikang.model.param.respose;
import com.doumee.dao.web.response.platformReport.CarmeraListVO;
import com.doumee.dao.web.response.platformReport.RegionTreeVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -12,17 +11,12 @@
     @ApiModelProperty(value = "区域唯一标识码")
     private String indexCode;//     Body      String      false      åŒºåŸŸå”¯ä¸€æ ‡è¯†ç 
     @ApiModelProperty(value = "区域名称")
     private String name     ;// Body      String      false      åŒºåŸŸåç§°
     @ApiModelProperty(value = "父区域唯一标识码")
     private String parentIndexCode ;//     Body      String      false      çˆ¶åŒºåŸŸå”¯ä¸€æ ‡è¯†ç 
     @ApiModelProperty(value = "树编号")
     private String treeCode ;//     Body      String      false      æ ‘编号
     @ApiModelProperty(value = "下级集合")
     private List<PageRegionInfoResponse> childList;
     @ApiModelProperty(value = "监控点集合")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningEvent.java
@@ -75,6 +75,9 @@
    @ApiModelProperty(value = "位置主键")
    private String regionId;
    @ApiModelProperty(value = "设备主键")
    private String deviceId;
    @ApiModelProperty(value = "唯一标识")
    //@ExcelColumn(name="唯一标识")
    private String eventId;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningPush.java
@@ -90,7 +90,7 @@
    //@ExcelColumn(name="推送时间")
    private Date pushDate;
    @ApiModelProperty(value = "推送方式 0钉钉通知", example = "1")
    @ApiModelProperty(value = "推送方式 0钉钉通知 1设备推送", example = "1")
    //@ExcelColumn(name="推送方式 0钉钉通知")
    private Integer pushType;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningRuleDetail.java
@@ -77,11 +77,20 @@
    @ExcelColumn(name="区域主键")
    private String regionId;
    @ApiModelProperty(value = "监控点名称")
    @ExcelColumn(name="监控点名称")
    private String deviceName;
    @ApiModelProperty(value = "监控点主键")
    @ExcelColumn(name="监控点主键")
    private String deviceId;
    @ApiModelProperty(value = "告警类型编码")
    @TableField(exist = false)
    private String code;
    @ApiModelProperty(value = "告警名称")
    @TableField(exist = false)
    private String warningName;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -54,6 +54,8 @@
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private PlatformBroadcastLogMapper platformBroadcastLogMapper;
    @Autowired
    private InterfaceLogMapper interfaceLogMapper;
    @Override
@@ -279,9 +281,9 @@
        String input = "";
        model.setSendInfo(param.getSendInfo());
        return  sendBroadcaseBobaoHttpBiz(model);
        return  sendBroadcaseBobaoHttpBiz(model,interfaceLogMapper);
    }
    public static String sendBroadcaseBobaoHttpBiz(Device model){
    public static String sendBroadcaseBobaoHttpBiz(Device model,InterfaceLogMapper interfaceLogMapper){
        //重新下发计划
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("command","start");
@@ -298,8 +300,27 @@
        log.error("========海康广播播放入参内容 : " + params);
        String result = HttpsUtil.doPutHk(model.getIp(),Integer.parseInt(StringUtils.defaultString(model.getPort(),"80")),model.getDoorId(), model.getDoorName()
                ,"/ISAPI/AccessControl/EventCardLinkageCfg/TTSAudio?format=json",params);
        log.error("========海康广播播放返回内容 : " + result);
        JSONObject resultJson = JSONObject.parseObject(result);
        Boolean success = false;
        if(Constants.equalsInteger(resultJson.getInteger("statusCode"),Constants.ONE)){
            success = true;
        }
        InterfaceLog log = new InterfaceLog();
        log.setCreateDate(new Date());
        log.setUrl("/ISAPI/AccessControl/EventCardLinkageCfg/TTSAudio?format=json");
        log.setEditDate(log.getCreateDate());
        log.setPlat(Constants.ZERO);
        log.setName("海康广播播放");
        log.setIsdeleted(Constants.ZERO);
        log.setRequest(params);
        log.setType(Constants.ZERO);
        log.setSuccess(success?Constants.ZERO:Constants.ONE);
        log.setRepose(result);
        interfaceLogMapper.insert(log);
        return result;
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -64,6 +64,12 @@
    private WarningEventMapper warningEventMapper;
    @Autowired
    private DeviceMapper deviceMapper;
    @Autowired
    private InterfaceLogMapper interfaceLogMapper;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
@@ -698,27 +704,43 @@
                        warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
                        );
                        //todo æš‚时关闭 é’‰é’‰é€šçŸ¥
                        //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                        //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                        //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                        if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
                            //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                            //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                            //                      dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                            //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                        }
                        warningPushMapper.insert(warningPush);
                        warningEvent.setStatus(Constants.ONE);
                        warningEventMapper.updateById(warningEvent);
                        this.sendDeviceNotice(warningRule);
                    }catch (Exception e){
                        warningEvent.setStatus(Constants.TWO);
                        warningEventMapper.updateById(warningEvent);
                    }
                }
            }
        }
    }
    public void sendDeviceNotice(WarningRule warningRule){
        if(Constants.equalsInteger(warningRule.getDeviceNotice(),Constants.ONE)&&StringUtils.isNotBlank(warningRule.getDeviceIds())&&StringUtils.isNotBlank(warningRule.getDeviceNoticeContent())){
            List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>()
                    .lambda()
                    .eq(Device::getStatus,Constants.ZERO)
                    .eq(Device::getId,Arrays.asList(warningRule.getDeviceIds().split(",")))
            );
            if(CollectionUtils.isNotEmpty(deviceList)){
                for (Device device:deviceList) {
                    device.setSendInfo(warningRule.getDeviceNoticeContent());
                    DeviceServiceImpl.sendBroadcaseBobaoHttpBiz(device,interfaceLogMapper);
                }
            }
        }
    }
    public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
   /* public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
        List<WarningRuleDetail> warningRuleDetailList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                .selectAll(WarningRuleDetail.class)
                .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
@@ -737,6 +759,9 @@
            List<Integer> resultList = new ArrayList<>();
            for (Integer ruleId:ruleIdSet) {
                WarningRule warningRule = warningRuleMapper.selectById(ruleId);
                if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ZERO)&&Constants.equalsInteger(warningRule.getDeviceNotice(),Constants.ZERO)){
                    continue;
                }
                //查询其他规则信息
                List<WarningRuleDetail> warningRuleDetails = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                        .selectAll(WarningRuleDetail.class)
@@ -789,6 +814,84 @@
        return new ArrayList<>();
    }*/
    public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){
        List<WarningRuleDetail> warningRuleDetailList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                .selectAll(WarningRuleDetail.class)
                .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
                .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO)
                .eq(Warning::getIsdeleted,Constants.ZERO)
                .eq(Warning::getStatus,Constants.ONE)
                .eq(Warning::getCode,warningConfig.getKey())
        );
            if(CollectionUtils.isEmpty(warningRuleDetailList)){
            return new ArrayList<>();
        }
        //所有报警规则配置信息
        List<Integer> ruleIdList = warningRuleDetailList.stream().map(i->i.getRuleId()).collect(Collectors.toList());;
        Set<Integer> ruleIdSet = new HashSet<>(ruleIdList);
            if(CollectionUtils.isNotEmpty(ruleIdSet)){
            List<Integer> resultList = new ArrayList<>();
            for (Integer ruleId:ruleIdSet) {
                WarningRule warningRule = warningRuleMapper.selectById(ruleId);
                //查询其他规则信息
                List<WarningRuleDetail> warningRuleDetails = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>()
                        .selectAll(WarningRuleDetail.class)
                        .selectAs(Warning::getCode,WarningRuleDetail::getCode)
                        .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
                        .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO)
                        .eq(Warning::getIsdeleted,Constants.ZERO)
                        .eq(Warning::getStatus,Constants.ONE)
                        .eq(WarningRuleDetail::getRuleId,ruleId)
//                        .in(Warning::getCode,Constants.WarningConfig.ALARM_TEST.getKey(),
//                                Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey(),
//                                Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()
//                        )
                );
                //无任何规则 ç›´æŽ¥è·³è¿‡
                if(CollectionUtils.isEmpty(warningRuleDetails)){
                    return resultList;
                }else if(!Constants.equalsInteger(warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList()).size(),Constants.ZERO)){
                    List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList());
                    //获取所有其他所有事件主键信息
                    List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList());
                    Set<Integer> setWarningIdList = new HashSet<>(warningIdList);
                    //获取时间内所有事件信息
                    List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda()
                            .eq(WarningEvent::getIsdeleted,Constants.ZERO)
                            .in(WarningEvent::getWarningId,setWarningIdList)
                            .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ")
                    );
                    if(this.processWarnFlag(wList,warningEventList)){
                        resultList.add(ruleId);
                    };
                }else{
                    List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList());
                    //获取本次事件主键信息
                    List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList());
                    Set<Integer> setWarningIdList = new HashSet<>(warningIdList);
                    if(Objects.isNull(warningRule.getIntervalSec())){
                        resultList.add(ruleId);
                    }else{
                        //获取时间内所有事件信息
                        List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda()
                                .eq(WarningEvent::getIsdeleted,Constants.ZERO)
                                .in(WarningEvent::getWarningId,setWarningIdList)
                                .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ")
                        );
                        if(this.processWarnFlag(wList,warningEventList)){
                            resultList.add(ruleId);
                        }
                    }
                }
            }
            return resultList;
        }
            return new ArrayList<>();
    }
@@ -803,9 +906,9 @@
            return false;
        }
        for (WarningRuleDetail warningRuleDetail:warningRuleDetails) {
            if(Objects.nonNull(warningRuleDetail.getRegionId())){
            if(Objects.nonNull(warningRuleDetail.getDeviceId())){
                if(warningEventList.stream().filter(i->Constants.equalsInteger(i.getWarningId(),warningRuleDetail.getWarningId())
                        && StringUtils.isNotBlank(i.getRegionId()) && i.getRegionId().equals(warningRuleDetail.getRegionId())
                        && StringUtils.isNotBlank(i.getDeviceId()) && i.getDeviceId().equals(warningRuleDetail.getDeviceId())
                ).collect(Collectors.toList()).size()<=Constants.ZERO){
                    return false;
                }
@@ -907,13 +1010,16 @@
                    warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
                    );
                    //todo æš‚时关闭 é’‰é’‰é€šçŸ¥
        //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
        //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
        //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                    if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
                        //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                        //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
//                    warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                    }
                    warningPushMapper.insert(warningPush);
                    warningEvent.setStatus(Constants.ONE);
                    warningEventMapper.updateById(warningEvent);
                    this.sendDeviceNotice(warningRule);
                }catch (Exception e){
                    warningEvent.setStatus(Constants.TWO);
                    warningEventMapper.updateById(warningEvent);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -260,11 +260,14 @@
                            );
                            warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
                            );
                            // todo æš‚时关闭 é’‰é’‰é€šçŸ¥
                            //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                            //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                            //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                            //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                            if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
                                //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                                //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                                //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
//                          warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                            }
                            impl.sendDeviceNotice(warningRule);
                            warningPushMapper.insert(warningPush);
                            falg = true;
                        }catch (Exception e){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1549,7 +1549,8 @@
                .eq(pageWrap.getModel().getHkStatus()!=null,Member::getHkStatus,pageWrap.getModel().getHkStatus())
                .orderByAsc(Company::getSortnum)
                .orderByAsc(Position::getSortnum);
                .orderByAsc(Position::getSortnum)
                .orderByAsc(Member::getId);
//                .orderByAsc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getPinyin)
//                .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getEditDate);
        if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java
@@ -271,7 +271,7 @@
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCarCode()),ParkBook::getCarCode,pageWrap.getModel().getCarCode());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getParksName()),Parks::getName,pageWrap.getModel().getParksName());
        queryWrapper.orderByDesc(ParkBook::getCreateDate);
        queryWrapper.orderByDesc(ParkBook::getCreateDate,ParkBook::getId);
        IPage<ParkBook> result = parkBookJoinMapper.selectJoinPage(page, ParkBook.class,queryWrapper);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java
@@ -344,8 +344,12 @@
        queryWrapper.orderByDesc(WarningRule::getCreateDate);
        IPage<WarningRule> result = warningRuleMapper.selectJoinPage(page, WarningRule.class,queryWrapper);
        if(result.getRecords()!=null && result.getRecords().size()>0){
            List<WarningRuleDetail> allList = warningRuleDetailMapper.selectList(new LambdaQueryWrapper<WarningRuleDetail>()
                    .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO));
            List<WarningRuleDetail> allList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,
                    new MPJLambdaWrapper<WarningRuleDetail>()
                            .selectAll(WarningRuleDetail.class)
                            .selectAs(Warning::getName,WarningRuleDetail::getWarningName)
                            .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId)
                            .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO));
            for(WarningRule model :result.getRecords()){
                model.setDetailList(getDetailListFromAll(allList,model.getId()));
            }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java
@@ -7,6 +7,8 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.dingTalk.DingTalk;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.EventSubRequest;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
@@ -294,7 +296,8 @@
        if(Constants.equalsInteger(model.getStatus(),param.getStatus())){
            return;
        }
        if(StringUtils.isNotBlank(param.getCode())&&Constants.equalsInteger(model.getType(),Constants.ZERO)||Constants.equalsInteger(model.getType(),Constants.ONE)){
        if(StringUtils.isNotBlank(model.getCode())&&(Constants.equalsInteger(model.getType(),Constants.ZERO)||Constants.equalsInteger(model.getType(),Constants.ONE))){
            EventSubRequest eventParam = new EventSubRequest();
            String path =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_URL).getCode();
            eventParam.setEventDest(path+"/notice");
@@ -305,11 +308,17 @@
            }
            HKService.cancelEventSub(eventParam);//先取消
            if(Constants.equalsInteger(param.getStatus(),Constants.ONE)){
                HKService.eventSub(eventParam);//安防事件
                BaseResponse response =  HKService.eventSub(eventParam);//安防事件
                if(Objects.nonNull(response)&&StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                    model.setSubscribeStatus(Constants.ONE);
                }else{
                    model.setSubscribeStatus(Constants.TWO);
                    model.setSubscribeInfo(response.getMsg());
                }
            }else{
                model.setSubscribeStatus(Constants.ZERO);
            }
        }
        model.setStatus(param.getStatus());
        model.setEditDate(new Date());
        model.setEditor(param.getLoginUserInfo().getId());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -156,8 +156,9 @@
            }
            if(delRetentionLis.size()>0){
                //先删除原有的在场人员(内部人员)
                //@ApiModelProperty(value = "类型 0劳务访客 1普通访客 2内部员工 3车辆信息 4相关方人员 5货运司机  ")
                retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
//                        .eq(Retention::getType,Constants.memberType.internal)
                        .ne(Retention::getType,Constants.THREE)
                        .in(Retention::getMemberId,delRetentionLis));
            }
            if(retentionList.size()>0){
@@ -482,7 +483,7 @@
            for(EventBaseInfoRequest request : events){
                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
                        .eq(Warning::getIsdeleted,Constants.ZERO)
                        .eq(Warning::getCode, request.getSrcType()).last("limit 1"));
                        .eq(Warning::getCode, request.getEventType()).last("limit 1"));
                Constants.WarningConfig warningConfig = Constants.WarningConfig.getConfig(request.getEventType());
                
@@ -501,12 +502,14 @@
                    warningEvent.setSrcIndex(request.getSrcIndex());
                    warningEvent.setSrcType(request.getSrcType());
                    warningEvent.setSrcName(request.getSrcName());
                    warningEvent.setWarningId(warning.getId());
                    warningEvent.setDeviceId(request.getSrcIndex());
                    warningEventMapper.insert(warningEvent);
                    if(Objects.nonNull(warningConfig)){
                        List<Integer> ruleIdList =  impl.processWarnFront(warningConfig);
                        Boolean falg = false;
                        Boolean falg = true;
                        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ruleIdList)){
                            for (Integer ruleId:ruleIdList) {
                                WarningRule warningRule = warningRuleMapper.selectById(ruleId);
@@ -537,34 +540,28 @@
                                    );
                                    warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",")
                                    );
                                    // todo æš‚时关闭 é’‰é’‰é€šçŸ¥
                                    //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                                    //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                                    //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
                                    //            warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                                    if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
                                        //            Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
                                        //                    StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
                                        //                dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
//                                  warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
                                    }
                                    impl.sendDeviceNotice(warningRule);
                                    warningPushMapper.insert(warningPush);
                                    falg = true;
                                }catch (Exception e){
                                    falg = false;
                                    warningEvent.setStatus(Constants.TWO);
                                    warningEventMapper.updateById(warningEvent);
                                }
                            }
                        }
                        if(falg){
                        if(!falg){
                            warningEvent.setStatus(Constants.ONE);
                            warningEventMapper.updateById(warningEvent);
                        }
                    }
                }
            }