main #34

Merged
charles merged 191 commits from main into prod 2025-11-19 16:18:39 +08:00
3 changed files with 36 additions and 19 deletions
Showing only changes of commit d0b6c903ca - Show all commits

View File

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

View File

@ -15,7 +15,11 @@ async def baidu_order_cancel(ns={}):
headers=header,
json=paydata) as res:
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 {
'status': True,
'msg': 'order cancel success, %s' % str(res)

View File

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