导出接收参数,增加服务器离线日志。
This commit is contained in:
@@ -17,6 +17,7 @@ import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
|
||||
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
|
||||
import org.apache.rocketmq.common.message.MessageExt;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
@@ -26,6 +27,7 @@ import java.math.RoundingMode;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -36,6 +38,10 @@ import java.util.stream.Collectors;
|
||||
@Component
|
||||
public class RocketMsgListener implements MessageListenerConcurrently {
|
||||
|
||||
// 在类中添加以下成员变量来记录心跳状态
|
||||
private final Map<String, Integer> heartbeatStatusMap = new ConcurrentHashMap<>(); // 客户端ID -> 连续丢失心跳次数
|
||||
private final Map<String, Long> lastHeartbeatTimeMap = new ConcurrentHashMap<>(); // 客户端ID -> 最后心跳时间
|
||||
|
||||
|
||||
private final IInitialBandwidthTrafficService initialBandwidthTrafficService;
|
||||
private final RemoteRevenueConfigService remoteRevenueConfigService;
|
||||
@@ -56,6 +62,8 @@ public class RocketMsgListener implements MessageListenerConcurrently {
|
||||
@Autowired
|
||||
private IInitialSwitchInfoTempService initialSwitchInfoTempService;
|
||||
@Autowired
|
||||
private IInitialHeartbeatListenLogService initialHeartbeatListenLog;
|
||||
@Autowired
|
||||
public RocketMsgListener(IInitialBandwidthTrafficService initialBandwidthTrafficService,
|
||||
RemoteRevenueConfigService remoteRevenueConfigService) {
|
||||
this.initialBandwidthTrafficService = initialBandwidthTrafficService;
|
||||
@@ -120,6 +128,9 @@ public class RocketMsgListener implements MessageListenerConcurrently {
|
||||
case "SWITCHBOARD":
|
||||
handleSwitchMessage(message);
|
||||
break;
|
||||
case "HEARTBEAT":
|
||||
handleHeartbeatMessage(message);
|
||||
break;
|
||||
default:
|
||||
log.warn("未知数据类型:{}",message.getDataType());
|
||||
}
|
||||
@@ -380,4 +391,77 @@ public class RocketMsgListener implements MessageListenerConcurrently {
|
||||
throw new RuntimeException("系统data数据为空");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 监听心跳
|
||||
* @param message
|
||||
*/
|
||||
private void handleHeartbeatMessage(DeviceMessage message) {
|
||||
try {
|
||||
List<InitialHeartbeatListen> heartbeats = JsonDataParser.parseJsonData(message.getData(), InitialHeartbeatListen.class);
|
||||
if(!heartbeats.isEmpty()){
|
||||
InitialHeartbeatListen heartbeat = heartbeats.get(0);
|
||||
String clientId = message.getClientId();
|
||||
log.info("处理心跳消息,客户端ID: {}, 时间: {}", clientId, heartbeat.getTimestamp());
|
||||
|
||||
// 更新心跳状态
|
||||
heartbeatStatusMap.put(clientId, 0); // 重置为0表示收到心跳
|
||||
lastHeartbeatTimeMap.put(clientId, System.currentTimeMillis());
|
||||
|
||||
// 检查是否之前有丢失心跳的情况
|
||||
if (heartbeatStatusMap.getOrDefault(clientId, 0) > 0) {
|
||||
// 之前有丢失心跳,现在恢复了,记录恢复日志
|
||||
log.warn("客户端ID: {} 心跳恢复", clientId);
|
||||
insertHeartbeatLog(clientId, "2", "心跳恢复,服务器在线"); // 1表示恢复
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("处理心跳消息异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
// 添加一个定时任务方法,定期检查心跳状态
|
||||
@Scheduled(fixedRate = 60000) // 每分钟检查一次
|
||||
public void checkHeartbeatStatus() {
|
||||
long currentTime = System.currentTimeMillis();
|
||||
long heartbeatTimeout = 180000; // 3分钟无心跳认为丢失
|
||||
|
||||
for (Map.Entry<String, Long> entry : lastHeartbeatTimeMap.entrySet()) {
|
||||
String clientId = entry.getKey();
|
||||
long lastHeartbeatTime = entry.getValue();
|
||||
|
||||
if (currentTime - lastHeartbeatTime > heartbeatTimeout) {
|
||||
// 心跳超时
|
||||
int lostCount = heartbeatStatusMap.getOrDefault(clientId, 0) + 1;
|
||||
heartbeatStatusMap.put(clientId, lostCount);
|
||||
|
||||
log.warn("客户端ID: {} 心跳丢失,连续次数: {}", clientId, lostCount);
|
||||
|
||||
if (lostCount == 3) {
|
||||
// 两次获取不到心跳
|
||||
insertHeartbeatLog(clientId, "3", "连续三次心跳丢失,服务器离线");
|
||||
// 把资源注册表资源信息改为离线
|
||||
// RmResourceRegistrationRemote rmResourceRegistrationRemote = new RmResourceRegistrationRemote();
|
||||
// rmResourceRegistrationRemote.setOnlineStatus("0");
|
||||
// remoteRevenueConfigService.updateStatusByResource(rmResourceRegistrationRemote, SecurityConstants.INNER);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 插入心跳日志到数据库
|
||||
private void insertHeartbeatLog(String machineId, String status, String remark) {
|
||||
try {
|
||||
InitialHeartbeatListenLog listenLog = new InitialHeartbeatListenLog();
|
||||
listenLog.setClientId(machineId);
|
||||
listenLog.setStatus(status); // 0-离线 1-在线 2-恢复 3-三次丢失
|
||||
listenLog.setRemark(remark);
|
||||
listenLog.setCreateTime(new Date());
|
||||
|
||||
// 调用DAO或Service插入日志
|
||||
initialHeartbeatListenLog.insertInitialHeartbeatListenLog(listenLog);
|
||||
log.info("已记录心跳日志,客户端ID: {}, 状态: {}", machineId, status);
|
||||
} catch (Exception e) {
|
||||
log.error("插入心跳日志失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.ruoyi.rocketmq.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.ruoyi.common.log.annotation.Log;
|
||||
import com.ruoyi.common.log.enums.BusinessType;
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListen;
|
||||
import com.ruoyi.rocketmq.service.IInitialHeartbeatListenService;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 心跳信息Controller
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/heartbeatListen")
|
||||
public class InitialHeartbeatListenController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IInitialHeartbeatListenService initialHeartbeatListenService;
|
||||
|
||||
/**
|
||||
* 查询心跳信息列表
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:heartbeatListen:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(InitialHeartbeatListen initialHeartbeatListen)
|
||||
{
|
||||
startPage();
|
||||
List<InitialHeartbeatListen> list = initialHeartbeatListenService.selectInitialHeartbeatListenList(initialHeartbeatListen);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出心跳信息列表
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:heartbeatListen:export")
|
||||
@Log(title = "心跳信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, InitialHeartbeatListen initialHeartbeatListen)
|
||||
{
|
||||
List<InitialHeartbeatListen> list = initialHeartbeatListenService.selectInitialHeartbeatListenList(initialHeartbeatListen);
|
||||
ExcelUtil<InitialHeartbeatListen> util = new ExcelUtil<InitialHeartbeatListen>(InitialHeartbeatListen.class);
|
||||
util.exportExcel(response, list, "心跳信息数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取心跳信息详细信息
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:heartbeatListen:query")
|
||||
@GetMapping(value = "/{clientId}")
|
||||
public AjaxResult getInfo(@PathVariable("clientId") String clientId)
|
||||
{
|
||||
return success(initialHeartbeatListenService.selectInitialHeartbeatListenByClientId(clientId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增心跳信息
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:heartbeatListen:add")
|
||||
@Log(title = "心跳信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody InitialHeartbeatListen initialHeartbeatListen)
|
||||
{
|
||||
return toAjax(initialHeartbeatListenService.insertInitialHeartbeatListen(initialHeartbeatListen));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改心跳信息
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:heartbeatListen:edit")
|
||||
@Log(title = "心跳信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody InitialHeartbeatListen initialHeartbeatListen)
|
||||
{
|
||||
return toAjax(initialHeartbeatListenService.updateInitialHeartbeatListen(initialHeartbeatListen));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除心跳信息
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:heartbeatListen:remove")
|
||||
@Log(title = "心跳信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{clientIds}")
|
||||
public AjaxResult remove(@PathVariable String[] clientIds)
|
||||
{
|
||||
return toAjax(initialHeartbeatListenService.deleteInitialHeartbeatListenByClientIds(clientIds));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.ruoyi.rocketmq.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.ruoyi.common.log.annotation.Log;
|
||||
import com.ruoyi.common.log.enums.BusinessType;
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListenLog;
|
||||
import com.ruoyi.rocketmq.service.IInitialHeartbeatListenLogService;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 心跳信息日志Controller
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/log")
|
||||
public class InitialHeartbeatListenLogController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IInitialHeartbeatListenLogService initialHeartbeatListenLogService;
|
||||
|
||||
/**
|
||||
* 查询心跳信息日志列表
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:log:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(InitialHeartbeatListenLog initialHeartbeatListenLog)
|
||||
{
|
||||
startPage();
|
||||
List<InitialHeartbeatListenLog> list = initialHeartbeatListenLogService.selectInitialHeartbeatListenLogList(initialHeartbeatListenLog);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出心跳信息日志列表
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:log:export")
|
||||
@Log(title = "心跳信息日志", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, InitialHeartbeatListenLog initialHeartbeatListenLog)
|
||||
{
|
||||
List<InitialHeartbeatListenLog> list = initialHeartbeatListenLogService.selectInitialHeartbeatListenLogList(initialHeartbeatListenLog);
|
||||
ExcelUtil<InitialHeartbeatListenLog> util = new ExcelUtil<InitialHeartbeatListenLog>(InitialHeartbeatListenLog.class);
|
||||
util.exportExcel(response, list, "心跳信息日志数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取心跳信息日志详细信息
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:log:query")
|
||||
@GetMapping(value = "/{clientId}")
|
||||
public AjaxResult getInfo(@PathVariable("clientId") String clientId)
|
||||
{
|
||||
return success(initialHeartbeatListenLogService.selectInitialHeartbeatListenLogByClientId(clientId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增心跳信息日志
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:log:add")
|
||||
@Log(title = "心跳信息日志", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody InitialHeartbeatListenLog initialHeartbeatListenLog)
|
||||
{
|
||||
return toAjax(initialHeartbeatListenLogService.insertInitialHeartbeatListenLog(initialHeartbeatListenLog));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改心跳信息日志
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:log:edit")
|
||||
@Log(title = "心跳信息日志", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody InitialHeartbeatListenLog initialHeartbeatListenLog)
|
||||
{
|
||||
return toAjax(initialHeartbeatListenLogService.updateInitialHeartbeatListenLog(initialHeartbeatListenLog));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除心跳信息日志
|
||||
*/
|
||||
@RequiresPermissions("rocketmq:log:remove")
|
||||
@Log(title = "心跳信息日志", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{clientIds}")
|
||||
public AjaxResult remove(@PathVariable String[] clientIds)
|
||||
{
|
||||
return toAjax(initialHeartbeatListenLogService.deleteInitialHeartbeatListenLogByClientIds(clientIds));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.ruoyi.rocketmq.domain;
|
||||
|
||||
import com.ruoyi.common.core.annotation.Excel;
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 心跳信息对象 initial_heartbeat_listen
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
@Data
|
||||
public class InitialHeartbeatListen extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 客户端ID */
|
||||
private String clientId;
|
||||
|
||||
/** 强度值 */
|
||||
@Excel(name = "强度值")
|
||||
private Long strength;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.ruoyi.rocketmq.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.common.core.annotation.Excel;
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 心跳信息日志对象 initial_heartbeat_listen_log
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
public class InitialHeartbeatListenLog extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 客户端ID */
|
||||
private String clientId;
|
||||
|
||||
/** 状态0-正常 1-恢复 2-两次丢失 3-三次丢失 */
|
||||
@Excel(name = "状态0-正常 1-恢复 2-两次丢失 3-三次丢失")
|
||||
private String status;
|
||||
|
||||
public void setClientId(String clientId)
|
||||
{
|
||||
this.clientId = clientId;
|
||||
}
|
||||
|
||||
public String getClientId()
|
||||
{
|
||||
return clientId;
|
||||
}
|
||||
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("clientId", getClientId())
|
||||
.append("status", getStatus())
|
||||
.append("remark", getRemark())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.rocketmq.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListenLog;
|
||||
|
||||
/**
|
||||
* 心跳信息日志Mapper接口
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
public interface InitialHeartbeatListenLogMapper
|
||||
{
|
||||
/**
|
||||
* 查询心跳信息日志
|
||||
*
|
||||
* @param clientId 心跳信息日志主键
|
||||
* @return 心跳信息日志
|
||||
*/
|
||||
public InitialHeartbeatListenLog selectInitialHeartbeatListenLogByClientId(String clientId);
|
||||
|
||||
/**
|
||||
* 查询心跳信息日志列表
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 心跳信息日志集合
|
||||
*/
|
||||
public List<InitialHeartbeatListenLog> selectInitialHeartbeatListenLogList(InitialHeartbeatListenLog initialHeartbeatListenLog);
|
||||
|
||||
/**
|
||||
* 新增心跳信息日志
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertInitialHeartbeatListenLog(InitialHeartbeatListenLog initialHeartbeatListenLog);
|
||||
|
||||
/**
|
||||
* 修改心跳信息日志
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateInitialHeartbeatListenLog(InitialHeartbeatListenLog initialHeartbeatListenLog);
|
||||
|
||||
/**
|
||||
* 删除心跳信息日志
|
||||
*
|
||||
* @param clientId 心跳信息日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenLogByClientId(String clientId);
|
||||
|
||||
/**
|
||||
* 批量删除心跳信息日志
|
||||
*
|
||||
* @param clientIds 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenLogByClientIds(String[] clientIds);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.rocketmq.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListen;
|
||||
|
||||
/**
|
||||
* 心跳信息Mapper接口
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
public interface InitialHeartbeatListenMapper
|
||||
{
|
||||
/**
|
||||
* 查询心跳信息
|
||||
*
|
||||
* @param clientId 心跳信息主键
|
||||
* @return 心跳信息
|
||||
*/
|
||||
public InitialHeartbeatListen selectInitialHeartbeatListenByClientId(String clientId);
|
||||
|
||||
/**
|
||||
* 查询心跳信息列表
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 心跳信息集合
|
||||
*/
|
||||
public List<InitialHeartbeatListen> selectInitialHeartbeatListenList(InitialHeartbeatListen initialHeartbeatListen);
|
||||
|
||||
/**
|
||||
* 新增心跳信息
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertInitialHeartbeatListen(InitialHeartbeatListen initialHeartbeatListen);
|
||||
|
||||
/**
|
||||
* 修改心跳信息
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateInitialHeartbeatListen(InitialHeartbeatListen initialHeartbeatListen);
|
||||
|
||||
/**
|
||||
* 删除心跳信息
|
||||
*
|
||||
* @param clientId 心跳信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenByClientId(String clientId);
|
||||
|
||||
/**
|
||||
* 批量删除心跳信息
|
||||
*
|
||||
* @param clientIds 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenByClientIds(String[] clientIds);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.rocketmq.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListenLog;
|
||||
|
||||
/**
|
||||
* 心跳信息日志Service接口
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
public interface IInitialHeartbeatListenLogService
|
||||
{
|
||||
/**
|
||||
* 查询心跳信息日志
|
||||
*
|
||||
* @param clientId 心跳信息日志主键
|
||||
* @return 心跳信息日志
|
||||
*/
|
||||
public InitialHeartbeatListenLog selectInitialHeartbeatListenLogByClientId(String clientId);
|
||||
|
||||
/**
|
||||
* 查询心跳信息日志列表
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 心跳信息日志集合
|
||||
*/
|
||||
public List<InitialHeartbeatListenLog> selectInitialHeartbeatListenLogList(InitialHeartbeatListenLog initialHeartbeatListenLog);
|
||||
|
||||
/**
|
||||
* 新增心跳信息日志
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertInitialHeartbeatListenLog(InitialHeartbeatListenLog initialHeartbeatListenLog);
|
||||
|
||||
/**
|
||||
* 修改心跳信息日志
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateInitialHeartbeatListenLog(InitialHeartbeatListenLog initialHeartbeatListenLog);
|
||||
|
||||
/**
|
||||
* 批量删除心跳信息日志
|
||||
*
|
||||
* @param clientIds 需要删除的心跳信息日志主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenLogByClientIds(String[] clientIds);
|
||||
|
||||
/**
|
||||
* 删除心跳信息日志信息
|
||||
*
|
||||
* @param clientId 心跳信息日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenLogByClientId(String clientId);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.rocketmq.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListen;
|
||||
|
||||
/**
|
||||
* 心跳信息Service接口
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
public interface IInitialHeartbeatListenService
|
||||
{
|
||||
/**
|
||||
* 查询心跳信息
|
||||
*
|
||||
* @param clientId 心跳信息主键
|
||||
* @return 心跳信息
|
||||
*/
|
||||
public InitialHeartbeatListen selectInitialHeartbeatListenByClientId(String clientId);
|
||||
|
||||
/**
|
||||
* 查询心跳信息列表
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 心跳信息集合
|
||||
*/
|
||||
public List<InitialHeartbeatListen> selectInitialHeartbeatListenList(InitialHeartbeatListen initialHeartbeatListen);
|
||||
|
||||
/**
|
||||
* 新增心跳信息
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertInitialHeartbeatListen(InitialHeartbeatListen initialHeartbeatListen);
|
||||
|
||||
/**
|
||||
* 修改心跳信息
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateInitialHeartbeatListen(InitialHeartbeatListen initialHeartbeatListen);
|
||||
|
||||
/**
|
||||
* 批量删除心跳信息
|
||||
*
|
||||
* @param clientIds 需要删除的心跳信息主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenByClientIds(String[] clientIds);
|
||||
|
||||
/**
|
||||
* 删除心跳信息信息
|
||||
*
|
||||
* @param clientId 心跳信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInitialHeartbeatListenByClientId(String clientId);
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.rocketmq.mapper.InitialHeartbeatListenLogMapper;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListenLog;
|
||||
import com.ruoyi.rocketmq.service.IInitialHeartbeatListenLogService;
|
||||
|
||||
/**
|
||||
* 心跳信息日志Service业务层处理
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
@Service
|
||||
public class InitialHeartbeatListenLogServiceImpl implements IInitialHeartbeatListenLogService
|
||||
{
|
||||
@Autowired
|
||||
private InitialHeartbeatListenLogMapper initialHeartbeatListenLogMapper;
|
||||
|
||||
/**
|
||||
* 查询心跳信息日志
|
||||
*
|
||||
* @param clientId 心跳信息日志主键
|
||||
* @return 心跳信息日志
|
||||
*/
|
||||
@Override
|
||||
public InitialHeartbeatListenLog selectInitialHeartbeatListenLogByClientId(String clientId)
|
||||
{
|
||||
return initialHeartbeatListenLogMapper.selectInitialHeartbeatListenLogByClientId(clientId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询心跳信息日志列表
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 心跳信息日志
|
||||
*/
|
||||
@Override
|
||||
public List<InitialHeartbeatListenLog> selectInitialHeartbeatListenLogList(InitialHeartbeatListenLog initialHeartbeatListenLog)
|
||||
{
|
||||
return initialHeartbeatListenLogMapper.selectInitialHeartbeatListenLogList(initialHeartbeatListenLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增心跳信息日志
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertInitialHeartbeatListenLog(InitialHeartbeatListenLog initialHeartbeatListenLog)
|
||||
{
|
||||
initialHeartbeatListenLog.setCreateTime(DateUtils.getNowDate());
|
||||
return initialHeartbeatListenLogMapper.insertInitialHeartbeatListenLog(initialHeartbeatListenLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改心跳信息日志
|
||||
*
|
||||
* @param initialHeartbeatListenLog 心跳信息日志
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateInitialHeartbeatListenLog(InitialHeartbeatListenLog initialHeartbeatListenLog)
|
||||
{
|
||||
initialHeartbeatListenLog.setUpdateTime(DateUtils.getNowDate());
|
||||
return initialHeartbeatListenLogMapper.updateInitialHeartbeatListenLog(initialHeartbeatListenLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除心跳信息日志
|
||||
*
|
||||
* @param clientIds 需要删除的心跳信息日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteInitialHeartbeatListenLogByClientIds(String[] clientIds)
|
||||
{
|
||||
return initialHeartbeatListenLogMapper.deleteInitialHeartbeatListenLogByClientIds(clientIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除心跳信息日志信息
|
||||
*
|
||||
* @param clientId 心跳信息日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteInitialHeartbeatListenLogByClientId(String clientId)
|
||||
{
|
||||
return initialHeartbeatListenLogMapper.deleteInitialHeartbeatListenLogByClientId(clientId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.rocketmq.mapper.InitialHeartbeatListenMapper;
|
||||
import com.ruoyi.rocketmq.domain.InitialHeartbeatListen;
|
||||
import com.ruoyi.rocketmq.service.IInitialHeartbeatListenService;
|
||||
|
||||
/**
|
||||
* 心跳信息Service业务层处理
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-09-08
|
||||
*/
|
||||
@Service
|
||||
public class InitialHeartbeatListenServiceImpl implements IInitialHeartbeatListenService
|
||||
{
|
||||
@Autowired
|
||||
private InitialHeartbeatListenMapper initialHeartbeatListenMapper;
|
||||
|
||||
/**
|
||||
* 查询心跳信息
|
||||
*
|
||||
* @param clientId 心跳信息主键
|
||||
* @return 心跳信息
|
||||
*/
|
||||
@Override
|
||||
public InitialHeartbeatListen selectInitialHeartbeatListenByClientId(String clientId)
|
||||
{
|
||||
return initialHeartbeatListenMapper.selectInitialHeartbeatListenByClientId(clientId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询心跳信息列表
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 心跳信息
|
||||
*/
|
||||
@Override
|
||||
public List<InitialHeartbeatListen> selectInitialHeartbeatListenList(InitialHeartbeatListen initialHeartbeatListen)
|
||||
{
|
||||
return initialHeartbeatListenMapper.selectInitialHeartbeatListenList(initialHeartbeatListen);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增心跳信息
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertInitialHeartbeatListen(InitialHeartbeatListen initialHeartbeatListen)
|
||||
{
|
||||
initialHeartbeatListen.setCreateTime(DateUtils.getNowDate());
|
||||
return initialHeartbeatListenMapper.insertInitialHeartbeatListen(initialHeartbeatListen);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改心跳信息
|
||||
*
|
||||
* @param initialHeartbeatListen 心跳信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateInitialHeartbeatListen(InitialHeartbeatListen initialHeartbeatListen)
|
||||
{
|
||||
initialHeartbeatListen.setUpdateTime(DateUtils.getNowDate());
|
||||
return initialHeartbeatListenMapper.updateInitialHeartbeatListen(initialHeartbeatListen);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除心跳信息
|
||||
*
|
||||
* @param clientIds 需要删除的心跳信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteInitialHeartbeatListenByClientIds(String[] clientIds)
|
||||
{
|
||||
return initialHeartbeatListenMapper.deleteInitialHeartbeatListenByClientIds(clientIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除心跳信息信息
|
||||
*
|
||||
* @param clientId 心跳信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteInitialHeartbeatListenByClientId(String clientId)
|
||||
{
|
||||
return initialHeartbeatListenMapper.deleteInitialHeartbeatListenByClientId(clientId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user