添加任务开始时间数据模型

This commit is contained in:
ZhanGSKen
2025-10-20 23:22:55 +08:00
parent 0a6796a9bc
commit 6a90bbb263

View File

@@ -26,19 +26,22 @@ public class PositionTaskModel extends BaseBean {
boolean isLessThan; boolean isLessThan;
// 任务条件距离(单位:米) // 任务条件距离(单位:米)
int discussDistance; int discussDistance;
// 任务开始启用时间
long startTime;
// 任务是否已触发 // 任务是否已触发
boolean isBingo = false; boolean isBingo = false;
// 是否启用任务 // 是否启用任务
boolean isEnable; boolean isEnable;
// 带参构造强制传入positionId确保任务与位置绑定 // 带参构造强制传入positionId确保任务与位置绑定
public PositionTaskModel(String taskId, String positionId, String taskDescription, boolean isGreaterThan, int discussDistance, boolean isEnable) { public PositionTaskModel(String taskId, String positionId, String taskDescription, boolean isGreaterThan, int discussDistance, long startTime, boolean isEnable) {
this.taskId = (taskId == null || taskId.trim().isEmpty()) ? genTaskId() : taskId; // 空ID自动生成 this.taskId = (taskId == null || taskId.trim().isEmpty()) ? genTaskId() : taskId; // 空ID自动生成
this.positionId = positionId; // 强制绑定位置ID this.positionId = positionId; // 强制绑定位置ID
this.taskDescription = (taskDescription == null || taskDescription.trim().isEmpty()) ? "新任务" : taskDescription; this.taskDescription = (taskDescription == null || taskDescription.trim().isEmpty()) ? "新任务" : taskDescription;
this.isGreaterThan = isGreaterThan; this.isGreaterThan = isGreaterThan;
this.isLessThan = !isGreaterThan; // 确保互斥 this.isLessThan = !isGreaterThan; // 确保互斥
this.discussDistance = Math.max(discussDistance, 1); // 距离最小1米避免无效值 this.discussDistance = Math.max(discussDistance, 1); // 距离最小1米避免无效值
this.startTime = startTime;
this.isEnable = isEnable; this.isEnable = isEnable;
} }
@@ -50,9 +53,18 @@ public class PositionTaskModel extends BaseBean {
this.isGreaterThan = true; this.isGreaterThan = true;
this.isLessThan = false; // 初始互斥 this.isLessThan = false; // 初始互斥
this.discussDistance = 100; // 默认100米 this.discussDistance = 100; // 默认100米
this.startTime = System.currentTimeMillis();
this.isEnable = true; this.isEnable = true;
} }
public void setStartTime(long startTime) {
this.startTime = startTime;
}
public long getStartTime() {
return startTime;
}
public void setIsBingo(boolean isBingo) { public void setIsBingo(boolean isBingo) {
this.isBingo = isBingo; this.isBingo = isBingo;
} }
@@ -144,6 +156,7 @@ public class PositionTaskModel extends BaseBean {
jsonWriter.name("isGreaterThan").value(isGreaterThan()); jsonWriter.name("isGreaterThan").value(isGreaterThan());
jsonWriter.name("isLessThan").value(isLessThan()); jsonWriter.name("isLessThan").value(isLessThan());
jsonWriter.name("discussDistance").value(getDiscussDistance()); jsonWriter.name("discussDistance").value(getDiscussDistance());
jsonWriter.name("startTime").value(getStartTime());
jsonWriter.name("isEnable").value(isEnable()); jsonWriter.name("isEnable").value(isEnable());
} }
@@ -165,6 +178,8 @@ public class PositionTaskModel extends BaseBean {
setIsLessThan(jsonReader.nextBoolean()); setIsLessThan(jsonReader.nextBoolean());
} else if (name.equals("discussDistance")) { } else if (name.equals("discussDistance")) {
setDiscussDistance(jsonReader.nextInt()); setDiscussDistance(jsonReader.nextInt());
} else if (name.equals("startTime")) {
setStartTime(jsonReader.nextLong());
} else if (name.equals("isEnable")) { } else if (name.equals("isEnable")) {
setIsEnable(jsonReader.nextBoolean()); setIsEnable(jsonReader.nextBoolean());
} else { } else {