mirror of
https://github.com/coaidev/coai.git
synced 2025-05-28 09:20:18 +09:00
fix foreign key
This commit is contained in:
parent
9c6244bb19
commit
f07d22bdbb
@ -62,7 +62,7 @@ func ChatAPI(c *gin.Context) {
|
||||
}
|
||||
|
||||
db := c.MustGet("db").(*sql.DB)
|
||||
instance := conversation.NewConversation(db, user.ID)
|
||||
instance := conversation.NewConversation(db, user.GetID(db))
|
||||
|
||||
for {
|
||||
_, message, err = conn.ReadMessage()
|
||||
|
@ -19,9 +19,9 @@ func ChatWithWeb(message []types.ChatGPTMessage, long bool) (string, []types.Cha
|
||||
|
||||
data := web.SearchBing(keyword)
|
||||
if long {
|
||||
data = data[:6000]
|
||||
data = utils.GetSegmentString(data, 6000)
|
||||
} else {
|
||||
data = data[:3000]
|
||||
data = utils.GetSegmentString(data, 3000)
|
||||
}
|
||||
return keyword, utils.Insert(message, 0, types.ChatGPTMessage{
|
||||
Role: "system",
|
||||
|
@ -41,7 +41,7 @@ function toggle(n: boolean) {
|
||||
<span>GPT-4</span>
|
||||
</div>
|
||||
</div>
|
||||
<a class="donate-container" target="_blank" href="https://zmh-program.site/donate">
|
||||
<a class="donate-container" target="_blank" href="https://zmh-program.site/donate" v-if="!auth">
|
||||
<heart />
|
||||
捐助我们
|
||||
</a>
|
||||
|
10
auth/user.go
10
auth/user.go
@ -57,6 +57,16 @@ func (u *User) GenerateToken() string {
|
||||
return token
|
||||
}
|
||||
|
||||
func (u *User) GetID(db *sql.DB) int64 {
|
||||
if u.ID > 0 {
|
||||
return u.ID
|
||||
}
|
||||
if err := db.QueryRow("SELECT id FROM auth WHERE username = ?", u.Username).Scan(&u.ID); err != nil {
|
||||
return 0
|
||||
}
|
||||
return u.ID
|
||||
}
|
||||
|
||||
func IsUserExist(db *sql.DB, username string) bool {
|
||||
var count int
|
||||
if err := db.QueryRow("SELECT COUNT(*) FROM auth WHERE username = ?", username).Scan(&count); err != nil {
|
||||
|
@ -98,7 +98,7 @@ func CreateConversationTable(db *sql.DB) {
|
||||
CREATE TABLE IF NOT EXISTS conversation (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
user_id INT,
|
||||
conversation_id INT,
|
||||
conversation_id INT UNIQUE,
|
||||
conversation_name VARCHAR(255),
|
||||
data TEXT,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
|
@ -8,17 +8,8 @@ import (
|
||||
|
||||
func (c *Conversation) SaveConversation(db *sql.DB) bool {
|
||||
data := utils.ToJson(c.GetMessage())
|
||||
_, err := db.Exec(`
|
||||
INSERT INTO conversation (
|
||||
user_id,
|
||||
conversation_id,
|
||||
conversation_name,
|
||||
data
|
||||
) VALUES (?, ?, ?, ?)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
conversation_name = VALUES(conversation_name),
|
||||
data = VALUES(data)
|
||||
`, c.GetUserID(), c.GetId(), c.GetName(), data)
|
||||
_, err := db.Exec("INSERT INTO conversation (user_id, conversation_id, conversation_name, data) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE conversation_name = ?, data = ?", c.UserID, c.Id, c.Name, data, c.Name, data)
|
||||
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
@ -65,6 +65,20 @@ func UnmarshalJson[T any](value string) T {
|
||||
}
|
||||
}
|
||||
|
||||
func GetSegment[T any](arr []T, length int) []T {
|
||||
if length > len(arr) {
|
||||
return arr
|
||||
}
|
||||
return arr[:length]
|
||||
}
|
||||
|
||||
func GetSegmentString(arr string, length int) string {
|
||||
if length > len(arr) {
|
||||
return ""
|
||||
}
|
||||
return arr[:length]
|
||||
}
|
||||
|
||||
func GetLatestSegment[T any](arr []T, length int) []T {
|
||||
if length > len(arr) {
|
||||
return arr
|
||||
|
Loading…
Reference in New Issue
Block a user