3.14新增车辆接口addVehicle
**请求地址:** - `/ivci/api/vehicle/addVehicle` **请求方式:** - POST,GET **参数说明** |参数名称|类型|说明|备注| |:---- |:---|:----- |----- | |content |String |请求的加密数据 |必填 | |merchantId |String |请求用户所属商户 | 必填 | **备注** content经过RSA解密后的json格式 ``` { "userName":"testuser", "antiFake":"4bbab6ff0d8042548cc6f2df9f3655fa", "timestamp":"20160518165030", "serverIP":"127.0.0.1", "addVehicle":{ "approveMass":500, "burningType":"gasoline", "buyTime":"2016-06-30", "carEngine":"123456", "carVim":"vin123", "containerSize":"100,100,10", "deptId":153, "drawMass":200.00, "engineDisplacement":"test", "fueGrade":"93#", "gmtZone":"utc+0800000", "models":"vehicleType01", "oilpermile":100.00, "outFacTime":"2016-06-30", "plateNo":"粤B991XT", "price":100000.00, "tireNum":4, "tireSize":"100", "totalMass":200, "verandaSize":"20,20,20", "vichcleType":1, "wheelbase":100 } } ``` **content参数说明** |名称|类型|说明|备注| |:---- |:---|:----- |----- | |userName | String|用户名 |必须| |antiFake | String | 防伪随机串 |必须| |timestamp | String | 请求时间戳,精确到秒 | 必须| |serverIP | String | 服务器IP | 必须| |addVehicle | json | 新增车辆信息 |必须| |addVehicle.approveMass | int |新增车辆荷载质量 | | |addVehicle.burningType | String | 新增车辆燃料形式,见附录3 | | |addVehicle.buyTime | date | 新增车辆购买时间 | | |addVehicle.carEngine | String | 发动机号 | 必须| |addVehicle.carVim | String |车架号| 必须| |addVehicle.containerSize | String | 货箱尺寸,格式必须是:长,宽,高| | |addVehicle.deptId | int| 部门id | 必须| |addVehicle.drawMass| double| 牵引总质量 | | |addVehicle.engineDisplacement | String | 发动机排量 | | |addVehicle.fueGrade| String | 能源标识| | |addVehicle.gmtZone| String | 时区,见附录2 |必须| |addVehicle.models| String| 车型,需要调用接口getVehicleType获取,如果传的值在我方系统查询不到,则默认会显示用户传的值| | |addVehicle.oilpermile | double | 百公里油耗 | | |addVehicle.outFacTime| date | 出厂时间| | |addVehicle.plateNo | String| 车牌号| 必须| |addVehicle.price | double | 购买价格 | | |addVehicle.tireNum | Int| 轮胎总数 | | |addVehicle.tireSize| String | 轮胎规格| | |addVehicle.totalMass| Double| 总质量 | | |addVehicle.verandaSize | String | 外廊尺寸,格式必须是:长,宽,高 | | |addVehicle.vichcleType | int| 车辆类别,见附录4 | | |addVehicle.wheelbase | int| 轴距 | | **使用示例:** 1. 后台 ```java //读取privateKeyStr String privateKey=........... //获取数据签名 SimpleDateFormat formatter = new SimpleDateFormat ("yyyyMMddHHmmss"); String timestamp=formatter.format(new Date()); String signStr=RSAUtils.sign(timestamp.getBytes(), privateKey); String ip=request.getRemoteAddr(); //用私钥加密 String ext=",\"addVehicle\":{.............}";//组装车辆信息 String dataStr="{\"userName\":\"testuser\",\"antiFake\":\""+signStr+"\",\"timestamp\":\""+timestamp+"\",\"serverIP\":\""+ip+"\" "+ext+" }"; String content=RSAUtils.encryptByPrivateKey(dataStr, privateKey); ``` 2. 前端 后台返回给前端加密后的content,然后发送请求调用 http://xxxxx/ivci/api/vehicle/addVehicle?merchantId=100000&content=content **返回数据** 返回数据统一都是json格式 ```json {"code":0,"msg":"操作失败","data":{}} ``` **返回参数** |名称|类型|说明|备注| |:---- |:---|:----- |----- | |code | String | 操作结果码(成功=0,失败=1),见附录1 | 返回| |msg| String | 操作返回信息(一般操作成功,返回null,失败的操作,才返回提示信息)| | |data | json | {vehicleId:123} |返回| | 返回的data 需要解密,解密过程如下: ```java String key="......"; String mi="56D56B912C68308AA6D863DE087DBFD82D65C37836FC15E0B92"; String ming=RSAUtils.decryptByPrivateKey(mi, key); ```