This commit is contained in:
ping 2025-09-23 13:51:36 +08:00
parent cbc37862fd
commit d0b6c903ca
3 changed files with 36 additions and 19 deletions

View File

@ -43,8 +43,8 @@ async def affirmbz_order(ns={}):
servicename = orgid[0]['servicename'] servicename = orgid[0]['servicename']
product_url = None product_url = None
if ('BCC' in servicename) or ('GPU' in servicename): # if ('BCC' in servicename) or ('GPU' in servicename):
product_url = 'https://console.vcp.baidu.com/bcc/#/bcc/instance/list' # product_url = 'https://console.vcp.baidu.com/bcc/#/bcc/instance/list'
date = await get_business_date(sor=None) date = await get_business_date(sor=None)
# await sor.U('bz_order',{'id':ns['orderid'],'order_date': date}) # await sor.U('bz_order',{'id':ns['orderid'],'order_date': date})
@ -146,7 +146,8 @@ async def get_baidu_orderlist(ns={}):
if orders[0]['type'] == 'REFUND' and orders[0]['status'] != 'CREATED': if orders[0]['type'] == 'REFUND' and orders[0]['status'] != 'CREATED':
return { return {
'status': False, 'status': False,
'msg': 'delay_order' 'msg': 'delay_order, 当前状态是: %s' % orders[0]['status'],
'data': data_
} }
# 避免重复退订 # 避免重复退订
@ -520,6 +521,12 @@ async def update_baidu_order_list(ns={}):
} }
async def baidu_confirm_refund_order(ns={}): async def baidu_confirm_refund_order(ns={}):
# ns = {
# 'order_id': ["03ee8d08da79458b8f8d3157d3498330", "e711729606024080bf9613d975294616"],
# 'userid': 'KsKhCUPizQyGiw3L1WVRy'
# }
return {'1': ns}
import asyncio
# 把 NEED_CONFIRM的订单同步到本地库用于后续状态更新 # 把 NEED_CONFIRM的订单同步到本地库用于后续状态更新
await update_baidu_order_list({'userid': ns.get('userid')}) await update_baidu_order_list({'userid': ns.get('userid')})
@ -562,7 +569,8 @@ async def baidu_confirm_refund_order(ns={}):
if data_ == {'success': True}: if data_ == {'success': True}:
# if True: # if True:
ns_record = { ns_record = {
'orderid': uuid(), 'id': uuid(),
'orderid': order_id,
'ordertype': 'REFUND', 'ordertype': 'REFUND',
'userid': ns.get('userid'), 'userid': ns.get('userid'),
'reason': '远程退款成功' 'reason': '远程退款成功'
@ -573,8 +581,7 @@ async def baidu_confirm_refund_order(ns={}):
await sor.U('baidu_orders', {'id': refund_id, 'refundstatus': '1'}) await sor.U('baidu_orders', {'id': refund_id, 'refundstatus': '1'})
# 增加延迟 # 增加延迟
import asyncio await asyncio.sleep(2)
await asyncio.sleep(1)
# 把 NEED_CONFIRM的本地库改为CREATED # 把 NEED_CONFIRM的本地库改为CREATED
await update_baidu_order_list({'userid': ns.get('userid')}) await update_baidu_order_list({'userid': ns.get('userid')})
@ -592,10 +599,10 @@ async def baidu_confirm_refund_order(ns={}):
} }
if refundstatus == '2': if refundstatus == '2':
return { """
'status': True, 退款状态为2, 说明退款成功, 无需继续处理
'msg': '已退款成功' """
} continue
# 获取created状态后再去退款 # 获取created状态后再去退款
local_refund_status = await get_baidu_orderlist({'order_id': order_id, 'userid': ns.get('userid')}) local_refund_status = await get_baidu_orderlist({'order_id': order_id, 'userid': ns.get('userid')})
@ -605,21 +612,27 @@ async def baidu_confirm_refund_order(ns={}):
async with db.sqlorContext('kboss') as sor: async with db.sqlorContext('kboss') as sor:
await sor.U('baidu_orders', {'id': refund_id, 'refundstatus': '2'}) await sor.U('baidu_orders', {'id': refund_id, 'refundstatus': '2'})
await sor.U('user_action', {'id': ns_record.get('id'), 'ordertype': 'REFUND', 'reason': '远程退款成功, 本地客户退款成功'}) await sor.U('user_action', {'id': ns_record.get('id'), 'ordertype': 'REFUND', 'reason': '远程退款成功, 本地客户退款成功'})
continue
return { # return {
'status': True, # 'status': True,
'msg': '百度云给平台退款成功,平台给客户退款成功' # 'msg': '百度云给平台退款成功,平台给客户退款成功'
} # }
else: else:
if local_refund_status.get('msg') == 'delay_order': if local_refund_status.get('msg') == 'delay_order':
return { return {
'status': False, 'status': False,
'msg': '百度远程订单还未生成, 请十秒后重试' 'msg': '百度远程订单还未生成, 请十秒后重试, %s' % str(local_refund_status)
} }
return { return {
'status': False, 'status': False,
'msg': '百度云退款成功,本机构给客户退款出错!' 'msg': '百度云退款成功,本机构给客户退款出错!, %s' % str(local_refund_status)
} }
return {
'status': True,
'msg': '退款处理完成'
}
ret = await baidu_confirm_refund_order(params_kw) ret = await baidu_confirm_refund_order(params_kw)
return ret return ret

View File

@ -15,7 +15,11 @@ async def baidu_order_cancel(ns={}):
headers=header, headers=header,
json=paydata) as res: json=paydata) as res:
res = await res.json() res = await res.json()
print(res) db = DBPools()
async with db.sqlorContext('kboss') as sor:
if res.get('success'):
sql_update = "update baidu_orders set status='CANCELLED' where order_id='%s'" % order_id
await sor.sqlExe(sql_update, {})
return { return {
'status': True, 'status': True,
'msg': 'order cancel success, %s' % str(res) 'msg': 'order cancel success, %s' % str(res)

View File

@ -227,9 +227,9 @@ async def baidu_confirm_refund_order(ns={}):
# if True: # if True:
ns_record = { ns_record = {
'id': uuid(), 'id': uuid(),
'orderid': ns.get('order_id'), 'orderid': order_id,
'ordertype': 'REFUND', 'ordertype': 'REFUND',
'userid': ns.get('user_id'), 'userid': ns.get('userid'),
'reason': '远程退款成功' 'reason': '远程退款成功'
} }
await user_action_record(ns_record) await user_action_record(ns_record)