station 商品及订单操作日志查询
mysql数据库
tbl_operate_log # 订单操作operate日志
id bigint
station_id varchar(20) not null
group_id int not null 方便以后查询
change_url varchar(50) not null 修改接口
op_id varchar(20) not null 索引index,不同的log_type对应不同的含义
search_text_1 varchar(40) not null log_type为3,2,表示修改前商品name
search_text_2 varchar(40) not null log_type为3,2,表示修改前商品name
search_text_3 varchar(40) not null 备用字段
search_text_4 varchar(40) not null 备用字段
search_text_5 varchar(40) not null 备用字段
op_type tinyint not null 操作类型,1:新建 2:更新 3:删除
op_source tinyint not null 操作来源:1:单条操作 2:批量操作
op_user varchar(35) not null 操作用户
log_type tinyint not null 1:order,2:sku 3:spu
create_time datetime 索引index
op_after json 同下
op_before json
receive_begin_time str
receive_end_time str
status int
details [
{
sku_id str
sku_name str
quantity int
real_quantity int
sale_unit_name str 销售单位
sale_price int 分 销售单价
total_item_price int 分 下单金额
remark str 备注同订单里的spu_remark
out_of_stock int 0不缺,1缺货
# 两个地方取值,优先取pad
},
]
--------------------------
spu的详情
name str 名称
category_id_1 str
category_id_2 str
alias str 别名
image str 图片
need_pesticide_detect int 是否显示检测报告 0:不需要1:需要
p_type int 商品类型1:本站,0通用
desc str 描述
std_unit_name str 基本单位
--------------------------
sku的详情
name str 名称
outer_id str 自定义编码
salemenu_id str 所在报价单
std_sale_price int 单价(基本单位) 分
sale_price int 单价(销售单位) 分
sale_unit_name str 单位
sale_ratio int 销售规格
sale_num_least int 最小下单数
desc str 商品描述
image str 商品图片
is_weigh int 是否称重
state int 销售状态
supplier_id str 供应商
purchase_spec_id str 采购规格
attrition_rate int 耗损比例
stock_type int 1:不限库存 2:设置库存 3:限制库存
stocks int stock_type为2,和3,才有用
设计思路
采用异步 处理方案,在涉及到修改接口的地方,查一遍修改前的数据,记录修改后的结果,在现有接口逻辑完成的最后,发送异步任务到队列,异步处理,如果失败了,其实问题也不大,只要保证取队列任务的地方 顺序处理就行。
接口
操作日志查询 列表
GET op_log/list
请求参数:
op_start_date date M 操作开始时间
op_end_date date M 操作结束时间
log_type int M 查询type 1:order,2:sku和spu
search_text str O order_id sku_id,spu_id,sku_name,spu_name
op_type int O 1:新建 2:更新 3:删除
page_obj string O 传递返回数据里的pagination,第一次不用传
limit int O 返回条数,默认20
reverse bool O 是否反向查询。1:是,0:不是
返回数据:
{
"code": 0,
"msg": "ok",
"data": {
"create_time": "2018-04-10 15:15:15", 操作时间
"op_user": "lala",
"modify": {
"status": {"before":2,"after":5},
"receive_end_time": {"before":....,"after":....},
"details" :[{
"sku_id": D234,
"sku_name":{"before":"lksag","after":"asg"},
}]
},
"id": 12345,
"op_id": "D2345",
"log_type": 1,
"op_type": 1,
"in_query": false,
"merchandise_name": "lakjsg" # sku或者spu的name
},
"pagination": {
"page_obj": "",不用管
"more": 1:还有数据,0:没有数据
}
}
操作日志查询 详情
GET op_log/get
请求参数:
id int M op操作id
返回数据:
{
"code": 0,
"msg": "ok",
"data": {
"id": 12345,
"op_id": "",
"create_time": "2018-04-10 15:15:15",
"op_user": "lala",
"op_source": 2,
"log_type": 2,
"modify":{
"status": {"before":2,"after":5},
"receive_end_time": {"before":....,"after":....},
"details" :[{
"sku_id": D234,
"sku_name":{"before":"lksag","after":"asg"},
}]
其他字段和上面mysql写的差不多,后续补充。
}
},
}
以下是涉及到的 所需修改接口
- station/order/update/status/child_station 修改分仓订单状态
- station/order/set_status 修改状态
- station/order/update/status/preconfig 按预设数修改
- station/order/create 订单创建
- station/order/batch/create 批量创建订单
- station/order/edit 订单修改
- station/order/delete 删除订单
- station/order/edit_old 追加修改
- station/order/delete_old 删除订单
- station/order/batch_out_of_stock/update 缺货
- station/order/update_sku_price 批量修改单价
- product/batchsku/create 批量新建商品
- station/skuproducts/import/T4412/S4392/sku/ sku批量修改
- product/sku/import sku批量新建
- product/sku/update sku更新
- product/sku/delete sku删除
- product/sku_sale/create sku添加
- merchandise/spu/delete spu删除
- merchandise/spu/create spu创建
- merchandise/spu/update spu更新
- product/stocks/edit sku库存更新
开发8天,联调2天