画布 1
自动化上架商品
  导入商品（15）
    校验数据，保存
      来源
        来源校验：typeCode为"source_code"， tool_base_dict表是否存在
          来源 paramCode
          数据手册来源 extend4
          图片前缀 extend2
      店铺
        店铺校验：typeCode为"store_code"， tool_base_dict表是否存在
          店铺UUID extend1(storeUuid)
          是否自营 extend3(selfProduct) 自营1 非自营0
      一级分类
        非空校验
      二级分类
        非空校验
      三级分类
        非空校验，设置为三级宏伟分类代码
      来源商品唯一标识
        非空校验，根据source和skuId查询tool_product，校验是否重复
      商品名称
        非空校验，敏感词校验
      商品编号
        不为空则保存，为空则通过三级分类编码生成 ProductNo/OriginalProductNo
      关键词
        非空校验，敏感词校验
      战略品牌
        非空校验，敏感词校验
          根据brandAlias查询tool_product_brand_rel_alias，为空则保存BrandAlias/BrandName；非空则BrandName保存查询IsStrategy=0所得，BrandAlias保存查询IsStrategy=1所得
      商品类型
        为空则默认新品，新品/备品
      商品状态
        为空则默认上架， 上架/下架
      质保期
        为空则默认 12个月
      存储条件
        为空则默认 常规储存
      设置交货日
        正整数校验
      产品主图
        非空校验，素材管理内是否存在校验，可多张
      重量
        为空或为0，则默认1；正数校验
      长
        为空或为0，则默认1；正整数校验
      宽
        为空或为0，则默认1；正整数校验
      高
        为空或为0，则默认1；正整数校验
      计量单位
        非空校验
          保存原始计量单位 OriginalUnits
          根据units查询tool_product_material_unit_convert，查询结果非空校验，保存单位Units
      结算单位
        为空时，默认等于计量单位，换算比例为1；非空时，换算比例必须填写正数
      换算比例
        与结算单位同时为空或赋值，赋值时必须为正数
      是否面议
        为空则默认否 是/否
      定价方式
        为空则默认规格数据定价，校验“规格数据定价/阶梯价格”
      市场价/销售价/进价/面价
        面议商品，市场价、销售价默认置为0，进价、面价选填，若进价/面价均填写，则做面价>进价校验
        非面议、规格数据定价商品，进价、面价选填，若进价填写，则校验市场价>销售价>进价校验；若进价/面价均填写，则再校验面价>进价
      阶梯价
        非面议、阶梯价格商品：非空校验，校验格式“1-20@10;21-40@9.98”
      库存
        为空则默认10000
      核安全等级
        敏感词校验，为空则默认NA
      质保级别
        敏感词校验，为空则默认NA
      价格过期时间
        为空则默认2021-12-31 23:59:59（年份为当前年）
        非空则校验后保存
      物料编码
        非空校验，敏感词校验
        非空则查询tool_product，product_sap
          product_sap无数据则提示修改
          product_sap有数据，tool_product无数据直接保存
          product_sap、tool_product有数据，校验tool_product是否标记删除
            标记删除，则删除数据后保存新数据
            未标记删除，则提示修改
      商品描述
        非空校验，敏感词校验
      商品型号
        敏感词校验
      制造厂家
        非空校验，敏感词校验
      厂家物料编码
        为空则默认/，敏感词校验
      最小订货量
        为空则默认1
        非空则做正整数校验
      库存预警值
        为空则默认最小订货量的2倍
        非空则做正整数的校验
      优先级（表格中建议增加此字段）
      增量
        为空则默认1，正整数校验
      包装量
        为空则默认1
      默认规格
        为空则默认是，校验 是/否
      图片路径
        非空则按规则保存（目前为FTP前缀）
      规格属性
        非空校验，敏感词校验，格式校验“材质@非石棉@@厚度@0.5-3mm”
      详情图
        非空校验，素材管理内是否存在校验，可多张
      详情类型
        为空则默认图片，校验 图片/文本
      关联物料编码
        是否显示为否时，非空则格式校验“CA2219@CA1466@AJ4138”
      是否显示
        为空则默认是，校验 是/否
      是否为医疗器械
        为空则默认否，校验 是/否
      备案/生产许可证编号
        是否为医疗器械为是时，非空校验
      注册证编号
        非空时保存
      tab(详情表格内容)
        非空则保存
      数据手册路径
        非空则保存（目前为FTP前缀）
      金税编码
        非空时必须为正整数
      第三方商品平台
        非空则保存
      第三方商品链接
        非空则保存
        非空时，根据该链接截取‘第三方商品链接截图’，并保存
      第三方商品价格
        为空默认0.00，非空则校验格式：'3.14'或者'3.14@5.26@8.90'
      是否计量仪器
        为空则默认‘否’，非空则校验‘是/否’
      计量单位（公司名）
        是否计量仪器为‘否’时，默认为‘’
        是否计量仪器为‘是’时，非空校验
      证书类型
        是否计量仪器为‘否’时，默认为‘’
        是否计量仪器为‘是’时，非空校验
      计量价格
        是否计量仪器为‘否’时，默认为‘’
        是否计量仪器为‘是’时，非空校验，格式校验: '5.00@10.00@11.00'
    保存产品审核基本信息
      根据批次号插入状态为未审核的批次信息
    保存是否计量仪器日志信息
      批量保存信息
  待审核（15->16/20）
    ‘自动化上架审核’页面查看数据，‘审核通过/审核不通过’
      审核通过：程序正常上架
      审核不通过：可查看原因，删除数据，重新上架
  待规格属性匹配(20->30)
    模板维护
      product_template_cate（商品模板分类表）
      product_template（商品模板表）
      product_cate_temp_rel（产品类别和模板关系）
    品牌信息维护
      product_brand（产品品牌）
      product_category_brand_rel（产品类别和品牌关系）
    属性维护
      product_template_attr（商品模版属性）
      product_template_attr_rel（商品模板属性关系）
      product_attr_value_cate（模版属性值分类）
      product_template_attr_value（商品属性值）
      product_attr_and_value_rel（属性 属性值关联表）
    商品属性维护
      tool_product_sku_attrs（商品属性）
  待推送(30->80)
    更新tool_product
      数据库数据无skuNo,则生成skuNo
      是否显示
        是，处理状态设80
        否，处理状态设95
    数据查询校验
      product_sku
        校验物料编码是否重复
      tool_base_dict
        查询，获得对象
      tool_product_category
        根据category_note查询tool_product_category,获取对象，uuid为天马分类id,categoryUuid
      clean_data_flag
        根据product_brand查询clean_data_flag,获取对象，Datauuid为brandUuid
      product_main
        根据productNo查询product_main，有数据则获取uuid,作为SPU uuid；无数据则创建
    组装数据，数据库保存
      product_main
      product_main_Image
      product_main_muilt_Image
      product_main_description
      product_main_transfer
      product_sku
      product_sku_attr_value
      product_sku_price
      product_sku_stock
  待商品搜索同步(80->85)
    需推送的数据：推送状态80+处理次数0
    更新tool_product数据处理状态为85
    根据matterCode查询product_sku表productUuid(去重)
    根据productUuid列表推送构建front_sku数据
  待检查商品搜索同步(85->95)
    需推送的数据：处理状态85+处理次数0
    获取skuNo列表
      根据matterCode和productNo查询product_sku
      概要
        查询为空则在tool_product表记录错误
    构造skuNo Map
      根据获取的skuNo数据和tool_product对象，构造skuNo Map
    ES检查：根据skuNo列表查询ES front_sku
      构造uuidsFrontSku,并将该数据从skuNosMap移除
        数据不存在（skuNosMap有数据），修改处理状态为80
        数据存在（uuidsFrontSku有数据）
          数据手册为空，修改处理状态为95
          数据手册非空，修改处理状态为90
  商品搜索同步完成(95)
    上架商品最终状态，该状态表明上架成功。