pixelarraythirdparty 1.1.0__py3-none-any.whl → 1.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pixelarraythirdparty/__init__.py +1 -1
- pixelarraythirdparty/client.py +19 -0
- pixelarraythirdparty/cron/cron.py +62 -105
- pixelarraythirdparty/order/order.py +119 -199
- pixelarraythirdparty/product/product.py +84 -165
- pixelarraythirdparty/unified_login/__init__.py +2 -14
- pixelarraythirdparty/unified_login/unified_login.py +264 -12
- pixelarraythirdparty/user/user.py +72 -138
- {pixelarraythirdparty-1.1.0.dist-info → pixelarraythirdparty-1.1.2.dist-info}/METADATA +1 -1
- pixelarraythirdparty-1.1.2.dist-info/RECORD +17 -0
- pixelarraythirdparty-1.1.0.dist-info/RECORD +0 -17
- {pixelarraythirdparty-1.1.0.dist-info → pixelarraythirdparty-1.1.2.dist-info}/WHEEL +0 -0
- {pixelarraythirdparty-1.1.0.dist-info → pixelarraythirdparty-1.1.2.dist-info}/licenses/LICENSE +0 -0
- {pixelarraythirdparty-1.1.0.dist-info → pixelarraythirdparty-1.1.2.dist-info}/top_level.txt +0 -0
pixelarraythirdparty/__init__.py
CHANGED
pixelarraythirdparty/client.py
CHANGED
|
@@ -34,3 +34,22 @@ class AsyncClient:
|
|
|
34
34
|
# 如果不是JSON响应,返回空
|
|
35
35
|
pass
|
|
36
36
|
return {}, False
|
|
37
|
+
|
|
38
|
+
async def _request_raw(
|
|
39
|
+
self, method: str, url: str, **kwargs
|
|
40
|
+
) -> Tuple[int, Dict[str, Any]]:
|
|
41
|
+
headers = self.headers.copy()
|
|
42
|
+
if "headers" in kwargs:
|
|
43
|
+
headers.update(kwargs["headers"])
|
|
44
|
+
kwargs = {k: v for k, v in kwargs.items() if k != "headers"}
|
|
45
|
+
|
|
46
|
+
async with aiohttp.ClientSession() as session:
|
|
47
|
+
req_method = getattr(session, method.lower())
|
|
48
|
+
async with req_method(
|
|
49
|
+
f"{self.base_url}{url}", headers=headers, **kwargs
|
|
50
|
+
) as resp:
|
|
51
|
+
try:
|
|
52
|
+
data = await resp.json()
|
|
53
|
+
except:
|
|
54
|
+
data = {}
|
|
55
|
+
return resp.status, data
|
|
@@ -4,24 +4,15 @@ from pixelarraythirdparty.client import AsyncClient
|
|
|
4
4
|
class CronManagerAsync(AsyncClient):
|
|
5
5
|
async def get_cron_status(self):
|
|
6
6
|
"""
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
data (dict): Cron服务状态信息
|
|
17
|
-
- registered_tasks (dict): 已注册的任务列表,按工作节点分组
|
|
18
|
-
- worker_stats (dict): 工作节点统计信息
|
|
19
|
-
- scheduled_task_count (int): 定时任务数量
|
|
20
|
-
- timestamp (str): 状态获取时间
|
|
21
|
-
success (bool): 操作是否成功
|
|
22
|
-
|
|
23
|
-
异常情况:
|
|
24
|
-
- 获取Cron状态失败:返回错误信息"获取Cron状态失败"
|
|
7
|
+
description:
|
|
8
|
+
获取Cron服务状态,包括已注册的任务、工作节点状态等。
|
|
9
|
+
return:
|
|
10
|
+
data(dict): Cron服务状态信息
|
|
11
|
+
- registered_tasks(dict): 已注册的任务列表,按工作节点分组
|
|
12
|
+
- worker_stats(dict): 工作节点统计信息
|
|
13
|
+
- scheduled_task_count(int): 定时任务数量
|
|
14
|
+
- timestamp(str): 状态获取时间
|
|
15
|
+
success(bool): 操作是否成功
|
|
25
16
|
"""
|
|
26
17
|
data, success = await self._request("GET", "/api/cron/status")
|
|
27
18
|
if not success:
|
|
@@ -30,23 +21,14 @@ class CronManagerAsync(AsyncClient):
|
|
|
30
21
|
|
|
31
22
|
async def get_cron_tasks(self):
|
|
32
23
|
"""
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
功能说明:
|
|
24
|
+
description:
|
|
36
25
|
获取所有已注册的Cron任务列表。
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
- tasks (list): 已注册的任务名称列表
|
|
44
|
-
- count (int): 任务数量
|
|
45
|
-
- timestamp (str): 获取时间
|
|
46
|
-
success (bool): 操作是否成功
|
|
47
|
-
|
|
48
|
-
异常情况:
|
|
49
|
-
- 获取任务列表失败:返回错误信息"获取任务列表失败"
|
|
26
|
+
return:
|
|
27
|
+
data(dict): 任务列表信息
|
|
28
|
+
- tasks(list): 已注册的任务名称列表
|
|
29
|
+
- count(int): 任务数量
|
|
30
|
+
- timestamp(str): 获取时间
|
|
31
|
+
success(bool): 操作是否成功
|
|
50
32
|
"""
|
|
51
33
|
data, success = await self._request("GET", "/api/cron/tasks")
|
|
52
34
|
if not success:
|
|
@@ -55,35 +37,26 @@ class CronManagerAsync(AsyncClient):
|
|
|
55
37
|
|
|
56
38
|
async def get_cron_tasks_scheduled(self):
|
|
57
39
|
"""
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
功能说明:
|
|
40
|
+
description:
|
|
61
41
|
获取所有配置的定时任务列表,包括任务详情、执行时间、状态等。
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
- registration_info (dict): 注册信息
|
|
81
|
-
- count (int): 任务数量
|
|
82
|
-
- timestamp (str): 获取时间
|
|
83
|
-
success (bool): 操作是否成功
|
|
84
|
-
|
|
85
|
-
异常情况:
|
|
86
|
-
- 获取定时任务列表失败:返回错误信息"获取定时任务列表失败"
|
|
42
|
+
return:
|
|
43
|
+
data(dict): 定时任务列表信息
|
|
44
|
+
- tasks(list): 定时任务列表
|
|
45
|
+
- id(str): 任务ID
|
|
46
|
+
- name(str): 任务名称
|
|
47
|
+
- description(str): 任务描述
|
|
48
|
+
- schedule(str): 执行时间
|
|
49
|
+
- enabled(bool): 是否启用
|
|
50
|
+
- task_name(str): 任务函数名
|
|
51
|
+
- module_name(str): 模块名
|
|
52
|
+
- function_name(str): 函数名
|
|
53
|
+
- file_path(str): 文件路径
|
|
54
|
+
- parameters(list): 参数列表
|
|
55
|
+
- task_config(dict): 任务配置
|
|
56
|
+
- registration_info(dict): 注册信息
|
|
57
|
+
- count(int): 任务数量
|
|
58
|
+
- timestamp(str): 获取时间
|
|
59
|
+
success(bool): 操作是否成功
|
|
87
60
|
"""
|
|
88
61
|
data, success = await self._request("GET", "/api/cron/tasks/scheduled")
|
|
89
62
|
if not success:
|
|
@@ -92,30 +65,22 @@ class CronManagerAsync(AsyncClient):
|
|
|
92
65
|
|
|
93
66
|
async def get_cron_tasks_detail(self, task_name: str):
|
|
94
67
|
"""
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
功能说明:
|
|
68
|
+
description:
|
|
98
69
|
根据任务名称获取指定任务的详细信息。
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
- timestamp (str): 获取时间
|
|
114
|
-
success (bool): 操作是否成功
|
|
115
|
-
|
|
116
|
-
异常情况:
|
|
117
|
-
- 任务不存在:返回错误信息"任务不存在"
|
|
118
|
-
- 获取任务详情失败:返回错误信息"获取任务详情失败"
|
|
70
|
+
parameters:
|
|
71
|
+
task_name(str): 任务名称
|
|
72
|
+
return:
|
|
73
|
+
data(dict): 任务详细信息
|
|
74
|
+
- task_name(str): 任务名称
|
|
75
|
+
- module_name(str): 模块名
|
|
76
|
+
- function_name(str): 函数名
|
|
77
|
+
- file_path(str): 文件路径
|
|
78
|
+
- description(str): 任务描述
|
|
79
|
+
- parameters(list): 参数列表
|
|
80
|
+
- task_config(dict): 任务配置
|
|
81
|
+
- registration_info(dict): 注册信息
|
|
82
|
+
- timestamp(str): 获取时间
|
|
83
|
+
success(bool): 操作是否成功
|
|
119
84
|
"""
|
|
120
85
|
data, success = await self._request("GET", f"/api/cron/tasks/{task_name}")
|
|
121
86
|
if not success:
|
|
@@ -124,27 +89,19 @@ class CronManagerAsync(AsyncClient):
|
|
|
124
89
|
|
|
125
90
|
async def trigger_cron_task(self, task_name: str, args: list, kwargs: dict):
|
|
126
91
|
"""
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
功能说明:
|
|
92
|
+
description:
|
|
130
93
|
手动触发指定任务的执行,支持传递参数。
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
- message (str): 触发消息
|
|
143
|
-
success (bool): 操作是否成功
|
|
144
|
-
|
|
145
|
-
异常情况:
|
|
146
|
-
- 任务不存在:返回错误信息"任务不存在"
|
|
147
|
-
- 任务触发失败:返回错误信息"任务触发失败"
|
|
94
|
+
parameters:
|
|
95
|
+
task_name(str): 任务名称
|
|
96
|
+
args(list): 任务参数列表
|
|
97
|
+
kwargs(dict): 任务关键字参数
|
|
98
|
+
return:
|
|
99
|
+
data(dict): 任务触发信息
|
|
100
|
+
- task_id(str): 任务ID
|
|
101
|
+
- task_name(str): 任务名称
|
|
102
|
+
- status(str): 任务状态,初始为"PENDING"
|
|
103
|
+
- message(str): 触发消息
|
|
104
|
+
success(bool): 操作是否成功
|
|
148
105
|
"""
|
|
149
106
|
data, success = await self._request(
|
|
150
107
|
"POST",
|
|
@@ -10,37 +10,27 @@ class OrderManagerAsync(AsyncClient):
|
|
|
10
10
|
payment_channel: str = "WECHAT",
|
|
11
11
|
):
|
|
12
12
|
"""
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
功能说明:
|
|
13
|
+
description:
|
|
16
14
|
根据产品ID创建新的订单,系统会自动生成订单号,获取产品价格信息,并创建对应的支付订单。
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
- updated_at (str): 订单更新时间
|
|
37
|
-
success (bool): 操作是否成功
|
|
38
|
-
|
|
39
|
-
异常情况:
|
|
40
|
-
- 产品ID为空:返回错误信息"产品ID不能为空"
|
|
41
|
-
- 产品不存在:返回错误信息"产品不存在"
|
|
42
|
-
- 产品价格无效:返回错误信息"产品价格无效"
|
|
43
|
-
- 创建订单失败:返回错误信息"创建订单失败"
|
|
15
|
+
parameters:
|
|
16
|
+
product_id(str): 产品ID
|
|
17
|
+
body(str): 商品描述
|
|
18
|
+
remark(str): 订单备注
|
|
19
|
+
payment_channel(str): 支付渠道,可选值:"WECHAT"(微信支付)、"ALIPAY"(支付宝支付)
|
|
20
|
+
return:
|
|
21
|
+
data(dict): 订单信息
|
|
22
|
+
- id(int): 订单ID
|
|
23
|
+
- out_trade_no(str): 商户订单号,格式为"ORD_时间戳_随机字符串"
|
|
24
|
+
- payment_status(str): 支付状态,初始为"PENDING"(待支付)
|
|
25
|
+
- payment_channel(str): 支付渠道
|
|
26
|
+
- product_id(str): 产品ID
|
|
27
|
+
- amount(str): 订单金额(元),格式为"99.00"
|
|
28
|
+
- total_fee(int): 订单金额(分),用于支付接口
|
|
29
|
+
- body(str): 商品描述
|
|
30
|
+
- remark(str): 订单备注
|
|
31
|
+
- created_at(str): 订单创建时间
|
|
32
|
+
- updated_at(str): 订单更新时间
|
|
33
|
+
success(bool): 操作是否成功
|
|
44
34
|
"""
|
|
45
35
|
data = {
|
|
46
36
|
"product_id": product_id,
|
|
@@ -61,39 +51,28 @@ class OrderManagerAsync(AsyncClient):
|
|
|
61
51
|
out_trade_no: str = None,
|
|
62
52
|
):
|
|
63
53
|
"""
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
功能说明:
|
|
54
|
+
description:
|
|
67
55
|
分页查询订单列表,支持按支付状态和订单号进行筛选。
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
- created_at (str): 订单创建时间
|
|
89
|
-
- updated_at (str): 订单更新时间
|
|
90
|
-
- total (int): 总订单数量
|
|
91
|
-
- page (int): 当前页码
|
|
92
|
-
- page_size (int): 每页数量
|
|
93
|
-
success (bool): 操作是否成功
|
|
94
|
-
|
|
95
|
-
异常情况:
|
|
96
|
-
- 获取订单列表失败:返回错误信息"获取订单列表失败"
|
|
56
|
+
parameters:
|
|
57
|
+
page(int): 页码
|
|
58
|
+
page_size(int): 每页数量
|
|
59
|
+
payment_status(str): 支付状态,可选值:"PENDING"(待支付)、"PAID"(已支付)、"REFUNDED"(已退款)、"CANCELLED"(已取消)
|
|
60
|
+
out_trade_no(str): 订单号,支持模糊匹配
|
|
61
|
+
return:
|
|
62
|
+
data(dict): 订单列表信息
|
|
63
|
+
- orders(list): 订单列表
|
|
64
|
+
- id(int): 订单ID
|
|
65
|
+
- out_trade_no(str): 商户订单号
|
|
66
|
+
- payment_status(str): 支付状态
|
|
67
|
+
- payment_channel(str): 支付渠道
|
|
68
|
+
- amount(str): 订单金额(元)
|
|
69
|
+
- total_fee(int): 订单金额(分)
|
|
70
|
+
- created_at(str): 订单创建时间
|
|
71
|
+
- updated_at(str): 订单更新时间
|
|
72
|
+
- total(int): 总订单数量
|
|
73
|
+
- page(int): 当前页码
|
|
74
|
+
- page_size(int): 每页数量
|
|
75
|
+
success(bool): 操作是否成功
|
|
97
76
|
"""
|
|
98
77
|
params = {
|
|
99
78
|
"page": page,
|
|
@@ -111,39 +90,31 @@ class OrderManagerAsync(AsyncClient):
|
|
|
111
90
|
|
|
112
91
|
async def get_order_detail(self, out_trade_no: str):
|
|
113
92
|
"""
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
功能说明:
|
|
93
|
+
description:
|
|
117
94
|
根据订单号获取订单的详细信息,包括支付状态、交易信息等。
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
|
|
141
|
-
- remark (str): 订单备注
|
|
142
|
-
success (bool): 操作是否成功
|
|
143
|
-
|
|
144
|
-
异常情况:
|
|
145
|
-
- 订单不存在:返回错误信息"订单不存在"
|
|
146
|
-
- 获取订单详情失败:返回错误信息"获取订单详情失败"
|
|
95
|
+
parameters:
|
|
96
|
+
out_trade_no(str): 商户订单号
|
|
97
|
+
return:
|
|
98
|
+
data(dict): 订单详细信息
|
|
99
|
+
- id(int): 订单ID
|
|
100
|
+
- out_trade_no(str): 商户订单号
|
|
101
|
+
- payment_status(str): 支付状态
|
|
102
|
+
- product_id(str): 产品ID
|
|
103
|
+
- amount(str): 订单金额(元)
|
|
104
|
+
- total_fee(int): 订单金额(分)
|
|
105
|
+
- body(str): 商品描述
|
|
106
|
+
- transaction_id(str): 微信交易号(支付成功后才有)
|
|
107
|
+
- openid(str): 用户openid(支付成功后才有)
|
|
108
|
+
- trade_type(str): 交易类型(支付成功后才有)
|
|
109
|
+
- bank_type(str): 银行类型(支付成功后才有)
|
|
110
|
+
- fee_type(str): 货币类型,默认为"CNY"
|
|
111
|
+
- is_subscribe(str): 是否关注公众号(支付成功后才有)
|
|
112
|
+
- time_end(str): 支付完成时间(支付成功后才有)
|
|
113
|
+
- created_at(str): 订单创建时间
|
|
114
|
+
- updated_at(str): 订单更新时间
|
|
115
|
+
- paid_at(str): 支付时间(支付成功后才有)
|
|
116
|
+
- remark(str): 订单备注
|
|
117
|
+
success(bool): 操作是否成功
|
|
147
118
|
"""
|
|
148
119
|
data, success = await self._request("GET", f"/api/orders/{out_trade_no}")
|
|
149
120
|
if not success:
|
|
@@ -152,40 +123,27 @@ class OrderManagerAsync(AsyncClient):
|
|
|
152
123
|
|
|
153
124
|
async def update_order_status(self, out_trade_no: str, payment_status: str):
|
|
154
125
|
"""
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
功能说明:
|
|
126
|
+
description:
|
|
158
127
|
更新指定订单的支付状态,仅支持状态修改,其他字段不可修改。
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
|
|
178
|
-
- is_subscribe (str): 是否关注公众号(如果已支付)
|
|
179
|
-
- time_end (str): 支付完成时间(如果已支付)
|
|
180
|
-
- paid_at (str): 支付时间(如果已支付)
|
|
181
|
-
- updated_at (str): 订单更新时间
|
|
182
|
-
- remark (str): 订单备注
|
|
183
|
-
success (bool): 操作是否成功
|
|
184
|
-
|
|
185
|
-
异常情况:
|
|
186
|
-
- 支付状态为空:返回错误信息"支付状态不能为空"
|
|
187
|
-
- 订单不存在:返回错误信息"订单不存在"
|
|
188
|
-
- 更新订单状态失败:返回错误信息"更新订单状态失败"
|
|
128
|
+
parameters:
|
|
129
|
+
out_trade_no(str): 商户订单号
|
|
130
|
+
payment_status(str): 支付状态,可选值:"PENDING"(待支付)、"PAID"(已支付)、"REFUNDED"(已退款)、"CANCELLED"(已取消)
|
|
131
|
+
return:
|
|
132
|
+
data(dict): 更新后的订单信息
|
|
133
|
+
- id(int): 订单ID
|
|
134
|
+
- out_trade_no(str): 商户订单号
|
|
135
|
+
- payment_status(str): 更新后的支付状态
|
|
136
|
+
- transaction_id(str): 微信交易号(如果已支付)
|
|
137
|
+
- openid(str): 用户openid(如果已支付)
|
|
138
|
+
- trade_type(str): 交易类型(如果已支付)
|
|
139
|
+
- bank_type(str): 银行类型(如果已支付)
|
|
140
|
+
- fee_type(str): 货币类型
|
|
141
|
+
- is_subscribe(str): 是否关注公众号(如果已支付)
|
|
142
|
+
- time_end(str): 支付完成时间(如果已支付)
|
|
143
|
+
- paid_at(str): 支付时间(如果已支付)
|
|
144
|
+
- updated_at(str): 订单更新时间
|
|
145
|
+
- remark(str): 订单备注
|
|
146
|
+
success(bool): 操作是否成功
|
|
189
147
|
"""
|
|
190
148
|
data = {"payment_status": payment_status}
|
|
191
149
|
data, success = await self._request(
|
|
@@ -197,21 +155,13 @@ class OrderManagerAsync(AsyncClient):
|
|
|
197
155
|
|
|
198
156
|
async def delete_order(self, out_trade_no: str):
|
|
199
157
|
"""
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
功能说明:
|
|
158
|
+
description:
|
|
203
159
|
根据订单号删除指定的订单记录。
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
data (None): 删除成功时返回None
|
|
210
|
-
success (bool): 操作是否成功
|
|
211
|
-
|
|
212
|
-
异常情况:
|
|
213
|
-
- 订单不存在:返回错误信息"订单不存在"
|
|
214
|
-
- 删除订单失败:返回错误信息"删除订单失败"
|
|
160
|
+
parameters:
|
|
161
|
+
out_trade_no(str): 商户订单号
|
|
162
|
+
return:
|
|
163
|
+
data(None): 删除成功时返回None
|
|
164
|
+
success(bool): 操作是否成功
|
|
215
165
|
"""
|
|
216
166
|
data, success = await self._request("DELETE", f"/api/orders/{out_trade_no}")
|
|
217
167
|
if not success:
|
|
@@ -220,26 +170,17 @@ class OrderManagerAsync(AsyncClient):
|
|
|
220
170
|
|
|
221
171
|
async def get_order_stats(self):
|
|
222
172
|
"""
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
功能说明:
|
|
173
|
+
description:
|
|
226
174
|
获取订单的统计汇总信息,包括总订单数、各状态订单数量、总金额等。
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
-
|
|
234
|
-
-
|
|
235
|
-
|
|
236
|
-
- refunded_orders (int): 已退款订单数量
|
|
237
|
-
- total_amount (float): 总订单金额(元)
|
|
238
|
-
- total_fee (int): 总订单金额(分)
|
|
239
|
-
success (bool): 操作是否成功
|
|
240
|
-
|
|
241
|
-
异常情况:
|
|
242
|
-
- 获取订单统计信息失败:返回错误信息"获取订单统计信息失败"
|
|
175
|
+
return:
|
|
176
|
+
data(dict): 订单统计信息
|
|
177
|
+
- total_orders(int): 总订单数量
|
|
178
|
+
- pending_orders(int): 待支付订单数量
|
|
179
|
+
- paid_orders(int): 已支付订单数量
|
|
180
|
+
- refunded_orders(int): 已退款订单数量
|
|
181
|
+
- total_amount(float): 总订单金额(元)
|
|
182
|
+
- total_fee(int): 总订单金额(分)
|
|
183
|
+
success(bool): 操作是否成功
|
|
243
184
|
"""
|
|
244
185
|
data, success = await self._request("GET", "/api/orders/stats/summary")
|
|
245
186
|
if not success:
|
|
@@ -248,26 +189,16 @@ class OrderManagerAsync(AsyncClient):
|
|
|
248
189
|
|
|
249
190
|
async def generate_qr_code(self, out_trade_no: str):
|
|
250
191
|
"""
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
功能说明:
|
|
192
|
+
description:
|
|
254
193
|
为指定订单生成支付二维码,支持微信支付和支付宝。二维码会自动上传到OSS并返回访问URL。
|
|
255
194
|
如果不指定payment_channel,会自动从订单详情中获取支付渠道。
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
- out_trade_no (str): 商户订单号
|
|
264
|
-
success (bool): 操作是否成功
|
|
265
|
-
|
|
266
|
-
异常情况:
|
|
267
|
-
- 订单号为空:返回错误信息"订单号不能为空"
|
|
268
|
-
- 订单不存在:返回错误信息"订单不存在"
|
|
269
|
-
- 不支持的支付渠道:抛出ValueError异常
|
|
270
|
-
- 生成支付二维码失败:返回错误信息"生成支付二维码失败"
|
|
195
|
+
parameters:
|
|
196
|
+
out_trade_no(str): 商户订单号
|
|
197
|
+
return:
|
|
198
|
+
data(dict): 二维码信息
|
|
199
|
+
- qr_code_url(str): 二维码图片URL,可直接用于显示
|
|
200
|
+
- out_trade_no(str): 商户订单号
|
|
201
|
+
success(bool): 操作是否成功
|
|
271
202
|
"""
|
|
272
203
|
order_detail, success = await self.get_order_detail(out_trade_no)
|
|
273
204
|
print(order_detail)
|
|
@@ -296,28 +227,17 @@ class OrderManagerAsync(AsyncClient):
|
|
|
296
227
|
|
|
297
228
|
async def refund_order(self, out_trade_no: str):
|
|
298
229
|
"""
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
功能说明:
|
|
230
|
+
description:
|
|
302
231
|
为指定订单申请退款,支持微信支付和支付宝。退款申请提交后,系统会处理退款并更新订单状态。
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
-
|
|
310
|
-
-
|
|
311
|
-
|
|
312
|
-
- refund_amount (float): 退款金额(元,支付宝)
|
|
313
|
-
success (bool): 操作是否成功
|
|
314
|
-
|
|
315
|
-
异常情况:
|
|
316
|
-
- 订单号为空:返回错误信息"订单号不能为空"
|
|
317
|
-
- 订单不存在:返回错误信息"订单不存在"
|
|
318
|
-
- 订单状态不允许退款:返回错误信息"订单状态不允许退款"
|
|
319
|
-
- 不支持的支付渠道:抛出ValueError异常
|
|
320
|
-
- 退款申请失败:返回错误信息"退款申请失败"
|
|
232
|
+
parameters:
|
|
233
|
+
out_trade_no(str): 商户订单号
|
|
234
|
+
return:
|
|
235
|
+
data(dict): 退款信息
|
|
236
|
+
- out_refund_no(str): 退款单号,格式为"REFUND_订单号_时间戳"
|
|
237
|
+
- out_trade_no(str): 商户订单号
|
|
238
|
+
- total_fee(int): 退款金额(分,微信支付)
|
|
239
|
+
- refund_amount(float): 退款金额(元,支付宝)
|
|
240
|
+
success(bool): 操作是否成功
|
|
321
241
|
"""
|
|
322
242
|
order_detail, success = await self.get_order_detail(out_trade_no)
|
|
323
243
|
if not success:
|