Skip to content

承运商&司机管理重构

承运商&司机管理重构

  • Author: GuLong
  • Status: create
  • Type: Standards
  • Created: 2019-05-24

数据库相关

mysql
-- managment 库:  
-- 司机表添加字段
-- account默认'',delete_time默认null,来保证能建它们俩的唯一索引,后面刷一遍数据。
-- account刷为手机号,delete_time刷为min值。 因为phone有重复的, 所以delete_time默认为null, 
-- 刷的时候phone重复的只刷一条,这样保证 account + delete_time(最小值min) 唯一
ALTER TABLE tbl_drivers ADD (
    `account` VARCHAR ( 32 ) NOT NULL DEFAULT '' COMMENT '司机账号',
    `is_allow_login` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否允许登录司机app, 0 不允许, 1 允许',
    `last_login` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '最后登录时间',
    `create_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '创建时间',
    `modify_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '修改时间',
    `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
    `pstatus` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除' 
);

-- 司机表添加索引, account+delete_time唯一索引, phone普通索引
ALTER TABLE tbl_drivers ADD INDEX idx_phone( `phone`), 
ADD UNIQUE KEY uniq_account( `account`, `delete_time`);


-- delivery 库:
-- 车型表 和 承运商表 添加字段
ALTER TABLE tbl_car_model ADD (
    `create_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '创建时间',
    `modify_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '修改时间',
    `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
    `pstatus` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除' 
);

ALTER TABLE tbl_carrier ADD (
    `create_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '创建时间',
    `modify_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '修改时间',
    `delete_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '删除时间',
    `pstatus` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '物理状态,0:正常--默认,1:已删除' 
);

Station接口改动

/station/driver/list 司机列表 (新接口)

接口描述
    司机管理页面的司机信息列表
Method
    get
请求
    time_config_id      O       str     运营时间配置id
    q                   O       str     搜索字符串,司机名、手机号搜索
    offset              O       int     
    limit               O       int
响应
    {
      "code": 0,
      "data": [
          {
              "station_name": "周敏-总仓",
              "id": 5018,
              "phone": "15915512222",
              "share": 1,
              "plate_number": "wfre",
              "type": 2583,
              "car_model": "货车",
              "distributed": false,
              "station_id": "T8521",
              "login": 0,
              "state": 1,
              "can_edit": 1,
              "name": "问问",
              "carrier_name": "深圳货运",
              "carrier_id": 3459,
              "max_load": 100,
              "district_code": null,
              "account": "aaaa",                # 司机账号
              "is_online": 1,                   # 登入状态,0 离线, 1 在线
              "is_allow_login": 1,              # 登入司机app, 0 关闭,1 开启
          }
        ]
      "msg": "ok"
    }
逻辑
    逻辑同旧司机列表接口 /station/driver_manage/, 会过滤已删除的司机

/station/driver/get 司机详细 (新接口)

接口描述
    司机管理页面的单个司机信息
Method
    get
请求
    id              M       str         司机id
响应
    {
      "code": 0,
      "data": {
          "station_name": "周敏-总仓",
          "id": 5018,
          "phone": "15915512222",
          "share": 1,
          "plate_number": "wfre",
          "type": 2583,
          "car_model": "货车",
          "distributed": false,
          "station_id": "T8521",
          "login": 0,
          "state": 1,
          "can_edit": 1,
          "name": "问问",
          "carrier_name": "深圳货运",
          "carrier_id": 3459,
          "max_load": 100,
          "district_code": null,
          "account": "aaaa",                # 司机账号
          "is_online": 1,                   # 登入状态,0 离线, 1 在线
          "is_allow_login": 1,              # 登入司机app, 0 关闭,1 开启
      }
      "msg": "ok"
    }

/station/driver/create 创建司机 (新接口)

接口描述
    司机管理页面的创建司机
Method
    post
请求
    name            M       str         司机名称
    phone           O       str         司机手机号, 默认空字符串
    carrier_id      O       int         承运商id, 默认-1: 未指定承运商
    car_model_id    O       int         车型id, 默认-1: 未指定车型
    plate_number    O       int         车牌号, 默认空字符串
    state           O       int         状态,默认1
    share           O       int         是否共享, 默认0
    account         M       str         司机账号
    password        M       str         登入密码
    allow_login     O       int         是否登入司机app, 0 关闭,1 开启, 默认1
响应
    {
      "code": 0,
      "data": {'id': 1},
      "msg": "ok"
    }
逻辑
    【司机账号、手机号】全局唯一; 【车牌号、名称】group下不允许重复

/station/driver/update 修改司机 (新接口)

接口描述
    司机管理页面的修改司机
Method
    post
请求
    driver_id       M       int         司机id
    name            M       str         司机名称
    phone           O       str         司机手机号, 默认空字符串
    carrier_id      O       int         承运商id, 默认-1: 未指定承运商
    car_model_id    O       int         车型id, 默认-1: 未指定车型
    plate_number    O       int         车牌号, 默认空字符串
    state           M       int         状态
    share           M       int         是否共享
    password        O       str         登入密码,修改密码时传该参数
    allow_login     M       int         是否登入司机app, 0 关闭,1 开启
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }
逻辑
    【手机号】全局唯一; 【车牌号、名称】group下不允许重复

/station/driver/delete 删除司机 (新接口)

接口描述
    司机管理页面的司机删除
Method
    post
请求
    id      M       int     司机id
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }

/station/driver/account/check 司机账号检查 (新接口)

接口描述
    检查账号是否重复(全局唯一)
Method
    post
请求
    account     M       str     司机账号
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }

/station/driver/phone/check 司机手机号检查 (新接口)

接口描述
    检查手机号是否重复(全局唯一)
Method
    post
请求
    phone       M       str     司机手机号
    driver_id   O       int     司机id (更新时传,判断和其他司机手机号是否重复)
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }

/station/driver/name/check 司机名称检查 (新接口)

接口描述
    检查司机名称是否重复(group下唯一)
Method
    post
请求
    name        M       str     司机名称
    driver_id   O       int     司机id (更新时传,判断和其他司机名称是否重复)
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }

/station/driver/plate/check 车牌检查 (新接口)

接口描述
    检查司机的车牌是否重复(group下唯一)
Method
    post
请求
    plate       M       str     车牌
    driver_id   O       int     司机id (更新时传,判断和其他司机名称是否重复)
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }

/station/carrier/list 承运商列表 (新接口)

接口描述
    承运商的列表
Method
    get
请求
    # 新增参数
    q       O       str     搜索字符串,承运商名称、编号搜索
响应
    不变

/station/carrier/create 创建承运商 (新接口)

接口描述
    承运商的创建
Method
    post
请求
    company_name    M       string      承运商名称
响应
    {
      "code": 0,
      "data": {'id': 1},
      "msg": "ok"
    }
逻辑
    承运商名称group下不允许重复

/station/carrier/update 修改承运商 (新接口)

接口描述
    承运商的修改
Method
    post
请求
    carrier_id      M       int         承运商id
    company_name    M       string      承运商名称
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }
逻辑
    承运商名称group下不允许重复

/station/carrier/delete 删除承运商 (新接口)

接口描述
    承运商的删除
Method
    post
请求
    id      M       int     承运商id
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }

/station/car_model/list 车型列表 (新接口)

接口描述
    车型的列表
Method
    get
请求
    # 新增参数
    q           O       string      搜索字符串,车型名称、编号搜索
响应
    不变

/station/car_model/create 创建车型(新老接口)

接口描述
    车型的创建
Method
    post
请求
    car_model_name      M       string      车型名称
    max_load            M       int         满载框数
响应
    {
      "code": 0,
      "data": {'id': 1},
      "msg": "ok"
    }
逻辑
    车牌group下不允许重复

/station/car_model/update 修改车型(新老接口)

接口描述
    车型的修改
Method
    post
请求
    car_model_id        M       int         车型id
    car_model_name      O       string      车型名称
    max_load            O       int         满载框数
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }
逻辑
    车牌group下不允许重复

/station/car_model/delete 删除车型 (新接口)

接口描述
    车型删除
Method
    post
请求
    id      M       int     车型id
响应
    {
      "code": 0,
      "data": null
      "msg": "ok"
    }

/station/address_route/list 线路-导出 (修改老接口)

接口描述
    调度中心-线路-导出 
Method
    get
请求
    不变
响应
    格式不变,导出的表格会增加「无线路」的商户列表

司机App相关接口

/driver/login 司机app的登入接口(修改老接口)

接口描述
    司机app的登入接口
Method
    post
请求
    不变
响应
    不变
逻辑
    请求中的phone参数,改为使用【司机账号】登录

其他

刷【司机表】的【司机账号】数据的脚本, 将db记录的司机账号刷成司机手机号,密码重置为手机号后6位
灰度后刷灰度客户的司机记录, 全量后再刷一次

开发计划

05.28 - 05.29   车型相关接口、承运商相关接口
05.30 - 06.03   司机相关接口、刷数据脚本
06.04           其他涉及的接口