报修完成接口文档
提交报修
查询报修单
查询待办单
办理报修
一、接口名称
报修完成接口
二、接口描述
该接口用于维修人员完成报修单的处理,包括:
- 更新维修单状态
- 记录维修用料和费用
- 处理维修图片上传
- 生成支付费用(有偿维修)
- 更新库存(如涉及物料使用)
三、接口路径
http://ip:port/app/ownerRepair.repairFinish
四、请求方法
POST
五、请求头
参数名称 |
必填 |
类型 |
描述 |
Authorization |
是 |
String |
用户认证token Base token 通过登录接口获取token |
app-id |
是 |
String |
应用ID 系统dev账户分配 |
transaction-id |
是 |
String |
请求流水号 不能重复 1000000000+YYYYMMDDhhmmss+6位序列 |
sign |
是 |
String |
签名 |
req-time |
是 |
String |
请求时间 YYYYMMDDhhmmss |
user-id |
是 |
String |
当前操作用户ID |
user-name |
是 |
String |
当前操作用户名称 |
六、请求参数
6.1 请求体参数(JSON格式)
参数名称 |
必填 |
类型 |
描述 |
repairId |
是 |
String |
报修单ID |
communityId |
是 |
String |
小区ID |
context |
是 |
String |
维修内容描述 |
feeFlag |
是 |
String |
费用标识(有偿/无偿) |
publicArea |
否 |
String |
是否公共区域(T-是,F-否) |
maintenanceType |
否 |
String |
维修类型(1001-有偿,1002-无偿,1003-公共区域) |
repairChannel |
否 |
String |
报修渠道(Z-业主报修,其他-员工代客报修) |
repairMaterial |
否 |
String |
维修用料(格式:物料1数量;物料2数量) |
repairFee |
否 |
String |
费用明细(格式:单价*数量=总价;) |
totalPrice |
否 |
String |
总金额(有偿维修时必填) |
payType |
否 |
String |
支付方式 |
beforeRepairPhotos |
否 |
JSONArray |
维修前照片列表([{"photo":"base64或URL"},...]) |
afterRepairPhotos |
否 |
JSONArray |
维修后照片列表([{"photo":"base64或URL"},...]) |
choosedGoodsList |
否 |
JSONArray |
使用的物料列表(详见下表) |
choosedGoodsList 参数说明
参数名称 |
必填 |
类型 |
描述 |
resId |
否 |
String |
物料ID(非自定义时必填) |
resName |
否 |
String |
物料名称 |
isCustom |
是 |
String |
是否自定义物料(true/false) |
useNumber |
是 |
String |
使用数量 |
price |
否 |
String |
单价(有偿维修时必填) |
customGoodsName |
否 |
String |
自定义物料名称(isCustom=true时必填) |
七、返回值
7.1 返回值(JSON格式)
参数名称 |
必填 |
类型 |
描述 |
code |
是 |
String |
返回码 0 成功 其他失败 |
msg |
是 |
String |
返回信息 |
data |
否 |
Object |
返回数据 |
八、示例请求
POST /app/ownerRepair.repairFinish
Headers:
{
"Authorization": "Bearer xxxx",
"app-id": "hc",
"transaction-id": "100000000020231201134500000001",
"sign": "xxxx",
"req-time": "20231201134500",
"user-id": "123",
"user-name": "张三"
}
Body:
{
"repairId": "772022110493850003",
"communityId": "702022082202930001",
"context": "水管漏水已修复",
"feeFlag": "2002",
"publicArea": "F",
"maintenanceType": "1001",
"repairChannel": "Z",
"totalPrice": "150.00",
"payType": "1",
"beforeRepairPhotos": [{"photo": "base64...1"}, {"photo": "base64...2"}],
"afterRepairPhotos": [{"photo": "base64...3"}],
"choosedGoodsList": [
{
"resId": "882022110493850011",
"resName": "PVC水管",
"isCustom": "false",
"useNumber": "2",
"price": "50.00"
},
{
"isCustom": "true",
"customGoodsName": "密封胶",
"useNumber": "1",
"price": "50.00"
}
]
}
九、示例响应
{
"code": "0",
"msg": "成功",
"data": null
}
十、状态码说明
状态码 |
描述 |
0 |
操作成功 |
1001 |
业务验证失败(如:当前用户没有需要处理的订单) |
2001 |
数据错误(如:维修单不存在) |
3001 |
系统异常 |
十一、业务逻辑说明
- 权限验证:验证当前用户是否有处理该报修单的权限
- 物料处理:
- 校验物料库存是否充足
- 更新个人物料库存
- 记录物料使用情况
- 费用处理(有偿维修):
- 图片处理:
- 状态更新:
- 更新维修单状态(待支付/待评价/待回访)
- 记录维修类型、用料、费用明细等信息
十二、注意事项
- 有偿维修(maintenanceType=1001)必须提供
totalPrice
和物料单价
- 使用库存物料(isCustom=false)必须提供有效的
resId
- 公共区域维修(publicArea=T)无需关联业主信息
- 图片超过512字符会自动转为文件存储