feat: H5链接配对群ID与客服订单详情扩展(指定响应/罚款)
This commit is contained in:
@@ -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})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user