feat: H5链接配对群ID与客服订单详情扩展(指定响应/罚款)

This commit is contained in:
XingQue
2026-06-29 06:51:49 +08:00
parent 31247b7915
commit 634796b012
3 changed files with 96 additions and 23 deletions

View File

@@ -9270,6 +9270,46 @@ class KefuGetOrderDetailView(APIView):
logger.exception(f"[kefuhqddxq] 退款理由查询异常 dingdan_id={dingdan_id}")
response_data['tuikuan_liyou'] = ''
# 8. 指定打手响应
ZHIDING_HF_TEXT = {1: '想接', 2: '不想接', 3: '等会接'}
hf = getattr(dingdan_obj, 'AssignedResponse', None)
response_data['zhiding_hf'] = hf
response_data['zhiding_hf_text'] = ZHIDING_HF_TEXT.get(hf, '') if hf else ''
response_data['zhiding_hf_sj'] = (
dingdan_obj.AssignedResponseAt.strftime('%Y-%m-%d %H:%M:%S')
if getattr(dingdan_obj, 'AssignedResponseAt', None) else ''
)
response_data['zhiding_dhj_sm'] = getattr(dingdan_obj, 'AssignedLaterNote', '') or ''
# 9. 关联罚款(打手)
PENALTY_STATUS = {1: '待缴纳', 2: '已缴纳', 3: '申诉中', 4: '已驳回'}
try:
from orders.models import Penalty
dashou_id = dingdan_obj.PlayerID or dingdan_obj.AssignedID or ''
fakuan_qs = Penalty.query.filter(RelatedOrderID=dingdan_id)
if dashou_id:
fakuan_qs = fakuan_qs.filter(PenalizedUserID=dashou_id)
fakuan_list = []
for p in fakuan_qs.order_by('-CreateTime')[:5]:
fakuan_list.append({
'amount': str(p.FineAmount or '0.00'),
'status': p.Status,
'status_text': PENALTY_STATUS.get(p.Status, ''),
'reason': p.Reason or '',
'create_time': p.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if p.CreateTime else '',
})
response_data['fakuan_list'] = fakuan_list
latest = fakuan_list[0] if fakuan_list else None
response_data['fakuan_info'] = latest
response_data['is_fadaned'] = Penalty.query.filter(
RelatedOrderID=dingdan_id, ApplicantID=getattr(current_user, 'UserUID', '')
).exists()
except Exception as e:
logger.exception(f"[kefuhqddxq] 罚款查询异常 dingdan_id={dingdan_id}")
response_data['fakuan_list'] = []
response_data['fakuan_info'] = None
response_data['is_fadaned'] = False
return Response({'code': 0, 'data': response_data})