models.py 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. from middleware import *
  2. import datetime
  3. from typing import Any
  4. class HlmForwardRequest(BaseModel):
  5. method: str = Field(default="GET", description="请求方法")
  6. headers: dict = Field(default={}, description="请求头")
  7. target_url: str = Field(default="", description="目标地址")
  8. query_params: str = Field(default="", description="请求参数")
  9. class ModelGetDeviceConfig(BaseModel):
  10. """获取可执行程序命令列表"""
  11. tab_id: int = Field(
  12. default=1, description="类型,【执行左脚程序】或者【执行右脚程序】"
  13. )
  14. class ModelGetDeviceConfigDetail(BaseModel):
  15. """获取可执行程序命令列表"""
  16. id: int = Field(default=None, description="可执行程序得id")
  17. class ModelGetDeviceConfigDetailQuery(BaseModel):
  18. """获取可执行程序命令列表"""
  19. tab_id: int = Field(default=1, index=True, max_length=128)
  20. action_name: Optional[str] = Field(default="", index=True, max_length=128)
  21. class SaveDeviceConfig(BaseModel):
  22. """获取可执行程序命令列表"""
  23. id: Optional[int] = Field(default=None, primary_key=True)
  24. tab_id: Optional[int] = Field(default=0, index=True)
  25. action_name: Optional[str] = Field(default="", index=True, max_length=128)
  26. action_index: Optional[int] = Field(default=None)
  27. action_status: Optional[bool] = Field(default=None)
  28. is_system: Optional[bool] = Field(default=False)
  29. camera_height: Optional[int] = Field(default=None)
  30. camera_angle: Optional[float] = Field(default=None)
  31. number_focus: Optional[int] = Field(default=None)
  32. take_picture: Optional[bool] = Field(default=None)
  33. turntable_position: Optional[float] = Field(default=None)
  34. turntable_angle: Optional[float] = Field(default=None)
  35. shoe_upturn: Optional[bool] = Field(default=None)
  36. pre_delay: Optional[float] = Field(default=None)
  37. after_delay: Optional[float] = Field(default=None)
  38. led_switch: Optional[bool] = Field(default=None)
  39. is_wait: Optional[bool] = Field(default=False)
  40. is_need_confirm: Optional[bool] = Field(default=False)
  41. point_name: Optional[str] = Field(default="A", description="点位名称,默认A点")
  42. is_move_device: Optional[bool] = Field(
  43. default=True, description="是否移动设备,默认移动设备"
  44. )
  45. class PhotoRecordDelete(BaseModel):
  46. """获取可执行程序命令列表"""
  47. goods_art_nos: list[str] = Field(default=None, description="货号数组")
  48. class SysConfigParams(BaseModel):
  49. """系统配置"""
  50. key: str = Field(default=None, description="类型")
  51. value: str = Field(default=None, description="json数据")
  52. class LeftRightParams(BaseModel):
  53. """系统配置"""
  54. id: int = Field(default=0, description="配置id")
  55. type: str = Field(default="left", description="类型,left左;right:右边")
  56. class TemplateItem(BaseModel):
  57. """模板项"""
  58. template_id: str = Field(description="模板名称")
  59. template_local_classes: Any = Field(description="模板名称")
  60. template_type: Optional[int] = Field(default=0, description="模板类型;0系统模板;1自定义模板")
  61. class MaineImageTest(BaseModel):
  62. """模板项"""
  63. file_path: str = Field(description="图片地址")
  64. class HandlerDetail(BaseModel):
  65. """获取可执行程序命令列表"""
  66. goods_art_no: list[str] = Field(default=None, description="货号")
  67. uuid: str = Field(default=None, description="uuid")
  68. token: str = Field(default="", description="惠利玛请求token")
  69. template_image_order: str = Field(default="", description="模板图片排序")
  70. excel_path: Optional[str] = Field(default="", description="excel路径")
  71. temp_name: str = Field(default="", description="选中的模板名称")
  72. temp_list: list[TemplateItem] = Field(default=[], description="所有模板列表")
  73. logo_path: Optional[str] = Field(default="", description="logo地址路径")
  74. is_only_cutout: Optional[int] = Field(default=0, description="是否仅抠图;0否;1是")
  75. is_check: Optional[int] = Field(default=0, description="是否仅检测;0否;1是")
  76. online_stores: Optional[list[str]] = Field(
  77. default=[], description="上传的店铺,数组形式"
  78. )
  79. is_product_scene: Optional[int] = Field(
  80. default=0, description="是否生成场景图;0否;1是"
  81. )
  82. is_detail: Optional[int] = Field(default=0, description="是否生成详情图;0否;1是")
  83. is_upper_footer: Optional[int] = Field(
  84. default=0, description="是否生成上脚图;0否;1是"
  85. )
  86. product_scene_prompt: Optional[str] = Field(
  87. default="", description="场景图提示词"
  88. )
  89. product_scene_image: Optional[str] = Field(
  90. default="", description="场景图参考图"
  91. )
  92. upper_footer_params: Optional[dict] = Field(
  93. default=None, description="上脚图参数配置"
  94. )
  95. class LogoParams(BaseModel):
  96. """logo参数"""
  97. logo_path: str = Field(default="", description="logo地址路径")
  98. class LogoParamsupdate(BaseModel):
  99. """系统配置"""
  100. path: str = Field(default=None, description="要删除得文件路径")
  101. class DeviceConfigTabsReq(BaseModel):
  102. id: int = Field(default=None, primary_key=True)
  103. mode_name: str = Field(default="", description="Tab名称")
  104. class RecordUpdate(BaseModel):
  105. """系统配置"""
  106. id: int = Field(default=0, description="记录id")
  107. image_path: str = Field(default=None, description="图片地址")
  108. class SyncLocalConfigs(BaseModel):
  109. """同步系统配置"""
  110. token: str = Field(default=None, description="用户token")
  111. env: str = Field(default="dev", description="当前环境")
  112. camera_counts: bool = Field(default=False, description="相机数量")
  113. class GenerateImageJson(BaseModel):
  114. """货号json数据生成"""
  115. goods_art_no: str = Field(default=None, description="货号")
  116. class PhotoRecordRemoveBackground(BaseModel):
  117. """获取可执行程序命令列表"""
  118. goods_art_nos: list[str] = Field(default=None, description="货号数组")
  119. token: str = Field(default=None, description="用户token")
  120. class SyncPhotoRecord(BaseModel):
  121. """同步图片记录"""
  122. token: str = Field(default=None, description="用户token")
  123. env: str = Field(default="dev", description="当前环境")
  124. camera_counts: bool = Field(default=False, description="相机数量")
  125. class RenameShadow(BaseModel):
  126. """重命名阴影文件"""
  127. goods_art_nos: list[str] = Field(default=None, description="货号数组")
  128. class ImportDirs(BaseModel):
  129. """重命名阴影文件"""
  130. dir_path: str = Field(default=None, description="货号数组")
  131. goods_art_nos: list[str] = Field(default=["BH73323", 'BH94727'], description="货号数组")
  132. class CalibRequest(BaseModel):
  133. """重命名阴影文件"""
  134. goods_art_no: str = Field(default=None, description="货号")
  135. side_png: str = Field(default=None, description="侧视图")
  136. side_known_height_mm: float = Field(default=None, description="侧视图已知高度")
  137. front_png: str = Field(default=None, description="正视图")
  138. front_known_width_mm: float = Field(default=None, description="正视图已知宽度")
  139. topdown_png: str = Field(default=None, description="俯视图")
  140. topdown_known_length_mm: float = Field(default=None, description="俯视图已知长度")
  141. class MeasurerRequest(BaseModel):
  142. """重命名阴影文件"""
  143. goods_art_no: str = Field(default=None, description="货号")
  144. # side_png: str = Field(default=None, description="侧视图")
  145. # front_png: str = Field(default=None, description="正视图")
  146. # topdown_png: str = Field(default=None, description="俯视图")
  147. calib: dict = Field(default=None, description="像素标定尺寸")
  148. class OpenApiCompanyList(BaseModel):
  149. """企业列表查询"""
  150. q: Optional[str] = Field(default="", description="企业名称模糊搜索")
  151. page: Optional[int] = Field(default=1, description="页码")
  152. page_size: Optional[int] = Field(default=100, description="每页条数")
  153. class OpenApiUploadItem(BaseModel):
  154. """拍照机商品资料上传"""
  155. goods_art_no: str = Field(default=None, description="货号")
  156. company_id: str = Field(default=None, description="混淆企业ID")
  157. item_type: int = Field(default=None, description="上传类型:1商品 2材料")
  158. class ShoesComposeImageItem(BaseModel):
  159. """拍照机商品资料上传"""
  160. image_path: str = Field(default=None, description="货号")
  161. color_name: str = Field(default=None, description="尺码")
  162. class ShoesComposeItem(BaseModel):
  163. """拍照机商品资料上传"""
  164. logo: str = Field(default=None, description="logo")
  165. number_mid: dict = Field(default=None, description="中童货号")
  166. size_mid: dict = Field(default=None, description="中童尺码")
  167. number_big: dict = Field(default=None, description="大童货号")
  168. size_big: dict = Field(default=None, description="大童尺码")
  169. box: dict = Field(default=None, description="装箱数量")
  170. image_path: str = Field(default=None, description="主图")
  171. reference_image: str = Field(default=None, description="参考图")
  172. images: list[dict] = Field(default=None, description="图片货号列表")
  173. class ShoesComposes(BaseModel):
  174. """拍照机商品资料上传"""
  175. data: list[ShoesComposeItem] = Field(default=None, description="结构体")