Skip to content

批量修改商品信息

批量修改SKU

  • Author: GuLong
  • Status: create
  • Type: Standards
  • Created: 2018-12-22

数据库相关

xnn_core_product_2.auth_permission (mysql)
# 添加以下权限:
    批量修改商品规格SKU (codename: edit_product_sku_batch)
    批量修改商品规格SKU(导入) (codename: edit_product_sku_batch_import)
    导出商品库商品 (codename: export_product_skus)
sql:
INSERT INTO `xnn_core_product_2`.`auth_permission` ( `name`, `name_en`, `content_type_id`, `codename`, `level2_id` )
VALUES
    ( '批量修改商品规格SKU', 'Edit Product Sku Batch', 14, 'edit_product_sku_batch', 12 ),
    ( '批量修改商品规格SKU(导入)', 'Edit Product Sku Batch Import', 14, 'edit_product_sku_batch_import', 12 ),
    ( '导出商品库商品', 'Export Product Skus', 14, 'export_product_skus', 12 );

Station接口改动

/merchandise/spu/index (修改)

接口描述
    (商品库索引页面的搜索)
    修改功能:在原来的功能上增加按报价单筛选的功能,支持选择多个报价单
Method
    GET
请求
    ...
    # 新增字段
    salemenu_ids    O   list    销售报价单id列表
响应
    不变

/product/sku/export (新增)

接口描述
    (商品库索引页面:导出商品库的商品到Excel)
    根据搜索条件,导出符合该条件下的所有sku
Method
    GET
请求
    # 接口的部分参数同 /merchandise/spu/index
    category1_ids   O list  一级分类ID列表
    category2_ids   O list  二级分类ID列表
    pinlei_ids      O list  品类ID列表
    q               O string 查询参数(按SPU别名/SKU名,SPUID/SKUID搜索)
    salemenu_ids    O list  销售报价单id列表
响应
    {
        "code": 0,              # 返回码,0表示成功,其他表示错误
        "msg": "ok",
        "data": {
            "async": 0,         # 0:同步,1:异步
            "task_url": None,   # 异步返回url,同步则为None
            "data": $data       # 同步时返回数据,异步则为None
        }
    }
$data的格式
    [
        [           # 第一个数组是Excel的表头信息, 后面的数组都是值
            "SPUID",
            "商品ID(SKUID)",
            "商品名(可修改)",
            "商品描述(可修改)",
            "一级分类",
            "二级分类",
            "单价(可修改)",
            "是否时价(可修改,1时价,0非时价)",
            "基础单位",
            "销售规格",
            "损耗率(直接输入损耗比例,自动转化为百分数,如输入11.23表示损耗比例为11.23%)",
            "销售价",
            "最小下单数(可修改)",
            "销售状态(可修改,1上架,0下架)",
            "是否称重(可修改,1称重,0不称)",
            "供应商编码(可修改)",
            "供应商",
            "报价单ID",
            "报价单名称",
            "参考价",
            "排序",
            "自定义编码"
        ],
        [
            "C920978",
            "D2734176",
            "红提1",
            "",
            "水果",
            "国产水果",
            "0.01",
            0,
            "元/斤",
            "1.0斤/斤",
            0,
            "0.01元/斤",
            2,
            1,
            0,
            "T8524",
            "水果供应商",
            "S6977",
            "水果销售",
            "0.00",
            "",
            ""
        ],
        ......
    ]
逻辑
    查询数据,根据数据量大小执行同步或异步(临界值暂时定为200)

/product/sku/batch_update (新增)

接口描述
    提供商品库页面批量修改商品信息的功能,页面提交的方式
    (限制sku可修改的字段为:供应商、采购规格、销售单价(基本单位)、销售规格)
Method
    POST
请求
    # 页面提交方式的参数:
    skus    M   list    sku信息的列表(字段参考接口/product/sku/update)
        # sku传递的字段
        # id M string sku ID
        # spu_id M string spu id
        # std_sale_price M float 销售单价(基本单位)     # 可修改数据 单位 元
        # sale_ratio M float 销售规格                  # 可修改数据
        # supplier_id M string 供应商ID                # 可修改数据
        # purchase_spec_id M string 采购规格ID          # 可修改数据
响应
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    
逻辑
    参数效验
    记录修改日志
    更新sku信息(总分仓情况下需要同步sku信息)

/product/sku/batch_import_update (新增)

接口描述
    提供商品库页面批量修改商品信息的功能,Excel导入的方式
    (同步的方式,会限制导入Excel文件中sku的数目)
Method
    POST
请求
    # Excel导入方式的参数:
    import_file     M   file    Excel文件
响应
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    
逻辑
    参数效验
    记录修改日志
    更新sku信息(总分仓情况下需要同步sku信息)