Kaynağa Gözat

Merge branch 'yhg_250102' into debug

jimmyyem 3 ay önce
ebeveyn
işleme
fa0b5de70f

+ 2 - 3
desc/wechat/whatsapp.api

@@ -34,6 +34,8 @@ type (
 		PhoneStatus  *string `json:"phoneStatus,optional"`
 	
 		Tokens *uint64 `json:"tokens,optional"`
+
+		// 号码发送频率号码发送频率
 		Frequency *string `json:"frequency,optional"`
 
 		// 号码质量
@@ -42,9 +44,6 @@ type (
 		// 号码校验状态
 		VerifyStatus *string `json:"verifyStatus,optional"`
 
-		// 号码发送频率
-		MessagingLimitTier *string `json:"messagingLimitTier,optional"`
-
         // 机构 ID 
         OrganizationId  *uint64 `json:"organizationId,optional"`
 		OrganizationName *string `json:"organizationName,optional"`

+ 30 - 21
internal/logic/whatsapp/get_whatsapp_list_logic.go

@@ -2,7 +2,11 @@ package whatsapp
 
 import (
 	"context"
+	"github.com/alibabacloud-go/cams-20200606/v2/client"
 	"github.com/suyuan32/simple-admin-core/rpc/types/core"
+	"github.com/zeromicro/go-zero/core/errorx"
+	"wechat-api/hook/aliyun"
+
 	"wechat-api/ent/predicate"
 	"wechat-api/ent/whatsapp"
 	"wechat-api/internal/svc"
@@ -40,18 +44,20 @@ func (l *GetWhatsappListLogic) GetWhatsappList(req *types.WhatsappListReq) (*typ
 	if req.PhoneName != nil {
 		predicates = append(predicates, whatsapp.PhoneName(*req.PhoneName))
 	}
+
+	ids := make([]string, 0)
 	if req.WaId != nil && *req.WaId != "" {
+		ids = append(ids, *req.WaId)
 		predicates = append(predicates, whatsapp.WaID(*req.WaId))
 	} else {
-		//wclist, err := l.svcCtx.DB.WhatsappChannel.Query().All(l.ctx)
-		//if err != nil {
-		//	return nil, errorx.NewInvalidArgumentError(err.Error())
-		//}
-		//ids := make([]string, 0)
-		//for _, v := range wclist {
-		//	ids = append(ids, v.WaID)
-		//}
+		wclist, err := l.svcCtx.DB.WhatsappChannel.Query().All(l.ctx)
+		if err != nil {
+			return nil, errorx.NewInvalidArgumentError(err.Error())
+		}
 
+		for _, v := range wclist {
+			ids = append(ids, v.WaID)
+		}
 	}
 
 	data, err := l.svcCtx.DB.Whatsapp.Query().Where(predicates...).WithAgent().Page(l.ctx, req.Page, req.PageSize)
@@ -64,10 +70,13 @@ func (l *GetWhatsappListLogic) GetWhatsappList(req *types.WhatsappListReq) (*typ
 	resp.Msg = errormsg.Success
 	resp.Data.Total = data.PageDetails.Total
 
-	//result, err := aliyun.QueryCamsChatappPhoneNumbers(*req.WaId)
-	//l.Logger.Infof("result=%v err=%v\n", result, err)
+	phoneNumbers := make([]*client.QueryChatappPhoneNumbersResponseBodyPhoneNumbers, 0)
+	for _, vid := range ids {
+		result, _ := aliyun.QueryCamsChatappPhoneNumbers(vid)
+		l.Logger.Infof("result=%v err=%v vid=%v\n", result, err, vid)
 
-	//phoneNumbers := result.Body.PhoneNumbers
+		phoneNumbers = append(phoneNumbers, result.Body.PhoneNumbers...)
+	}
 
 	for _, v := range data.List {
 		organizationName := ""
@@ -97,16 +106,16 @@ func (l *GetWhatsappListLogic) GetWhatsappList(req *types.WhatsappListReq) (*typ
 		}
 
 		var phoneStatus, quality, verifyStatus, frequency string
-		//currentPhone := v.Cc + v.Phone
-		//for _, v := range phoneNumbers {
-		//	if *v.PhoneNumber == currentPhone {
-		//		phoneStatus = *v.Status
-		//		verifyStatus = *v.CodeVerificationStatus
-		//		quality = *v.QualityRating
-		//		frequency = *v.MessagingLimitTier
-		//		break
-		//	}
-		//}
+		currentPhone := v.Cc + v.Phone
+		for _, v := range phoneNumbers {
+			if *v.PhoneNumber == currentPhone {
+				phoneStatus = *v.Status
+				verifyStatus = *v.CodeVerificationStatus
+				quality = *v.QualityRating
+				frequency = *v.MessagingLimitTier
+				break
+			}
+		}
 
 		resp.Data.Data = append(resp.Data.Data,
 			types.WhatsappInfo{

+ 2 - 3
internal/types/types.go

@@ -3432,13 +3432,12 @@ type WhatsappInfo struct {
 	// 号码状态
 	PhoneStatus *string `json:"phoneStatus,optional"`
 	Tokens      *uint64 `json:"tokens,optional"`
-	Frequency   *string `json:"frequency,optional"`
+	// 号码发送频率号码发送频率
+	Frequency *string `json:"frequency,optional"`
 	// 号码质量
 	Quality *string `json:"quality,optional"`
 	// 号码校验状态
 	VerifyStatus *string `json:"verifyStatus,optional"`
-	// 号码发送频率
-	MessagingLimitTier *string `json:"messagingLimitTier,optional"`
 	// 机构 ID
 	OrganizationId   *uint64 `json:"organizationId,optional"`
 	OrganizationName *string `json:"organizationName,optional"`