dongchangxi 12 months ago
parent
commit
2e23329181
  1. 21
      timer/external_order_glb.py
  2. 22
      timer/setup_oem_exe.py
  3. 10
      tools/push_cmd.py

21
timer/external_order_glb.py

@ -131,6 +131,9 @@ def export_and_update_glbs(pid):
bpy.context.object.modifiers["Decimate"].ratio = faces_dest / faces_current bpy.context.object.modifiers["Decimate"].ratio = faces_dest / faces_current
bpy.ops.object.modifier_apply(modifier="Decimate") bpy.ops.object.modifier_apply(modifier="Decimate")
glb_filename = os.path.join(config.workdir, 'print',pid, f'{pid}.glb')
bpy.ops.export_scene.gltf(filepath=glb_filename, export_format='GLB', export_apply=True, export_jpeg_quality=75, export_draco_mesh_compression_enable=False)
# glb_filename = os.path.join(config.workdir, pid, 'output', f'{pid}.glb') # glb_filename = os.path.join(config.workdir, pid, 'output', f'{pid}.glb')
# bpy.ops.export_scene.gltf(filepath=glb_filename, export_format='GLB', export_apply=True, export_jpeg_quality=75, export_draco_mesh_compression_enable=False) # bpy.ops.export_scene.gltf(filepath=glb_filename, export_format='GLB', export_apply=True, export_jpeg_quality=75, export_draco_mesh_compression_enable=False)
@ -148,27 +151,29 @@ def export_and_update_glbs(pid):
glb_filename = os.path.join(config.workdir,'print',pid,f'{pid}-3d.glb') glb_filename = os.path.join(config.workdir,'print',pid,f'{pid}-3d.glb')
bpy.ops.export_scene.gltf(filepath=glb_filename, export_format='GLB', export_apply=True, export_jpeg_quality=75, export_draco_mesh_compression_enable=False) bpy.ops.export_scene.gltf(filepath=glb_filename, export_format='GLB', export_apply=True, export_jpeg_quality=75, export_draco_mesh_compression_enable=False)
# os.system(f'gltfpack -c -i {os.path.join(config.workdir, pid, "output", f"{pid}.glb")} -o {os.path.join(config.workdir, pid, "output", f"{pid}-pack.glb")}') os.system(f'gltfpack -c -i {os.path.join(config.workdir, "print",pid, f"{pid}.glb")} -o {os.path.join(config.workdir, "print",pid, f"{pid}-pack.glb")}')
# config.oss_bucket.put_object_from_file(f'glbs/auto/{pid}.glb', os.path.join(config.workdir, pid, 'output', f'{pid}-pack.glb')) config.oss_bucket.put_object_from_file(f'glbs/auto/{pid}.glb', os.path.join(config.workdir, 'print',pid, f'{pid}-pack.glb'))
config.oss_bucket.put_object_from_file(f'glbs/print/{pid}.glb', os.path.join(config.workdir, 'print',pid, f'{pid}-pack.glb'))
config.oss_bucket.put_object_from_file(f'glbs/3d/{pid}.glb', os.path.join(config.workdir,'print',pid, f'{pid}-3d.glb')) config.oss_bucket.put_object_from_file(f'glbs/3d/{pid}.glb', os.path.join(config.workdir,'print',pid, f'{pid}-3d.glb'))
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} glb文件导出并上传完成,共费时{libs.diff_time(start_time)}') print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} glb文件导出并上传完成,共费时{libs.diff_time(start_time)}')
#移除文件夹 #移除文件夹
shutil.rmtree(os.path.join(config.workdir,'print',pid)) #shutil.rmtree(os.path.join(config.workdir,'print',pid))
#更新该笔订单的状态为 3000 #更新该笔订单的状态为 3000
requests.post("https://shop.api.suwa3d.com/api/printOrder/updateExternalOrderStatus", data={'pid': pid}) requests.post("https://shop.api.suwa3d.com/api/printOrder/updateExternalOrderStatus", data={'pid': pid})
def createGlb(pid): def createGlb(pid):
#移除文件夹
try:
shutil.rmtree(os.path.join(config.workdir,'print',pid))
except:
pass
base_fix(pid) base_fix(pid)
export_and_update_glbs(pid) export_and_update_glbs(pid)
#移除文件夹
# try:
# shutil.rmtree(os.path.join(config.workdir,'print',pid))
# except:
# pass
def create_redis_connection(): def create_redis_connection():

22
timer/setup_oem_exe.py

@ -3,7 +3,7 @@ import redis,requests,json,os,sys
import platform import platform
if platform.system() == 'Windows': if platform.system() == 'Windows':
sys.path.append('e:\\make2\\libs\\') sys.path.append('e:\\libs\\')
else: else:
sys.path.append('/data/deploy/make3d/make2/libs/') sys.path.append('/data/deploy/make3d/make2/libs/')
import config import config
@ -81,32 +81,32 @@ def main():
print(data['data']) print(data['data'])
#pythob 进入到 E:\wails\oemProject ,将 data 数据写入到 wails.json 文件中的 ext_oem 字段中 #pythob 进入到 E:\wails\oemProject ,将 data 数据写入到 wails.json 文件中的 ext_oem 字段中
with open("E:\\make2\\oemProject\\wails.json","r",encoding="utf-8") as f: with open("D:\\oemProject\\wails.json","r",encoding="utf-8") as f:
wailsData = json.load(f) wailsData = json.load(f)
wailsData['ext_oem'] = data['data'] wailsData['ext_oem'] = data['data']
wailsData['name'] = data['data']['brand_name'] wailsData['name'] = data['data']['brand_name']
wailsData["outputfilename"] = str(data['data']['id']) wailsData["outputfilename"] = str(data['data']['id'])
with open("E:\\make2\\oemProject\\wails.json","w",encoding="utf-8") as f: with open("D:\\oemProject\\wails.json","w",encoding="utf-8") as f:
json.dump(wailsData,f,ensure_ascii=False,indent=4) json.dump(wailsData,f,ensure_ascii=False,indent=4)
# #将图片下载到本地 # #将图片下载到本地
getExeImg(data['data']['exe_logo'], "E:\\make2\\oemProject\\build\\appicon.png") getExeImg(data['data']['exe_logo'], "D:\\oemProject\\build\\appicon.png")
#删除 D:\\oemProject\\build\\bin 目录下的所有exe 文件,不包含子目录 #删除 D:\\oemProject\\build\\bin 目录下的所有exe 文件,不包含子目录
delete_exe_files_in_dir("E:\\make2\\oemProject\\build\\bin") delete_exe_files_in_dir("D:\\oemProject\\build\\bin")
# #重命名文件 # #重命名文件
# os.system(f"cd D:\\oemProject && ren build\\bin\\{data['data']['brand_name']}amd64-installer.exe "+str(data['data']['id'])+".exe") # os.system(f"cd D:\\oemProject && ren build\\bin\\{data['data']['brand_name']}amd64-installer.exe "+str(data['data']['id'])+".exe")
#写入成功后在 E:\\wails\\oemProject\\ 目录下执行 wails build 命令 -debug #写入成功后在 E:\\wails\\oemProject\\ 目录下执行 wails build 命令 -debug
os.system("cd E:\\make2\\oemProject && wails build -nsis -devtools") os.system("cd D:\\oemProject && wails build -nsis -devtools")
time.sleep(35) time.sleep(35)
#删除指定目录下的多余产生的文件 #删除指定目录下的多余产生的文件
os.system("cd E:\\make2\\oemProject && del /s/q/f build\\bin\\"+str(data['data']['id'])+".exe") os.system("cd D:\\oemProject && del /s/q/f build\\bin\\"+str(data['data']['id'])+".exe")
#打包压缩指定文件夹 #打包压缩指定文件夹
# 指定要打包的文件夹路径 # 指定要打包的文件夹路径
folder_to_zip = 'E:\\make2\\oemProject\\build\\bin' folder_to_zip = 'D:\\oemProject\\build\\bin'
# 指定生成的压缩包名称和路径 # 指定生成的压缩包名称和路径
zip_filename = f"{str(data['data']['id'])}.zip" zip_filename = f"{str(data['data']['id'])}.zip"
@ -119,7 +119,7 @@ def main():
#上传成功后,调用接口,告诉mp,已经生成exe及上传成功 #上传成功后,调用接口,告诉mp,已经生成exe及上传成功
requests.get(url+"/api/oem/infoSetupUpdate",params={"id":oemId}) requests.get(url+"/api/oem/infoSetupUpdate",params={"id":oemId})
# #
os.system("cd E:\\make2 && del /s/q/f timer\\"+str(data['data']['id'])+".zip") os.system("cd D: && del /s/q/f timer\\"+str(data['data']['id'])+".zip")
def getExeImg(image_url, output_path): def getExeImg(image_url, output_path):
@ -133,10 +133,10 @@ def getExeImg(image_url, output_path):
# 保存图片为PNG格式 # 保存图片为PNG格式
resized_image.save(output_path, 'PNG') resized_image.save(output_path, 'PNG')
#转换格式 #转换格式
transToIco(output_path,"E:\\make2\\oemProject\\build\\windows\\icon.ico") transToIco(output_path,"D:\\oemProject\\build\\windows\\icon.ico")
#复制图片到指定目录 #复制图片到指定目录
time.sleep(3) time.sleep(3)
shutil.copy("E:\\make2\\oemProject\\build\\windows\\icon.ico","E:\\make2\\oemProject\\build\\bin\\icon.ico",) shutil.copy("D:\\oemProject\\build\\windows\\icon.ico","D:\\oemProject\\build\\bin\\icon.ico",)
else: else:
print(f"Failed to download image. Status code: {response.status_code}") print(f"Failed to download image. Status code: {response.status_code}")

10
tools/push_cmd.py

@ -1,10 +1,10 @@
import redis, os, sys,requests,platform,json import redis, os, sys,requests,platform,json
if platform.system() == 'Windows': if platform.system() == 'Windows':
#sys.path.append('E:\\make2\\libs\\') sys.path.append('E:\\libs\\')
sys.path.append('libs') #sys.path.append('libs')
else: else:
sys.path.append('/data/deploy/make3d/make2/libs/') sys.path.append('/data/deploy/make3d/make2/libs/')
import config, libs,libs_db,libs_db_task_rc import config, libs,libs_db
def main(cmd, order_id): def main(cmd, order_id):
if cmd == 'print': #order_id if cmd == 'print': #order_id
@ -26,9 +26,7 @@ def main(cmd, order_id):
if order_id == 'view': if order_id == 'view':
if cmd == "rc_model_build": if cmd == "rc_model_build":
nums = libs_db_task_rc.get_task_rc_count() pass
print(f'当前{cmd}队列长度:{nums}')
notify(f'当前{cmd}队列长度:{nums}')
else: else:
print(f"key-{key}") print(f"key-{key}")
print(f'当前{cmd}队列长度:{r.llen(key)}') print(f'当前{cmd}队列长度:{r.llen(key)}')

Loading…
Cancel
Save