package crontask

import (
	"wechat-api/internal/service/wx"
)

func (l *CronTask) syncWx() {
	wx.SyncAllWx(l.svcCtx)
	//// 获取微信列表
	//var result types.WorkPhoneGetWeChatsResp
	//client := req.C().DevMode()
	//client.SetCommonRetryCount(2).
	//	SetCommonRetryBackoffInterval(1*time.Second, 5*time.Second).
	//	SetCommonRetryFixedInterval(2 * time.Second).SetTimeout(30 * time.Second)
	//res, err := client.R().SetSuccessResult(&result).Post("http://chat.gkscrm.com:13086/pc/GetWeChatsReq?id=0")
	//if err != nil {
	//	l.Error("syncWx: ", err)
	//	return
	//}
	//if !res.IsSuccessState() {
	//	l.Error("GetWeChats failed with status code: ", res.StatusCode)
	//	return
	//}
	//
	//// 遍历微信列表
	//for _, account := range result.Data {
	//	if account.Wechatid == "" {
	//		continue
	//	}
	//	wxinfo, err := l.svcCtx.DB.Wx.Query().
	//		Where(
	//			wx.And(
	//				wx.Or(
	//					wx.WxidEQ(account.Wechatid),
	//					wx.PortEQ(account.Deviceid),
	//				),
	//				wx.CtypeEQ(1),
	//			),
	//		).
	//		Only(l.ctx)
	//
	//	if err != nil && !ent.IsNotFound(err) {
	//		l.Error("syncWx: ", err)
	//		return
	//	}
	//	var status uint8
	//	if account.Isonline == 0 {
	//		status = 1
	//	} else {
	//		status = 0
	//	}
	//	if wxinfo != nil {
	//		err = l.svcCtx.DB.Wx.UpdateOneID(wxinfo.ID).
	//			SetServerID(0).
	//			SetPort(account.Deviceid).
	//			SetProcessID(strconv.FormatInt(account.Cid, 10)).
	//			SetAccount(account.Wechatno).
	//			SetNickname(account.Wechatnick).
	//			SetHeadBig(account.Avatar).
	//			SetStatus(status).
	//			Exec(l.ctx)
	//
	//		if err != nil {
	//			l.Error("syncWx: ", err)
	//			return
	//		}
	//	} else {
	//		l.Debug("wxinfo is nil")
	//		_, err := l.svcCtx.DB.Wx.Create().
	//			SetServerID(0).
	//			SetPort(account.Deviceid).
	//			SetProcessID(strconv.FormatInt(account.Cid, 10)).
	//			SetWxid(account.Wechatid).
	//			SetAccount(account.Wechatno).
	//			SetHeadBig(account.Avatar).
	//			SetNickname(account.Wechatnick).
	//			SetStatus(status).
	//			SetAllowList([]string{}).SetBlockList([]string{}).SetGroupAllowList([]string{}).SetGroupBlockList([]string{}).
	//			Save(l.ctx)
	//		if err != nil {
	//			l.Error("syncWx: ", err)
	//			return
	//		}
	//	}
	//
	//	data := map[string]interface{}{
	//		"MsgType": "TriggerFriendPushTask",
	//		"Content": map[string]interface{}{
	//			"WeChatId": account.Wechatid,
	//		},
	//	}
	//	jsonStr, err := json.Marshal(data)
	//	err = l.svcCtx.WechatWs["default"].SendMsg([]byte(jsonStr))
	//	if err != nil {
	//		l.Error("syncWx: ", err)
	//		return
	//	}
	//}
}