承运商&司机管理重构
承运商&司机管理重构
Head
- 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 其他涉及的接口