refactor: split backend into standalone server project

Remove embedded frontend and workflow editor assets, add standalone API deployment configuration, and retain the current backend service updates.
This commit is contained in:
t
2026-08-20 21:46:55 +08:00
parent 954a3fe8d9
commit 3d47227fbd
612 changed files with 515 additions and 97334 deletions
+23 -9
View File
@@ -101,9 +101,14 @@ func (s *conversationService) getLatestNotFinishedByCustomerID(db *gorm.DB, cust
}
func (s *conversationService) Create(externalUser openidentity.ExternalUser, channelID, aiAgentID int64) (*models.Conversation, error) {
aiAgent := AIAgentService.Get(aiAgentID)
if aiAgent == nil || aiAgent.Status != enums.StatusOk {
return nil, errorsx.InvalidParamI18n("error.e0002")
serviceMode := enums.IMConversationServiceModeHumanOnly
var aiAgent *models.AIAgent
if aiAgentID > 0 {
aiAgent = AIAgentService.Get(aiAgentID)
if aiAgent == nil || aiAgent.Status != enums.StatusOk {
return nil, errorsx.InvalidParamI18n("error.e0002")
}
serviceMode = aiAgent.ServiceMode
}
var conversation *models.Conversation
@@ -135,8 +140,8 @@ func (s *conversationService) Create(externalUser openidentity.ExternalUser, cha
ChannelID: channelID,
CustomerID: customerID,
CustomerName: customerName,
Status: s.resolveInitialStatus(aiAgent.ServiceMode),
ServiceMode: aiAgent.ServiceMode,
Status: s.resolveInitialStatus(serviceMode),
ServiceMode: serviceMode,
Priority: 0,
CurrentAssigneeID: 0,
CurrentTeamID: 0,
@@ -153,8 +158,11 @@ func (s *conversationService) Create(externalUser openidentity.ExternalUser, cha
if err := ConversationEventLogService.CreateEvent(ctx, conversation.ID, enums.IMEventTypeCreate, enums.IMSenderTypeCustomer, 0, "用户创建会话", ""); err != nil {
return err
}
welcomeMessage, err = MessageService.createAIWelcomeMessage(ctx, conversation, aiAgent, now)
return err
if aiAgent != nil {
welcomeMessage, err = MessageService.createAIWelcomeMessage(ctx, conversation, aiAgent, now)
return err
}
return nil
}); err != nil {
return nil, err
}
@@ -174,8 +182,14 @@ func (s *conversationService) Create(externalUser openidentity.ExternalUser, cha
}
}
if aiAgent.ServiceMode == enums.IMConversationServiceModeHumanOnly {
if _, err := ConversationHumanDispatchService.ApplyHumanOnlyCreate(conversation.ID, *aiAgent); err != nil {
if serviceMode == enums.IMConversationServiceModeHumanOnly {
var err error
if aiAgent == nil {
_, err = ConversationHumanDispatchService.ApplyHumanChannelCreate(conversation.ID)
} else {
_, err = ConversationHumanDispatchService.ApplyHumanOnlyCreate(conversation.ID, *aiAgent)
}
if err != nil {
return nil, err
}
}