diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java index 4b038043..39c249da 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java @@ -74,7 +74,6 @@ public class XhpcPileOrderController extends BaseController { logger.info("桩启动回调接口>>>>>状态:"+status+"备注++"+"remark"+"订单号"+orderNo); //解析订单编号 - //String s1 = orderNo.substring(6); Long userId =0L; Integer code =200; if (status == 1) { @@ -90,7 +89,10 @@ public class XhpcPileOrderController extends BaseController { JSONObject json = new JSONObject(map); logger.info("桩启动回调接口>>>>>json:"+json.toString()); //消息对了内容 - webSocketService.getMessage(userId+"",json.toString()); + XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); + if(xhpcChargeOrder.getSource()==0){ + webSocketService.getMessage(userId+"",json.toString()); + } return R.ok(); } @@ -107,7 +109,6 @@ public class XhpcPileOrderController extends BaseController { logger.info("桩停止回调接口>>>>>状态:"+status+"备注++"+"remark"+"订单号"+orderNo); //解析订单编号 - //String s1 = orderNo.substring(6); Integer code = 500; Long userId=0L; Map map = new HashMap<>(); @@ -194,27 +195,31 @@ public class XhpcPileOrderController extends BaseController { CacheRealtimeData cacheRealtimeData = redisService.getCacheObject("order:" + orderNo + ".lord"); XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); - if(xhpcChargeOrder.getSource()==0){ - Long userId = xhpcChargeOrder.getUserId(); - try { - Date date = new Date(); - xhpcChargeOrder.setEndTime(date); - xhpcChargeOrder.setUpdateTime(date); - xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder); - Map map = xhpcRealTimeOrderService.addOrderTime(cacheRealtimeData, xhpcChargeOrder, orderNo, 1); + + Long userId = xhpcChargeOrder.getUserId(); + try { + Date date = new Date(); + xhpcChargeOrder.setEndTime(date); + xhpcChargeOrder.setUpdateTime(date); + xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder); + Map map = xhpcRealTimeOrderService.addOrderTime(cacheRealtimeData, xhpcChargeOrder, orderNo, 1); + if(xhpcChargeOrder.getSource()==0){ JSONObject json = new JSONObject(map); //消息对了内容 webSocketService.getMessage(userId+"",json.toString()); logger.info("桩实时数据发送WebSocket成功>>>>>orderNo:" + orderNo); - } catch (Exception e) { - Map map = new HashMap<>(); - map.put("code", 500); - map.put("userId", xhpcChargeOrder.getUserId()); - JSONObject json = new JSONObject(map); + } + + } catch (Exception e) { + Map map = new HashMap<>(); + map.put("code", 500); + map.put("userId", xhpcChargeOrder.getUserId()); + JSONObject json = new JSONObject(map); + if(xhpcChargeOrder.getSource()==0){ //消息对了内容 webSocketService.getMessage(userId+"",json.toString()); - return R.fail(500,"无实时数据"); } + return R.fail(500,"无实时数据"); } return R.ok(); } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java index f5d887f4..6c4de0f6 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java @@ -921,28 +921,28 @@ public class XhpcHistoryOrderController extends BaseController { } public static void main(String[] args) { - String dateStr = "2017-03-01 20:33:23"; - Date date = DateUtil.parse(dateStr); - - - String dateStr1 = "2017-03-01 22:33:23"; - Date date1 = DateUtil.parse(dateStr1); - - System.out.println(date1.getTime()-date.getTime()); - - - DateTime startTime = DateUtil.parse("2021-10-19 17:35:19"); - DateTime endTime = DateUtil.parse("2021-10-19 17:36:02"); - - //充电时长 - Long tiem = (endTime.getTime() - startTime.getTime())/1000; - System.out.println(">>>>"+tiem); - - - BigDecimal decimal = new BigDecimal(72); - BigDecimal decimal1 = new BigDecimal(3600); - - System.out.println(decimal.divide(decimal1,2,BigDecimal.ROUND_DOWN)); +// String dateStr = "2017-03-01 20:33:23"; +// Date date = DateUtil.parse(dateStr); +// +// +// String dateStr1 = "2017-03-01 22:33:23"; +// Date date1 = DateUtil.parse(dateStr1); +// +// System.out.println(date1.getTime()-date.getTime()); +// +// +// DateTime startTime = DateUtil.parse("2021-10-19 17:35:19"); +// DateTime endTime = DateUtil.parse("2021-10-19 17:36:02"); +// +// //充电时长 +// Long tiem = (endTime.getTime() - startTime.getTime())/1000; +// System.out.println(">>>>"+tiem); +// +// +// BigDecimal decimal = new BigDecimal(72); +// BigDecimal decimal1 = new BigDecimal(3600); +// +// System.out.println(decimal.divide(decimal1,2,BigDecimal.ROUND_DOWN)); } } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java index 0afcff22..a974b6c0 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java @@ -109,9 +109,9 @@ public interface XhpcRealTimeOrderMapper { void deleteChargeOrderCurrent(@Param("chargingOrderId")Long chargingOrderId); /** - * 获取最后一条实时数据 + * 获取一条实时数据 */ - XhpcRealTimeOrder getChargingOrderId(@Param("chargingOrderId")Long chargingOrderId); + XhpcRealTimeOrder getChargingOrderId(@Param("chargingOrderId")Long chargingOrderId,@Param("type")Integer type); Map getChargeOrderById(@Param("chargingOrderId")Long chargingOrderId); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java index edbaa727..c99bd834 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java @@ -149,9 +149,88 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService { if(message ==null || message.get("chargeOrderId") ==null){ return AjaxResult.success(new HashMap<>()); } + //获取开始充电时间、结束时间、计费模型、充电度数、已充金额 XhpcChargeOrder chargeOrder = xhpcChargeOrderService.getChargingOrderId(Long.parseLong(message.get("chargeOrderId").toString())); + + //获取该订单最后一条实时数据 + Map cacheMap = redisService.getCacheMap("order:" + chargeOrder.getSerialNumber()); + List list = (List) cacheMap.get("realtimeDataList"); + CacheRealtimeData startData =new CacheRealtimeData(); + CacheRealtimeData endData =new CacheRealtimeData(); + + if (list != null && list.size() > 0) { + endData =list.get(list.size()-1); + for (int i = 0; i 0){ + break; + } + } + } + Long rateModelId = chargeOrder.getRateModelId(); + + if(endData !=null && endData.getAmountCharged() !=null){ + + message.put("soc",endData.getSoc()); + //最后一祯时间 + Date endTime = DateUtil.parse(endData.getCreateTime()); + Date startTime =DateUtil.parse(startData.getCreateTime()); + //充电时长 + Long tiem = (endTime.getTime() - startTime.getTime()) / 1000; + if (tiem > 3600) { + long hours = tiem / 3600; + double mins = (double) ((tiem - (hours * 3600)) / 60); + message.put("chargingTime",hours + "时" + new BigDecimal(mins).setScale(0) + "分"); + chargeOrder.setChargingTime(hours + "时" + new BigDecimal(mins).setScale(0) + "分"); + } else { + double mins = (double) (tiem / 60); + message.put("chargingTime",new BigDecimal(mins).setScale(0) + "分"); + chargeOrder.setChargingTime(new BigDecimal(mins).setScale(0) + "分"); + } + Integer chargingDegree = endData.getChargingDegree(); + message.put("chargingDegree",chargingDegree); + + chargeOrder.setStartTime(startTime); + chargeOrder.setEndTime(endTime); + chargeOrder.setStartSoc(startData.getSoc().toString()); + chargeOrder.setEndSoc(endData.getSoc().toString()); + chargeOrder.setChargingTimeNumber(tiem); + chargeOrder.setChargingDegree(new BigDecimal(chargingDegree)); + chargeOrder.setType(0); + chargeOrder.setAmountCharged(new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000),2,BigDecimal.ROUND_DOWN)); + }else{ + //当没有缓存数据时,查询数据库 + XhpcRealTimeOrder startRealTimeOrder = xhpcRealTimeOrderMapper.getChargingOrderId(chargeOrder.getChargeOrderId(), 1); + + XhpcRealTimeOrder endRealTimeOrder = xhpcRealTimeOrderMapper.getChargingOrderId(chargeOrder.getChargeOrderId(), 2); + + message.put("soc",endRealTimeOrder.getSoc()); + //最后一祯时间 + Date endTime = endRealTimeOrder.getCreateTime(); + Date startTime = startRealTimeOrder.getCreateTime(); + + BigDecimal chargingDegree = endRealTimeOrder.getChargingDegree(); + message.put("chargingDegree",chargingDegree); + chargeOrder.setChargingTime(endRealTimeOrder.getChargingTime()); + message.put("chargingTime",endRealTimeOrder.getChargingTime()); + + chargeOrder.setStartTime(startTime); + chargeOrder.setEndTime(endTime); + chargeOrder.setStartSoc(startRealTimeOrder.getSoc()); + chargeOrder.setEndSoc(endRealTimeOrder.getSoc()); + Integer chargingTimeNumber = endRealTimeOrder.getChargingTimeNumber(); + if(chargingTimeNumber>0){ + chargeOrder.setChargingTimeNumber(Long.valueOf(chargingTimeNumber*60)); + }else{ + chargeOrder.setChargingTimeNumber(0L); + } + chargeOrder.setChargingDegree(chargingDegree); + chargeOrder.setType(0); + chargeOrder.setAmountCharged(endRealTimeOrder.getAmountCharged()); + } + Date startTime2 = chargeOrder.getStartTime(); Date updateTime2 = chargeOrder.getEndTime(); BigDecimal amountCharged = chargeOrder.getAmountCharged(); @@ -161,27 +240,38 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService { //1时间没有跨天 DateTime parse = DateUtil.parse(DateUtil.format(startTime2, "yyyy-MM-dd"), "yyyy-MM-dd"); DateTime parse1 = DateUtil.parse(DateUtil.format(updateTime2, "yyyy-MM-dd"), "yyyy-MM-dd"); - System.out.println(parse.toString()); - System.out.println(parse.toString()); + //每分钟多少度电 + BigDecimal decimal = new BigDecimal((updateTime2.getTime() - startTime2.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_DOWN); + BigDecimal divide = chargingDegree.divide(decimal,2,BigDecimal.ROUND_DOWN); long betweenDay = DateUtil.between(parse,parse1, DateUnit.DAY); if(betweenDay==0){ - powerPriceTotal = getBigDecimal(rateModelId, startTime2, updateTime2, chargingDegree, powerPriceTotal); + powerPriceTotal = getBigDecimal(rateModelId,DateUtil.formatTime(startTime2), DateUtil.formatTime(updateTime2), powerPriceTotal, divide); }else{ //跨天 - Date updateTime = DateUtil.endOfDay(startTime2); - powerPriceTotal = getBigDecimal(rateModelId, startTime2, updateTime, chargingDegree, powerPriceTotal); + powerPriceTotal = getBigDecimal(rateModelId, DateUtil.formatTime(startTime2), "23:59:59", chargingDegree, powerPriceTotal); //明天 DateTime tomorrow = DateUtil.offsetDay(startTime2,1); Date startTime3 = DateUtil.beginOfDay(tomorrow); - powerPriceTotal = getBigDecimal(rateModelId, startTime3, updateTime2, chargingDegree, powerPriceTotal); + powerPriceTotal = getBigDecimal(rateModelId, DateUtil.formatTime(startTime3), DateUtil.formatTime(updateTime2), chargingDegree, powerPriceTotal); } + //算服务费和电费 - BigDecimal servicePriceTotal =amountCharged.subtract(powerPriceTotal); - message.put("powerPriceTotal",powerPriceTotal); - message.put("servicePriceTotal",servicePriceTotal); + if(amountCharged.compareTo(powerPriceTotal)==1){ + BigDecimal servicePriceTotal =amountCharged.subtract(powerPriceTotal); + message.put("powerPriceTotal",powerPriceTotal); + message.put("servicePriceTotal",servicePriceTotal); + }else{ + message.put("powerPriceTotal",amountCharged); + message.put("servicePriceTotal",0); + } + + //修改充电订单 + xhpcChargeOrderService.updateXhpcChargeOrder(chargeOrder); return AjaxResult.success(message); } + + @Override public AjaxResult getExamine(Long chargingOrderId, BigDecimal powerPrice, BigDecimal servicePrice) { @@ -468,68 +558,20 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService { }catch (Exception e){ logger.info("<<<<<<<<<<<<<<<<发送短信失败>>>>>>>>>>>>>>>>>"); } - // 另起线程处理业务上传redis数据 - executorService.execute(new Runnable() { - @Override - public void run() { - addPileEndOrder(xhpcHistoryOrder, xhpcChargeOrder, xhpcChargeOrder.getSerialNumber(),1); - } - }); + } + xhpcHistoryOrderService.insert(xhpcHistoryOrder); xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder); - - // redisService.deleteObject("pushOrder:"+xhpcChargeOrder.getSerialNumber()); - } - - - private BigDecimal getBigDecimal(Long rateModelId, Date startTime2, Date updateTime2, BigDecimal chargingDegree, BigDecimal powerPriceTotal) { - - //算出相差时间,分 - double time = (updateTime2.getTime()-startTime2.getTime())/60000; - BigDecimal decimal = new BigDecimal(time).setScale(2); - //每分钟多少度 - BigDecimal degree =chargingDegree.divide(decimal,2,BigDecimal.ROUND_DOWN); - //获取费率时间段 - String startTime = DateUtil.formatTime(startTime2); - String endTime = DateUtil.formatTime(updateTime2); - List> reatTimeList = xhpcHistoryOrderService.getReatTimeList(startTime, endTime, rateModelId); - if(reatTimeList !=null && reatTimeList.size()>0){ - int size = reatTimeList.size(); - if(size==1){ - BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString()); - powerPriceTotal = powerFee.multiply(chargingDegree).setScale(2, BigDecimal.ROUND_DOWN); - }else{ - for (int i = 0; i objectMap = reatTimeList.get(i); - BigDecimal powerFee =new BigDecimal(objectMap.get("powerFee").toString()); - String startTime1 = objectMap.get("startTime").toString(); - String endTime1 = objectMap.get("endTime").toString(); - if(i==0){ - powerPriceTotal=getRateTimeList(startTime1,endTime,degree,powerFee,powerPriceTotal); - }else{ - if(size==2){ - powerPriceTotal=getRateTimeList(startTime1,endTime,degree,powerFee,powerPriceTotal); - }else{ - //三个时段以上 - if(i> reatTimeList = xhpcHistoryOrderService.getReatTimeList(startTime,updateTime, rateModelId); + for (int i = 0; i map = reatTimeList.get(i); + //获取费率 + if(reatTimeList.size()==1){ + BigDecimal powerFee =new BigDecimal(map.get("powerFee").toString()); + powerPriceTotal = powerPriceTotal.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_DOWN)); + }else if(i!=reatTimeList.size()-1){ + BigDecimal powerFee =new BigDecimal(map.get("powerFee").toString()); + powerPriceTotal = powerPriceTotal.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_DOWN)); + }else{ + BigDecimal powerFee =new BigDecimal(map.get("powerFee").toString()); + powerPriceTotal = powerPriceTotal.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_DOWN)); + } + } + return powerPriceTotal; + } } diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml index c48142c2..63695611 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml @@ -601,9 +601,11 @@ co.end_time as endTime, co.update_time as updateTime, co.source as source, + co.Plate_num as plateNum, dispute_order_status as disputeOrderStatus, (SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone, - (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone + (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone, + (SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source =1) as internetName from xhpc_history_order as ho left join xhpc_charging_station as ct on ct.charging_station_id = ho.charging_station_id left join xhpc_operator as op on op.operator_id = ct.operator_id @@ -615,11 +617,14 @@ and ho.type=#{type} + + and co.source=#{source} + and co.start_time >= #{startTime} - and co.start_time <= #{startTime} + and co.start_time <= #{endTime} and ho.serial_number like concat('%', #{transactionNumber}, '%') @@ -652,11 +657,9 @@ - and co.source =0 and co.charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{userId}) - and co.source =0 and co.charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{userId}) order by ho.create_time desc @@ -670,13 +673,12 @@ ra.service_fee as serviceFee from xhpc_rate_time as rt left join xhpc_rate ra on rt.rate_id =ra.rate_id - where rt.rate_model_id=#{rateModelId} - and ( - (rt.start_time <= #{startTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{endTime} ) - OR - (rt.start_time <= #{startTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{startTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{endTime} ) - OR - (rt.start_time <= #{endTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{endTime} ) + WHERE + rt.rate_time_id >= ( + SELECT rate_time_id FROM xhpc_rate_time WHERE rate_model_id = #{rateModelId} AND start_time <= #{startTime} AND replace(end_time, '00:00:00', '23:59:59') >= #{startTime} + ) + AND rt.rate_time_id <= ( + SELECT rate_time_id FROM xhpc_rate_time WHERE rate_model_id = #{rateModelId} AND start_time <= #{endTime} AND replace(end_time, '00:00:00', '23:59:59') >= #{endTime} ) @@ -724,6 +726,8 @@ ed.check_order_seq as sanCheckOrderSeq, (SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone, (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone, + co.Plate_num as plateNum, + (SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source =1) as internetName, case when ho.stop_reason_evcs=40 then "APP远程停止" when ho.stop_reason_evcs=41 then "SOC达到100%" when ho.stop_reason_evcs=42 then "充电电量满足设定条件" diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml index 609c8dad..d7d86adc 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml @@ -392,19 +392,27 @@ co.erro_remark as erroRemark, co.create_time as createTime, co.start_time as startTime, - (select real_time_order_id from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) realTimeOrderId, - (select soc from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) soc, - (select charging_degree from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) chargingDegree, - (select charging_time from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) chargingTime, + (select real_time_order_id from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) realTimeOrderId, + (select soc from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) soc, + (select charging_degree from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) chargingDegree, + (select charging_time from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) chargingTime, co.source as source, + co.Plate_num as plateNum, (SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone, - (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone + (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone, + (SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source =1) as internetName from xhpc_charge_order co left join xhpc_charging_station as ct on ct.charging_station_id = co.charging_station_id left join xhpc_operator as op on op.operator_id = ct.operator_id left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id where co.status=#{status} and co.del_flag=0 + + and co.source =#{source} + + + and co.status =#{status} + and co.start_time >= #{startTime} @@ -445,11 +453,9 @@ - and co.source =0 and co.charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{userId}) - and co.source =0 and co.charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{userId}) order by co.create_time desc @@ -479,8 +485,10 @@ co.internet_serial_number as internetSerialNumber, co.erro_remark as erroRemark, ro.amount_charged as amountCharged, + co.Plate_num as plateNum, (SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone, - (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone + (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone, + (SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source=1) as internetName from xhpc_real_time_order ro Left join xhpc_charge_order co on co.serial_number = ro.transaction_number Left join xhpc_charging_station as ct on ct.charging_station_id = ro.charging_station_id @@ -549,7 +557,14 @@