This commit is contained in:
AKW 2023-12-27 15:21:02 +08:00
parent 84a44f6d8c
commit ac099cbb6c
4 changed files with 52 additions and 6 deletions

22
apps/jqr/ksy_http.py Normal file
View File

@ -0,0 +1,22 @@
import requests
class Http(object):
BASE_URL = 'http://114.215.169.94:7035'
@classmethod
def get_new_user_msg(cls, corpid, userid, external_userid):
url = f'{cls.BASE_URL}/api/newusermsg/getnewusermsg'
params = {
'corpId': corpid,
'userId': userid,
'externalUserId': external_userid
}
res = requests.get(url, params=params)
if res.status_code == 200:
return True, res.json().get('data')
return False, None
if __name__ == '__main__':
Http.get_new_user_msg('ww056d00fac4950f54', 'QingFeng', 'wmy1VmQgAAWxMDKJdWrY1mY_Gl8HAHwQ')

View File

@ -78,7 +78,7 @@ def save_add_contact_by_channel(data, corpinfo, *args, **kwargs):
# 修复客户关系 # 修复客户关系
edit_add_contact(data, corpinfo, *args, **kwargs) edit_add_contact(data, corpinfo, *args, **kwargs)
# 转化外部用户Id # 转化外部用户Id
WS.transfer_external_userid_to_vid(f'{corpid}_{userid}', externaluserid) WS.transfer_external_userid_to_vid(corpid, userid, externaluserid)
@shared_task(name='edit_add_contact', queue='contact') @shared_task(name='edit_add_contact', queue='contact')

View File

@ -2,7 +2,9 @@ import logging
from apps.jqr.choices import JqrSendGroupMsgIsOpenChoices, JqrSendGroupMsgSendUserTypeChoices, \ from apps.jqr.choices import JqrSendGroupMsgIsOpenChoices, JqrSendGroupMsgSendUserTypeChoices, \
JqrSendGroupMsgSendTagTypeChoices JqrSendGroupMsgSendTagTypeChoices
from apps.jqr.ksy_http import Http
from apps.jqr.models import JqrExternalUser, JqrHookUser, JqrNewUserSendGroupMsg, JqrExternalFollowUser from apps.jqr.models import JqrExternalUser, JqrHookUser, JqrNewUserSendGroupMsg, JqrExternalFollowUser
from apps.jqr.ws import WS
from apps.qc.models import QcCorpinfo from apps.qc.models import QcCorpinfo
logger = logging.getLogger('apps') logger = logging.getLogger('apps')
@ -79,3 +81,17 @@ def get_jqr_new_send_msg_info(corpid, userid, external_userid):
tagids = [t.get('id') for t in tag.get('tags')] tagids = [t.get('id') for t in tag.get('tags')]
if not tagids: if not tagids:
pass pass
def send_new_user_msg(corpid, userid, external_userid):
# 发送新客欢迎
try:
success, data = Http.get_new_user_msg(corpid, userid, external_userid)
if not success:
logger.error(f'corpid: {corpid}, userid: {userid}, external_userid: {external_userid}, 发送新客欢迎失败')
return
status_code = WS.send_wx_work_msg(data)
return status_code == 200
except Exception as e:
logger.error(f'corpid: {corpid}, userid: {userid}, external_userid: {external_userid}, 发送新客欢迎失败: {e}')
pass

View File

@ -5,23 +5,31 @@ class WS:
BASE_URL = f'http://ws.xbtool.cn' BASE_URL = f'http://ws.xbtool.cn'
@classmethod @classmethod
def transfer_external_userid_to_vid(cls, client_id, external_user_ids): def transfer_external_userid_to_vid(cls, corpid, userid, external_user_ids, is_sync=True):
payload = { payload = {
"clientId": client_id, "corpId": corpid,
"userId": userid,
"isSync": is_sync,
"externalUserIds": external_user_ids "externalUserIds": external_user_ids
} }
url = f'{cls.BASE_URL}/api/hook/websocket/transferexternaluseridtovid' url = f'{cls.BASE_URL}/api/hook/websocket/transferexternaluseridtovid'
response = requests.post(url, json=payload) response = requests.post(url, json=payload)
return response.status_code
@classmethod @classmethod
def transfer_groupid_to_roomid(cls, client_id, group_ids): def transfer_groupid_to_roomid(cls, corpid, userid, group_ids, is_sync=True):
payload = { payload = {
"clientId": client_id, "corpId": corpid,
"userId": userid,
"isSync": is_sync,
"groupIds": group_ids "groupIds": group_ids
} }
url = f'{cls.BASE_URL}/api/hook/websocket/transferexternaluseridtovid' url = f'{cls.BASE_URL}/api/hook/websocket/transferexternaluseridtovid'
response = requests.post(url, json=payload) response = requests.post(url, json=payload)
return response.status_code
@classmethod @classmethod
def send_wx_work_msg(cls): def send_wx_work_msg(cls, data):
url = f'{cls.BASE_URL}/api/hook/websocket/sendwxworkmsg' url = f'{cls.BASE_URL}/api/hook/websocket/sendwxworkmsg'
response = requests.post(url, json=data)
return response.status_code