保存用户登入信息
This commit is contained in:
@@ -3,6 +3,8 @@ package com.tem.bocai.entity;
|
|||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import net.sourceforge.tess4j.TesseractException;
|
import net.sourceforge.tess4j.TesseractException;
|
||||||
|
import org.hibernate.annotations.CreationTimestamp;
|
||||||
|
import org.hibernate.annotations.UpdateTimestamp;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -36,12 +38,15 @@ public class LoginInfoResult {
|
|||||||
@Column(name = "lose_num", nullable = false)
|
@Column(name = "lose_num", nullable = false)
|
||||||
private Integer loseNum;
|
private Integer loseNum;
|
||||||
|
|
||||||
/* @Column(name = "current_num", nullable = false)
|
/* @Column(name = "current_num", nullable = false)
|
||||||
private Integer currentNum;*/
|
private Integer currentNum;*/
|
||||||
|
@Column(name = "create_time", nullable = false, updatable = false)
|
||||||
@Column(name = "create_time", nullable = false)
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
|
@CreationTimestamp
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
@Column(name = "update_time", nullable = false)
|
@Column(name = "update_time", nullable = false)
|
||||||
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
|
@UpdateTimestamp
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
}
|
}
|
||||||
@@ -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, Long> {
|
||||||
|
LoginInfoResult findByUsername(String username);
|
||||||
|
boolean existsByUsername(String username);
|
||||||
|
void deleteByUsername(String username);
|
||||||
|
}
|
||||||
@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -42,7 +43,7 @@ public class LoginServiceImpl implements LoginService {
|
|||||||
private Tesseract tesseract;
|
private Tesseract tesseract;
|
||||||
@Autowired
|
@Autowired
|
||||||
private TokenCacheService tokenCacheService;
|
private TokenCacheService tokenCacheService;
|
||||||
|
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
@Override
|
@Override
|
||||||
public String loginAutomatic(LoginInfoParam loginInfoParam) {
|
public String loginAutomatic(LoginInfoParam loginInfoParam) {
|
||||||
String token = "";
|
String token = "";
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ package com.tem.bocai.util;
|
|||||||
import com.tem.bocai.entity.LoginInfoResult;
|
import com.tem.bocai.entity.LoginInfoResult;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
public class SQLiteUtil {
|
public class SQLiteUtil {
|
||||||
private static final String DB_URL = "jdbc:sqlite:bocai.db";
|
private static final String DB_URL = "jdbc:sqlite:bocai.db";
|
||||||
@@ -287,16 +289,23 @@ public class SQLiteUtil {
|
|||||||
insertStmt.setString(3, loginInfo.getLoginUrl());
|
insertStmt.setString(3, loginInfo.getLoginUrl());
|
||||||
insertStmt.setInt(4, loginInfo.getWinNum() != null ? loginInfo.getWinNum() : 0);
|
insertStmt.setInt(4, loginInfo.getWinNum() != null ? loginInfo.getWinNum() : 0);
|
||||||
insertStmt.setInt(5, loginInfo.getLoseNum() != null ? loginInfo.getLoseNum() : 0);
|
insertStmt.setInt(5, loginInfo.getLoseNum() != null ? loginInfo.getLoseNum() : 0);
|
||||||
insertStmt.setTimestamp(6, new Timestamp(
|
|
||||||
loginInfo.getCreateTime() != null ?
|
// 使用ISO8601格式: yyyy-MM-dd HH:mm:ss
|
||||||
loginInfo.getCreateTime().getTime() :
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
System.currentTimeMillis()
|
|
||||||
));
|
// 处理create_time
|
||||||
insertStmt.setTimestamp(7, new Timestamp(
|
if (loginInfo.getCreateTime() != null) {
|
||||||
loginInfo.getUpdateTime() != null ?
|
insertStmt.setString(6, sdf.format(loginInfo.getCreateTime()));
|
||||||
loginInfo.getUpdateTime().getTime() :
|
} else {
|
||||||
System.currentTimeMillis()
|
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();
|
int inserted = insertStmt.executeUpdate();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user