fiuai-sdk-python 0.16.0__tar.gz → 0.16.1__tar.gz
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.
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/CHANGELOG.md +6 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/PKG-INFO +1 -1
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/pyproject.toml +1 -2
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/__init__.py +1 -1
- fiuai_sdk_python-0.16.1/src/fiuai_sdk_python/bank.py +175 -0
- fiuai_sdk_python-0.16.0/src/fiuai_sdk_python/bank.py +0 -175
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/.gitignore +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/LICENSE +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/README.md +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/_resp_helpers.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/auth/__init__.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/auth/context_mgr.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/auth/header.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/auth/helper.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/auth/type.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/client.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/company.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/config.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/const.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/context.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/datatype.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/doctype.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/error.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/error_code.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/error_parsers.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/examples/fastapi_integration.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/http/__init__.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/http/client.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/item.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/perm.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/__init__.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/cache_client.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/circuit_breaker.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/decorator.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/redis_manager.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/types.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/scheduler/__init__.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/scheduler/runner.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/profile.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/resp.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/setup.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/type.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/util.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/utils/__init__.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/utils/ids.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/utils/logger.py +0 -0
- {fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/utils/text.py +0 -0
|
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.16.1] - 2026-07-18
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- Bank Account 已存在但未关联标准 Bank/Branch 时仍返回 `exists=True`,关联字段作为可选 enrichment。
|
|
12
|
+
- 修正 `CompanyBankAccountSearchResult.bank_id` 错误返回银行账号 ID。
|
|
13
|
+
|
|
8
14
|
## [0.16.0] - 2026-07-15
|
|
9
15
|
|
|
10
16
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fiuai_sdk_python
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.1
|
|
4
4
|
Summary: FiuAI Python SDK - 企业级AI服务集成开发工具包
|
|
5
5
|
Project-URL: Homepage, https://github.com/fiuai/fiuai-sdk-python
|
|
6
6
|
Project-URL: Documentation, https://github.com/fiuai/fiuai-sdk-python#readme
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fiuai_sdk_python"
|
|
3
|
-
version = "0.16.
|
|
3
|
+
version = "0.16.1"
|
|
4
4
|
description = "FiuAI Python SDK - 企业级AI服务集成开发工具包"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -74,4 +74,3 @@ dev-dependencies = [
|
|
|
74
74
|
"mypy>=1.0.0",
|
|
75
75
|
"pre-commit>=3.0.0",
|
|
76
76
|
]
|
|
77
|
-
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# -- coding: utf-8 --
|
|
2
|
+
# Project: fiuaiclient
|
|
3
|
+
# Created Date: 2025 06 Fr
|
|
4
|
+
# Author: liming
|
|
5
|
+
# Email: lmlala@aliyun.com
|
|
6
|
+
# Copyright (c) 2025 FiuAI
|
|
7
|
+
import logging
|
|
8
|
+
from typing import Optional
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field
|
|
11
|
+
|
|
12
|
+
from .client import FiuaiSDK
|
|
13
|
+
from .type import BankAccount
|
|
14
|
+
|
|
15
|
+
logger = logging.getLogger(__name__)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class CompanyBankAccountSearchResult(BaseModel):
|
|
19
|
+
bank_account_id: str = Field(description="银行账号id", default="")
|
|
20
|
+
bank_account_no: str = Field(description="银行账号", default="")
|
|
21
|
+
bank_account_name: str = Field(description="银行账号", default="")
|
|
22
|
+
bank_id: str = Field(description="银行id", default="")
|
|
23
|
+
bank_name: str = Field(description="银行名称", default="")
|
|
24
|
+
opening_bank_branch_id: str = Field(description="开户行id", default="")
|
|
25
|
+
opening_bank_branch_name: str = Field(description="开户行名称", default="")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
exists: bool = Field(description="是否存在", default=False)
|
|
29
|
+
|
|
30
|
+
comment: str = Field(description="备注", default="")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def get_bank_account(
|
|
34
|
+
client: FiuaiSDK,
|
|
35
|
+
bank_account_no: str,
|
|
36
|
+
) -> Optional[CompanyBankAccountSearchResult]:
|
|
37
|
+
"""
|
|
38
|
+
根据银行账号获取银行账号信息
|
|
39
|
+
|
|
40
|
+
Args:
|
|
41
|
+
bank_account_no: 银行账号
|
|
42
|
+
|
|
43
|
+
Returns:
|
|
44
|
+
CompanyBankAccountSearchResult: 银行账号信息
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
if not bank_account_no:
|
|
48
|
+
logger.error("bank_account_no is empty, return None")
|
|
49
|
+
return None
|
|
50
|
+
|
|
51
|
+
bank_account_response = client.internal_get(
|
|
52
|
+
doctype="Bank Account",
|
|
53
|
+
name=bank_account_no,
|
|
54
|
+
fields=[
|
|
55
|
+
"name",
|
|
56
|
+
"bank_account_no",
|
|
57
|
+
"account_name",
|
|
58
|
+
"bank",
|
|
59
|
+
"opening_bank_branch",
|
|
60
|
+
],
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
if not bank_account_response.is_success():
|
|
64
|
+
return CompanyBankAccountSearchResult(exists=False)
|
|
65
|
+
|
|
66
|
+
bank_account = bank_account_response.data
|
|
67
|
+
if not bank_account:
|
|
68
|
+
return CompanyBankAccountSearchResult(exists=False)
|
|
69
|
+
|
|
70
|
+
bank_id = str(bank_account.get("bank") or "")
|
|
71
|
+
bank_name = ""
|
|
72
|
+
if bank_id:
|
|
73
|
+
bank_response = client.internal_get(
|
|
74
|
+
doctype="Bank",
|
|
75
|
+
name=bank_id,
|
|
76
|
+
fields=["name", "bank_name"],
|
|
77
|
+
)
|
|
78
|
+
if bank_response.is_success() and bank_response.data:
|
|
79
|
+
bank_name = str(bank_response.data.get("bank_name") or "")
|
|
80
|
+
else:
|
|
81
|
+
logger.warning("bank enrichment failed for id %s", bank_id)
|
|
82
|
+
|
|
83
|
+
opening_value = str(bank_account.get("opening_bank_branch") or "")
|
|
84
|
+
opening_bank_branch_id = ""
|
|
85
|
+
opening_bank_branch_name = opening_value
|
|
86
|
+
if bank_id and opening_value:
|
|
87
|
+
branch_response = client.internal_get(
|
|
88
|
+
doctype="Bank Branch",
|
|
89
|
+
name=opening_value,
|
|
90
|
+
fields=["name", "bank_branch_name"],
|
|
91
|
+
)
|
|
92
|
+
if branch_response.is_success() and branch_response.data:
|
|
93
|
+
opening_bank_branch_id = str(branch_response.data.get("name") or "")
|
|
94
|
+
opening_bank_branch_name = str(
|
|
95
|
+
branch_response.data.get("bank_branch_name") or ""
|
|
96
|
+
)
|
|
97
|
+
else:
|
|
98
|
+
logger.warning("bank branch enrichment failed for id %s", opening_value)
|
|
99
|
+
|
|
100
|
+
return CompanyBankAccountSearchResult(
|
|
101
|
+
exists=True,
|
|
102
|
+
bank_account_id=str(bank_account.get("name") or ""),
|
|
103
|
+
bank_account_no=str(bank_account.get("bank_account_no") or ""),
|
|
104
|
+
bank_account_name=str(bank_account.get("account_name") or ""),
|
|
105
|
+
bank_id=bank_id,
|
|
106
|
+
bank_name=bank_name,
|
|
107
|
+
opening_bank_branch_id=opening_bank_branch_id,
|
|
108
|
+
opening_bank_branch_name=opening_bank_branch_name,
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def get_bank_account_by_account_no(
|
|
113
|
+
client: FiuaiSDK,
|
|
114
|
+
account_no: str,
|
|
115
|
+
) -> BankAccount | None:
|
|
116
|
+
"""
|
|
117
|
+
根据银行账号id获取银行账号信息
|
|
118
|
+
"""
|
|
119
|
+
response = client.internal_get_list(
|
|
120
|
+
doctype="Bank Account",
|
|
121
|
+
filters=[["bank_account_no", "=", account_no]],
|
|
122
|
+
fields=[
|
|
123
|
+
"name",
|
|
124
|
+
"account_name",
|
|
125
|
+
"bank",
|
|
126
|
+
"bank_account_no",
|
|
127
|
+
"opening_bank_branch",
|
|
128
|
+
],
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
if not response.is_success():
|
|
132
|
+
logger.warning("bank account is not found by account no %s", account_no)
|
|
133
|
+
return None
|
|
134
|
+
|
|
135
|
+
rows = response.data
|
|
136
|
+
if not rows:
|
|
137
|
+
logger.warning("bank account is not found by account no %s", account_no)
|
|
138
|
+
return None
|
|
139
|
+
|
|
140
|
+
bank_account = rows[0]
|
|
141
|
+
bank_id = str(bank_account.get("bank") or "")
|
|
142
|
+
bank_name = ""
|
|
143
|
+
if bank_id:
|
|
144
|
+
bank_response = client.internal_get(
|
|
145
|
+
doctype="Bank",
|
|
146
|
+
name=bank_id,
|
|
147
|
+
fields=["name", "bank_name"],
|
|
148
|
+
)
|
|
149
|
+
if bank_response.is_success() and bank_response.data:
|
|
150
|
+
bank_name = str(bank_response.data.get("bank_name") or "")
|
|
151
|
+
else:
|
|
152
|
+
logger.warning("bank enrichment failed for id %s", bank_id)
|
|
153
|
+
|
|
154
|
+
opening_value = str(bank_account.get("opening_bank_branch") or "")
|
|
155
|
+
opening_bank_branch_name = opening_value
|
|
156
|
+
if bank_id and opening_value:
|
|
157
|
+
branch_response = client.internal_get(
|
|
158
|
+
doctype="Bank Branch",
|
|
159
|
+
name=opening_value,
|
|
160
|
+
fields=["name", "bank_branch_name"],
|
|
161
|
+
)
|
|
162
|
+
if branch_response.is_success() and branch_response.data:
|
|
163
|
+
opening_bank_branch_name = str(
|
|
164
|
+
branch_response.data.get("bank_branch_name") or ""
|
|
165
|
+
)
|
|
166
|
+
else:
|
|
167
|
+
logger.warning("bank branch enrichment failed for id %s", opening_value)
|
|
168
|
+
|
|
169
|
+
return BankAccount(
|
|
170
|
+
name=str(bank_account.get("name") or ""),
|
|
171
|
+
account_name=str(bank_account.get("account_name") or ""),
|
|
172
|
+
bank=bank_name,
|
|
173
|
+
bank_account_no=account_no,
|
|
174
|
+
bank_branch=opening_bank_branch_name,
|
|
175
|
+
)
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
# -- coding: utf-8 --
|
|
2
|
-
# Project: fiuaiclient
|
|
3
|
-
# Created Date: 2025 06 Fr
|
|
4
|
-
# Author: liming
|
|
5
|
-
# Email: lmlala@aliyun.com
|
|
6
|
-
# Copyright (c) 2025 FiuAI
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
import logging
|
|
12
|
-
from .type import BankAccount
|
|
13
|
-
from .client import FiuaiSDK
|
|
14
|
-
from typing import Literal, Optional
|
|
15
|
-
|
|
16
|
-
logger = logging.getLogger(__name__)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class CompanyBankAccountSearchResult(BaseModel):
|
|
20
|
-
bank_account_id: str = Field(description="银行账号id", default="")
|
|
21
|
-
bank_account_no: str = Field(description="银行账号", default="")
|
|
22
|
-
bank_account_name: str = Field(description="银行账号", default="")
|
|
23
|
-
bank_id: str = Field(description="银行id", default="")
|
|
24
|
-
bank_name: str = Field(description="银行名称", default="")
|
|
25
|
-
opening_bank_branch_id: str = Field(description="开户行id", default="")
|
|
26
|
-
opening_bank_branch_name: str = Field(description="开户行名称", default="")
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
exists: bool = Field(description="是否存在", default=False)
|
|
30
|
-
|
|
31
|
-
comment: str = Field(description="备注", default="")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def get_bank_account(client: FiuaiSDK, bank_account_no: str) -> Optional[CompanyBankAccountSearchResult]:
|
|
35
|
-
"""
|
|
36
|
-
根据银行账号获取银行账号信息
|
|
37
|
-
|
|
38
|
-
Args:
|
|
39
|
-
back_account: 银行账号
|
|
40
|
-
|
|
41
|
-
Returns:
|
|
42
|
-
CompanyBankAccountSearchResult: 银行账号信息
|
|
43
|
-
"""
|
|
44
|
-
|
|
45
|
-
if not bank_account_no:
|
|
46
|
-
logger.error(f"bank_account_no is empty, return None")
|
|
47
|
-
return None
|
|
48
|
-
|
|
49
|
-
_bank_account_response = client.internal_get(
|
|
50
|
-
doctype="Bank Account",
|
|
51
|
-
name=bank_account_no,
|
|
52
|
-
fields=["name","bank_account_no", "account_name", "bank", "opening_bank_branch"]
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if not _bank_account_response.is_success():
|
|
57
|
-
return CompanyBankAccountSearchResult(exists=False)
|
|
58
|
-
|
|
59
|
-
_bank_account = _bank_account_response.data
|
|
60
|
-
if not _bank_account:
|
|
61
|
-
return CompanyBankAccountSearchResult(exists=False)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
# 获取银行信息
|
|
65
|
-
_bank_detail_response = client.internal_get(
|
|
66
|
-
doctype="Bank",
|
|
67
|
-
name=_bank_account["bank"],
|
|
68
|
-
fields=["name", "bank_name"]
|
|
69
|
-
)
|
|
70
|
-
if not _bank_detail_response.is_success():
|
|
71
|
-
return CompanyBankAccountSearchResult(exists=False)
|
|
72
|
-
|
|
73
|
-
_bank_detail = _bank_detail_response.data
|
|
74
|
-
if not _bank_detail:
|
|
75
|
-
logger.error(f"bank is not found by id {_bank_account["bank"]}")
|
|
76
|
-
return CompanyBankAccountSearchResult(exists=False)
|
|
77
|
-
|
|
78
|
-
# 获取支行信息
|
|
79
|
-
_bank_branch_response = client.internal_get(
|
|
80
|
-
doctype="Bank Branch",
|
|
81
|
-
name=_bank_account["opening_bank_branch"],
|
|
82
|
-
fields=["name", "bank_branch_name"]
|
|
83
|
-
)
|
|
84
|
-
if not _bank_branch_response.is_success():
|
|
85
|
-
return CompanyBankAccountSearchResult(exists=False)
|
|
86
|
-
|
|
87
|
-
_bank_branch = _bank_branch_response.data
|
|
88
|
-
if not _bank_branch:
|
|
89
|
-
logger.error(f"bank branch is not found by id {_bank_account["opening_bank_branch"]}")
|
|
90
|
-
return CompanyBankAccountSearchResult(exists=False)
|
|
91
|
-
|
|
92
|
-
return CompanyBankAccountSearchResult(
|
|
93
|
-
exists=True,
|
|
94
|
-
bank_account_id=_bank_account["name"],
|
|
95
|
-
bank_account_no=_bank_account["bank_account_no"],
|
|
96
|
-
bank_account_name=_bank_account["account_name"],
|
|
97
|
-
bank_id=_bank_account["name"],
|
|
98
|
-
bank_name=_bank_detail["bank_name"],
|
|
99
|
-
opening_bank_branch_id=_bank_branch["name"],
|
|
100
|
-
opening_bank_branch_name=_bank_branch["bank_branch_name"]
|
|
101
|
-
)
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
def get_bank_account_by_account_no(client: FiuaiSDK, account_no: str) -> BankAccount|None:
|
|
105
|
-
"""
|
|
106
|
-
根据银行账号id获取银行账号信息
|
|
107
|
-
"""
|
|
108
|
-
resp_response = client.internal_get_list(
|
|
109
|
-
doctype="Bank Account",
|
|
110
|
-
filters=[["bank_account_no", "=", account_no]],
|
|
111
|
-
fields=[
|
|
112
|
-
"name",
|
|
113
|
-
"account_name",
|
|
114
|
-
"bank",
|
|
115
|
-
"bank_account_no",
|
|
116
|
-
"opening_bank_branch",
|
|
117
|
-
],
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
if not resp_response.is_success():
|
|
121
|
-
logger.warning(f"bank account is not found by account no {account_no}")
|
|
122
|
-
return None
|
|
123
|
-
|
|
124
|
-
resp = resp_response.data
|
|
125
|
-
if not resp:
|
|
126
|
-
logger.warning(f"bank account is not found by account no {account_no}")
|
|
127
|
-
return None
|
|
128
|
-
|
|
129
|
-
resp = resp[0]
|
|
130
|
-
|
|
131
|
-
# 获取支行信息
|
|
132
|
-
if resp["opening_bank_branch"] != "":
|
|
133
|
-
_bank_branch_response = client.internal_get_list(
|
|
134
|
-
doctype="Bank Branch",
|
|
135
|
-
filters=[["bank_branch_name", "=", resp["opening_bank_branch"]]],
|
|
136
|
-
fields=["parent_bank", "bank_branch_name"]
|
|
137
|
-
)
|
|
138
|
-
if not _bank_branch_response.is_success():
|
|
139
|
-
logger.warning(f"bank branch is not found by id {resp["opening_bank_branch"]}")
|
|
140
|
-
return None
|
|
141
|
-
|
|
142
|
-
if not _bank_branch_response.data:
|
|
143
|
-
logger.warning(f"bank branch is not found by id {resp["opening_bank_branch"]}")
|
|
144
|
-
return None
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
_parent_bank_id = _bank_branch_response.data[0]["parent_bank"]
|
|
148
|
-
if not _parent_bank_id:
|
|
149
|
-
logger.warning(f"parent bank is not found by id {resp["opening_bank_branch"]}")
|
|
150
|
-
return None
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
# 获取银行信息
|
|
154
|
-
_bank_detail_response = client.internal_get(
|
|
155
|
-
doctype="Bank",
|
|
156
|
-
name=_parent_bank_id,
|
|
157
|
-
fields=["name", "bank_name"]
|
|
158
|
-
)
|
|
159
|
-
|
|
160
|
-
if not _bank_detail_response.is_success():
|
|
161
|
-
logger.warning(f"bank is not found by id {_parent_bank_id}")
|
|
162
|
-
return None
|
|
163
|
-
|
|
164
|
-
_bank_detail = _bank_detail_response.data
|
|
165
|
-
if not _bank_detail:
|
|
166
|
-
logger.warning(f"bank is not found by id {_parent_bank_id}")
|
|
167
|
-
return None
|
|
168
|
-
|
|
169
|
-
return BankAccount(
|
|
170
|
-
name=resp["name"],
|
|
171
|
-
account_name=resp["account_name"],
|
|
172
|
-
bank=_bank_detail["bank_name"],
|
|
173
|
-
bank_account_no=account_no,
|
|
174
|
-
bank_branch=resp["opening_bank_branch"],
|
|
175
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/auth/context_mgr.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/__init__.py
RENAMED
|
File without changes
|
{fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/cache_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/decorator.py
RENAMED
|
File without changes
|
{fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/cache/redis_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/scheduler/__init__.py
RENAMED
|
File without changes
|
{fiuai_sdk_python-0.16.0 → fiuai_sdk_python-0.16.1}/src/fiuai_sdk_python/pkg/scheduler/runner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|