[关闭]
@yumewang 2019-05-20T02:26:44.000000Z 字数 7098 阅读 408

Service Helper API

pp


  1. 下单扫二维码,这样来避免新客户,只有手机号码的问题;用户信息断节;

1. 设置设备检测状态

OTDR接受到硬体设备发送的检测指令,需发起该请求,设置设备检测状态。
请求URL:

  1. http://.../set_otdr_check

请求方式:

  1. POST

请求参数:

参数 是否必选 类型 说明
device_sn Y int / String 设备序列号
m_state Y int 本次检测状态:为1(0:正常,1检测中,2断纤
m_wavelength_start N int 激光波长初始值
m_distance_start N int 测量里程初始值
m_pulse_start N int 测量脉宽初始值
m_duration_start N int 测量时长初始值
m_threshold_start N int 结束门限初始值

返回示例:

  1. {
  2. rv: 200,
  3. data: 1222 // 本次检测记录id,将用于检测结果的请求
  4. }
  1. {
  2. rv: 500或其他,
  3. msg: "请求异常"
  4. }

1. 记录设备检测结果

设备检测完成后,需写入检测结果
请求URL:

  1. http://.../set_otdr_result

请求方式:

  1. POST

请求参数:

参数 是否必选 类型 说明
device_sn Y int / String 设备序列号
m_check_id Y int / String 设备检测记录id
m_state Y int 本次检测状态:0或2(0:正常,1检测中,2断纤
m_wavelength_end N int 激光波长结果值
m_distance_end N int 测量里程结果值
m_pulse_end N int 测量脉宽结果值
m_duration_end N int 测量时长结果值
m_threshold_end N int 结束门限结果值
m_length_y N int y轴(损耗)
m_length_x N int x轴(长度)

返回示例:

  1. {
  2. rv: 200,
  3. msg: "请求成功"
  4. }
  1. {
  2. rv: 500或其他,
  3. msg: "请求异常"
  4. }

1. 登陆

这里需要和小程序一并处理,处理方式,请见

2. 获取订单列表

2.1 获取员工的订单列表

请求URL:

  1. http://.../orders

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工的订单列表
offset N int 跳过多少条数据,默认0
limit N int 请求数据的数量,默认20
order_by N int 排序方式id:???

返回示例:

  1. {
  2. rv: 200,
  3. data: [
  4. {
  5. id: 12321321312,
  6. order_num: 22321312321,
  7. status: "CHECK",
  8. descr: "漏油",
  9. hand_over_time: "2017-10-15 10:30",
  10. car_info: {
  11. pic: "",
  12. car_number: "渝B 12323",
  13. user_id: 100, // 客户
  14. openid: "12312321312" // 客户公众服务号openid,用于识别是否可有效推送消息。
  15. }
  16. }
  17. ]
  18. }
  1. {
  2. rv: 10001,
  3. msg: "该用户不存在"
  4. }

2.2 获取车的最新订单

请求URL:

  1. http://.../user_orders

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
user_id / openId(小程序) Y int / String 客户ID
status Y String 状态:进行中,已完成
offset N int 跳过多少条数据,默认0
limit N int 请求数据的数量,默认20
order_by N int 排序方式id:???

关于状态的定义:

  1. 'NEW': '新建',
  2. 'CHECK': '检查中',
  3. 'CHECKED': '检查完成',
  4. 'FIX': '维修中',
  5. 'FIXED': '维修完成',
  6. 'CLOSED': '已关闭',
  7. 'DONE': '已完成'
  8. status:进行中 (除开 CLOSED, DONE)
  9. status:已完成(CLOSED, DONE)

返回示例:

  1. {
  2. rv: 200,
  3. data: [
  4. {
  5. id: 12321321312,
  6. order_num: 22321312321,
  7. status: "CHECK",
  8. descr: "漏油",
  9. hand_over_time: "2017-10-15 10:30",
  10. staff: {
  11. name: "晓福",
  12. mobile: '123123131231312'
  13. },
  14. car_info: {
  15. pic: "",
  16. car_number: "渝B 12323",
  17. user_id: 100 // 客户
  18. }
  19. }
  20. ]
  21. }
  1. {
  2. rv: 10002,
  3. msg: "该用户不存在车辆记录"
  4. }

2.3 获取员工的订单列表

请求URL:

  1. http://.../orders_by_status

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
status Y String 状态:进行中,已完成
offset N int 跳过多少条数据,默认0
limit N int 请求数据的数量,默认20
order_by N int 排序方式id:???

关于状态的定义:

  1. 'NEW': '新建',
  2. 'CHECK': '检查中',
  3. 'CHECKED': '检查完成',
  4. 'FIX': '维修中',
  5. 'FIXED': '维修完成',
  6. 'CLOSED': '已关闭',
  7. 'DONE': '已完成'
  8. status:进行中 (除开 CLOSED, DONE)
  9. status:已完成(CLOSED, DONE)

返回示例:

  1. {
  2. rv: 200,
  3. data: [
  4. {
  5. id: 12321321312,
  6. order_num: 22321312321,
  7. status: "CHECK",
  8. descr: "漏油",
  9. hand_over_time: "2017-10-15 10:30",
  10. car_info: {
  11. pic: "",
  12. car_number: "渝B 12323",
  13. user_id: 100 // 客户
  14. }
  15. }
  16. ]
  17. }
  1. {
  2. rv: 10001
  3. }

3. 创建订单 (保养公里数,保养时间,有待确认)

  1. http://.../orders

请求方式:

  1. POST

请求参数:

参数 是否必选 类型 说明
user_name N String 客户姓名
mobile Y String 客户姓名
car_number Y String 车牌号
vin_suffix Y String 车架后六位
brand Y String 车辆品牌
pic N String 车辆图示
descr Y String 车辆问题描述
hand_over_time N Date 可交付时间
openID Y int 员工,谁负责接单
  1. 通过openID判断员工是否存在
  2. 通过user_name + mobile, 检查用户是否存在,是否需要创建改用户,但是没有openID?后期如何和openID绑定,如果不存放user_name + mobile,又将如何? (可否考虑在用户进入小程序,提供输入手机号码的操作? 这里有问题,要思考???)
  3. 同时,是否判断车辆信息存在,是否创建该车辆信息?

返回示例:

  1. {
  2. rv: 200
  3. }

4. 获取订单的操作记录

请求URL:

  1. http://.../records

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
order_id Y int / String 车辆ID
offset N int 跳过多少条数据,默认0
limit N int 请求数据的数量,默认20
order_by N int 排序方式id:???
  1. 何时上传单据,有如何区别这些单据?
  2. 可变更交付时间
  3. 接单时,无 可交付时间 的概念
  4. 或者这里要考虑为:检查类,维修类,单据类,而不是现有的 “上传”,“推送”两种概念, 同时推送的概念放出
参数 说明
type CHECK:检查类,FIX: 维修类
content_type IMAGE: 图片,TEXT: 文字,DOC: 单据
doc_type 4种: 服务单,维修单(中途追加),预算结算单,结算单;
其中 doc_type 单据类型,不和 type 绑定

返回示例:

  1. {
  2. rv: 200,
  3. data: [
  4. {
  5. id: 12321321312,
  6. type: "CHECK"
  7. content_type: "IMAGE",
  8. doc_type: "",
  9. pic: "test.png",
  10. is_published: true,
  11. order_status: "CHECK",
  12. descr: "",
  13. created_at: "2017-10-15 10:30",
  14. user : {
  15. name: "晓福",
  16. mobile: '123123131231312',
  17. avatar: 'img'
  18. }
  19. },
  20. {
  21. id: 12321321312,
  22. type: "CHECK"
  23. content_type: "TEXT",
  24. doc_type: "",
  25. pic: "",
  26. is_published: true,
  27. order_status: "CHECK",
  28. descr: "后视镜坏了",
  29. created_at: "2017-10-15 10:30",
  30. user : {
  31. name: "晓福",
  32. mobile: '123123131231312',
  33. avatar: 'img'
  34. }
  35. },
  36. ]
  37. }
  1. {
  2. rv: 10003,
  3. msg: "订单号不存在"
  4. }

5. 操作记录管理

5.1. 上传订单的操作记录

  1. http://.../records

请求方式:

  1. POST
参数 说明
type CHECK:检查类,FIX: 维修类,DOC: 单据类
order_status 订单状态
content_type IMAGE: 图片,TEXT: 文字
doc_type 4种: 服务单,维修单(中途追加),预算结算单,结算单;
其中 doc_type 单据类型,不和 type 绑定

1. 请求参数(type: CHECK 检查类):

参数 是否必选 类型 说明
type Y String 数据处理类别,CHECK:检查类,FIX: 维修类,DOC: 单据类
content_type Y String IMAGE: 图片,TEXT: 文字
descr Y String 检查/维修结果描述
pic Y File 图示
order_id Y Int 订单号
openID Y int 员工

2. 请求参数(type: FIX 维修类):

参数 是否必选 类型 说明
type Y String 数据处理类别,CHECK:检查类,FIX: 维修类,DOC: 单据类
content_type Y String IMAGE: 图片,TEXT: 文字
descr Y String 检查/维修结果描述
pic Y File 图示
order_id Y int 订单号
openID Y int 员工

3. 请求参数(type: DOC 单据类):

参数 是否必选 类型 说明
type Y String 数据处理类别,CHECK:检查类,FIX: 维修类,DOC: 单据类
content_type Y String IMAGE: 图片,TEXT: 文字
doc_type Y String 四种
pic Y File 图示
order_id Y int 订单号
openID Y int 员工
  1. 那里体现变更 交付时间 ?

返回示例:

  1. {
  2. rv: 200
  3. }

5.2. 删除记录(暂时不考虑批量删除)

进入下一个环节后应该就要保证不能修改了

  1. http://.../record_delete

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
record_id Y int 记录ID

返回示例:

  1. {
  2. rv: 200
  3. }

5.3. 设置记录为发布

  1. http://.../pub_records

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工
order_status Y int / String 订单状态
records Y int / String 各记录 id 数组

返回示例:

  1. {
  2. rv: 200,
  3. msg: "发布成功"
  4. }

6. 更新订单状态

用于客户确认项目建议结果

  1. http://.../orders/upate

请求方式:

  1. POST

请求参数:

参数 是否必选 类型 说明
order_id Y int 订单ID
status Y String 订单状态

返回示例:

  1. {
  2. rv: 200
  3. }

7. 查看订单记录

  1. http://.../order

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
order_id Y int 订单ID

返回示例:

  1. {
  2. rv: 200,
  3. data: [
  4. {
  5. id: 12321321312,
  6. order_num: 22321312321,
  7. status: "CHECK",
  8. descr: "漏油",
  9. hand_over_time: "2017-10-15 10:30",
  10. records: [
  11. {
  12. type: "",
  13. doc_type: "那4种",
  14. pic: "stest.png",
  15. descr: "水电费所发生的",
  16. created_at: "2017-10-15 10:30",
  17. user : {
  18. name: "晓福",
  19. mobile: '123123131231312',
  20. avatar: 'img'
  21. }
  22. },
  23. {
  24. type: "",
  25. doc_type: "那4种",
  26. pic: "stest.png",
  27. descr: "水电费所发生的",
  28. created_at: "2017-10-15 10:30",
  29. user : {
  30. name: "晓福",
  31. mobile: '123123131231312',
  32. avatar: 'img'
  33. }
  34. }
  35. ]
  36. }
  37. ]
  38. }

8. 通过车牌号,快速获取车辆信息,及客户信息(How:取消手机号码搜索)

  1. http://.../get_car_info

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工
car_number Y int / String 车牌号,不可变更

返回示例:

  1. {
  2. rv: 200,
  3. data: {
  4. car_number: "渝A12323",
  5. vin_suffix: "123212",
  6. brand: '上海大众pola',
  7. pic: "",
  8. next_maintenance_km: "100",
  9. last_maintenance_time: "2017-01-11 10:22",
  10. user : {
  11. name: "晓福",
  12. mobile: '123123131231312',
  13. avatar: 'img'
  14. }
  15. }
  16. }

9. 微信公众号好消息推送 (Richard)

  1. http://.../send_msg

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
id / openID Y int / String 订单id

返回示例:

  1. {
  2. rv: 200
  3. }
  1. {
  2. rv: 20001,
  3. msg: '消息推送失败'
  4. }

10. 车辆管理

10.1. 获取车辆列表

  1. http://.../cars

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工的订单列表
sid Y int / String

返回示例:

  1. {
  2. rv: 200,
  3. data: [
  4. {
  5. id: 12321321312,
  6. car_number: "渝A12323",
  7. vin_suffix: "123212",
  8. brand: '上海大众pola',
  9. pic: "",
  10. next_maintenance_km: "100",
  11. last_maintenance_time: "2017-01-11 10:22"
  12. }
  13. ]
  14. }

10.2. 绑定车辆

  1. http://.../cars

请求方式:

  1. POST

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工的订单列表
car_number Y int / String 车牌号
vin_suffix Y int / String 车架后六位
last_maintenance_km N int / String 上次保养公里数
last_maintenance_time N int / String 上次保养时间
pic N int / String 车辆图示

返回示例:

  1. {
  2. rv: 200,
  3. msg: "绑定成功"
  4. }

10.3. 绑定车辆

  1. http://.../cars/update

请求方式:

  1. POST

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工的订单列表
car_number Y int / String 车牌号,不可变更?
vin_suffix Y int / String 车架后六位,不可变更?
last_maintenance_km N int / String 上次保养公里数
last_maintenance_time N int / String 上次保养时间
pic N int / String 车辆图示

返回示例:

  1. {
  2. rv: 200,
  3. msg: "更新成功"
  4. }

10.4. 删除车辆 (该车辆有订单时,如何删除?)

  1. http://.../cars/delete?

请求方式:

  1. DELETE

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工的订单列表
car_number Y int / String 车牌号,不可变更?
vin_suffix Y int / String 车架后六位,不可变更?

返回示例:

  1. {
  2. rv: 200,
  3. msg: "删除成功"
  4. }

11. 机电领取任务

  1. http://.../accept_order?

请求方式:

  1. GET

请求参数:

参数 是否必选 类型 说明
user_id / openID Y int / String 某个员工的订单列表
order_status Y int / String 订单状态
  1. when order_status is CHECK, update check_by;
  2. when order_status is FIX, update main_fixed_by and fixed_by. (Think twice, please)

返回示例:

  1. {
  2. rv: 200,
  3. msg: "领取成功"
  4. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注