ai_scheduler/internal/server/router/advicer.go

128 lines
5.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package router
import (
"ai_scheduler/internal/config"
"ai_scheduler/internal/entitys"
"ai_scheduler/internal/services/advice"
"github.com/gofiber/fiber/v2"
)
func AdvicerRouterRegist(
cfg *config.Config,
r fiber.Router,
adviceFile *advice.FileService,
adviceData *advice.AdvicerService,
adviceChat *advice.ChatService,
adviceProject *advice.ProjectService,
adviceTalkSkill *advice.TalkSkillService,
adviceClient *advice.ClientService,
industry *advice.IndustryService,
admin *advice.AdminService,
modelSup *advice.ModelSupService,
activity *advice.ActivityService,
wxHook *advice.WxHookService,
smart *advice.SmartService,
wxProxy *advice.WxProxyService,
adviceCustomer *advice.CustomerService,
) {
advicer := r.Group("advice/admin")
// 登录放行
advicer.Post("login", Vali(admin.Login, &entitys.AdvicerAdminLoginReq{}))
advicer.Post("add", Vali(admin.Add, &entitys.AdvicerAdminAddReq{}))
advicer.Post("update", Vali(admin.Update, &entitys.AdvicerAdminUpdateReq{}))
advicer.Post("list", Vali(admin.List, &entitys.AdvicerAdminListReq{}))
advicer.Post("del", Vali(admin.Del, &entitys.AdvicerAdminDelReq{}))
advicer.Post("file/word/ana", adviceFile.WordAna)
advicer.Post("file/upload", adviceFile.Upload)
//销售
advicer.Post("advicer/add", adviceData.AdvicerUpdate)
advicer.Post("advicer/update", adviceData.AdvicerUpdate)
advicer.Post("advicer/wx_device/update", adviceData.AdvicerWxDeviceIdUpdate)
advicer.Post("advicer/list", adviceData.AdvicerList)
advicer.Post("advicer/info", adviceData.AdvicerInfo)
advicer.Post("advicer/version/add", adviceData.AdvicerVersionAdd)
advicer.Post("advicer/version/update", adviceData.AdvicerVersionUpdate)
advicer.Post("advicer/version/del", adviceData.AdvicerVersionDel)
advicer.Post("advicer/version/list", adviceData.AdvicerVersionList)
//聊天技巧
advicer.Post("skill/list", adviceTalkSkill.TalkSkillList)
advicer.Post("skill/add", adviceTalkSkill.TalkSkillAdd)
advicer.Post("skill/update", adviceTalkSkill.TalkSkillUpdate)
advicer.Post("skill/del", adviceTalkSkill.TalkSkillDel)
//项目
advicer.Post("project/base/init", adviceProject.BaseInit)
advicer.Post("project/base/update", adviceProject.BaseUpdate)
advicer.Post("project/info/add", adviceProject.Add)
advicer.Post("project/info/update", adviceProject.Update)
advicer.Post("project/info", adviceProject.Info)
advicer.Post("project/list", adviceProject.List)
advicer.Post("project/template/copy", adviceProject.TemplateCopy)
advicer.Post("project/data/load", adviceProject.ProjectDataLoad)
advicer.Post("project/data/save", adviceProject.ProjectDataSave)
//客户
advicer.Post("client/add", adviceClient.Add)
advicer.Post("client/update", adviceClient.Update)
advicer.Post("client/list", adviceClient.List)
advicer.Post("client/del", adviceClient.Del)
advicer.Post("client/bind", adviceClient.Bind) // 客户绑定微信 wxid
advicer.Post("client/evaluate", adviceClient.Evaluate) // 客户等级评估(熟客/意向/沉睡/非客户)
//产品活动
advicer.Post("activity/add", activity.Add)
advicer.Post("activity/update", activity.Update)
advicer.Post("activity/list", activity.List)
advicer.Post("activity/del", activity.Del)
advicer.Post("activity/info", activity.Info)
advicer.Post("activity/active", activity.ActiveList)
//微信回调与消息流水
advicer.Post("wx/callback/set", wxHook.SetCallback) // 设置上游消息回调地址
advicer.Post("wx/callback/info", wxHook.CallbackInfo) // 获取建议的回调地址
advicer.Post("wxmsg/list", wxHook.MsgList) // 消息流水查询
advicer.Post("wx/conversation/list", wxHook.ConversationList) // 会话列表(聚合最新消息)
advicer.Post("wx/conversation/msgs", wxHook.ConversationMsgs) // 会话消息记录
advicer.Post("wx/conversation/read", wxHook.MarkAsRead) // 标记会话消息已读
//智能策略(四级回复策略/主动对话/自我迭代)
advicer.Post("smart/reply/test", smart.ReplyTest) // 策略干跑预览(send=true 实际发送)
advicer.Post("smart/reply", smart.Reply) // 对客户最新消息手动执行策略回复
advicer.Post("smart/regular/scan", smart.RegularScan) // 熟客超时兜底扫描
advicer.Post("smart/iterate/run", smart.IterateRun) // 手动触发画像迭代
advicer.Post("smart/proactive/scan", smart.ProactiveScan) // 主动触达扫描(生日/活动)
advicer.Post("smart/proactive/send", smart.ProactiveSend) // 手动推送给指定客户
advicer.Post("smart/activity/push", smart.ActivityPush) // 活动立即群推
advicer.Post("smart/proactive/log", smart.ProactiveLog) // 主动触达记录查询
//会话
advicer.Post("chat/regis", adviceChat.Regis)
advicer.Post("chat/chat", adviceChat.Chat)
//行业
advicer.Post("industry/add", Vali(industry.Add, &entitys.AdvicerIndustryAddReq{}))
advicer.Post("industry/update", Vali(industry.Update, &entitys.AdvicerIndustryUpdateReq{}))
advicer.Post("industry/generate", Vali(industry.Generate, &entitys.AdvicerIndustryGenerateReq{}))
advicer.Post("industry/list", Vali(industry.List, &entitys.AdvicerIndustryListReq{}))
advicer.Post("industry/del", Vali(industry.Del, &entitys.AdvicerIndustryDelReq{}))
//模型配置
advicer.Post("modelsup/add", modelSup.Add)
advicer.Post("modelsup/update", modelSup.Update)
advicer.Post("modelsup/list", modelSup.List)
advicer.Post("modelsup/del", modelSup.Del)
// 微信 API 代理(包装转发,标准响应格式)
advicer.All("wx/*", wxProxy.Proxy)
// 微信好友(ai_advice_customer)
advicer.Post("advicer/customer/add", adviceCustomer.Add)
advicer.Post("advicer/customer/list", adviceCustomer.List)
advicer.Post("advicer/customer/del", adviceCustomer.Del)
advicer.Post("advicer/customer/diff", adviceCustomer.Diff)
advicer.Post("advicer/customer/batch_add", adviceCustomer.BatchAdd)
}