This commit is contained in:
parent
89081d431c
commit
27e7e7f0da
|
@ -521,3 +521,53 @@ def qrcode_channel_handler(qrcodeid, userid, externaluserid, corpinfo):
|
||||||
alarm_userid_by_qrcodeid(qrcodeid)
|
alarm_userid_by_qrcodeid(qrcodeid)
|
||||||
# 打标签备注
|
# 打标签备注
|
||||||
tag_remark_contact(qrcodeid, userid, externaluserid, corpinfo)
|
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()
|
||||||
|
|
Loading…
Reference in New Issue