Jelajahi Sumber

列表增加一个是否显示取消按钮的字段 isShow,修改需求

lichangdong 1 hari lalu
induk
melakukan
fbd5277570

+ 5 - 4
desc/wechat/add_wechat_friend_log.api

@@ -36,12 +36,13 @@ type (
         OwnerWxType  *string `json:"wxType,optional"`
         FindContent  *string `json:"phone,optional"`
         Status *string `json:"status,optional"`
-        ErrMessage  *string `json:"err_message,optional"`
-        TaskCount  *int `json:"err_message,optional"`
+        ErrMessage  *string `json:"errMessage,optional"`
+        TaskCount  *int `json:"taskCount,optional"`
+        isShow  *int `json:"isShow,optional"`
         // 微信昵称 群备注名称
         Message  *string `json:"message,optional"`
-        CreateTime  *string `json:"create_time,optional"`
-        UpdateTime  *string `json:"update_time,optional"`
+        CreateTime  *string `json:"createTime,optional"`
+        UpdateTime  *string `json:"updateTime,optional"`
     }
 
     CancelByIdsReq {

+ 32 - 0
hook/contact.go

@@ -240,6 +240,38 @@ func (h *Hook) TriggerUserLabelTask(wxWxid string) error {
 	return nil
 }
 
+func (h *Hook) TriggerContactPushTask(wxWxid string) error {
+	conn, err := h.connWorkPhone()
+	if err != nil {
+		err = fmt.Errorf("TriggerContactPushTask failed")
+		return err
+	}
+	defer func(conn *websocket.Conn) {
+		err = conn.Close()
+		if err != nil {
+			err = fmt.Errorf("TriggerContactPushTask failed")
+		}
+	}(conn)
+
+	message := map[string]interface{}{
+		"MsgType": "TriggerContactPushTask",
+		"Content": map[string]interface{}{
+			"WxId": wxWxid,
+		},
+	}
+	transportMessageJSON, err := json.Marshal(message)
+	if err != nil {
+		return err
+	}
+	// 发送 JSON 消息
+	err = conn.WriteMessage(websocket.TextMessage, transportMessageJSON)
+	if err != nil {
+		return fmt.Errorf("failed to send message: %v", err)
+	}
+
+	return nil
+}
+
 func (h *Hook) AddFriendInChatRoom(ChatRoomId, wxWxid, friendId, desc string) error {
 	conn, err := h.connWorkPhone()
 	if err != nil {

+ 0 - 2
internal/handler/add_friend/add_friend_by_phone_handler.go

@@ -14,8 +14,6 @@ import (
 //
 // 手机号加好友接口
 //
-// 手机号加好友接口
-//
 // Parameters:
 //  + name: body
 //    require: true

+ 3 - 2
internal/logic/Wxhook/get_friends_and_groups_logic.go

@@ -208,9 +208,10 @@ func (l *GetFriendsAndGroupsLogic) GetFriendsAndGroups(req *types.IDReq) (resp *
 
 		if wxInfo.Ctype == uint64(3) {
 			hookClient = hook.NewWecomHook("", "", "")
-			_ = hookClient.TriggerCustomerPushTask(wxInfo.Wxid)
+			_ = hookClient.TriggerCustomerPushTask(wxInfo.Wxid) //获取客户
 			_ = hookClient.TriggerConversationPushTask(wxInfo.Wxid)
-			_ = hookClient.TriggerUserLabelTask(wxInfo.Wxid)
+			_ = hookClient.TriggerUserLabelTask(wxInfo.Wxid)   //获取客户标签
+			_ = hookClient.TriggerContactPushTask(wxInfo.Wxid) //获取同事
 		} else {
 
 			data := map[string]interface{}{

+ 13 - 0
internal/logic/add_friend/add_friend_list_logic.go

@@ -108,6 +108,19 @@ func (l *AddFriendListLogic) AddFriendList(req *types.AddFriendListReq) (resp *t
 					statusStr := statusMap[v.IsCanAdd]
 					return &statusStr
 				}(),
+				IsShow: func() *int {
+					statusMap := map[int]int{
+						0: 1,
+						1: 1,
+						2: 0,
+						3: 0,
+						4: 0,
+						5: 1,
+						6: 0,
+					}
+					isShow := statusMap[v.IsCanAdd]
+					return &isShow
+				}(),
 				TaskCount:  &v.TaskCount,
 				Message:    &v.Message,
 				CreateTime: utils.UnixTimeToBeijing(v.CreatedAt),

+ 6 - 1
internal/logic/add_friend/cancel_by_ids_logic.go

@@ -3,6 +3,7 @@ package add_friend
 import (
 	"context"
 	"github.com/zeromicro/go-zero/core/errorx"
+	"time"
 	"wechat-api/ent/addwechatfriendlog"
 	"wechat-api/internal/svc"
 	"wechat-api/internal/types"
@@ -32,7 +33,11 @@ func (l *CancelByIdsLogic) CancelByIds(req *types.CancelByIdsReq) (resp *types.B
 	}
 	var isCanAdd []int
 	isCanAdd = append(isCanAdd, 0, 1)
-	err = l.svcCtx.DB.AddWechatFriendLog.Update().Where(addwechatfriendlog.IDIn(req.Ids...), addwechatfriendlog.IsCanAddIn(isCanAdd...)).Exec(l.ctx)
+	err = l.svcCtx.DB.AddWechatFriendLog.Update().
+		SetIsCanAdd(5).                  // 假设要将IsCanAdd字段设置为5
+		SetUpdatedAt(time.Now().Unix()). // 设置修改时间
+		Where(addwechatfriendlog.IDIn(req.Ids...), addwechatfriendlog.IsCanAddIn(isCanAdd...)).
+		Exec(l.ctx)
 	if err != nil {
 		return nil, errorx.NewInvalidArgumentError("取消失败")
 	}

+ 5 - 4
internal/types/types.go

@@ -4755,12 +4755,13 @@ type FriendList struct {
 	OwnerWxType *string `json:"wxType,optional"`
 	FindContent *string `json:"phone,optional"`
 	Status      *string `json:"status,optional"`
-	ErrMessage  *string `json:"err_message,optional"`
-	TaskCount   *int    `json:"err_message,optional"`
+	ErrMessage  *string `json:"errMessage,optional"`
+	TaskCount   *int    `json:"taskCount,optional"`
+	IsShow      *int    `json:"isShow,optional"`
 	// 微信昵称 群备注名称
 	Message    *string `json:"message,optional"`
-	CreateTime *string `json:"create_time,optional"`
-	UpdateTime *string `json:"update_time,optional"`
+	CreateTime *string `json:"createTime,optional"`
+	UpdateTime *string `json:"updateTime,optional"`
 }
 
 // swagger:model CancelByIdsReq