更新代码管事分红问题
This commit is contained in:
@@ -8722,6 +8722,7 @@ class KefuGetOrderDetailView(APIView):
|
||||
'shangjia_kuozhan'
|
||||
).only(
|
||||
'dingdan_id', 'zhuangtai', 'fadan_pingtai', 'jine', 'dashou_fencheng',
|
||||
'guanshi_fencheng', 'guanshi_shangjia_fencheng',
|
||||
'jiedan_dashou_id', 'dashou_liuyan', 'zhiding_id', 'shangpin_id',
|
||||
'leixing_id', 'tupian', 'jieshao', 'beizhu', 'tkly', 'nicheng',
|
||||
'clkf', 'create_time', 'update_time'
|
||||
@@ -8741,6 +8742,8 @@ class KefuGetOrderDetailView(APIView):
|
||||
'fadanpingtai': dingdan_obj.fadan_pingtai or 0,
|
||||
'jiage': float(dingdan_obj.jine) if dingdan_obj.jine else 0.00,
|
||||
'dashou_fencheng': float(dingdan_obj.dashou_fencheng) if dingdan_obj.dashou_fencheng else 0.00,
|
||||
'guanshi_fencheng': float(dingdan_obj.guanshi_fencheng) if dingdan_obj.guanshi_fencheng else 0.00,
|
||||
'guanshi_shangjia_fencheng': float(dingdan_obj.guanshi_shangjia_fencheng) if dingdan_obj.guanshi_shangjia_fencheng else 0.00,
|
||||
'jiedan_dashou_id': dingdan_obj.jiedan_dashou_id or '',
|
||||
'dashou_liuyan': dingdan_obj.dashou_liuyan or '',
|
||||
'zhiding_id': dingdan_obj.zhiding_id or '',
|
||||
@@ -10236,6 +10239,7 @@ class KefuForceCompleteView(APIView):
|
||||
return Response({'code': 401, 'msg': '客服状态异常'})
|
||||
|
||||
# 2. 订单处理(事务内)
|
||||
guanshi_settle_ctx = None
|
||||
try:
|
||||
with transaction.atomic():
|
||||
order = Dingdan.objects.select_for_update().get(dingdan_id=dingdan_id)
|
||||
@@ -10351,10 +10355,8 @@ class KefuForceCompleteView(APIView):
|
||||
logger.error(f"打手每日统计更新失败: {e}")
|
||||
# 不影响主流程
|
||||
|
||||
# 商家订单管事分红
|
||||
if order.fadan_pingtai == 2:
|
||||
from dingdan.utils import settle_shangjia_order_guanshi_fenhong
|
||||
settle_shangjia_order_guanshi_fenhong(order, dashou_id)
|
||||
guanshi_settle_ctx = (dingdan_id, dashou_id)
|
||||
|
||||
# 8. 更新客服统计
|
||||
kefu.jinrichuli = F('jinrichuli') + 1
|
||||
@@ -10362,6 +10364,11 @@ class KefuForceCompleteView(APIView):
|
||||
kefu.zongchuli = F('zongchuli') + 1
|
||||
kefu.save(update_fields=['jinrichuli', 'jinyuechuli', 'zongchuli'])
|
||||
|
||||
if guanshi_settle_ctx:
|
||||
from dingdan.utils import settle_shangjia_order_guanshi_fenhong
|
||||
settle_order = Dingdan.objects.get(dingdan_id=guanshi_settle_ctx[0])
|
||||
settle_shangjia_order_guanshi_fenhong(settle_order, guanshi_settle_ctx[1])
|
||||
|
||||
return Response({'code': 0, 'msg': '强制结单成功'})
|
||||
|
||||
except Dingdan.DoesNotExist:
|
||||
|
||||
Reference in New Issue
Block a user