diff --git a/b/baiduc/baidu_confirm_refund_order.dspy b/b/baiduc/baidu_confirm_refund_order.dspy index 36b658f..405df3d 100644 --- a/b/baiduc/baidu_confirm_refund_order.dspy +++ b/b/baiduc/baidu_confirm_refund_order.dspy @@ -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 \ No newline at end of file diff --git a/b/baiduc/baidu_order_cancel.dspy b/b/baiduc/baidu_order_cancel.dspy index 089f781..0d3ed67 100644 --- a/b/baiduc/baidu_order_cancel.dspy +++ b/b/baiduc/baidu_order_cancel.dspy @@ -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) diff --git a/b/baiducloud/get_baidu_orderlist.dspy b/b/baiducloud/get_baidu_orderlist.dspy index 256b96c..06bfc6b 100644 --- a/b/baiducloud/get_baidu_orderlist.dspy +++ b/b/baiducloud/get_baidu_orderlist.dspy @@ -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)