Browse Source

更新配置实时响应

rambo 3 months ago
parent
commit
f65f3a27a7

+ 45 - 6
python/api.py

@@ -1,3 +1,4 @@
+from re import search
 from natsort.natsort import order_by_index
 from sqlalchemy import func
 from models import *
@@ -164,7 +165,11 @@ def fromExcelHandler(params: HandlerDetail):
                 raise UnicornException(path)
             shutil.rmtree(image_dir)
             # path = os.path.dirname(path)
-
+    cutOutMode = (
+        0
+        if settings.getSysConfigs("other_configs", "cutout_mode", "普通抠图") == "普通抠图"
+        else 1
+    )
     config_data = {
         "image_dir": limit_path,  # 这个目录作为本次生成的图片目录非常重要 例:./output/当前日期
         "image_order": params.template_image_order,
@@ -172,7 +177,7 @@ def fromExcelHandler(params: HandlerDetail):
         "goods_art_nos": goods_art_no_arrays,
         "is_check_number": False,
         "resize_image_view": "后跟",
-        "cutout_mode": settings.CUTOUT_MODE,
+        "cutout_mode": cutOutMode,
         "logo_path": params.logo_path,
         "special_goods_art_no_folder_line": "",
         "is_use_excel": (False if params.excel_path == "" else True),  # 是否使用excel
@@ -359,6 +364,12 @@ async def handle_detail(request: Request, params: HandlerDetail):
     for tempItem in params.temp_list:
         temp_class[tempItem.template_id] = tempItem.template_local_classes
         temp_name_list.append(tempItem.template_id)
+    cutOutMode = (
+        0
+        if settings.getSysConfigs("other_configs", "cutout_mode", "普通抠图")
+        == "普通抠图"
+        else 1
+    )
     config_data = {
         "image_dir": limit_path,
         "image_order": (
@@ -370,7 +381,7 @@ async def handle_detail(request: Request, params: HandlerDetail):
         "goods_art_nos": goods_art_no_arrays,
         "is_check_number": False,
         "resize_image_view": "后跟",
-        "cutout_mode": settings.CUTOUT_MODE,
+        "cutout_mode": cutOutMode,
         "logo_path": params.logo_path,
         "special_goods_art_no_folder_line": "",
         "is_use_excel": False,  # 是否使用excel
@@ -723,7 +734,29 @@ def delect_goods_arts(params: PhotoRecordDelete):
         "msg": "操作成功",
         "data": None,
     }
+def query_config_by_key(key_name):
+    """
+        在sys_configs.json格式的数据中查询指定的key,如果匹配则返回整个对象
+        
+        Args:
+            key_name (str): 要查询的key名称
+            
+        Returns:
+            dict or None: 匹配的对象或None(如果没有找到)
+        """
+    try:
+        # 获取所有配置数据
+        configs = json.load(open("sys_configs.json", encoding="utf-8"))
 
+        # 遍历配置数据查找匹配的key
+        for config in configs:
+            if config.get("key") == key_name:
+                return config
+
+        return None
+    except Exception as e:
+        print(f"查询配置时出错: {e}")
+        return None
 
 @app.get("/get_sys_config", description="查询系统配置")
 def get_sys_config(key: str = None):
@@ -732,11 +765,18 @@ def get_sys_config(key: str = None):
     session = SqlQuery()
     photos = CRUD(SysConfigs)
     item = photos.read(session, conditions={"key": key})
-    # session.close()
+    search_data = None if item == None else json.loads(item.value)
+    if search_data == None:
+        sys_config_json = query_config_by_key(key)
+        if sys_config_json != None:
+            config = SysConfigs(**sys_config_json)
+            session.add(config)
+            session.commit()  # 合并事务提交
+            search_data = json.loads(sys_config_json.get("value"))
     return {
         "code": 0,
         "msg": "",
-        "data": json.loads(item.value),
+        "data": search_data,
     }
 
 
@@ -817,7 +857,6 @@ def logo_list():
     return {"code": 0, "msg": "操作成功", "data": logo_list}
 
 
-
 @app.post("/add_logo", description="添加logo")
 def add_logo(params: LogoParams):
     logo_path = params.logo_path.replace("\\", "/")

+ 19 - 10
python/custom_plugins/plugins_mode/detail_generate_base.py

@@ -644,31 +644,40 @@ class DetailBase(object):
                             value=(p_x, p_y),
                             top_png_img=pp_png,
                         )
-
+                    out_pci_mode = "." + settings.getSysConfigs(
+                        "basic_configs", "image_out_format", "png"
+                    )
                     goods_no_main_pic_number += 1
                     out_pic_path = "{out_path_root}/{goods_no}({goods_no_main_pic_number}){pic_mode}".format(
                         out_path_root=out_path_root,
                         goods_no=self.goods_no,
                         goods_no_main_pic_number=goods_no_main_pic_number,
-                        pic_mode=settings.OUT_PIC_MODE,
+                        pic_mode=out_pci_mode,
                     )
-
-                    if settings.OUT_PIC_FACTOR > 1.0:
+                    out_pci_factor = float(
+                        1
+                        if settings.getSysConfigs(
+                            "basic_configs", "image_sharpening", "1"
+                        )
+                        == ""
+                        else settings.getSysConfigs(
+                            "basic_configs", "image_sharpening", "1"
+                        )
+                    )
+                    if out_pci_factor > 1.0:
                         print("图片锐化处理")
-                        pp_bg = pp_bg.sharpen_image(factor=settings.OUT_PIC_FACTOR)
+                        pp_bg = pp_bg.sharpen_image(factor=out_pci_factor)
 
                     if original_width < 1600:
                         pp_bg = pp_bg.resize(value=original_width)
 
                     print("392  out_pic_path", out_pic_path)
-                    if settings.OUT_PIC_MODE == ".jpg":
+                    if out_pci_mode == ".jpg":
                         pp_bg.save_as_rgb(out_pic_path)
-                    elif settings.OUT_PIC_MODE == ".png":
+                    elif out_pci_mode == ".png":
                         pp_bg.save_as_png(out_pic_path)
                     else:
-                        pp_bg.save_as_other(
-                            out_pic_path, settings.OUT_PIC_MODE.split(".")[-1]
-                        )
+                        pp_bg.save_as_other(out_pic_path, out_pci_mode.split(".")[-1])
 
     def add_pic(self, detailed_images):
         self.check_state_end()

+ 4 - 1
python/mcu/ProgramItem.py

@@ -338,7 +338,10 @@ class ProgramItem(BaseClass):
         3、删除该照片
         4、重新触发进行拍照,并更新最近拍照时间
         """
-        if settings.RUNNING_MODE == "普通模式":
+        if (
+            settings.getSysConfigs("other_configs", "running_mode", "普通模式")
+            == "普通模式"
+        ):
             return
 
         print("-----100-2--self", self)

+ 20 - 8
python/mcu/capture/smart_shooter_class.py

@@ -8,7 +8,7 @@ from io import BytesIO
 import base64
 import zmq, sys, time
 from utils.SingletonType import SingletonType
-from settings import LOW_ISO,HIGH_ISO
+import settings
 import logging
 
 logger = logging.getLogger(__name__)
@@ -99,7 +99,6 @@ class SmartShooter(metaclass=SingletonType):
                 return False, msg_send
             self.connect_status = True
             msg_send = "相机已连接"
-            print("相机已连接状态信息---->", cameraInfo)
             return True, cameraInfo[CameraIndex].get("CameraPropertyInfo")
         except zmq.Again:
             msg_send = "相机未连接或软件未打开"
@@ -268,9 +267,7 @@ class SmartShooter(metaclass=SingletonType):
             json_msg = self.__send_tcp_message(socket, req)
             msg_result = json_msg.get("msg_result")
             if not msg_result:
-                print(f"{property}设置失败", json_msg)
                 return False, f"{property}设置失败"
-            print(f"{property}设置成功", json_msg)
             return True, f"{property}设置成功"
         except zmq.Again:
             print(f"设置{property}超时,继续监听...")
@@ -291,10 +288,25 @@ class SmartShooter(metaclass=SingletonType):
         if not camera_states:
             return False, "请先连接相机"
         try:
-            if enable_status == True:
-                await self.setCameraProperty(property="ISO", value=HIGH_ISO)
-            if enable_status == False:
-                await self.setCameraProperty(property="ISO", value=LOW_ISO)
+            camera_configs = settings.getSysConfigs(
+                "camera_configs",
+                "iso_config",
+                {"low": 100, "high": 6400, "mode": "auto"},
+            )
+            low_iso = camera_configs.get("low", 100)
+            high_iso = camera_configs.get("high", 6400)
+            mode_iso = camera_configs.get("mode", 6400)
+            print("LOW_ISO", low_iso)
+            print("HIGH_ISO", high_iso)
+            print("MODE_ISO", mode_iso)
+            if str(mode_iso).lower() != "auto":
+                # 等于auto就不设置
+                if enable_status == True:
+                    await self.setCameraProperty(property="ISO", value=str(mode_iso))
+                if enable_status == False:
+                    await self.setCameraProperty(property="ISO", value=str(mode_iso))
+            else:
+                print("等于auto就不设置")
             socket, context = self.__create_req()
             req = {}
             req["msg_type"] = "Request"

+ 8 - 3
python/service/auto_deal_pics/base_deal.py

@@ -273,8 +273,10 @@ class BaseDealImage(object):
 
             """进行800image 生成"""
             generate_pic = GeneratePic()
-
-            if settings.OUT_PIC_MODE == ".jpg":
+            out_pci_mode = "." + settings.getSysConfigs(
+                "basic_configs", "image_out_format", "png"
+            )
+            if out_pci_mode == ".jpg":
                 out_path = "{}/800x800/{}{}".format(folder_path, file_name, ".jpg")
             else:
                 out_path = "{}/800x800/{}{}".format(folder_path, file_name, ".png")
@@ -768,7 +770,10 @@ class BaseDealImage(object):
 
                 """进行800image 生成"""
                 generate_pic = GeneratePic()
-                if settings.OUT_PIC_MODE == ".jpg":
+                out_pci_mode = "." + settings.getSysConfigs(
+                    "basic_configs", "image_out_format", "png"
+                )
+                if out_pci_mode == ".jpg":
                     out_path = "{}/800x800/{}{}".format(goods_art_no_folder_path, file_name, ".jpg")
                 else:
                     out_path = "{}/800x800/{}{}".format(goods_art_no_folder_path, file_name, ".png")

+ 38 - 17
python/service/base_deal.py

@@ -299,19 +299,17 @@ class BaseDealImage(object):
             print(
                 "*************************进行800image 结束====>>>>********************************************"
             )
-            if settings.OUT_PIC_MODE == ".jpg":
+            out_pci_mode = "." + settings.getSysConfigs(
+                "basic_configs", "image_out_format", "png"
+            )
+            if out_pci_mode == ".jpg":
                 out_path = "{}/800x800/{}{}".format(folder_path, file_name, ".jpg")
-            elif settings.OUT_PIC_MODE == ".png":
+            elif out_pci_mode == ".png":
                 out_path = "{}/800x800/{}{}".format(folder_path, file_name, ".png")
             else:
                 out_path = "{}/800x800/{}{}".format(
-                    folder_path, file_name, settings.OUT_PIC_MODE
+                    folder_path, file_name, out_pci_mode
                 )
-            """
-            pp_bg.save_as_other(
-                            out_pic_path, settings.OUT_PIC_MODE.split(".")[-1]
-                        )
-            """
 
             out_process_path_1 = "{}/阴影图处理/{}_{}_阴影{}".format(folder_path, file_name,
                                                               image_dict["image_view"], ".png")
@@ -327,17 +325,25 @@ class BaseDealImage(object):
                 print(image_dict["image_view"], resize_image_view)
                 resize_mode = 2
 
-            if settings.Mode == "皮具":
+            if (
+                settings.getSysConfigs("other_configs", "product_type", "鞋类")
+                == "皮具"
+            ):
                 max_box = (1000, 1200)
-
+            out_pic_size = (
+                [1600]
+                if settings.getSysConfigs("basic_configs", "main_image_size", [1600])
+                == ""
+                else settings.getSysConfigs("basic_configs", "main_image_size", [1600])
+            )  # 主图大小
             if resize_mode == 2:
                 print(
                     "参数打印================》",
                     is_image_deal_mode,
                     resize_mode,
-                    settings.OUT_PIC_SIZE,
+                    out_pic_size,
                     True if i_n == 1 else False,
-                    max_box
+                    max_box,
                 )
             print("**********123456********************")
             curve_mask = True if "俯视" in image_order_list else False
@@ -347,7 +353,7 @@ class BaseDealImage(object):
                 out_path=out_path,
                 image_deal_mode=is_image_deal_mode,
                 resize_mode=resize_mode,
-                out_pic_size=settings.OUT_PIC_SIZE,
+                out_pic_size=out_pic_size,
                 is_logo=True if i_n == 1 else False,
                 out_process_path_1=out_process_path_1,
                 out_process_path_2=out_process_path_2,
@@ -807,12 +813,17 @@ class BaseDealImage(object):
 
                 """进行800image 生成"""
                 generate_pic = GeneratePic()
-                if settings.OUT_PIC_MODE == ".jpg":
+                out_pci_mode = "." + settings.getSysConfigs(
+                    "basic_configs", "image_out_format", "png"
+                )
+                if out_pci_mode == ".jpg":
                     out_path = "{}/800x800/{}{}".format(goods_art_no_folder_path, file_name, ".jpg")
-                elif settings.OUT_PIC_MODE == ".png":
+                elif out_pci_mode == ".png":
                     out_path = "{}/800x800/{}{}".format(goods_art_no_folder_path, file_name, ".png")
                 else:
-                    out_path = "{}/800x800/{}{}".format(goods_art_no_folder_path, file_name, settings.OUT_PIC_MODE)
+                    out_path = "{}/800x800/{}{}".format(
+                        goods_art_no_folder_path, file_name, out_pci_mode
+                    )
 
                 out_process_path_1 = "{}/阴影图处理/{}_{}_阴影{}".format(goods_art_no_folder_path, file_name,
                                                                   _name_list[i_n - 1], ".png")
@@ -822,12 +833,22 @@ class BaseDealImage(object):
                 print("image_index", image_index)
                 image_index = 99
                 curve_mask = True if "俯视" in image_order["image_view"] else False
+                out_pic_size = (
+                    [1600]
+                    if settings.getSysConfigs(
+                        "basic_configs", "main_image_size", [1600]
+                    )
+                    == ""
+                    else settings.getSysConfigs(
+                        "basic_configs", "main_image_size", [1600]
+                    )
+                )  # 主图大小
                 if generate_pic.run(image_path=original_image_path,
                                     cut_image_path=original_move_bg_image_path,
                                     out_path=out_path,
                                     image_deal_mode=is_image_deal_mode,
                                     image_index=image_index,
-                                    out_pic_size=settings.OUT_PIC_SIZE,
+                                    out_pic_size=out_pic_size,
                                     is_logo=True if i_n == 1 else False,
                                     out_process_path_1=out_process_path_1,
                                     out_process_path_2=out_process_path_2,

+ 17 - 5
python/service/generate_goods_no_detail_pic/detail_generate_base.py

@@ -446,22 +446,34 @@ class DetailBase(object):
                                                              top_png_img=pp_png)
 
                     goods_no_main_pic_number += 1
+                    out_pci_mode = "." + settings.getSysConfigs(
+                        "basic_configs", "image_out_format", "png"
+                    )
                     out_pic_path = "{out_path_root}/{goods_no}({goods_no_main_pic_number}){pic_mode}".format(
                         out_path_root=out_path_root,
                         goods_no=self.goods_no,
                         goods_no_main_pic_number=goods_no_main_pic_number,
-                        pic_mode=settings.OUT_PIC_MODE,
+                        pic_mode=out_pci_mode,
                     )
-
-                    if settings.OUT_PIC_FACTOR > 1.0:
+                    out_pci_factor = float(
+                        1
+                        if settings.getSysConfigs(
+                            "basic_configs", "image_sharpening", "1"
+                        )
+                        == ""
+                        else settings.getSysConfigs(
+                            "basic_configs", "image_sharpening", "1"
+                        )
+                    )
+                    if out_pci_factor > 1.0:
                         print("图片锐化处理")
-                        pp_bg = pp_bg.sharpen_image(factor=settings.OUT_PIC_FACTOR)
+                        pp_bg = pp_bg.sharpen_image(factor=out_pci_factor)
 
                     if original_width < 1600:
                         pp_bg = pp_bg.resize(value=original_width)
 
                     print("392  out_pic_path", out_pic_path)
-                    if settings.OUT_PIC_MODE == ".jpg":
+                    if out_pci_mode == ".jpg":
                         pp_bg.save_as_rgb(out_pic_path)
                     else:
                         pp_bg.save_as_png(out_pic_path)

+ 14 - 6
python/service/generate_main_image/grenerate_main_image_test.py

@@ -572,16 +572,24 @@ class GeneratePic(object):
             image_bg.paste(logo_im, (0, 0), logo_im)
 
         # image_bg = image_bg.resize((out_pic_size, out_pic_size), Image.BICUBIC)
-        if settings.OUT_PIC_FACTOR > 1.0:
+        out_pic_factor = float(
+            1
+            if settings.getSysConfigs("basic_configs", "image_sharpening", "1") == ""
+            else settings.getSysConfigs("basic_configs", "image_sharpening", "1")
+        )  # 图片锐化
+        if out_pic_factor > 1.0:
             print("图片锐化处理")
-            image_bg = sharpen_image(image_bg, factor=settings.OUT_PIC_FACTOR)
+            image_bg = sharpen_image(image_bg, factor=out_pic_factor)
 
         if out_pic_size < 1600:
             image_bg = image_bg.resize(
                 (out_pic_size, out_pic_size), resample=settings.RESIZE_IMAGE_MODE
             )
-        print("图片保存格式", settings.OUT_PIC_MODE)
-        if settings.OUT_PIC_MODE == ".jpg":
+        out_pci_mode = "." + settings.getSysConfigs(
+            "basic_configs", "image_out_format", "png"
+        )
+        print("图片保存格式", out_pci_mode)
+        if out_pci_mode == ".jpg":
             if settings.OUT_PIC_QUALITY == "普通":
                 self.saver.save_image(
                     image=image_bg,
@@ -604,11 +612,11 @@ class GeneratePic(object):
                 )
                 # save_image_by_thread(image_bg, out_path, save_mode="jpg", quality=100, dpi=(300, 300), _format="JPEG")
                 # image_bg.save(out_path, quality=100, dpi=(300, 300), format="JPEG")
-        elif settings.OUT_PIC_MODE == ".png":
+        elif out_pci_mode == ".png":
             self.saver.save_image(image=image_bg, file_path=out_path, save_mode="png")
             # image_bg.save(out_path)
         else:
-            new_format = settings.OUT_PIC_MODE.split(".")[-1]
+            new_format = out_pci_mode.split(".")[-1]
             self.saver.save_image(
                 image=image_bg,
                 file_path=out_path,

+ 14 - 7
python/service/grenerate_main_image_test.py

@@ -559,11 +559,18 @@ class GeneratePic(object):
             except Exception as e:
                 alpha_mask = logo_im.split()[3]
                 image_bg.paste(logo_im, (0, 0), alpha_mask)
-
+        out_pci_factor = float(
+            1
+            if settings.getSysConfigs("basic_configs", "image_sharpening", "1") == ""
+            else settings.getSysConfigs("basic_configs", "image_sharpening", "1")
+        )
         # image_bg = image_bg.resize((out_pic_size, out_pic_size), Image.BICUBIC)
-        if settings.OUT_PIC_FACTOR > 1.0:
+        if out_pci_factor > 1.0:
             print("图片锐化处理")
-            image_bg = sharpen_image(image_bg, factor=settings.OUT_PIC_FACTOR)
+            image_bg = sharpen_image(image_bg, factor=out_pci_factor)
+        out_pci_mode = "." + settings.getSysConfigs(
+            "basic_configs", "image_out_format", "png"
+        )
         for imageSize in out_pic_size:
             dot_index = out_path.rfind(".")
             if dot_index != -1:
@@ -579,7 +586,7 @@ class GeneratePic(object):
                 image_bg = image_bg.resize(
                     (imageSize, imageSize), resample=settings.RESIZE_IMAGE_MODE
                 )
-                if settings.OUT_PIC_MODE == ".jpg":
+                if out_pci_mode == ".jpg":
                     self.saver.save_image(
                         image=image_bg,
                         file_path=new_file_path,
@@ -590,7 +597,7 @@ class GeneratePic(object):
                     )
                     # save_image_by_thread(image_bg, out_path, save_mode="jpg", quality=None, dpi=None, _format="JPEG")
                     # image_bg.save(out_path, format="JPEG")
-                elif settings.OUT_PIC_MODE == ".png":
+                elif out_pci_mode == ".png":
                     self.saver.save_image(
                         image=image_bg,
                         file_path=new_file_path,
@@ -600,7 +607,7 @@ class GeneratePic(object):
                         _format="JPEG",
                     )
                 else:
-                    new_format = settings.OUT_PIC_MODE.split(".")[-1]
+                    new_format = out_pci_mode.split(".")[-1]
                     self.saver.save_image(
                         image=image_bg,
                         file_path=new_file_path,
@@ -612,7 +619,7 @@ class GeneratePic(object):
                     # save_image_by_thread(image_bg, out_path, save_mode="jpg", quality=100, dpi=(300, 300), _format="JPEG")
                     # image_bg.save(out_path, quality=100, dpi=(300, 300), format="JPEG")
             else:
-                new_format = settings.OUT_PIC_MODE.split(".")[-1]
+                new_format = out_pci_mode.split(".")[-1]
                 self.saver.save_image(
                     image=image_bg,
                     file_path=new_file_path,

+ 62 - 35
python/service/match_and_cutout_mode_control/base_deal_image_v2.py

@@ -287,14 +287,16 @@ class BaseDealImage(object):
 
             """进行800image 生成"""
             generate_pic = GeneratePic()
-
-            if settings.OUT_PIC_MODE == ".jpg":
+            out_pci_mode = "." + settings.getSysConfigs(
+                        "basic_configs", "image_out_format", "png"
+                    )
+            if out_pci_mode == ".jpg":
                 out_path = "{}/800x800/{}{}".format(folder_path, file_name, ".jpg")
-            elif settings.OUT_PIC_MODE == ".png":
+            elif out_pci_mode == ".png":
                 out_path = "{}/800x800/{}{}".format(folder_path, file_name, ".png")
             else:
                 out_path = "{}/800x800/{}{}".format(
-                    folder_path, file_name, settings.OUT_PIC_MODE
+                    folder_path, file_name, out_pci_mode
                 )
 
             out_process_path_1 = "{}/阴影图处理/{}_{}_阴影{}".format(folder_path, file_name,
@@ -313,14 +315,19 @@ class BaseDealImage(object):
 
             if settings.Mode == "皮具":
                 max_box = (1000, 1200)
-
+            out_pic_size = (
+                [1600]
+                if settings.getSysConfigs("basic_configs", "main_image_size", [1600])
+                == ""
+                else settings.getSysConfigs("basic_configs", "main_image_size", [1600])
+            )  # 主图大小
             if resize_mode == 2:
                 print(
                     is_image_deal_mode,
                     resize_mode,
-                    settings.OUT_PIC_SIZE,
+                    out_pic_size,
                     True if i_n == 1 else False,
-                    max_box
+                    max_box,
                 )
 
             # todo 主图生成处理,使用进程处理耗性能操作
@@ -354,19 +361,25 @@ class BaseDealImage(object):
             #     is_successful = False
             # else:
             #     print("output_queue.get():", output_queue.get())
-
-            if not generate_pic.run(image_path=original_image_path,
-                                    cut_image_path=original_move_bg_image_path,
-                                    out_path=out_path,
-                                    image_deal_mode=is_image_deal_mode,
-                                    resize_mode=resize_mode,
-                                    out_pic_size=settings.OUT_PIC_SIZE,
-                                    is_logo=True if i_n == 1 else False,
-                                    out_process_path_1=out_process_path_1,
-                                    out_process_path_2=out_process_path_2,
-                                    max_box=max_box,
-                                    logo_path=logo_path,
-                                    ):
+            out_pic_size = (
+                [1600]
+                if settings.getSysConfigs("basic_configs", "main_image_size", [1600])
+                == ""
+                else settings.getSysConfigs("basic_configs", "main_image_size", [1600])
+            )  # 主图大小
+            if not generate_pic.run(
+                image_path=original_image_path,
+                cut_image_path=original_move_bg_image_path,
+                out_path=out_path,
+                image_deal_mode=is_image_deal_mode,
+                resize_mode=resize_mode,
+                out_pic_size=out_pic_size,
+                is_logo=True if i_n == 1 else False,
+                out_process_path_1=out_process_path_1,
+                out_process_path_2=out_process_path_2,
+                max_box=max_box,
+                logo_path=logo_path,
+            ):
                 is_successful = False
 
         if is_successful:
@@ -821,13 +834,16 @@ class BaseDealImage(object):
 
                 """进行800image 生成"""
                 generate_pic = GeneratePic()
-                if settings.OUT_PIC_MODE == ".jpg":
+                out_pci_mode = "." + settings.getSysConfigs(
+                    "basic_configs", "image_out_format", "png"
+                )
+                if out_pci_mode == ".jpg":
                     out_path = "{}/800x800/{}{}".format(goods_art_no_folder_path, file_name, ".jpg")
-                elif settings.OUT_PIC_MODE == ".png":
+                elif out_pci_mode == ".png":
                     out_path = "{}/800x800/{}{}".format(goods_art_no_folder_path, file_name, ".png")
                 else:
                     out_path = "{}/800x800/{}{}".format(
-                        goods_art_no_folder_path, file_name, settings.OUT_PIC_MODE
+                        goods_art_no_folder_path, file_name, out_pci_mode
                     )
 
                 out_process_path_1 = "{}/阴影图处理/{}_{}_阴影{}".format(goods_art_no_folder_path, file_name,
@@ -837,18 +853,29 @@ class BaseDealImage(object):
 
                 print("image_index", image_index)
                 image_index = 99
-                if generate_pic.run(image_path=original_image_path,
-                                    cut_image_path=original_move_bg_image_path,
-                                    out_path=out_path,
-                                    image_deal_mode=is_image_deal_mode,
-                                    image_index=image_index,
-                                    out_pic_size=settings.OUT_PIC_SIZE,
-                                    is_logo=True if i_n == 1 else False,
-                                    out_process_path_1=out_process_path_1,
-                                    out_process_path_2=out_process_path_2,
-                                    max_box=max_box,
-                                    logo_path=logo_path,
-                                    ):
+                out_pic_size = (
+                    [1600]
+                    if settings.getSysConfigs(
+                        "basic_configs", "main_image_size", [1600]
+                    )
+                    == ""
+                    else settings.getSysConfigs(
+                        "basic_configs", "main_image_size", [1600]
+                    )
+                )  # 主图大小
+                if generate_pic.run(
+                    image_path=original_image_path,
+                    cut_image_path=original_move_bg_image_path,
+                    out_path=out_path,
+                    image_deal_mode=is_image_deal_mode,
+                    image_index=image_index,
+                    out_pic_size=out_pic_size,
+                    is_logo=True if i_n == 1 else False,
+                    out_process_path_1=out_process_path_1,
+                    out_process_path_2=out_process_path_2,
+                    max_box=max_box,
+                    logo_path=logo_path,
+                ):
                     # self.show_progress_detail("货号图{} _{} 已完成800*800图片制作~".format(image_index, file_name))
                     callback_func("货号图{} _{} 已完成800*800图片制作~".format(image_index, file_name))
                 else:

+ 12 - 5
python/settings.py

@@ -33,6 +33,16 @@ if len(all_sys_configs) == 0:
     # 如果配置表中一条数据都没有,就将初始化数据全部插入到数据表中
     sys_config_json = json.load(open("sys_configs.json", encoding="utf-8"))
     batch_insert_sys_configs(session, sys_config_json)
+else:
+    # 查询数据库中缺失哪个数据,进行补充
+    sys_config_json = json.load(open("sys_configs.json", encoding="utf-8"))
+    for sys_config in sys_config_json:
+        photos = CRUD(SysConfigs)
+        item = photos.read(session, conditions={"key": sys_config.get("key")})
+        if item == None:
+            config = SysConfigs(**sys_config)
+            session.add(config)
+            session.commit()  # 合并事务提交
 # 初始化数据表---结束
 
 
@@ -187,11 +197,8 @@ for i, k in mcu_config_dict:
     _camera_config_dict[i] = int(k)
 _camera_config_dict = get_config_by_items(camera_config_dict)
 
-LOW_ISO = _camera_config_dict["low_iso"]
-HIGH_ISO = _camera_config_dict["high_iso"]
-
-print("LOW_ISO", LOW_ISO)
-print("HIGH_ISO", HIGH_ISO)
+# LOW_ISO = _camera_config_dict["low_iso"]
+# HIGH_ISO = _camera_config_dict["high_iso"]
 DOMAIN = (
     "https://dev2.valimart.net"
     if config.get("app", "env") != "dev"

+ 4 - 0
python/sys_configs.json

@@ -18,5 +18,9 @@
     {
         "key": "action_configs",
         "value": "{\"left\":1,\"right\":7}"
+    },
+    {
+        "key": "camera_configs",
+        "value": "{\"iso_config\":{\"low\":100,\"high\":6400,\"mode\":\"auto\"}}"
     }
 ]