Merge remote-tracking branch 'origin/master'
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
2025-08-07 12:06:33 +08:00
3 changed files with 108 additions and 4 deletions

View File

@@ -0,0 +1,45 @@
package org.dromara.sis.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController;
import org.dromara.sis.domain.bo.SisAuthRecordBo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 主动推送的同步数据
* 前端访问路由地址为:/sis/dataSync
*
* @author lsm
* @since 2025-07-14
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/dataSync")
public class SisDataSyncController extends BaseController {
// private
@SaCheckPermission("sis:dataSync:add")
@Log(title = "人员库授权", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/add")
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAuthRecordBo bo, HttpServletRequest request) {
// return toAjax();
return R.ok();
}
}

View File

@@ -5,8 +5,11 @@ import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.property.api.RemoteFloorService;
import org.dromara.property.api.domain.vo.RemoteFloorVo;
import org.dromara.sis.domain.AlarmRecord;
import org.dromara.sis.domain.SisAlarmEvents;
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
import org.dromara.sis.service.AlarmRecordService;
import org.dromara.sis.service.ApiService;
import org.dromara.sis.service.ISisAlarmEventsService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -24,13 +27,15 @@ public class DataSyncTask {
private final ApiService apiService;
private final AlarmRecordService alarmRecordService;
private final ISisAlarmEventsService sisAlarmEventsService;
@Value("${sync.pageSize:100}")
private int pageSize;
public DataSyncTask(ApiService apiService, AlarmRecordService alarmRecordService) {
public DataSyncTask(ApiService apiService, AlarmRecordService alarmRecordService, ISisAlarmEventsService sisAlarmEventsService) {
this.apiService = apiService;
this.alarmRecordService = alarmRecordService;
this.sisAlarmEventsService = sisAlarmEventsService;
}
/**
@@ -77,6 +82,23 @@ public class DataSyncTask {
if (operators != null && !operators.isEmpty()) {
operatorMap.put(recordId, operators);
}
//同步成功后将两张表的数据合并到alarmEvents表中
SisAlarmEventsBo sisAlarmEvents = new SisAlarmEventsBo();
sisAlarmEvents.setId(recordId);
sisAlarmEvents.setType(Long.valueOf((Integer) recordMap.get("Type")));
sisAlarmEvents.setLevel(Long.valueOf((Integer) recordMap.get("Level")));
// //报警设备ip
// sisAlarmEvents.setDeviceIp();
sisAlarmEvents.setDeviceName(recordMap.get("DeviceName").toString());
sisAlarmEvents.setDeviceGroupId(Long.valueOf((Integer) recordMap.get("GroupId")));
sisAlarmEvents.setDeviceGroupName(recordMap.get("GroupName").toString());
sisAlarmEvents.setReportTime((Date) recordMap.get("StartTime"));
sisAlarmEvents.setState((Integer) recordMap.get("State"));
sisAlarmEvents.setWorkOrderId(Long.valueOf((Integer) recordMap.get("WorkOrderId")));
//保存报警事件
sisAlarmEventsService.insertByBo(sisAlarmEvents);
}
// 保存数据(包含操作记录)