diff --git a/src/main/java/com/tem/bocai/entity/LoginInfoResult.java b/src/main/java/com/tem/bocai/entity/LoginInfoResult.java index dfffc66..4d3286c 100644 --- a/src/main/java/com/tem/bocai/entity/LoginInfoResult.java +++ b/src/main/java/com/tem/bocai/entity/LoginInfoResult.java @@ -3,6 +3,8 @@ package com.tem.bocai.entity; import jakarta.persistence.*; import lombok.Data; import net.sourceforge.tess4j.TesseractException; +import org.hibernate.annotations.CreationTimestamp; +import org.hibernate.annotations.UpdateTimestamp; import org.springframework.http.ResponseEntity; import java.io.IOException; @@ -36,12 +38,15 @@ public class LoginInfoResult { @Column(name = "lose_num", nullable = false) private Integer loseNum; -/* @Column(name = "current_num", nullable = false) - private Integer currentNum;*/ - - @Column(name = "create_time", nullable = false) + /* @Column(name = "current_num", nullable = false) + private Integer currentNum;*/ + @Column(name = "create_time", nullable = false, updatable = false) + @Temporal(TemporalType.TIMESTAMP) + @CreationTimestamp private Date createTime; @Column(name = "update_time", nullable = false) + @Temporal(TemporalType.TIMESTAMP) + @UpdateTimestamp private Date updateTime; - } \ No newline at end of file +} \ No newline at end of file diff --git a/src/main/java/com/tem/bocai/repository/LoginInfoRepository.java b/src/main/java/com/tem/bocai/repository/LoginInfoRepository.java new file mode 100644 index 0000000..e8e8342 --- /dev/null +++ b/src/main/java/com/tem/bocai/repository/LoginInfoRepository.java @@ -0,0 +1,13 @@ +package com.tem.bocai.repository; + + +import com.tem.bocai.entity.LoginInfoResult; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface LoginInfoRepository extends JpaRepository { + LoginInfoResult findByUsername(String username); + boolean existsByUsername(String username); + void deleteByUsername(String username); +} diff --git a/src/main/java/com/tem/bocai/service/impl/LoginServiceImpl.java b/src/main/java/com/tem/bocai/service/impl/LoginServiceImpl.java index 4306f9d..fffe460 100644 --- a/src/main/java/com/tem/bocai/service/impl/LoginServiceImpl.java +++ b/src/main/java/com/tem/bocai/service/impl/LoginServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.*; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -42,7 +43,7 @@ public class LoginServiceImpl implements LoginService { private Tesseract tesseract; @Autowired private TokenCacheService tokenCacheService; - + private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override public String loginAutomatic(LoginInfoParam loginInfoParam) { String token = ""; diff --git a/src/main/java/com/tem/bocai/util/SQLiteUtil.java b/src/main/java/com/tem/bocai/util/SQLiteUtil.java index 1dca1d5..7db64e3 100644 --- a/src/main/java/com/tem/bocai/util/SQLiteUtil.java +++ b/src/main/java/com/tem/bocai/util/SQLiteUtil.java @@ -3,9 +3,11 @@ package com.tem.bocai.util; import com.tem.bocai.entity.LoginInfoResult; import java.sql.*; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Date; public class SQLiteUtil { private static final String DB_URL = "jdbc:sqlite:bocai.db"; @@ -287,16 +289,23 @@ public class SQLiteUtil { insertStmt.setString(3, loginInfo.getLoginUrl()); insertStmt.setInt(4, loginInfo.getWinNum() != null ? loginInfo.getWinNum() : 0); insertStmt.setInt(5, loginInfo.getLoseNum() != null ? loginInfo.getLoseNum() : 0); - insertStmt.setTimestamp(6, new Timestamp( - loginInfo.getCreateTime() != null ? - loginInfo.getCreateTime().getTime() : - System.currentTimeMillis() - )); - insertStmt.setTimestamp(7, new Timestamp( - loginInfo.getUpdateTime() != null ? - loginInfo.getUpdateTime().getTime() : - System.currentTimeMillis() - )); + + // 使用ISO8601格式: yyyy-MM-dd HH:mm:ss + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + // 处理create_time + if (loginInfo.getCreateTime() != null) { + insertStmt.setString(6, sdf.format(loginInfo.getCreateTime())); + } else { + insertStmt.setString(6, sdf.format(new Date())); + } + + // 处理update_time + if (loginInfo.getUpdateTime() != null) { + insertStmt.setString(7, sdf.format(loginInfo.getUpdateTime())); + } else { + insertStmt.setString(7, sdf.format(new Date())); + } int inserted = insertStmt.executeUpdate();