如何根据日期和时间自动标记数组列表中的相关记录



我正在设计一个简单的新冠肺炎19追踪系统。每当客户(ArrayList中的对象(访问商店(ArrayList中的对象。

超类Details。

public class Details {
private String name;
private String phoneNumber;
private Status status;
// Customer
public Details(String name, String phoneNumber, Status status) {
this.name = name;
this.phoneNumber = phoneNumber;
this.status = status;
}

我使用java.time包创建日期时间和Visit对象,比如

public class Visit extends Details {

private String dateTimeFinal;
private String shopName;

public Visit(String name, String phoneNumber,String shopName, Status status) {
super(name, phoneNumber, status);
this.shopName = shopName;
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatted = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
dateTimeFinal = dateTime.format(dateTimeFormatted);
}

我的客户类构造函数看起来像这个

public class Customer extends Details {

private String password;
public Customer (String name, String phoneNumber, String password, Status status){
super(name, phoneNumber, status);
this.password = password;
}

我的商店类构造函数看起来像这个

public class Shop extends Details{
private String managerName;

public Shop(String name, String phoneNumber, Status status, String managerName){
super(name, phoneNumber, status);
this.managerName = managerName;
}

我在另一个文件中也有一个状态枚举,看起来像这个

public enum Status{
NORMAL,
CASE,
CLOSE    
}

我现在要做的是,如果一个被标记为CASE的客户访问了一家商店,那么在&之后自动被标记为密切联系人(close(。我也想知道如何创造时间;不是localdatetime.now的日期,因为我需要生成访问来测试标记算法是否有效。

使用LocalDateTime.of()方法之一(可在此处找到(创建特定时间。

为了跟踪可能的标志,一种解决方案是跟踪Shop的最后一个有风险的Visit,并且每次对该Shop进行新的访问以检查它是否足够新,并且如果是,则更新VisitShopCustomerStatus。使用LocalDateTime.minusHours()比较时间。

相关内容

  • 没有找到相关文章

最新更新