mirror of
				https://github.com/yangjian102621/geekai.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	fix bug: free model not record the chat history
This commit is contained in:
		@@ -651,26 +651,25 @@ func (h *ChatHandler) saveChatHistory(
 | 
			
		||||
		logger.Error("failed to save reply history message: ", res.Error)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 更新用户算力
 | 
			
		||||
	if session.Model.Power > 0 {
 | 
			
		||||
		// 更新用户算力
 | 
			
		||||
		h.subUserPower(userVo, session, promptToken, replyTokens)
 | 
			
		||||
 | 
			
		||||
		// 保存当前会话
 | 
			
		||||
		var chatItem model.ChatItem
 | 
			
		||||
		res = h.DB.Where("chat_id = ?", session.ChatId).First(&chatItem)
 | 
			
		||||
		if res.Error != nil {
 | 
			
		||||
			chatItem.ChatId = session.ChatId
 | 
			
		||||
			chatItem.UserId = session.UserId
 | 
			
		||||
			chatItem.RoleId = role.Id
 | 
			
		||||
			chatItem.ModelId = session.Model.Id
 | 
			
		||||
			if utf8.RuneCountInString(prompt) > 30 {
 | 
			
		||||
				chatItem.Title = string([]rune(prompt)[:30]) + "..."
 | 
			
		||||
			} else {
 | 
			
		||||
				chatItem.Title = prompt
 | 
			
		||||
			}
 | 
			
		||||
			chatItem.Model = req.Model
 | 
			
		||||
			h.DB.Create(&chatItem)
 | 
			
		||||
	}
 | 
			
		||||
	// 保存当前会话
 | 
			
		||||
	var chatItem model.ChatItem
 | 
			
		||||
	res = h.DB.Where("chat_id = ?", session.ChatId).First(&chatItem)
 | 
			
		||||
	if res.Error != nil {
 | 
			
		||||
		chatItem.ChatId = session.ChatId
 | 
			
		||||
		chatItem.UserId = session.UserId
 | 
			
		||||
		chatItem.RoleId = role.Id
 | 
			
		||||
		chatItem.ModelId = session.Model.Id
 | 
			
		||||
		if utf8.RuneCountInString(prompt) > 30 {
 | 
			
		||||
			chatItem.Title = string([]rune(prompt)[:30]) + "..."
 | 
			
		||||
		} else {
 | 
			
		||||
			chatItem.Title = prompt
 | 
			
		||||
		}
 | 
			
		||||
		chatItem.Model = req.Model
 | 
			
		||||
		h.DB.Create(&chatItem)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -142,7 +142,7 @@ func (h *ChatHandler) sendOpenAiMessage(
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if toolCall { // 调用函数完成任务
 | 
			
		||||
			var params map[string]interface{}
 | 
			
		||||
			params := make(map[string]interface{})
 | 
			
		||||
			_ = utils.JsonDecode(strings.Join(arguments, ""), ¶ms)
 | 
			
		||||
			logger.Debugf("函数名称: %s, 函数参数:%s", function.Name, params)
 | 
			
		||||
			params["user_id"] = userVo.Id
 | 
			
		||||
 
 | 
			
		||||
@@ -109,7 +109,6 @@ func (h *UserHandler) Register(c *gin.Context) {
 | 
			
		||||
	user := model.User{
 | 
			
		||||
		Username:   data.Username,
 | 
			
		||||
		Password:   utils.GenPassword(data.Password, salt),
 | 
			
		||||
		Nickname:   fmt.Sprintf("极客学长@%d", utils.RandomNumber(6)),
 | 
			
		||||
		Avatar:     "/images/avatar/user.png",
 | 
			
		||||
		Salt:       salt,
 | 
			
		||||
		Status:     true,
 | 
			
		||||
@@ -118,6 +117,16 @@ func (h *UserHandler) Register(c *gin.Context) {
 | 
			
		||||
		Power:      h.App.SysConfig.InitPower,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 被邀请人也获得赠送算力
 | 
			
		||||
	if data.InviteCode != "" {
 | 
			
		||||
		user.Power += h.App.SysConfig.InvitePower
 | 
			
		||||
	}
 | 
			
		||||
	if h.licenseService.GetLicense().Configs.DeCopy {
 | 
			
		||||
		user.Username = fmt.Sprintf("用户@%d", utils.RandomNumber(6))
 | 
			
		||||
	} else {
 | 
			
		||||
		user.Nickname = fmt.Sprintf("极客学长@%d", utils.RandomNumber(6))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	res = h.DB.Create(&user)
 | 
			
		||||
	if res.Error != nil {
 | 
			
		||||
		resp.ERROR(c, "保存数据失败")
 | 
			
		||||
 
 | 
			
		||||
@@ -28,8 +28,8 @@ func NewSmtpService(appConfig *types.AppConfig) *SmtpService {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *SmtpService) SendVerifyCode(to string, code int) error {
 | 
			
		||||
	subject := "Geek-AI 注册验证码"
 | 
			
		||||
	body := fmt.Sprintf("您正在注册 Geek-AI 助手账户,注册验证码为 %d,请不要告诉他人。如非本人操作,请忽略此邮件。", code)
 | 
			
		||||
	subject := fmt.Sprintf("%s 注册验证码", s.config.AppName)
 | 
			
		||||
	body := fmt.Sprintf("您正在注册 %s 账户,注册验证码为 %d,请不要告诉他人。如非本人操作,请忽略此邮件。", s.config.AppName, code)
 | 
			
		||||
 | 
			
		||||
	auth := smtp.PlainAuth("", s.config.From, s.config.Password, s.config.Host)
 | 
			
		||||
	if s.config.UseTls {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user