This commit is contained in:
jack ning
2025-04-05 11:43:46 +08:00
parent 5f0fb805b6
commit e855c8a901
5 changed files with 59 additions and 4 deletions

View File

@@ -150,8 +150,28 @@ public class ThreadEntity extends AbstractThreadEntity {
return getClient().equals(ClientEnum.WECHAT_MINI.name());
}
/**
* 检查会话是否曾经处于离线状态
*/
public Boolean wasOffline() {
ThreadExtra extra = getThreadExtra();
return extra != null && extra.isWasOffline();
}
/**
* 将当前会话标记为离线状态
*/
public ThreadEntity setOffline() {
setStatus(ThreadProcessStatusEnum.OFFLINE.name());
// 更新extra信息记录曾经处于离线状态
ThreadExtra extra = getThreadExtra();
if (extra == null) {
extra = new ThreadExtra();
}
extra.setWasOffline(true);
setExtra(JSON.toJSONString(extra));
return this;
}

View File

@@ -16,9 +16,19 @@ package com.bytedesk.core.thread;
import java.io.Serializable;
import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.Accessors;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ThreadExtra implements Serializable {
private static final long serialVersionUID = 1L;
private boolean wasOffline; // 标记此会话是否曾经处于离线状态
}