修复了一些
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user