修复了一些

This commit is contained in:
2026-06-18 18:02:45 +08:00
parent e67bc17fa2
commit 53049d1588
20 changed files with 3671 additions and 2541 deletions

View File

@@ -3,7 +3,7 @@ import json
import logging
import requests
from django.conf import settings
from orders.models import Dingdan, DingdanPingtai, DingdanShangjia
from orders.models import Order, PlatformOrderExt, MerchantOrderExt
from users.models import UserDashou, UserBoss, UserShangjia
from gvsdsdk.models import User
@@ -99,12 +99,12 @@ def _send_group_message(appkey, secret, group_id, sender_id, sender_name, sender
# ========== 核心入口 ==========
def establish_order_chat(dingdan_id):
try:
order = Dingdan.objects.select_related('pingtai_kuozhan', 'shangjia_kuozhan').get(dingdan_id=dingdan_id)
except Dingdan.DoesNotExist:
order = Order.objects.select_related('pingtai_kuozhan', 'shangjia_kuozhan').get(OrderID=dingdan_id)
except Order.DoesNotExist:
logger.error(f"订单 {dingdan_id} 不存在")
return False
dashou_uid = order.jiedan_dashou_id
dashou_uid = order.PlayerID
dashou_goeasy_id = f"Ds{dashou_uid}"
dashou_nickname = f'打手{dashou_uid[:6]}'
dashou_avatar_relative = ''
@@ -129,9 +129,9 @@ def establish_order_chat(dingdan_id):
# ========== 普通订单 / 我方派单 ==========
def _handle_local_order(order, dashou_goeasy_id, dashou_name, dashou_avatar, appkey, secret):
group_id = f"group_{order.dingdan_id}"
group_name = (order.jieshao[:20] + '') if order.jieshao and len(order.jieshao) > 20 else (order.jieshao or f"订单{order.dingdan_id}")
group_avatar = _full_local_avatar(order.tupian) if order.tupian else _full_local_avatar('')
group_id = f"group_{order.OrderID}"
group_name = (order.Description[:20] + '') if order.Description and len(order.Description) > 20 else (order.Description or f"订单{order.OrderID}")
group_avatar = _full_local_avatar(order.ImageURL) if order.ImageURL else _full_local_avatar('')
partner_goeasy_id, partner_name, partner_avatar = _get_local_partner_info(order)
if not partner_goeasy_id:
@@ -142,27 +142,27 @@ def _handle_local_order(order, dashou_goeasy_id, dashou_name, dashou_avatar, app
return False
# 1. 打手发送初始化消息
init_msg_text = f"订单已接单,内容:{order.jieshao},备注:{order.beizhu}游戏ID{order.nicheng}"
init_msg_text = f"订单已接单,内容:{order.Description},备注:{order.Remark}游戏ID{order.Nickname}"
success1 = _send_group_message(
appkey, secret, group_id, dashou_goeasy_id, dashou_name, group_avatar,
init_msg_text, None, group_name=group_name, order_id=order.dingdan_id
init_msg_text, None, group_name=group_name, order_id=order.OrderID
)
# 2. 【新增】派单方也发一条消息,确保他也能看到群聊
partner_msg = f"订单已确认,请开始服务。"
success2 = _send_group_message(
appkey, secret, group_id, partner_goeasy_id, partner_name, partner_avatar,
partner_msg, None, group_name=group_name, order_id=order.dingdan_id
partner_msg, None, group_name=group_name, order_id=order.OrderID
)
return success1 and success2
def _get_local_partner_info(order):
"""本地订单下单方:老板或商家"""
if order.fadan_pingtai == 1: # 老板
if order.Platform == 1: # 老板
try:
ext = order.pingtai_kuozhan
laoban_id = ext.laoban_id
laoban_id = ext.BossID
avatar_full = _full_local_avatar('')
nickname = f'老板{laoban_id[:6]}'
try:
@@ -177,11 +177,11 @@ def _get_local_partner_info(order):
except Exception as e:
logger.error(f"获取老板信息失败: {e}")
return None, None, None
elif order.fadan_pingtai == 2: # 商家
elif order.Platform == 2: # 商家
try:
ext = order.shangjia_kuozhan
shangjia_id = ext.shangjia_id
nickname = ext.sjnicheng or f'商家{shangjia_id[:6]}'
shangjia_id = ext.MerchantID
nickname = ext.MerchantNickname or f'商家{shangjia_id[:6]}'
avatar_full = _full_local_avatar('')
try:
sj_user = User.objects.get(UserUID=shangjia_id)