|
@@ -0,0 +1,58 @@
|
|
|
|
+package whatsapp
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "context"
|
|
|
|
+ "wechat-api/hook/aliyun"
|
|
|
|
+
|
|
|
|
+ "wechat-api/internal/svc"
|
|
|
|
+ "wechat-api/internal/types"
|
|
|
|
+
|
|
|
|
+ "github.com/zeromicro/go-zero/core/logx"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+type GetAutomationLogic struct {
|
|
|
|
+ logx.Logger
|
|
|
|
+ ctx context.Context
|
|
|
|
+ svcCtx *svc.ServiceContext
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func NewGetAutomationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAutomationLogic {
|
|
|
|
+ return &GetAutomationLogic{
|
|
|
|
+ Logger: logx.WithContext(ctx),
|
|
|
|
+ ctx: ctx,
|
|
|
|
+ svcCtx: svcCtx}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (l *GetAutomationLogic) GetAutomation(req *types.AutomationReq) (*types.AutomationResp, error) {
|
|
|
|
+ resp := types.AutomationResp{}
|
|
|
|
+ automation, err := aliyun.GetAutomation(*req.WaId, *req.Phone)
|
|
|
|
+ l.Logger.Infof("automation=%v err=%v\n", automation, err)
|
|
|
|
+ if err != nil {
|
|
|
|
+ resp.Msg = err.Error()
|
|
|
|
+ resp.Code = 1
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 获取内容并赋值
|
|
|
|
+ if automation.Body.Data.Commands != nil {
|
|
|
|
+ for _, v := range automation.Body.Data.Commands {
|
|
|
|
+ resp.Data.Commands = append(resp.Data.Commands, types.Command{
|
|
|
|
+ CommandDescription: *v.CommandDescription,
|
|
|
|
+ CommandName: *v.CommandName,
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if automation.Body.Data.Commands != nil {
|
|
|
|
+ for _, v := range automation.Body.Data.Prompts {
|
|
|
|
+ resp.Data.Prompts = append(resp.Data.Prompts, *v)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if automation.Body.Data.PhoneNumber != nil {
|
|
|
|
+ resp.Data.PhoneNumber = *automation.Body.Data.PhoneNumber
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if automation.Body.Data.EnableWelcomeMessage != nil {
|
|
|
|
+ resp.Data.EnableWelcomeMessage = *automation.Body.Data.EnableWelcomeMessage
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return &resp, nil
|
|
|
|
+}
|