Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
963de709
提交
963de709
authored
9月 29, 2024
作者:
郑笛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化批量提单
上级
7672c8d0
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
41 行增加
和
40 行删除
+41
-40
cc_bill_loading.py
ccs_connect_tiktok/models/cc_bill_loading.py
+41
-40
没有找到文件。
ccs_connect_tiktok/models/cc_bill_loading.py
浏览文件 @
963de709
...
@@ -247,46 +247,47 @@ class CcBl(models.Model):
...
@@ -247,46 +247,47 @@ class CcBl(models.Model):
# 定义一个方法, 获取提单下的所有未同步的小包,并回传小包状态
# 定义一个方法, 获取提单下的所有未同步的小包,并回传小包状态
def
callback_track
(
self
):
def
callback_track
(
self
):
ship_packages
=
self
.
env
[
'cc.ship.package'
]
.
search
([(
'bl_id'
,
'in'
,
self
.
ids
),
(
'is_sync'
,
'='
,
False
)])
for
item
in
self
:
# for package in ship_packages:
ship_packages
=
self
.
env
[
'cc.ship.package'
]
.
search
([(
'bl_id'
,
'='
,
item
.
id
),
(
'is_sync'
,
'='
,
False
)])
# package.callback_track()
# for package in ship_packages:
tt_api_obj
=
self
.
env
[
"ao.tt.api"
]
.
sudo
()
# package.callback_track()
async
def
perform_requests
():
tt_api_obj
=
self
.
env
[
"ao.tt.api"
]
.
sudo
()
ssl_context
=
ssl
.
create_default_context
(
cafile
=
certifi
.
where
())
async
def
perform_requests
():
async
with
aiohttp
.
ClientSession
(
connector
=
aiohttp
.
TCPConnector
(
ssl
=
ssl_context
),
timeout
=
aiohttp
.
ClientTimeout
(
total
=
60
))
as
session
:
ssl_context
=
ssl
.
create_default_context
(
cafile
=
certifi
.
where
())
tasks
=
[]
async
with
aiohttp
.
ClientSession
(
connector
=
aiohttp
.
TCPConnector
(
ssl
=
ssl_context
),
timeout
=
aiohttp
.
ClientTimeout
(
total
=
60
))
as
session
:
for
index
,
package
in
enumerate
(
ship_packages
):
tasks
=
[]
if
not
package
.
is_sync
and
package
.
state
and
package
.
state
.
tk_code
:
for
index
,
package
in
enumerate
(
ship_packages
):
data
=
package
.
get_callback_track_data
()
if
not
package
.
is_sync
and
package
.
state
and
package
.
state
.
tk_code
:
tasks
.
append
(
tt_api_obj
.
async_callback_track
(
session
,
data
,
package
.
id
))
data
=
package
.
get_callback_track_data
()
responses
=
await
asyncio
.
gather
(
*
tasks
)
tasks
.
append
(
tt_api_obj
.
async_callback_track
(
session
,
data
,
package
.
id
))
return
responses
responses
=
await
asyncio
.
gather
(
*
tasks
)
return
responses
# 在 Odoo 中运行异步任务
responses
=
asyncio
.
run
(
perform_requests
())
# 在 Odoo 中运行异步任务
for
response_item
in
responses
:
responses
=
asyncio
.
run
(
perform_requests
())
response_data
=
response_item
[
0
]
for
response_item
in
responses
:
logging
.
info
(
'response_data response:
%
s'
%
response_data
)
response_data
=
response_item
[
0
]
data
=
response_item
[
1
]
logging
.
info
(
'response_data response:
%
s'
%
response_data
)
package_id
=
response_item
[
2
]
data
=
response_item
[
1
]
package_order
=
self
.
env
[
'cc.ship.package'
]
.
sudo
()
.
browse
(
package_id
)
package_id
=
response_item
[
2
]
if
response_data
[
'code'
]
!=
0
:
package_order
=
self
.
env
[
'cc.ship.package'
]
.
sudo
()
.
browse
(
package_id
)
package_order
.
is_sync
=
False
if
response_data
[
'code'
]
!=
0
:
error_msg
=
response_data
[
'msg'
]
package_order
.
is_sync
=
False
request_id
=
response_data
[
'requestID'
]
error_msg
=
response_data
[
'msg'
]
code
=
response_data
[
'code'
]
request_id
=
response_data
[
'requestID'
]
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
code
=
response_data
[
'code'
]
package_order
.
tracking_no
or
''
,
'小包状态轨迹回传:'
+
error_msg
,
data
,
code
,
request_id
,
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
source
=
'推出'
)
package_order
.
tracking_no
or
''
,
'小包状态轨迹回传:'
+
error_msg
,
data
,
code
,
request_id
,
else
:
source
=
'推出'
)
# 回传成功
else
:
package_order
.
is_sync
=
True
# 回传成功
self
.
env
[
'cc.ship.package.sync.log'
]
.
sudo
()
.
create_sync_log
(
package_order
.
is_sync
=
True
package_order
.
id
,
'Tiktok'
,
package_order
.
state
.
tk_code
,
package_order
.
state_explain
,
self
.
env
[
'cc.ship.package.sync.log'
]
.
sudo
()
.
create_sync_log
(
package_order
.
process_time
.
strftime
(
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
))
package_order
.
id
,
'Tiktok'
,
package_order
.
state
.
tk_code
,
package_order
.
state_explain
,
request_id
=
response_data
[
'requestID'
]
package_order
.
process_time
.
strftime
(
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
))
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
request_id
=
response_data
[
'requestID'
]
package_order
.
tracking_no
or
''
,
''
,
data
,
0
,
request_id
,
source
=
'推出'
)
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
package_order
.
tracking_no
or
''
,
''
,
data
,
0
,
request_id
,
source
=
'推出'
)
def
deal_ship_package_state
(
self
):
def
deal_ship_package_state
(
self
):
for
item
in
self
:
for
item
in
self
:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论