This commit is contained in:
AKW 2024-01-04 12:10:59 +08:00
parent 89081d431c
commit 27e7e7f0da
1 changed files with 50 additions and 0 deletions

View File

@ -521,3 +521,53 @@ def qrcode_channel_handler(qrcodeid, userid, externaluserid, corpinfo):
alarm_userid_by_qrcodeid(qrcodeid)
# 打标签备注
tag_remark_contact(qrcodeid, userid, externaluserid, corpinfo)
def add_qun_by_channel(data, corpinfo, *args, **kwargs):
chat_id = data.get('chatid')
corpid = corpinfo.get('corpid')
appsecret = corpinfo.get('appsecret')
wechat_worker = WechatWorkerUtil(corpid, appsecret)
success, data = wechat_worker.get_external_groupchat(chat_id)
if not success:
return
chat_data_dict = {
'corpid': corpid,
'addtype': JqrAddTypeChoices.EVENT_CALLBACK,
}
for key in data.keys():
try:
JqrExternalQun._meta.get_field(key)
chat_data_dict[key] = data.get(key)
except Exception:
pass
JqrExternalQun.objects.update_or_create(
corpid=corpid,
chat_id=chat_id,
defaults=chat_data_dict # 如果创建新记录,使用这些默认值
)
def update_qun_by_channel(data, corpinfo, *args, **kwargs):
update_detail = data.get('updatedetail')
chat_id = data.get('chatid')
corpid = corpinfo.get('corpid')
qun = JqrExternalQun.objects.filter(chat_id=chat_id, corpid=corpid).first()
print(f'新增群成员,{chat_id}')
print(f'qun ---> {qun}')
if qun is None:
return
userid = qun.owner
if update_detail == 'add_member':
uid = None
hook_user = JqrHookUser.objects.filter(corpid=corpid, userid=userid).first()
if hook_user is not None:
uid = hook_user.uid
send_new_user_msg(corpid, userid, chat_id=chat_id, uid=uid)
def del_qun_by_channel(data, corpinfo, *args, **kwargs):
chat_id = data.get('chatid')
corpid = corpinfo.get('corpid')
logger.info(f'删除群聊,{chat_id}')
JqrExternalQun.objects.filter(chat_id=chat_id, corpid=corpid).delete()