Skip to content

下单提醒

  • BShop用户下单后在 station 以新消息的方式主动提醒用户

数据库

tbl_station_message 【新增表】

字段            类型                说明
id             int(11)             id
station_id     varchar(16)        站点id
type           tinyint(1)         消息类型(0系统,1订单)
status         tinyint(1)         消息状态(0未读,1已读, 2已删除)
create_time    datetime           创建时间
update_time    datetime           更新时间
content        JSON               消息内容              

tbl_permission_class 【新增数据】

id   name    level   parent_id    create_time     update_time     delete
34  消息提醒    2        6             now()           now()          0   

django_content_type 【新增数据】

新增是否有商户下单提醒权限

id      name         app_label      model  
73    下单提醒      order_remind   order_remind      

auth_permission 【新增数据】

id    name        content_type_id         codename    level2_id
436  商户下单提醒         73              order_remind     34

接口

station 端

message/list 获取 station 下所有未删除消息

接口名: message/list
Method: GET
request:
    status  O   消息状态(0: 未读, 1:已读, 2:已删除,3:未读和已读,默认为3)
    type    O   消息类型(0: 系统消息, 1:订单消息, 2:系统和订单,默认为1)
    limit   O   一页的数量,默认为20
    offset  O   默认为0


response:
    {
        "code": 0,
        "msg": "ok",
        "data": {
            "messages":[
                "id": 12345,          消息id
                "status": 0,          消息状态
                "type": 1,            消息类型
                "create_time": time   创建时间
                "content": "{"customer_name": "消费者", "username": "qucaigou", "order_id": "PL20180624", "order_price": 12345}"  消息内容
            ],
            "total_count": 1,             消息总数  
            "unread_count": 1,            未读消息总数
            ...
        },
    }

message/unread/count 获取该站点未读消息数

接口名: message/unread/count
Method: POST
request:

response:
    {
        "code": 0,
        "msg": "ok",
        "data": {
            "unread_count": 1
        }
    }   

message/set_read/one 更新一条消息状态(未读->已读)

接口名:message/update/one
Method: POST
request:
    id     M       消息id

response:
    {
        "code": 0,
        "msg": "ok"
    }

message/set_read/all 更新所有消息状态(未读->已读)

接口名:message/update/all
Method: POST
request:
    last_message_id    M    最新一条消息的id
response:
    {
        "code": 0,
        "msg": "ok"
    }

message/delete/one 删除一条消息

接口名: message/delete/one
Method: POST
request:
    id     M       消息id

response:
    {
        "code": 0,
        "msg": "ok"
    }

message/delete/all 删除所有消息(已读和未读都删除)

接口名: message/delete/all
Method: POST
request:
    last_message_id    M    最新一条消息的id

response:
    {
        "code": 0,
        "msg": "ok"
    }

BShop 端

下单/合单后,判断是否有订单提醒权限&开启订单提醒,写message&发http请求到推送服务。

bshop sqlalchemy 版本从1.0.13 升级到1.2.4