🎨 新增AI客服相关接口
This commit is contained in:
		
							
								
								
									
										32
									
								
								service/app/ai_kefu.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								service/app/ai_kefu.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
package app
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"go.uber.org/zap"
 | 
			
		||||
	"miniapp/global"
 | 
			
		||||
	"miniapp/model/app/request"
 | 
			
		||||
	"miniapp/model/system"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type AiKefuService struct{}
 | 
			
		||||
 | 
			
		||||
// MatchKeywordReplyContent 匹配关键词回复内容
 | 
			
		||||
func (a *AiKefuService) MatchKeywordReplyContent(msg request.Msg) (kf system.Aikefu, err error) {
 | 
			
		||||
	math := global.GVA_Kp.ExtractKeywords(msg.Msg)
 | 
			
		||||
	if len(math) == 0 {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	err = global.GVA_DB.Where("key_word like ? ", "%"+math[0].MatchString()+"%").First(&kf).Error
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *AiKefuService) AddKeyWord() {
 | 
			
		||||
	var keyWords []system.Aikefu
 | 
			
		||||
	err := global.GVA_DB.Find(&keyWords).Error
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		global.GVA_LOG.Error("初始化分词器时查询关键词失败:", zap.Error(err))
 | 
			
		||||
	}
 | 
			
		||||
	for _, keyWord := range keyWords {
 | 
			
		||||
		global.GVA_Kp.AddKeyWord(keyWord.KeyWord)
 | 
			
		||||
		global.GVA_LOG.Info("初始化分词器时添加关键词", zap.String("keyWord", keyWord.KeyWord))
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -6,4 +6,5 @@ type ServiceGroup struct {
 | 
			
		||||
	FavoriteService
 | 
			
		||||
	VisionService
 | 
			
		||||
	TodesService
 | 
			
		||||
	AiKefuService
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user