Station接口
图片上传 /station/image/upload
View ImageUploadView
方法 POST
权限 无
请求
image_file M files 图片
响应
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
{
'image_url' M string 图片url
'img_path_id' M string 文件名
}
逻辑
上传图片到cos
View SalemenuDetailView
方法 GET
权限 get_salemenu
请求
salemenu_type O int 销售单类型
station_id(session) M 站点ID
id(url) M string 销售单ID
响应
模版(station/salemenu_create.html)
render
{
'form' M 对象
'salemenu_type' 销售单类型
'time_config_id' 时间配置ID
'target' 逻辑上返回了这个group下的总站、阿米巴、总仓的ID和名字
'has_supplier_name' M list [4, 5]
(Seller = 4 # 自营销售单,总仓的售卖销售单
ProxySeller = 5 # 加盟商售卖的销售单,要总部代卖)
}
逻辑
返回销售单详情
方法 POST
权限 edit_salemenu
请求
json O string 这个参数是GET参数,值可能是“0”或“1”用做判断是否返回json
id O string 销售单ID,但对于供应商销售单而言,需要用供应商的station_id
salemenu_type M int 销售单类型
is_active O string 销售单是否激活,值可能是“on”或“off”
station_id(session) M 站点ID
响应
成功时
根据salemenu_type跳转到其他接口
或者返回json
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
{
'name' M string 销售单名
'station_id' M string 站点ID
'salemenu_id' M string 销售单ID
}
错误时
返回模版(station/salemenu_create.html)
render
{
'form' M 对象 空
'has_supplier_name' M list [4, 5]
(Seller = 4 # 自营销售单,总仓的售卖销售单
ProxySeller = 5 # 加盟商售卖的销售单,要总部代卖)
}
或 json
code M int 1
msg M string 错误提示信息
data M list 空
逻辑
新建销售单,如果传入了id且is_active不为“on”时,把对应销售单内的商品全部下架
如果json是“0“就根据salemenu_type跳转
1供应商销售单 -> /station/supplier
2内部扭转单 -> /station/salemenu/innerflow
4自营销售单 -> /station/salemenu/selfsell
5加盟商售卖的销售单 -> /station/salemenu/proxysell
6供应商销售单 -> /station/supplier/spuprivate
View SalemenuIndexView
方法 GET
权限 get_salemenu, get_sjgz
请求
time_config_id O string 服务时间配置ID
q_station_id O string 查询站点ID
q_active O string 是否激活 “0”或“1“
json O int 是否返回json 0或1
station[salemenu](session) M 站点下的销售单
响应
json
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
{
'name' M string 销售单名
'station_id' M string 站点ID
'salemenu_id' M string 销售单ID
}
模版(station/salemenu.html)
render
{
'salemenus' M list 销售单
'is_spu_private' M bool 是否是私有SPU 当前站点是老SAAS且当前接口是/station/salemenu/proxysell/为真
'salemenu_type' M int 销售单类型 和当前接口有关
'service_time' M list 当前站点的时间配置,第一个项为全部,如果传入有time_config_id,time_config_id对应的时间配置为第一个
'active_choice' M list 激活选项列表,第一个项为全部,如果传入有q_active,q_active对应的项为第一个
'station_name' O list 当前站点是总站返回,站点名列表,第一个项为全部,如果传入有q_station_id,q_station_id对应的项为第一个
'is_center' O bool True 当前站点是总站返回
}
逻辑
当前站点为总站时拉取所有站点所有销售单,但此时前端不能传json为1,否则只过滤对应接口的销售单类型和是否激活,过滤时间配置ID和站点ID只在返回是模版时有效,所以我猜这个接口在总站时是返回模版的
这个接口和下面四个接口用的同一个view,区别在于不同的view_type对应不同的销售单类型过滤
同 /station/salemenu/selfsell/
同 /station/salemenu/selfsell/
同 /station/salemenu/selfsell/
同 /station/salemenu/center/
同 /station/salemenu/create/
View SalemenuSkusView
方法 GET
权限 get_sku
请求
id(url) M string 销售单ID
station(session) O string 站点
响应
模版(station/salemenu_skus.html,老saas用station/salemenu_skus_old.html)
render
{
'edit_station_id' M list 销售单所在站点ID
'create_type' M string 'sale' 不知道有什么用
'edit_salemenu_id' M string 销售单ID
}
逻辑
没有什么特别的逻辑
采购销售单详情/station/supplier/(?P{?\w+}?)/
同 /station/salemenu/create/
拉分类列表 /station/skucategories
View CategoryWithSkusInfoView
方法 GET
权限 无
请求
station_id O string 站点ID
salemenu_id O string 销售单ID
upid O string 上级分类ID
addition O string 是否拉取sku默认配置,不传或传“sku_default_conf”
响应
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
[{
'id' M string 分类ID
'create_time' M datetime 创建时间
'title' M string 分类名
'upstream_id' M string 上级ID
'status' M int 状态
'group_id' M int groupid
'origin_id' M string 切商品库前的ID
'level' M int 分类级别
'split_flag' O int 服务能力
}
最后会有一个{'old_saas' M int 是否是老SAAS}]
逻辑
判断是否是老SAAS,根据addition判断是否拉取默认服务能力,
然后拉取分类,组成列表,并在列表的最后填是否老SAAS的项
拉分类下的spu和sku /station/skus/category/(?P{?\w+}?)
View CategorySkusQueryView
方法 GET
权限 无
请求
station_id O string 站点ID
salemenu_id O string 销售单ID
off_shelf O string 是否查看下架商品false或true
addition O string 是否拉取sku默认配置,不传或传“sku_default_conf”
响应
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
[{
"id" M string spuid
"create_time" M datetime 创建时间
"origin_id" M string 切商品库前的ID
"p_type" M int 是否私有(0:通用;1:私有)
"modify_time" M datetime 编辑时间
"image" M string 图片
"img_url" M string 图片URL
"pinlei_id" M string 品类ID
"status" M int 状态
"group_id" M int groupid
"name" M string spu名字
"desc" M string 描述
'split_flag' O int 服务能力
"category_title_2" M string 二级分类名
"category_id_2" M string 二级分类ID
"category_title_1" M string 一级分类名
"category_id_1" M string 一级分类ID
"std_unit_name" M string 标准单位名
"dispatch_method" M int 分拣方式(1:bagua;2:union)
"sku_infos": [ M list
{
"id" M string SKUID
"stocks_is_valid" M int 是否设置库存
"salemenu_id" M string 销售单ID
"status" M int 状态
"category_id_1" M string 一级分类ID
"desc" M string 描述
"create_time" M datetime 创建时间
"stocks" M int 库存
"sync_state" O int 若该服务站的sku才会有该字段。该字段表示sku的是否需要同步自营站点的sku。
"pinlei_id" M string 品类ID
"sale_unit_name" M string 销售单位名
"station_id" M string 站点ID
"state" M int 是否上架
"outer_id" M string 自定义ID
"attrition_rate" M int 损耗率
"modify_time" M datetime 编辑时间
"s_type" M int 商品类型(0. 单一商品,即只改变价格,售卖方式, 1. 组合商品,即有多个上游商品)
"name" M string 商品名字
"imgs" M list 图片
"category_id_2" M string 二级分类ID
"version" M int 版本号
"sale_price" M float 售卖单位
"is_weigh" M int 是否称重
"split_flag" M int 服务标识
"sale_num_least" M float 最小售卖数
}
]
}]
逻辑
判断是否有查看spu的权限,没有就查私有spu,拼分类字段,奇怪的地方是如果拉了sku默认配置,sku_infos就为空
搜索SKU /station/skus
View SkusQueryView
方法 GET
权限 无
请求
station_id O string 站点ID
salemenu_id O string 销售单ID
search_text O string 搜索内容
active O string “1”或“0“是否只查上架商品
offset O int 分页偏移
limit O int 分页每页限制
fetch_category O string “1”或“0“是否需要拉分类信息
响应
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
[{
"id" M string SKUID
"spu_id" M string SPUID
"category_id_1" M string 一级分类ID
"category_id_2" M string 二级分类ID
"name" M string 商品名字
"desc" M string 描述
"sale_unit_name" M string 销售单位名
"unit_name" M string 标准单位名
"unit_price" M float 标准单价
"sale_ratio" M float 售卖比例
"sale_price" M float 售卖单价
"state" M int 是否上架
"up_sku_id" M string 采购来源SKU
"is_weigh" M int 是否称重
"sale_num_least" M float 最小售卖数
"split_flag" M int 服务标识
"img_url" M string 图片URL
"outer_id" M string 自定义ID
"category_title_2" O string 二级分类名
"category_title_1" O string 一级分类名
"sku_cost" M float 成本
}]
逻辑
根据输入参数搜索SKU,如果没有传入station_id,查当前站点
简版sku搜索接口 /station/skus/simple_sku_search
View SimpleSkuSearchView
方法 GET
权限 无
请求
q M string 搜索内容
cols O string 搜索哪些列,默认为“_id,name”
offset O int 分页偏移
limit O int 分页每页限制
响应
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
"list" [{
"salemenu_id" M string 销售单ID
"salemenu_name" M string 销售单名字
。。。
其他的SKU字段是否返回由前端传的参数决定,我就不写了
}]
"pagination": {
"count"
"offset"
"limit"
}
或
[{
"salemenu_id" M string 销售单ID
"salemenu_name" M string 销售单名字
。。。
其他的SKU字段是否返回由前端传的参数决定,我就不写了
}]
逻辑
如果搜索内容为空,不搜索,只搜索上架商品,搜索内容支持ID精确和名字模糊,一定会查询salemenu_id字段
如果offset字段前端传了None,那么返回格式为第二种
搜索商户可见的SKU /station/skus/addr
View SkuQueryByAddrView
方法 GET
权限 无
请求
fetch_category O string 是否拉分类“0”或“1”
active O string 是否只拉上架的“0”或“1”
time_config_id O string 时间配置ID
address_id M string 商户ID
offset O int 分页偏移
limit O int 分页每页限制
响应
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 成功的返回数据
[{
"id" M string SKUID
"sync_origin_id" M string 真实交易ID
"spu_id" M string SPUID
"category_id_1" M string 一级分类ID
"category_id_2" M string 二级分类ID
"category_title_1" O string 一级分类名
"category_title_2" O string 二级分类名
"station_id" M string 站点ID
"salemenu_id" M string 销售单ID
"supplier_name" M string 供应商名
"name" M string 商品名字
"desc" M string 描述
"sale_unit_name" M string 销售单位名
"std_unit_name" M string 标准单位名
"unit_price" M float 标准单价
"sale_ratio" M float 售卖比例
"sale_price" M float 售卖单价
"state" M int 是否上架
"is_weigh" M int 是否称重
"sale_num_least" M float 最小售卖数
"outer_id" M string 自定义ID
"is_price_timing" M bool 是否实价
}]
逻辑
根据商户ID搜索可见销售单,根据搜索内容搜索商品
/station/skuproduct/(?P{?\w+}?)/
View SkuProductView
get方法 查询sku具体信息,返回字段有和采购app有关
post方法 修改sku,purchase_app=true时和采购app有关
/station/skuproducts/spu/(?P{?\w+}?(?:-\w+)*)
view SkuProductSpuQueryView
get方法 查询指定销售单下多个spu下的sku
/station/skuproduct/upstream/visible
view UpVisibleSkusQueryView
get方法 拉取上游可见销售单中的商品
/station/skuproducts/stocks/(?P{?\w+}?)/(?P{?\w+}?)/edit/
view SkuStocksEditView
get方法 返回了一个render了station_id和salemenu_id的模版
/station/skuproducts/stocks
view SkuStocksView
get方法 返回指定销售单内带库存的商品列表
post方法 修改商品库存
/station/skuproducts/import/(?P{?\w+}?)/(?P{?\w+}?)/sku/
view SkuImportView
get方法 返回了一个render了station_id和salemenu_id的模版
post方法 导入sku或者导入sku库存
/station/skuproducts/export/(?P{?\w+}?)/(?P{?\w+}?)/stocks/
view SkuExportView
get方法 导出sku或者库存信息
/station/skuproducts/stocks/flow/
view SkuStocksFlowView
get方法 查指定sku的库存变化流水
/station/skuproducts/stocks/flow/(?P{?\w+}?)/(?P{?\w+}?)/(?P{?\w+}?)
view SkuStocksFlowIndexView
get方法 返回了一个render了station_id和salemenu_id和sku_id的模版
/station/skuproducts/servetype/(?P{?\w+}?)/
view SkuServeTypeView
get方法 返回了一个render了salemenu_id的模版
post方法 修改指定销售单内商品的服务能力
/station/skubatch/create/sale
view SkuBatchCreateFromSpuView
get方法 返回查找的spu下的sku列表
post方法 新建sku或者编辑sku,销售和采购都有
/station/skubatch/create/purchase
同/station/skubatch/create/sale
/station/config/sku/(?P{?\w+}?)/
view SkuDefaultConfView
get方法 返回了一个render了salemenu_id的模版
post方法 批量修改sku服务能力
/station/sale/category/create/
view SaleCategoryCreateView
post方法 新建分类
/station/sale/category/update/
view SaleCategoryChangeView
post方法 编辑分类
/station/sale/category/delete/
view SaleCategoryChangeView
post方法 删除分类
/station/sale/sku/set/
view SaleCategorySkuSetView
post方法 如果set_sale=1,从老的营销分类里删除sku,添加到新的分类里面去,如果set_sale=0,就只是删除
/station/sale/sku/
view SaleCategorySkuQueryView
get方法 返回指定销售单的营销分类信息,包括商品
/station/sale/categories/
view SaleCategoryQueryView
get方法 根据销售单ID和上级ID搜索营销分类
/station/sale/index/(?P{?\w+}?)/(?P{?\w+}?)
view SaleIndexView
get方法 返回了一个render了station_id和salemenu_id的模版
/station/sale/category
view SaleCategoryView
get方法 返回指定销售单的营销分类信息,不包括商品
/station/sale/skus/(?P{?\w+}?)/(?P{?\w+}?)
view SaleSkusIndexView
get方法 返回了一个render了station_id和salemenu_id的模版
/station/sale/product/create
view SaleProductCreateIndexView
get方法 返回了一个render了is_supply_spu_private和salemenu_id的模版
/station/purchase/product/create
同/station/sale/product/create
/station/sale/select/spu
同/station/sale/product/create
/station/service_time$
view ServiceTimeConfigView
get方法 如果传入时间配置id,就返回时间配置详情,否则,搜索所配置站点时间配置,总站拉全部
view SpuRemarkCustomerSearchView
get方法 搜索商户,看url名字感觉有关系,但是看了逻辑似乎和商品库没啥关系,不知道要不要放在这里
view SpuRemarkSpuSearchView
get方法 搜索指定商户当前group下的商品备注
view SpuRemarkUpdateRemarkView
post方法 修改商品备注
/station/price_rule/index
view PriceRuleIndexView
get方法 返回一个模版,render了是否总站,和权限
/station/price_rule/create
view PriceRuleCreateView
post方法 创建一个营销规则,如果已经有一个冲突的营销分类,会返回错误码为10的错误
/station/price_rule/edit
view PriceRuleEditView
get方法 返回指定ID的营销规则
post方法 更新营销规则,如果已经有一个冲突的营销分类,会返回错误码为10的错误
/station/price_rule/search
view PriceRuleSalemenuView
get方法 搜索指定ID的营销规则
/station/price_rule/sku_search
view PriceRuleSkuView
get方法 搜索导出营销规则明细
/station/price_rule/upload/
view PriceRuleUploadView
post方法 上传营销规则表,有三种,站点、商户、商品,返回解析后的结果
/station/price_rule/download/
view PriceRuleDownloadView
get方法 下载营销规则的商户和商品数据
/station/price_rule/station/search
view StationQueryView
get方法 根据名称拉取绑定特定销售单的站点
view SalemenuPurchaseGetView
get方法 根据text匹配采购类型的销售单ID或销售单名称
返回销售单列表
view SalemenuSaleGetView
get方法 根据请求参数获取自营或服务销售单
返回销售单列表
view SalemenuListGetView
get方法 根据请求参数获取销售单
返回销售单列表
view SalemenuSaleDetailView
get方法 返回销售单详情
view SalemenuSaleTargetsView
get方法 返回销售单销售对象
view SalemenuSaleCreateView
post方法 创建销售单
view SalemenuSaleUpdateView
post方法 更新销售单
view SalemenuPurchaseDetailView
get方法 获取采购报价单详情
view SalemenuPurchaseCreateView
post方法 创建采购报价单
view SalemenuPurchaseUpdateView
post方法 更新采购报价单
view SalemenuSettleSupplierView
get方法 获取当前站点的结算供应商
/core/spuproducts/pinlei/manage/
view PinleiManageView
get方法 拉取当前二级分类下的品类id
post方法 品类新建、编辑、删除
/core/spuproducts/spu/list/
view SPUListView
get方法 根据品类id拉取SPU
/product/sku_sale/create
view SkuSaleCreateView
post方法 创建销售SKU
/product/sku_purchase/create
view SkuPurchaseCreateView
post方法 创建采购SKU
/product/sku/update
view SkuUpdateView
post方法 编辑SKU
/product/sku/delete
view SkuDeleteView
post方法 删除SKU
view SkuGetBySalemenuView
get方法 搜索销售单内的商品
/product/sku_sale/list
view SkuSaleGetView
get方法 搜索商品(带采购来源)
/product/sku_purchase/list
view SkuPurchaseGetView
get方法 搜索指定销售单内的spu下的sku
/product/sku_supply/list
view SkuGetBySupplySkuView
get方法 根据上游供应商品ID获取其供应的sku信息
/product/sku_supply/change
view SkuChangeSupplySkuView
post方法 修改采购来源SKU
/product/sku_upstream/list
view SkuUpstreamGetView
get方法 获取可选的上游SKU
/merchandise/category1/create
view Category1CreateView
post方法 创建一级分类
/merchandise/category1/update
view Category1UpdateView
post方法 更新一级分类
/merchandise/category1/delete
view Category1DeleteView
post方法 删除一级分类
/merchandise/category1/get
view Category1GetView
get方法 拉取所有一级分类
/merchandise/category1/icon
view Category1IconView
get方法 拉取所有一级分类图标
/merchandise/category2/create
view Category2CreateView
post方法 创建二级分类
/merchandise/category2/update
view Category2UpdateView
post方法 更新二级分类
/merchandise/category2/delete
view Category2DeleteView
post方法 删除二级分类
/merchandise/category2/get
view Category2GetView
get方法 拉取二级分类
/merchandise/pinlei/create
view PinleiCreateView
post方法 创建品类
/merchandise/pinlei/update
view PinleiUpdateView
post方法 编辑品类
/merchandise/pinlei/delete
view PinleiDeleteView
post方法 删除品类
/merchandise/pinlei/get
view PinleiGetView
get方法 拉取品类
/merchandise/pinlei/detail
view PinleiDetailGetView
get方法 拉取指定ID的品类详情
/merchandise/spu/create
view SpuCreateView
post方法 创建spu
/merchandise/spu/update
view SpuUpdateView
post方法 编辑spu
/merchandise/spu/delete
view SpuDeleteView
post方法 删除spu
/merchandise/spu/list
view SpuGetListView
get方法 拉取spu
/merchandise/spu/details
view SpuGetDetailsView
get方法 拉取指定id的spu详情
/merchandise/spu/index
view SpuIndexGetView
get方法 搜索spu,包括下属sku(商品库索引)
/merchandise/spu/branch
view SpuBranchGetView
get方法 搜索spu,不带sku信息
/merchandise/spu/export
view SpuExportView
get方法 导出spu信息