公共接口 - 启动充电
<p><strong>简要描述:</strong></p>
<p>-启动充电</p>
<p><strong>修改时间:</strong></p>
<table>
<thead>
<tr>
<th>修改时间</th>
<th>修改内容</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>2019-06-28 11:18:24 星期五</td>
<td>添加</td>
<td>ckinghan</td>
</tr>
<tr>
<td>2019-06-28 16:22:23 星期五</td>
<td>修改,参数改变</td>
<td>ckinghan</td>
</tr>
<tr>
<td>2019-07-25 10:20:04 星期四</td>
<td>修改,请求参数的中的chargerType类型,String -> Integer</td>
<td>ckinghan</td>
</tr>
<tr>
<td>2019-08-08 16:03:20 星期四</td>
<td>修改,请求参数的中的chargerAmount/chargerTime删除</td>
<td>ckinghan</td>
</tr>
<tr>
<td>2019-11-27 10:10:36 星期三</td>
<td>修改,删除scanData参数,添加pileSn,gunNo参数</td>
<td>ckinghan</td>
</tr>
<tr>
<td>2019-12-10 09:25:09 星期二</td>
<td>修改receiveFalg字段 为 receiveFlag</td>
<td>ckinghan</td>
</tr>
</tbody>
</table>
<p>*错误代码:**</p>
<table>
<thead>
<tr>
<th>错误代码</th>
<th>说明</th>
<th>添加时间</th>
<th>修改人</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>参数校验失败</td>
<td>2019-06-27 10:58:50 星期四</td>
<td>ckinghan</td>
</tr>
<tr>
<td>4023</td>
<td>预约订单创建失败</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>440005</td>
<td>服务器内部错误-内部服务调用错误</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4024</td>
<td>检查用户未完成订单失败</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4018</td>
<td>用户存在未结束订单</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4019</td>
<td>未查询到桩信息</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4022</td>
<td>充电桩不支持预约</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4011</td>
<td>预约费信息不存在或已删除</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4020</td>
<td>预约费通道已关闭</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4021</td>
<td>用户余额不足</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4023</td>
<td>枪信息不存在</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>2051</td>
<td>冻结金额失败</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4025</td>
<td>请选择要预约的枪口号</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>4034</td>
<td>请插入充电枪</td>
<td></td>
<td>ckinghan</td>
</tr>
<tr>
<td>2156</td>
<td>存在尚未结算停车订单</td>
<td></td>
<td>ckinghan</td>
</tr>
</tbody>
</table>
<p><strong>实现逻辑描述:</strong></p>
<pre><code>检查传输数据
检查桩数据
检查枪状态
检查预约数据
检查用户是否有未完成订单
生成订单
通知桩</code></pre>
<p><strong>涉及表:</strong></p>
<ul>
<li><code>t_user(用户表)</code></li>
<li><code>t_user_frozen_amount_log(用户冻结金额记录表)</code></li>
<li><code>t_charger_order(用户充电、预约订单表)</code></li>
</ul>
<p><strong>流程:</strong></p>
<pre><code>-</code></pre>
<p><strong>请求URL:</strong></p>
<ul>
<li><code>{{url}}/app/app/order/addChargerOrder</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST</li>
</ul>
<p><strong>请求参数说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">键</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">说明</th>
<th style="text-align: left;">备注</th>
<th style="text-align: left;">示例</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">chargingType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">充电类型</td>
<td style="text-align: left;">1:电量控制充电; 2:时间控制充电; 3:金额控制充电; 4:自动充满; 5:定时启动充电;</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">chargingNumber</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">用户选择充电量(单位:度、千瓦时)/分钟/金额</td>
<td style="text-align: left;">当chargetType=1/2/3时必传</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">commSn</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">桩通讯编号不能为空</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">gunNo</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">枪口号不能为空</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;"><font color="red">tcu</font></td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">TCU不能为空</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">-</td>
</tr>
</tbody>
</table>
<p><strong>请求示例</strong></p>
<pre><code>{
"pileSn":"10000000000004",
"gunNo":3,
"tcu":3,
"chargingType":3,
"chargingNumber":900
}</code></pre>
<p><strong>返回参数说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">说明</th>
<th style="text-align: left;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">返回码</td>
<td style="text-align: left;">0 为成功</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">返回信息</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">- data</td>
<td style="text-align: left;">Object</td>
<td style="text-align: left;">返回携带的数据</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">id</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">id</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">uuid</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">uuid</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">orderNo</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">订单编号</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">isOver</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">订单是否完成:;0未完成、1已完成、2超时、3手动取消(结束)</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">receiveFlag</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">接收充电桩上送数据标志:0充电中、2待上报</td>
<td style="text-align: left;">当orderType = 1才有此字段</td>
</tr>
<tr>
<td style="text-align: left;">orderName</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">订单名称</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">userId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">用户ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">userName</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">用户名</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">userType</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">用户帐户类型: 0APP_WX、1卡、2VIN、3、企业用户</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">agentId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">代理商ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">agentName</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">代理商名称</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">enterpariseId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">enterpariseId</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">enterpariseName</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">企业名称</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">appotherEnterpariseNameId</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">第三方企业名称</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">orderType</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">订单类型: 0预约订单、1充电订单</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">orderFlag</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">订单标志: 0平台订单、1第三方平台订单</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">payStatus</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">支付状态: :0未支付、1已支付</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">startTime</td>
<td style="text-align: left;">Date</td>
<td style="text-align: left;">开始时间</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">endTime</td>
<td style="text-align: left;">Date</td>
<td style="text-align: left;">结束时间</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">chargerNumber</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">用户选择充电量 度、千瓦时</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">chargerType</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">1:电量控制充电;2:时间控制充电;3:金额控制充电;4:自动充满; 5:定时启动充电;</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">startSoc</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">起始SOC 百分比</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">endSoc</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">结束SOC 百分比</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">startMeter</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">起始电表值</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">endMeter</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">结束电表值</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">startAmount</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">起始余额 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">endAmount</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">结束余额 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">chargerFee</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">充电费 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">serviceFee</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">服务费 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">appointmentFee</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">预约费 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">parkingFee</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">停车费 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">totalAmount</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">总费用 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">actualAmount</td>
<td style="text-align: left;">BigDecimal</td>
<td style="text-align: left;">实收费用: 单位:元</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">serviceId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">服务费ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">invoiceFlag</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">是否开发票: 0不开发票、1开具发票</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">pileId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">充电桩ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">pileSn</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">充电桩出厂编号</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">pileName</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">充电桩名称</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">driveType</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">充电桩设备类型: 0交流、1直流、2交直流一体</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">gunId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">充电枪ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">gunNo</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">充电枪编号</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">gunType</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">充电枪类型 0交流、1直流、2交直流一体</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">stationId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">充电桩归属电站ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">stationName</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">充电站名称</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">reasonId</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">充电结束原因ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">reasonName</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">充电结束原因名称</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">delFlag</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">是否删除: :0正常、1删除</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">createBy</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">createBy</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">createTime</td>
<td style="text-align: left;">Date</td>
<td style="text-align: left;">创建时间</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">updateBy</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">最后更新人</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">updateTime</td>
<td style="text-align: left;">Date</td>
<td style="text-align: left;">最后更新时间</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">stopCode</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">停止码</td>
<td style="text-align: left;">-</td>
</tr>
</tbody>
</table>
<p><strong>返回示例</strong></p>
<pre><code>{
"code":0,
"msg":"success",
"data":{
"id":null,
"uuid":"f9ffc9c5-f8d6-48f8-806c-9de88b0679b0",
"orderNo":"00001001566438813226",
"orderName":null,
"isOver":0,
"receiveFalg":0,
"userId":1,
"userName":"18819506700",
"vin":null,
"userType":0,
"appId":"wx07e7e64417d90717",
"agentId":1,
"agentName":"广东易事特集团",
"enterpariseId":null,
"enterpariseName":null,
"otherEnterpariseName":null,
"orderType":2,
"orderFlag":0,
"stopCode":"4799",
"payStatus":0,
"startTime":"2019-08-22 09:53:33",
"endTime":null,
"chargingType":3,
"chargingNumber":1,
"chargingMark":null,
"startSoc":null,
"endSoc":null,
"totalElec":null,
"startMeter":null,
"endMeter":null,
"startAmount":null,
"endAmount":null,
"chargingFee":null,
"serviceFee":null,
"totalAmount":null,
"actualAmount":null,
"serviceId":1,
"invoiceFlag":0,
"pileId":1,
"pileSn":"10000000000004",
"pileName":"1号桩",
"communicationSn":"10000000000004",
"driveNo":null,
"gunId":1,
"gunNo":1,
"tcuSn":1,
"gunType":1,
"stationId":1,
"stationName":"南京-南站-南广场-1号充电站",
"parkingFeeFlag":null,
"delFlag":0,
"remark":null,
"createBy":null,
"createTime":"2019-08-22 09:53:33",
"updateBy":null,
"updateTime":null,
"rules":null,
"details":null,
"stationInfo":null,
"totalTime":null,
"userShortId":"1000000000000001",
"vendorId":1,
"stopDetails":null,
"stopStatus":null,
"stopReason":null,
"orderTypeDes":"移动app充电",
"userTypeDesc":"APP_WX",
"chargingTypeDesc":"金额控制充电"
}
}</code></pre>