Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
9e26995e
提交
9e26995e
authored
11月 26, 2024
作者:
刘擎阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.优化
上级
44645134
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
16 行增加
和
5 行删除
+16
-5
fetch_mail.py
ccs_base/models/fetch_mail.py
+2
-1
order_state_change_rule.py
ccs_base/models/order_state_change_rule.py
+11
-4
cc_bill_loading.py
ccs_connect_tiktok/models/cc_bill_loading.py
+3
-0
没有找到文件。
ccs_base/models/fetch_mail.py
浏览文件 @
9e26995e
...
@@ -125,7 +125,8 @@ class FetchmailServer(models.Model):
...
@@ -125,7 +125,8 @@ class FetchmailServer(models.Model):
# 如果ture的话内容是没用的
# 如果ture的话内容是没用的
if
not
part
.
is_multipart
():
if
not
part
.
is_multipart
():
# 解码出内容
# 解码出内容
email_body
=
part
.
get_payload
(
decode
=
True
)
.
decode
(
'utf-8'
,
'ignore'
)
# email_body = part.get_payload(decode=True).decode('utf-8', 'ignore')
email_body
=
part
.
get_payload
(
decode
=
True
)
.
decode
(
'gbk'
,
'ignore'
)
break
break
if
email_body
:
if
email_body
:
if
'CDS REPORT'
in
subject
.
upper
():
if
'CDS REPORT'
in
subject
.
upper
():
...
...
ccs_base/models/order_state_change_rule.py
浏览文件 @
9e26995e
...
@@ -52,7 +52,7 @@ class OrderStateChangeRule(models.Model):
...
@@ -52,7 +52,7 @@ class OrderStateChangeRule(models.Model):
return
False
return
False
def
find_text
(
self
,
email_body
):
def
find_text
(
self
,
email_body
):
pattern
=
r'([A-Za-z]+\d+)\s+(\d{3}-\d+)\s+(\d{4})?
\.?(\d{1,2})\.(\d{1,2})\s+(\d{1,2}:\d{2})\s+\(([\+\-]?\d+)\)
'
pattern
=
r'([A-Za-z]+\d+)\s+(\d{3}-\d+)\s+(\d{4})?
[\.\。]?(\d{1,2})[\.\。](\d{1,2})\s+(\d{1,2}[::]\d{2})?\s*[\(\(]([\+\-]?\d+)[\)\)]
'
data_re
=
re
.
compile
(
pattern
)
data_re
=
re
.
compile
(
pattern
)
data_arr
=
data_re
.
findall
(
email_body
)
data_arr
=
data_re
.
findall
(
email_body
)
return
data_arr
return
data_arr
...
@@ -62,6 +62,7 @@ class OrderStateChangeRule(models.Model):
...
@@ -62,6 +62,7 @@ class OrderStateChangeRule(models.Model):
year
=
kwargs
[
'year'
]
year
=
kwargs
[
'year'
]
# datas = demjson.decode(kwargs['datas'])
# datas = demjson.decode(kwargs['datas'])
current_year
=
datetime
.
now
()
.
year
current_year
=
datetime
.
now
()
.
year
email_body
=
html
.
unescape
(
email_body
)
text_arr
=
self
.
find_text
(
email_body
)
text_arr
=
self
.
find_text
(
email_body
)
# text_arr = email_body.split('\r\n') if '\r\n' in email_body else email_body.split('\n')
# text_arr = email_body.split('\r\n') if '\r\n' in email_body else email_body.split('\n')
logging
.
info
(
'data_arr:
%
s'
%
text_arr
)
logging
.
info
(
'data_arr:
%
s'
%
text_arr
)
...
@@ -75,7 +76,7 @@ class OrderStateChangeRule(models.Model):
...
@@ -75,7 +76,7 @@ class OrderStateChangeRule(models.Model):
year
=
text
[
2
]
# 11 或 2024
year
=
text
[
2
]
# 11 或 2024
month
=
text
[
3
]
# 11
month
=
text
[
3
]
# 11
day
=
text
[
4
]
# 20
day
=
text
[
4
]
# 20
time
=
text
[
5
]
# 12:41
time
=
text
[
5
]
.
replace
(
':'
,
':'
)
# 12:41
timezone_offset
=
int
(
text
[
6
])
# +1 或 -8
timezone_offset
=
int
(
text
[
6
])
# +1 或 -8
# voyage_name = match.group(1) # SE901
# voyage_name = match.group(1) # SE901
# order_no = match.group(2) # 436-10133970
# order_no = match.group(2) # 436-10133970
...
@@ -104,14 +105,18 @@ class OrderStateChangeRule(models.Model):
...
@@ -104,14 +105,18 @@ class OrderStateChangeRule(models.Model):
bl_obj
=
self
.
env
[
'cc.bl'
]
.
sudo
()
.
search
([(
'id'
,
'='
,
result
[
0
][
0
])])
if
result
else
False
bl_obj
=
self
.
env
[
'cc.bl'
]
.
sudo
()
.
search
([(
'id'
,
'='
,
result
[
0
][
0
])])
if
result
else
False
if
bl_obj
and
bl_obj
.
state
!=
'done'
:
if
bl_obj
and
bl_obj
.
state
!=
'done'
:
self
.
push_clear_customs_start
(
bl_obj
,
before_utc_time
)
self
.
push_clear_customs_start
(
bl_obj
,
before_utc_time
)
is_ok
=
bl_obj
.
callback_track
()
if
is_ok
:
self
.
push_clear_customs_end
(
bl_obj
,
utc_time
)
self
.
push_clear_customs_end
(
bl_obj
,
utc_time
)
bl_obj
.
callback_track
()
except
Exception
as
err
:
except
Exception
as
err
:
logging
.
error
(
'fetch_mail_dlv--error:
%
s'
%
str
(
err
))
logging
.
error
(
'fetch_mail_dlv--error:
%
s'
%
str
(
err
))
def
push_clear_customs_start
(
self
,
order
,
utc_time
):
def
push_clear_customs_start
(
self
,
order
,
utc_time
):
# 创建向导
# 创建向导
node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'tk_code'
,
'in'
,
[
False
,
''
])],
limit
=
1
)
push_node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'tk_code'
,
'='
,
'cb_imcustoms_start'
)],
limit
=
1
)
push_node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'tk_code'
,
'='
,
'cb_imcustoms_start'
)],
limit
=
1
)
node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'seq'
,
'<'
,
push_node_obj
.
seq
)],
order
=
'seq desc'
,
limit
=
1
)
vals
=
{
vals
=
{
'bl_id'
:
order
.
id
,
'bl_id'
:
order
.
id
,
'bl_count'
:
1
,
'bl_count'
:
1
,
...
@@ -127,8 +132,10 @@ class OrderStateChangeRule(models.Model):
...
@@ -127,8 +132,10 @@ class OrderStateChangeRule(models.Model):
def
push_clear_customs_end
(
self
,
order
,
utc_time
):
def
push_clear_customs_end
(
self
,
order
,
utc_time
):
# 创建向导
# 创建向导
node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'tk_code'
,
'='
,
'cb_imcustoms_start'
)],
limit
=
1
)
push_node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'tk_code'
,
'='
,
'cb_imcustoms_finished'
)],
limit
=
1
)
push_node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'tk_code'
,
'='
,
'cb_imcustoms_finished'
)],
limit
=
1
)
node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'seq'
,
'<'
,
push_node_obj
.
seq
)],
order
=
'seq desc'
,
limit
=
1
)
vals
=
{
vals
=
{
'bl_id'
:
order
.
id
,
'bl_id'
:
order
.
id
,
'bl_count'
:
1
,
'bl_count'
:
1
,
...
...
ccs_connect_tiktok/models/cc_bill_loading.py
浏览文件 @
9e26995e
...
@@ -247,6 +247,7 @@ class CcBl(models.Model):
...
@@ -247,6 +247,7 @@ class CcBl(models.Model):
# 定义一个方法, 获取提单下的所有未同步的小包,并回传小包状态
# 定义一个方法, 获取提单下的所有未同步的小包,并回传小包状态
def
callback_track
(
self
):
def
callback_track
(
self
):
is_ok
=
True
for
item
in
self
:
for
item
in
self
:
ship_packages
=
self
.
env
[
'cc.ship.package'
]
.
search
([(
'bl_id'
,
'='
,
item
.
id
),
(
'is_sync'
,
'='
,
False
)])
ship_packages
=
self
.
env
[
'cc.ship.package'
]
.
search
([(
'bl_id'
,
'='
,
item
.
id
),
(
'is_sync'
,
'='
,
False
)])
# for package in ship_packages:
# for package in ship_packages:
...
@@ -279,6 +280,7 @@ class CcBl(models.Model):
...
@@ -279,6 +280,7 @@ class CcBl(models.Model):
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
package_order
.
tracking_no
or
''
,
'小包状态轨迹回传:'
+
error_msg
,
data
,
code
,
request_id
,
package_order
.
tracking_no
or
''
,
'小包状态轨迹回传:'
+
error_msg
,
data
,
code
,
request_id
,
source
=
'推出'
)
source
=
'推出'
)
is_ok
=
False
else
:
else
:
# 回传成功
# 回传成功
package_order
.
is_sync
=
True
package_order
.
is_sync
=
True
...
@@ -288,6 +290,7 @@ class CcBl(models.Model):
...
@@ -288,6 +290,7 @@ class CcBl(models.Model):
request_id
=
response_data
[
'requestID'
]
request_id
=
response_data
[
'requestID'
]
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
self
.
env
[
'ao.tt.api.log'
]
.
sudo
()
.
create_api_log
(
package_order
.
tracking_no
or
''
,
''
,
data
,
0
,
request_id
,
source
=
'推出'
)
package_order
.
tracking_no
or
''
,
''
,
data
,
0
,
request_id
,
source
=
'推出'
)
return
is_ok
def
deal_ship_package_state
(
self
):
def
deal_ship_package_state
(
self
):
for
item
in
self
:
for
item
in
self
:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论