转化外部用户Id
This commit is contained in:
parent
b55a49aaf7
commit
f482475d61
|
@ -0,0 +1,81 @@
|
|||
import logging
|
||||
|
||||
from apps.jqr.choices import JqrSendGroupMsgIsOpenChoices, JqrSendGroupMsgSendUserTypeChoices, \
|
||||
JqrSendGroupMsgSendTagTypeChoices
|
||||
from apps.jqr.models import JqrExternalUser, JqrHookUser, JqrNewUserSendGroupMsg, JqrExternalFollowUser
|
||||
from apps.qc.models import QcCorpinfo
|
||||
|
||||
logger = logging.getLogger('apps')
|
||||
|
||||
|
||||
def get_jqr_new_send_msg_info(corpid, userid, external_userid):
|
||||
try:
|
||||
external_user = JqrExternalUser.objects.get(corpid=corpid, external_userid=external_userid)
|
||||
except JqrExternalUser.DoesNotExist:
|
||||
logger.error(f'corpid: {corpid}, external_userid: {external_userid}, 新客欢迎external_user不存在')
|
||||
return
|
||||
if not external_user.vid:
|
||||
logger.error(f'corpid: {corpid}, external_userid: {external_userid}, 新客欢迎external_user没有vid')
|
||||
return
|
||||
try:
|
||||
hook_user = JqrHookUser.objects.get(corpid=corpid, userid=userid)
|
||||
except JqrHookUser.DoesNotExist:
|
||||
logger.error(f'corpid: {corpid}, userid: {userid}, 新客欢迎hook_user不存在')
|
||||
return
|
||||
|
||||
if not hook_user.new_user:
|
||||
logger.error(f'corpid: {corpid}, userid: {userid}, 新客欢迎hook_user没有开启新客欢迎')
|
||||
return
|
||||
settletaggroupid = ''
|
||||
uid = hook_user.uid
|
||||
corpid = hook_user.corpid
|
||||
hook_user_userid = hook_user.userid
|
||||
corp_info = QcCorpinfo.objects.filter(corpid=corpid, uid=uid).first()
|
||||
if corp_info:
|
||||
settletaggroupid = corp_info.settletaggroupid
|
||||
jqr_new_user_send_msg_list = JqrNewUserSendGroupMsg.objects.filter(uid=uid,
|
||||
isopen=JqrSendGroupMsgIsOpenChoices.OPEN).all()
|
||||
jqr_new_user_send_group_msg = None
|
||||
for send_msg in jqr_new_user_send_msg_list:
|
||||
if send_msg.sendusertype == JqrSendGroupMsgSendUserTypeChoices.ALL:
|
||||
jqr_new_user_send_group_msg = send_msg
|
||||
break
|
||||
elif send_msg.sendusertype == JqrSendGroupMsgSendUserTypeChoices.CORP_PART:
|
||||
if send_msg.senduserids and any([senduserid.get('corpid') for senduserid in send_msg.senduserids]):
|
||||
jqr_new_user_send_group_msg = send_msg
|
||||
break
|
||||
elif send_msg.sendusertype == JqrSendGroupMsgSendUserTypeChoices.CORP_USER:
|
||||
if send_msg.senduserids and any(
|
||||
[senduserid.get('corpid') and senduserid.get('userid') for senduserid in send_msg.senduserids]):
|
||||
jqr_new_user_send_group_msg = send_msg
|
||||
break
|
||||
send_msg_list = jqr_new_user_send_group_msg.sendcontent
|
||||
if not send_msg_list:
|
||||
logger.error(f'corpid: {corpid}, userid: {userid}, ,新客欢迎配置内容不存在')
|
||||
return
|
||||
send_msg_list.sort(key=lambda msg: msg.get('sendcitylevels', {}).get('level'))
|
||||
send_content = None
|
||||
for send_msg in send_msg_list:
|
||||
# 所有用户
|
||||
send_msg_tag_type = send_msg.get('sendtag', {}).get('type')
|
||||
if send_msg_tag_type == JqrSendGroupMsgSendTagTypeChoices.ALL_USER:
|
||||
send_content = send_msg
|
||||
break
|
||||
# 满足任意标签的用户
|
||||
elif send_msg_tag_type == JqrSendGroupMsgSendTagTypeChoices.CORP_TAGS:
|
||||
# 查询用户的标签信息
|
||||
try:
|
||||
external_follow_user = JqrExternalFollowUser.objects.get(corpid=corpid, userid=hook_user_userid,
|
||||
dtime__isnull=True)
|
||||
except JqrExternalFollowUser.DoesNotExist:
|
||||
logger.error(f'corpid: {corpid}, userid: {userid}, 新客欢迎external_follow_user不存在')
|
||||
continue
|
||||
sendtag_item = send_msg.get('sendtag', {}).get('item')
|
||||
tags = list(filter(lambda tag: tag.get('corpid') == corpid, sendtag_item))
|
||||
if not tags:
|
||||
logger.error(f'corpid: {corpid}, userid: {hook_user_userid}, ,未找到标签')
|
||||
continue
|
||||
tag = tags[0]
|
||||
tagids = [t.get('id') for t in tag.get('tags')]
|
||||
if not tagids:
|
||||
pass
|
Loading…
Reference in New Issue