This commit is contained in:
aaron 2025-03-19 12:15:05 +08:00
parent 9a8f3be396
commit 313e4d5263
3 changed files with 13 additions and 29 deletions

View File

@ -23,7 +23,6 @@ from app.core.point_manager import PointRecordType
from app.core.account import AccountManager from app.core.account import AccountManager
import logging import logging
from app.core.security import get_password_hash from app.core.security import get_password_hash
from app.core.wecomclient import wecom_client
router = APIRouter() router = APIRouter()
@ -66,20 +65,9 @@ async def wechat_phone_login(
if not phone: if not phone:
return error_response(code=400, message="手机号为空") return error_response(code=400, message="手机号为空")
#获取企业微信的 userid
wecom_info = await wecom_client.code2session(request.login_code)
print(f"获取到的企业微信用户信息: {wecom_info}")
wecom_userid = None
wecom_pending_id = None
if wecom_info:
wecom_userid = wecom_info.get("userid")
wecom_pending_id = wecom_info.get("pending_id")
# 查找或创建用户 # 查找或创建用户
user = db.query(UserDB).filter(UserDB.phone == phone).first() user = db.query(UserDB).filter(UserDB.openid == openid).first()
if not user: if not user:
# 生成用户编码 # 生成用户编码
user_code = generate_user_code(db) user_code = generate_user_code(db)
@ -91,9 +79,7 @@ async def wechat_phone_login(
referral_code=request.referral_code, referral_code=request.referral_code,
password=get_password_hash("123456"), password=get_password_hash("123456"),
openid=openid, # 保存 openid openid=openid, # 保存 openid
unionid=unionid, # 保存 unionid unionid=unionid # 保存 unionid
wecom_userid=wecom_userid,
wecom_pending_id=wecom_pending_id
) )
db.add(user) db.add(user)
db.flush() db.flush()
@ -105,8 +91,7 @@ async def wechat_phone_login(
# 更新现有用户的 openid 和 unionid # 更新现有用户的 openid 和 unionid
user.openid = openid user.openid = openid
user.unionid = unionid user.unionid = unionid
user.wecom_userid = wecom_userid user.phone = phone
user.wecom_pending_id = wecom_pending_id
db.commit() db.commit()
# 创建访问令牌 # 创建访问令牌

View File

@ -330,16 +330,15 @@ async def daily_partner_settlement():
# 计算服务商分成 # 计算服务商分成
print(f"服务商({admin_profit_sharing/100}%) {community.admin_id} 分成金额: {admin_profit}") print(f"服务商({admin_profit_sharing/100}%) {community.admin_id} 分成金额: {admin_profit}")
total_admin_profit += admin_profit if community.admin_id and community.admin_id > 0:
total_admin_profit += admin_profit
settle_details["admin_profit"] = { settle_details["admin_profit"] = {
"user_id": community.admin_id, "user_id": community.admin_id,
"profit": admin_profit "profit": admin_profit
} }
if admin_profit > 0:
if admin_profit > 0 and community.admin_id and community.admin_id > 0: account_manager = AccountManager(db)
account_manager = AccountManager(db) account_manager.change_balance(community.admin_id, admin_profit, f"【服务商】 {stat.community_name} 订单收益")
account_manager.change_balance(community.admin_id, admin_profit, f"【服务商】 {stat.community_name} 订单收益")
else: else:
total_profit_sediment += admin_profit total_profit_sediment += admin_profit
@ -397,7 +396,7 @@ async def daily_partner_settlement():
> - 服务商分成: {total_admin_profit:.2f} > - 服务商分成: {total_admin_profit:.2f}
> - 配送员分成: {total_delivery_profit:.2f} > - 配送员分成: {total_delivery_profit:.2f}
> - 平台分成: {total_platform_profit:.2f} > - 平台分成: {total_platform_profit:.2f}
> - 沉淀金额: {total_profit_sediment:.2f}
""" """
# 发送企业微信消息 # 发送企业微信消息

Binary file not shown.