update
This commit is contained in:
63
crud.py
63
crud.py
@@ -5,6 +5,7 @@ import models, schemas
|
||||
import json
|
||||
import time
|
||||
|
||||
|
||||
# 通过id获取用户
|
||||
def get_user(db: Session, user_id: int):
|
||||
return db.query(models.User).filter(models.User.id == user_id).first()
|
||||
@@ -14,9 +15,11 @@ def get_user(db: Session, user_id: int):
|
||||
def get_user_by_openId(db: Session, openId: str):
|
||||
return db.query(models.User).filter(models.User.openId == openId).first()
|
||||
|
||||
|
||||
# 通过openId岔村用户
|
||||
def get_user_by_h5openid(db: Session, h5openid: str):
|
||||
return db.query(models.User).filter(models.User.h5openid == h5openid).first()
|
||||
return db.query(
|
||||
models.User).filter(models.User.h5openid == h5openid).first()
|
||||
|
||||
|
||||
# 通过wxid岔村用户
|
||||
@@ -31,28 +34,44 @@ def get_users(db: Session, skip: int = 0, limit: int = 100):
|
||||
|
||||
# 创建用户
|
||||
# user:schemas.UserCreate
|
||||
# **user
|
||||
def create_user(db: Session, user:schemas.User):
|
||||
# def create_user(db: Session, user):
|
||||
db_user = models.User(
|
||||
wxid=user.wxid,
|
||||
openId=user.openId,
|
||||
sex=user.sex,
|
||||
country=user.country,
|
||||
province=user.province,
|
||||
sourceStr=user.sourceStr,
|
||||
usertype=user.usertype,
|
||||
nickname=user.nickname,
|
||||
wxaccount=user.wxaccount,
|
||||
remark=user.remark,
|
||||
smallhead=user.smallhead,
|
||||
bighead=user.bighead,
|
||||
labels=user.labels,
|
||||
source=user.source,
|
||||
v1=user.v1
|
||||
)
|
||||
|
||||
# **user
|
||||
def create_user(db: Session, user: schemas.User):
|
||||
# def create_user(db: Session, user):
|
||||
db_user = models.User(wxid=user.wxid,
|
||||
openId=user.openId,
|
||||
sex=user.sex,
|
||||
country=user.country,
|
||||
province=user.province,
|
||||
sourceStr=user.sourceStr,
|
||||
usertype=user.usertype,
|
||||
nickname=user.nickname,
|
||||
wxaccount=user.wxaccount,
|
||||
remark=user.remark,
|
||||
smallhead=user.smallhead,
|
||||
bighead=user.bighead,
|
||||
labels=user.labels,
|
||||
source=user.source,
|
||||
v1=user.v1)
|
||||
|
||||
db.add(db_user)
|
||||
db.commit()
|
||||
db.refresh(db_user)
|
||||
return db_user
|
||||
|
||||
|
||||
# 更新用户字段
|
||||
def update_user_field(db: Session, user_id: str, openId=None, h5openid=None):
|
||||
user = get_user(db, user_id)
|
||||
if user:
|
||||
# 更新字段值
|
||||
# 存储小程序openid
|
||||
if openId:
|
||||
user.openId = openId
|
||||
if h5openid:
|
||||
user.h5openid = h5openid
|
||||
|
||||
# 提交更改
|
||||
db.commit()
|
||||
db.refresh(user)
|
||||
return user
|
||||
return False
|
||||
|
||||
84
main.py
84
main.py
@@ -28,6 +28,9 @@ import utils
|
||||
import requests
|
||||
import config
|
||||
from urllib.parse import quote, unquote
|
||||
import re
|
||||
|
||||
|
||||
|
||||
models.Base.metadata.create_all(bind=engine)
|
||||
|
||||
@@ -134,35 +137,42 @@ def read_users(wxid, db: Session = Depends(get_db)):
|
||||
# 群-异度星球 49187487591@chatroom chatroom
|
||||
def h5group(nickname, db: Session = Depends(get_db)):
|
||||
newtext = unquote(nickname, 'utf-8')
|
||||
pattern = r'收到(\w+)的在看'
|
||||
print(newtext)
|
||||
# 判断是否在群中
|
||||
inGroup = False
|
||||
groupList = WXBotService.get_group_members_list(
|
||||
robot_wxid=config.account_wxid, from_wxid=config.chatroomId)
|
||||
# print('groupList', groupList)
|
||||
for groupItem in groupList['data']:
|
||||
if groupItem['nickname'] == nickname:
|
||||
inGroup = True
|
||||
if inGroup:
|
||||
return {"code": 200, "success": "fail", "message": "已经在群聊中"}
|
||||
else:
|
||||
new_wxid = None
|
||||
allFriend = WXBotService.get_address_list(config.account_wxid)
|
||||
for friendItem in allFriend['data']["contactList"]:
|
||||
if friendItem['nickname'] == nickname:
|
||||
new_wxid = friendItem['wxid']
|
||||
else:
|
||||
# print('通过nickname查不到wxid')
|
||||
pass
|
||||
if new_wxid:
|
||||
WXBotService.add_group_members_40_more(
|
||||
robot_wxid=config.account_wxid,
|
||||
from_wxid=config.chatroomId, #异度星球群
|
||||
new_wxid=new_wxid)
|
||||
print('new_wxid--', new_wxid)
|
||||
return {"code": 200, "success": "ok", "message": "群聊邀请已发送"}
|
||||
matches = re.findall(pattern, newtext)
|
||||
if matches:
|
||||
print("匹配到的结果:", matches)
|
||||
# 判断是否在群中
|
||||
inGroup = False
|
||||
groupList = WXBotService.get_group_members_list(
|
||||
robot_wxid=config.account_wxid, from_wxid=config.chatroomId)
|
||||
# print('groupList', groupList)
|
||||
for groupItem in groupList['data']:
|
||||
if groupItem['nickname'] == matches:
|
||||
inGroup = True
|
||||
if inGroup:
|
||||
return {"code": 200, "success": "fail", "message": "已经在群聊中"}
|
||||
else:
|
||||
return {"code": 200, "success": "ok", "message": "查不到nickname"}
|
||||
new_wxid = None
|
||||
allFriend = WXBotService.get_address_list(config.account_wxid)
|
||||
for friendItem in allFriend['data']["contactList"]:
|
||||
if friendItem['nickname'] == matches:
|
||||
new_wxid = friendItem['wxid']
|
||||
else:
|
||||
# print('通过nickname查不到wxid')
|
||||
pass
|
||||
if new_wxid:
|
||||
WXBotService.add_group_members_40_more(
|
||||
robot_wxid=config.account_wxid,
|
||||
from_wxid=config.chatroomId, #异度星球群
|
||||
new_wxid=new_wxid)
|
||||
print('new_wxid--', new_wxid)
|
||||
return {"code": 200, "success": "ok", "message": "群聊邀请已发送"}
|
||||
else:
|
||||
return {"code": 200, "success": "ok", "message": "查不到nickname"}
|
||||
else:
|
||||
print("未找到匹配项,或者有特殊字符")
|
||||
|
||||
|
||||
|
||||
# 创建用户
|
||||
@@ -334,17 +344,17 @@ def kp(event_data):
|
||||
# new_wxid='wxid_4413224132412')
|
||||
|
||||
# 发送小程序
|
||||
utils.sendminiProgram(data, account_wxid, wxid, planetXml)
|
||||
# utils.sendminiProgram(data, account_wxid, wxid, planetXml)
|
||||
# H5链接
|
||||
# WXBotService.send_link_message(
|
||||
# account_wxid,
|
||||
# wxid,
|
||||
# title="欢迎加入微信群",
|
||||
# desc="请查看规则",
|
||||
# url=f'https://link.hackrobot.cn?wxid={wxid}',
|
||||
# pic=
|
||||
# "https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-cropped-Screenshot-2023-05-22-at-17.26.38.png"
|
||||
# )
|
||||
WXBotService.send_link_message(
|
||||
account_wxid,
|
||||
wxid,
|
||||
title="欢迎加入微信群",
|
||||
desc="请查看规则",
|
||||
url=f'https://link.hackrobot.cn?wxid={wxid}',
|
||||
pic=
|
||||
"https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-cropped-Screenshot-2023-05-22-at-17.26.38.png"
|
||||
)
|
||||
|
||||
# if msg in ['腾讯云']:
|
||||
# # 发送小程序
|
||||
|
||||
2
utils.py
2
utils.py
@@ -38,6 +38,8 @@ def saveWxidInfo(account_wxid, wxid,openId=None,h5openid=None):
|
||||
db_user = crud.get_user_by_wxid(db=SessionLocal(), wxid=wxid)
|
||||
if db_user:
|
||||
print("wxid already registered")
|
||||
print("开始更新数据表")
|
||||
crud.update_user_field(db=SessionLocal(),user_id=wxid,openId=openId,h5openid=h5openid)
|
||||
# 更新数据
|
||||
# return db_user
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user