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