Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
EMUAFactory
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mayinghao
EMUAFactory
Commits
42d02498
Commit
42d02498
authored
Sep 26, 2025
by
mayinghao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
工厂上传
parent
b9307f2f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
38 deletions
+29
-38
main.py
main.py
+4
-30
thread_upload.py
multipleThread/thread_upload.py
+25
-8
No files found.
main.py
View file @
42d02498
...
@@ -269,7 +269,7 @@ class OrderDetail(QMainWindow):
...
@@ -269,7 +269,7 @@ class OrderDetail(QMainWindow):
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
fileupload_list
=
[]
fileupload_list
=
[]
response
=
requests
.
post
(
fileupload
_url
,
data
=
datas
,
headers
=
headers
)
response
=
requests
.
post
(
order_detail
_url
,
data
=
datas
,
headers
=
headers
)
data1
=
response
.
json
()
data1
=
response
.
json
()
for
j
in
data1
[
"obj"
][
"allChilds"
]:
for
j
in
data1
[
"obj"
][
"allChilds"
]:
...
@@ -286,8 +286,6 @@ class OrderDetail(QMainWindow):
...
@@ -286,8 +286,6 @@ class OrderDetail(QMainWindow):
self
.
table_filelist
.
setRowCount
(
0
)
self
.
table_filelist
.
setRowCount
(
0
)
self
.
table_filelist
.
setRowCount
(
len
(
fileupload_list
))
self
.
table_filelist
.
setRowCount
(
len
(
fileupload_list
))
print
(
fileupload_list
)
for
row
,
file_info
in
enumerate
(
fileupload_list
):
for
row
,
file_info
in
enumerate
(
fileupload_list
):
row_position
=
self
.
table_filelist
.
rowCount
()
+
1
row_position
=
self
.
table_filelist
.
rowCount
()
+
1
self
.
table_filelist
.
insertRow
(
row_position
)
self
.
table_filelist
.
insertRow
(
row_position
)
...
@@ -505,7 +503,6 @@ class OrderDetail(QMainWindow):
...
@@ -505,7 +503,6 @@ class OrderDetail(QMainWindow):
self
.
uuid_str
=
str
(
uuid
.
uuid4
())
self
.
uuid_str
=
str
(
uuid
.
uuid4
())
extension
=
key
.
split
(
"."
)[
-
1
]
extension
=
key
.
split
(
"."
)[
-
1
]
oss_key
=
self
.
oss_prefix
+
self
.
uuid_str
+
"."
+
extension
oss_key
=
self
.
oss_prefix
+
self
.
uuid_str
+
"."
+
extension
print
(
oss_key
)
parts
=
[]
parts
=
[]
upload_id
=
bucket
.
init_multipart_upload
(
oss_key
)
.
upload_id
upload_id
=
bucket
.
init_multipart_upload
(
oss_key
)
.
upload_id
...
@@ -614,8 +611,6 @@ class DeviceTableModel(QAbstractTableModel):
...
@@ -614,8 +611,6 @@ class DeviceTableModel(QAbstractTableModel):
def
filter_data
(
self
,
manufacturer
):
def
filter_data
(
self
,
manufacturer
):
print
(
"filter_data"
)
print
(
self
.
_data
)
"""根据厂商过滤数据"""
"""根据厂商过滤数据"""
self
.
beginResetModel
()
self
.
beginResetModel
()
...
@@ -676,17 +671,13 @@ class DeviceTableModel_product(QAbstractTableModel):
...
@@ -676,17 +671,13 @@ class DeviceTableModel_product(QAbstractTableModel):
def
filter_data
(
self
,
manufacturer
):
def
filter_data
(
self
,
manufacturer
):
print
(
"filter_data"
)
print
(
self
.
_data
)
"""根据厂商过滤数据"""
"""根据厂商过滤数据"""
self
.
beginResetModel
()
self
.
beginResetModel
()
print
(
manufacturer
)
if
manufacturer
==
"所有品牌"
:
if
manufacturer
==
"所有品牌"
:
self
.
_filtered_data
=
self
.
_data
.
copy
()
self
.
_filtered_data
=
self
.
_data
.
copy
()
else
:
else
:
self
.
_filtered_data
=
[
device
for
device
in
self
.
_data
if
device
[
3
]
==
manufacturer
]
self
.
_filtered_data
=
[
device
for
device
in
self
.
_data
if
device
[
3
]
==
manufacturer
]
print
(
self
.
_filtered_data
)
self
.
endResetModel
()
self
.
endResetModel
()
...
@@ -758,11 +749,9 @@ class NavigatorPage(QWidget):
...
@@ -758,11 +749,9 @@ class NavigatorPage(QWidget):
def
handle_close
(
self
):
def
handle_close
(
self
):
self
.
equ
=
None
self
.
equ
=
None
print
(
"close equ"
)
def
handle_close2
(
self
):
def
handle_close2
(
self
):
print
(
"close product"
)
self
.
product
=
None
self
.
product
=
None
def
button_clicked
(
self
,
button_num
):
def
button_clicked
(
self
,
button_num
):
...
@@ -997,13 +986,12 @@ class productInfoWindow(QMainWindow):
...
@@ -997,13 +986,12 @@ class productInfoWindow(QMainWindow):
upload
.
filename
=
file_path
upload
.
filename
=
file_path
upload
.
moveToThread
(
thread
)
upload
.
moveToThread
(
thread
)
upload
.
updateSignal
.
connect
(
self
.
changeProcessbar
)
upload
.
updateSignal
.
connect
(
self
.
changeProcessbar
)
upload
.
finishSignal
.
connect
(
self
.
update_table_filelist
)
upload
.
finishSignal
2
.
connect
(
self
.
update_table_filelist
)
self
.
uploads
.
append
(
upload
)
self
.
uploads
.
append
(
upload
)
self
.
threads
.
append
(
thread
)
self
.
threads
.
append
(
thread
)
thread
.
started
.
connect
(
self
.
uploads
[
-
1
]
.
run
)
thread
.
started
.
connect
(
self
.
uploads
[
-
1
]
.
run
)
thread
.
start
()
thread
.
start
()
#button.clicked.connect(lambda checked, idx=self.counter: upload.resume_thread())
#button.clicked.connect(lambda checked, idx=self.counter: upload.resume_thread())
print
(
self
.
counter
)
# 增加计数器
# 增加计数器
self
.
counter
+=
1
self
.
counter
+=
1
...
@@ -1012,6 +1000,8 @@ class productInfoWindow(QMainWindow):
...
@@ -1012,6 +1000,8 @@ class productInfoWindow(QMainWindow):
file_list
=
[
x
for
x
in
self
.
devices
if
x
[
0
]
==
_id
]
file_list
=
[
x
for
x
in
self
.
devices
if
x
[
0
]
==
_id
]
key
=
file_list
[
0
][
1
]
key
=
file_list
[
0
][
1
]
fileupload_list
=
sorted
(
fileupload_list
,
key
=
lambda
x
:
x
[
2
],
reverse
=
True
)
fileupload_list
=
sorted
(
fileupload_list
,
key
=
lambda
x
:
x
[
2
],
reverse
=
True
)
self
.
table_filelist
.
setRowCount
(
0
)
for
row
,
file_info
in
enumerate
(
fileupload_list
):
for
row
,
file_info
in
enumerate
(
fileupload_list
):
row_position
=
self
.
table_filelist
.
rowCount
()
row_position
=
self
.
table_filelist
.
rowCount
()
self
.
table_filelist
.
insertRow
(
row_position
)
self
.
table_filelist
.
insertRow
(
row_position
)
...
@@ -1019,17 +1009,14 @@ class productInfoWindow(QMainWindow):
...
@@ -1019,17 +1009,14 @@ class productInfoWindow(QMainWindow):
file_item
=
QTableWidgetItem
(
file_info
[
0
])
file_item
=
QTableWidgetItem
(
file_info
[
0
])
file_type
=
QTableWidgetItem
(
file_info
[
1
])
file_type
=
QTableWidgetItem
(
file_info
[
1
])
create_time
=
QTableWidgetItem
(
nanoseconds_to_date
(
file_info
[
2
]))
create_time
=
QTableWidgetItem
(
nanoseconds_to_date
(
file_info
[
2
]))
good_name
.
setTextAlignment
(
Qt
.
AlignCenter
)
good_name
.
setTextAlignment
(
Qt
.
AlignCenter
)
file_item
.
setTextAlignment
(
Qt
.
AlignCenter
)
file_item
.
setTextAlignment
(
Qt
.
AlignCenter
)
create_time
.
setTextAlignment
(
Qt
.
AlignCenter
)
create_time
.
setTextAlignment
(
Qt
.
AlignCenter
)
file_type
.
setTextAlignment
(
Qt
.
AlignCenter
)
file_type
.
setTextAlignment
(
Qt
.
AlignCenter
)
self
.
table_filelist
.
setItem
(
row_position
,
0
,
good_name
)
self
.
table_filelist
.
setItem
(
row_position
,
0
,
good_name
)
self
.
table_filelist
.
setItem
(
row_position
,
1
,
file_item
)
self
.
table_filelist
.
setItem
(
row_position
,
1
,
file_item
)
self
.
table_filelist
.
setItem
(
row_position
,
2
,
file_type
)
self
.
table_filelist
.
setItem
(
row_position
,
2
,
file_type
)
self
.
table_filelist
.
setItem
(
row_position
,
3
,
create_time
)
self
.
table_filelist
.
setItem
(
row_position
,
3
,
create_time
)
print
(
"finished"
)
def
upload_file
(
self
,
filename
,
order_id
,
type_info
):
def
upload_file
(
self
,
filename
,
order_id
,
type_info
):
# 显示上传进度条
# 显示上传进度条
...
@@ -1038,7 +1025,6 @@ class productInfoWindow(QMainWindow):
...
@@ -1038,7 +1025,6 @@ class productInfoWindow(QMainWindow):
self
.
uuid_str
=
str
(
uuid
.
uuid4
())
self
.
uuid_str
=
str
(
uuid
.
uuid4
())
extension
=
key
.
split
(
"."
)[
-
1
]
extension
=
key
.
split
(
"."
)[
-
1
]
oss_key
=
self
.
oss_prefix
+
self
.
uuid_str
+
"."
+
extension
oss_key
=
self
.
oss_prefix
+
self
.
uuid_str
+
"."
+
extension
print
(
oss_key
)
parts
=
[]
parts
=
[]
upload_id
=
bucket
.
init_multipart_upload
(
oss_key
)
.
upload_id
upload_id
=
bucket
.
init_multipart_upload
(
oss_key
)
.
upload_id
...
@@ -1046,7 +1032,6 @@ class productInfoWindow(QMainWindow):
...
@@ -1046,7 +1032,6 @@ class productInfoWindow(QMainWindow):
total_size
=
os
.
path
.
getsize
(
filename
)
total_size
=
os
.
path
.
getsize
(
filename
)
self
.
total_size
=
total_size
self
.
total_size
=
total_size
self
.
leftBytes
=
total_size
%
part_size
self
.
leftBytes
=
total_size
%
part_size
print
(
total_size
)
# 小于5M直接上传
# 小于5M直接上传
if
total_size
<=
part_size
:
if
total_size
<=
part_size
:
with
open
(
filename
,
"rb"
)
as
fileobj
:
with
open
(
filename
,
"rb"
)
as
fileobj
:
...
@@ -1065,7 +1050,6 @@ class productInfoWindow(QMainWindow):
...
@@ -1065,7 +1050,6 @@ class productInfoWindow(QMainWindow):
while
offset
<
total_size
:
while
offset
<
total_size
:
num_to_upload
=
min
(
part_size
,
total_size
-
offset
)
num_to_upload
=
min
(
part_size
,
total_size
-
offset
)
# 全局part_number冲突导致 setText不能正常显示,去掉恢复正常
# 全局part_number冲突导致 setText不能正常显示,去掉恢复正常
print
(
f
'正在上传第{part_number}/{circle}个分片包'
)
self
.
file_label
.
setText
(
f
'正在上传第{part_number}/{circle}个分片包'
)
self
.
file_label
.
setText
(
f
'正在上传第{part_number}/{circle}个分片包'
)
self
.
file_label
.
repaint
()
self
.
file_label
.
repaint
()
# 调用SizedFileAdapter(fileobj, size)方法会生成一个新的文件对象,重新计算起始追加位置。
# 调用SizedFileAdapter(fileobj, size)方法会生成一个新的文件对象,重新计算起始追加位置。
...
@@ -1089,8 +1073,6 @@ class productInfoWindow(QMainWindow):
...
@@ -1089,8 +1073,6 @@ class productInfoWindow(QMainWindow):
if
type_info
>=
12
:
if
type_info
>=
12
:
callback_url
=
goods_callback_url
callback_url
=
goods_callback_url
# try:
# try:
print
(
datas
)
print
(
callback_url
)
response
=
requests
.
post
(
callback_url
,
data
=
datas
,
headers
=
headers
)
response
=
requests
.
post
(
callback_url
,
data
=
datas
,
headers
=
headers
)
res
=
response
.
json
()
res
=
response
.
json
()
if
res
[
"obj"
]
==
"保存成功"
:
if
res
[
"obj"
]
==
"保存成功"
:
...
@@ -1237,7 +1219,6 @@ class productInfoWindow(QMainWindow):
...
@@ -1237,7 +1219,6 @@ class productInfoWindow(QMainWindow):
self
.
detail_page
=
None
self
.
detail_page
=
None
def
edit_device
(
self
,
row
):
def
edit_device
(
self
,
row
):
print
(
self
.
detail_page
)
filtered_device
=
self
.
model
.
_filtered_data
[
row
]
filtered_device
=
self
.
model
.
_filtered_data
[
row
]
# 查找第一个匹配项
# 查找第一个匹配项
...
@@ -1249,9 +1230,7 @@ class productInfoWindow(QMainWindow):
...
@@ -1249,9 +1230,7 @@ class productInfoWindow(QMainWindow):
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
response
=
requests
.
post
(
order_detail_url
,
headers
=
headers
,
data
=
datas
)
response
=
requests
.
post
(
order_detail_url
,
headers
=
headers
,
data
=
datas
)
if
response
.
text
!=
""
:
if
response
.
text
!=
""
:
print
(
response
.
text
)
data1
=
response
.
json
()
data1
=
response
.
json
()
print
(
data1
)
all_orders
=
[]
all_orders
=
[]
if
len
(
data1
[
"obj"
][
"allChilds"
])
==
0
:
if
len
(
data1
[
"obj"
][
"allChilds"
])
==
0
:
QMessageBox
.
information
(
self
,
"提示"
,
"该项没有其他子订单"
)
QMessageBox
.
information
(
self
,
"提示"
,
"该项没有其他子订单"
)
...
@@ -1446,7 +1425,6 @@ class EqipInfoWindow(QMainWindow):
...
@@ -1446,7 +1425,6 @@ class EqipInfoWindow(QMainWindow):
single_order
.
append
(
self
.
order_status
[
j
[
p
]])
single_order
.
append
(
self
.
order_status
[
j
[
p
]])
else
:
else
:
single_order
.
append
(
j
[
p
])
single_order
.
append
(
j
[
p
])
print
(
len
(
single_order
))
result
.
append
(
single_order
)
result
.
append
(
single_order
)
single_order
=
[]
single_order
=
[]
# print(result)
# print(result)
...
@@ -1522,7 +1500,6 @@ class EqipInfoWindow(QMainWindow):
...
@@ -1522,7 +1500,6 @@ class EqipInfoWindow(QMainWindow):
self
.
detail_page
=
None
self
.
detail_page
=
None
def
edit_device
(
self
,
row
):
def
edit_device
(
self
,
row
):
print
(
self
.
detail_page
)
filtered_device
=
self
.
model
.
_filtered_data
[
row
]
filtered_device
=
self
.
model
.
_filtered_data
[
row
]
# 查找第一个匹配项
# 查找第一个匹配项
...
@@ -1534,9 +1511,7 @@ class EqipInfoWindow(QMainWindow):
...
@@ -1534,9 +1511,7 @@ class EqipInfoWindow(QMainWindow):
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
response
=
requests
.
post
(
order_detail_url
,
headers
=
headers
,
data
=
datas
)
response
=
requests
.
post
(
order_detail_url
,
headers
=
headers
,
data
=
datas
)
if
response
.
text
!=
""
:
if
response
.
text
!=
""
:
print
(
response
.
text
)
data1
=
response
.
json
()
data1
=
response
.
json
()
print
(
data1
)
all_orders
=
[]
all_orders
=
[]
if
len
(
data1
[
"obj"
][
"allChilds"
])
==
0
:
if
len
(
data1
[
"obj"
][
"allChilds"
])
==
0
:
QMessageBox
.
information
(
self
,
"提示"
,
"该项没有其他子订单"
)
QMessageBox
.
information
(
self
,
"提示"
,
"该项没有其他子订单"
)
...
@@ -1658,7 +1633,6 @@ class LoginWindow(QMainWindow):
...
@@ -1658,7 +1633,6 @@ class LoginWindow(QMainWindow):
try
:
try
:
response
=
requests
.
post
(
login_url
,
data
=
myobj
)
response
=
requests
.
post
(
login_url
,
data
=
myobj
)
data
=
response
.
json
()
data
=
response
.
json
()
print
(
data
)
if
data
[
'resMsg'
]
==
"登录成功"
:
if
data
[
'resMsg'
]
==
"登录成功"
:
global
user_now
,
token
global
user_now
,
token
user_now
=
account
user_now
=
account
...
...
multipleThread/thread_upload.py
View file @
42d02498
...
@@ -12,6 +12,7 @@ import uuid
...
@@ -12,6 +12,7 @@ import uuid
from
oss2.models
import
PartInfo
from
oss2.models
import
PartInfo
from
.config
import
*
from
.config
import
*
product_callback_url
=
"https://uat.emku.laidecloud.com/console/seller/getFiles.ajax"
product_callback_url
=
"https://uat.emku.laidecloud.com/console/seller/getFiles.ajax"
callback_url
=
"https://uat.emku.laidecloud.com/console/productOrder/filePthSave.ajax"
def
nanoseconds_to_date
(
nano_seconds
):
def
nanoseconds_to_date
(
nano_seconds
):
timestamp
=
nano_seconds
/
1000
timestamp
=
nano_seconds
/
1000
...
@@ -39,7 +40,8 @@ class Upload_Thread(QObject):
...
@@ -39,7 +40,8 @@ class Upload_Thread(QObject):
#自定义信号声明
#自定义信号声明
# 使用自定义信号和UI主线程通讯,参数是发送信号时附带参数的数据类型,可以是str、int、list等
# 使用自定义信号和UI主线程通讯,参数是发送信号时附带参数的数据类型,可以是str、int、list等
finishSignal
=
pyqtSignal
(
list
,
int
)
finishSignal2
=
pyqtSignal
(
list
,
int
)
finishSignal
=
pyqtSignal
()
updateSignal
=
pyqtSignal
(
tuple
)
updateSignal
=
pyqtSignal
(
tuple
)
def
__init__
(
self
,
thread_num
=
0
,
order_id
=
None
,
type_info
=
None
,
token
=
""
):
def
__init__
(
self
,
thread_num
=
0
,
order_id
=
None
,
type_info
=
None
,
token
=
""
):
...
@@ -181,12 +183,27 @@ class Upload_Thread(QObject):
...
@@ -181,12 +183,27 @@ class Upload_Thread(QObject):
headers
=
{
'token'
:
self
.
token
,
headers
=
{
'token'
:
self
.
token
,
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
'User-Agent'
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
if
self
.
type_info
>=
12
:
if
self
.
type_info
>=
12
:
callback_url
=
goods_callback_url
callback_url
=
goods_callback_url
response
=
requests
.
post
(
callback_url
,
data
=
datas
,
headers
=
headers
)
try
:
res
=
response
.
json
()
response
=
requests
.
post
(
callback_url
,
data
=
datas
,
headers
=
headers
)
print
(
res
[
"obj"
])
res
=
response
.
json
()
response
=
requests
.
post
(
product_callback_url
,
data
=
{
"id"
:
self
.
order_id
},
headers
=
headers
)
print
(
res
[
"obj"
])
data
=
response
.
json
()
response
=
requests
.
post
(
product_callback_url
,
data
=
{
"id"
:
self
.
order_id
},
headers
=
headers
)
res
=
process_data
(
data
)
data
=
response
.
json
()
self
.
finishSignal
.
emit
(
res
,
self
.
order_id
)
res
=
process_data
(
data
)
self
.
finishSignal2
.
emit
(
res
,
self
.
order_id
)
except
Exception
as
e
:
print
(
"wrong 1"
)
else
:
# try:
print
(
self
.
token
)
response
=
requests
.
post
(
"https://uat.emku.laidecloud.com/console/productOrder/filePthSave.ajax"
,
data
=
datas
,
headers
=
headers
)
res
=
response
.
json
()
print
(
res
[
"obj"
])
self
.
finishSignal
.
emit
()
# except Exception as e:
# print("wrong 2")
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment