diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcTimingChargingModelMapper.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcTimingChargingModelMapper.java index 62159761..f805cbca 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcTimingChargingModelMapper.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcTimingChargingModelMapper.java @@ -12,7 +12,7 @@ import java.util.Map; */ public interface XhpcTimingChargingModelMapper { - List> list(@Param("status") Integer status,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("chargingStationId") Long chargingStationId,@Param("tenantId")String tenantId); + List> list(@Param("reason")String reason,@Param("status") Integer status,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("chargingStationId") Long chargingStationId,@Param("tenantId")String tenantId); int insertXhpcTimingChargingModel(XhpcTimingChargingModel xhpcTimingChargingModel); diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcTimingChargingModelServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcTimingChargingModelServiceImpl.java index 7de6ce29..455dd153 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcTimingChargingModelServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcTimingChargingModelServiceImpl.java @@ -52,7 +52,7 @@ public class XhpcTimingChargingModelServiceImpl extends BaseService implements I LoginUser loginUser = tokenService.getLoginUser(request); if(loginUser !=null){ startPage(); - return xhpcTimingChargingModelMapper.list(status,startTime,endTime,chargingStationId,loginUser.getTenantId()); + return xhpcTimingChargingModelMapper.list(reason,status,startTime,endTime,chargingStationId,loginUser.getTenantId()); } return new ArrayList<>(); } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcChargeOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcChargeOrderController.java index 01639c35..2092a692 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcChargeOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcChargeOrderController.java @@ -78,6 +78,7 @@ public class XhpcChargeOrderController extends BaseController { public AjaxResult startUp(HttpServletRequest request, @RequestParam Long userId, @RequestParam String serialNumber, @RequestParam Integer type){ logger.info("<<<<<<<<<<<<<<<<<<<<<<<<启动充电>>>>>>>>>>>>>>>>>"+serialNumber); logger.info("<<<<<<<<<<<<<<<<<<<<<<<<启动充电>>>>>>>>>>>>>>>>>"+serialNumber); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<启动充电:userId>>>>>>>>>>>>>>>>>"+userId); return iXhpcChargeOrderService.startUp(request,userId, serialNumber, type); } 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 b70aeec1..64198039 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 @@ -191,6 +191,9 @@ public class XhpcPileOrderController extends BaseController { CacheRealtimeData cacheRealtimeData = redisService.getCacheObject("order:" + orderNo + ".lord"); XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); + if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){ + return R.fail(500,"无效订单号"); + } Long userId = xhpcChargeOrder.getUserId(); try { @@ -243,15 +246,18 @@ public class XhpcPileOrderController extends BaseController { //获取实时订单 Map cacheMap = redisService.getCacheMap("order:"+orderNo); if(cacheMap==null || cacheMap.get("orderData")==null ){ + logger.info("无效订单号>>>>>orderNo:" + orderNo); return R.fail(500,"无效订单号:"+orderNo); } CacheOrderData cacheOrderData = (CacheOrderData)cacheMap.get("orderData"); //获取充电订单 XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); if(xhpcChargeOrder == null ){ + logger.info("无效订单号>>>>>orderNo:" + orderNo); return R.fail(500,"无效订单号:"+orderNo); } if(cacheOrderData==null || cacheOrderData.getT1PowerQuantity()==null ){ + logger.info("无效订单号>>>>>orderNo:" + orderNo); return R.fail(500,"无效订单号:"+orderNo); } if(xhpcChargeOrder.getStatus()==1 || xhpcChargeOrder.getStatus()==3){ @@ -540,6 +546,8 @@ public R pileStartUpBy3rd(@RequestParam(value = "internetSerialNumber") String i @RequestParam(value = "status") Integer status, @RequestParam(value = "connectorId") String connectorId) { + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方启动>>>>>>>>>>>>>>>>>"+internetSerialNumber); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方启动>>>>>>>>>>>>>>>>>"+internetSerialNumber); return xhpcChargeOrderService.startUpBy3rd(internetSerialNumber, driverId, chargingAmt, plateNum, status, connectorId); } 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 336efc6d..f338b37c 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 @@ -22,6 +22,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -135,7 +136,7 @@ public class XhpcHistoryOrderController extends BaseController { * 日期统计\场站统计\终端统计 */ @GetMapping("/test1") -// @Scheduled(cron = "0 0/2 * * * ?") + @Scheduled(cron = "0 0/2 * * * ?") public void test1(){ add(3000,1); } @@ -425,7 +426,7 @@ public class XhpcHistoryOrderController extends BaseController { * 小时统计 */ @GetMapping("/test") -// @Scheduled(cron = "0 0/2 * * * ?") + @Scheduled(cron = "0 0/2 * * * ?") public void test(){ logger.info(">>>>>>>>>>>>>>>>>>>>>>>小时统计定时任务>>>>>>>>>>>>>>>>>>>>>"); //小时统计 @@ -868,7 +869,7 @@ public class XhpcHistoryOrderController extends BaseController { * 24小时异常订单自动结算 */ @GetMapping("/test4") -// @Scheduled(cron = "0 0/5 * * * ?") + @Scheduled(cron = "0 0/5 * * * ?") public void test4(){ //获取异常的订单 24小时之外的异常订单 List xhpcChargeOrderList= chargeOrderService.getXhpcChargeOrderStatus(2, 0); @@ -923,7 +924,7 @@ public class XhpcHistoryOrderController extends BaseController { * @param */ @GetMapping("/test5") -// @Scheduled(cron = "0 0/5 * * * ?") + @Scheduled(cron = "0 0/5 * * * ?") public void test5(){ logger.info(">>>>>>>>>>>>>>>>>>>>>>>标记异常大于创建4小时,标记为异常>>>>>>>>>>>>>>>>>>>>>"); chargeOrderService.updateStatus(); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcChargeOrder.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcChargeOrder.java index 23ea4bb7..db1b8dec 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcChargeOrder.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcChargeOrder.java @@ -145,6 +145,15 @@ public class XhpcChargeOrder extends BaseEntity { * 租户id */ private String tenantId; + //司机唯一标识(手机号) + private String driverId; + //充电金额 + private Integer chargingAmt; + //车牌 + private String PlateNum; + //符合Evcs标准的订单号,并非来自第三方的订单号 + private String evcsOrderNo; + public Integer getStopReasonEvcs() { @@ -435,4 +444,36 @@ public class XhpcChargeOrder extends BaseEntity { public void setTenantId(String tenantId) { this.tenantId = tenantId; } + + public String getDriverId() { + return driverId; + } + + public void setDriverId(String driverId) { + this.driverId = driverId; + } + + public Integer getChargingAmt() { + return chargingAmt; + } + + public void setChargingAmt(Integer chargingAmt) { + this.chargingAmt = chargingAmt; + } + + public String getPlateNum() { + return PlateNum; + } + + public void setPlateNum(String plateNum) { + PlateNum = plateNum; + } + + public String getEvcsOrderNo() { + return evcsOrderNo; + } + + public void setEvcsOrderNo(String evcsOrderNo) { + this.evcsOrderNo = evcsOrderNo; + } } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java index 82973ccf..ab367d48 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java @@ -129,6 +129,8 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar String username = loginUser.getUsername(); Integer userType = loginUser.getUserType(); Long userid = loginUser.getUserid(); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<登录用户id>>>>>>>>>>>>>>>>>"+userid); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<桩号>>>>>>>>>>>>>>>>>"+terminalSerialNumber); String openId = loginUser.getOpenId(); String tenantId = loginUser.getTenantId(); R user = userTypeService.getUser(null, userid, userType, terminalSerialNumber,loginUser.getTenantId()); @@ -259,14 +261,6 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:"+number); logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:"+startChargingData.getSoc()); - R r1 = powerPileService.startCharging(startChargingData); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>"); - if (r1.getCode() != 200) { - return AjaxResult.error(r1.getMsg()); - } //创建充电订单(充电启动soc初始值,结束是获取,并修改状态) XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder(); xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId()); @@ -280,7 +274,6 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) { xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString()); } - xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString())); if (type == 1) { xhpcChargeOrder.setChargingMode("微信"); } else { @@ -290,6 +283,16 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar xhpcChargeOrder.setType(40); xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder); + R r1 = powerPileService.startCharging(startChargingData); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>"); + if (r1.getCode() != 200) { + return AjaxResult.error(r1.getMsg()); + } + xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString())); + xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder); //插一帧实时数据 extracted(xhpcChargeOrder); return AjaxResult.success(); @@ -450,7 +453,7 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar StartChargingData startChargingData = new StartChargingData(); //500000 equals 500 yuan - startChargingData.setBalance(chargingAmt * 1000); + startChargingData.setBalance(chargingAmt * 100); startChargingData.setGunId(connectorId); @@ -551,24 +554,45 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar startChargingData.setSoc(number); logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + soc); logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + startChargingData.getSoc()); - - R r1 = powerPileService.startCharging(startChargingData); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方充电返回>>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方充电返回>>>>>>>>>>>>>>>>>"); - String startTime = DateUtil.format(date, "yyyy-MM-dd HH: mm: ss"); Map extraData1 = xhpcChargeOrderMapper.selectDate3rdNeedBy(connectorId).get(0); - Long rateModelId = Long.valueOf(r1.getData().toString()); Long terminalId = (Long) extraData1.get("terminalId"); Double power = (Double) extraData1.get("power"); Long chargingStationId = (Long) extraData1.get("chargingStationId"); Map extraData2 = xhpcChargeOrderMapper.select3rdNameBy(internetSerialNumber.substring(0, 9)).get(0); String chargingMode = (String) extraData2.get("name"); Long userId = (Long) extraData2.get("userId"); - int res = xhpcChargeOrderMapper.addBy3rd(internetSerialNumber, orderNo, driverId, chargingAmt, plateNum, status, date, rateModelId, terminalId, power, chargingStationId, chargingMode, 1, userId); + + XhpcChargeOrder xhpcChargeOrder =new XhpcChargeOrder(); + xhpcChargeOrder.setChargingStationId(chargingStationId); + xhpcChargeOrder.setInternetSerialNumber(internetSerialNumber); + xhpcChargeOrder.setSerialNumber(orderNo); + xhpcChargeOrder.setDriverId(driverId); + xhpcChargeOrder.setChargingAmt(chargingAmt); + xhpcChargeOrder.setPlateNum(plateNum); + xhpcChargeOrder.setStatus(status); + xhpcChargeOrder.setCreateTime(new Date()); + xhpcChargeOrder.setTerminalId(terminalId); + try { + xhpcChargeOrder.setPower(power.toString()); + }catch (Exception e){ + + } + xhpcChargeOrder.setSource(1); + xhpcChargeOrder.setUserId(userId); + xhpcChargeOrder.setChargingMode(chargingMode); + int res =xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder); + //int res = xhpcChargeOrderMapper.addBy3rd(internetSerialNumber, orderNo, driverId, chargingAmt, plateNum, status, date,null, terminalId, power, chargingStationId, chargingMode, 1, userId); + R r1 = powerPileService.startCharging(startChargingData); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方充电返回>>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方充电返回>>>>>>>>>>>>>>>>>"); + Long rateModelId = Long.valueOf(r1.getData().toString()); + xhpcChargeOrder.setRateModelId(rateModelId); + xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder); + Map data = new HashMap<>(); data.put("orderNo", orderNo); data.put("startTime", startTime); 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 d7ba2ea0..2d7a4ef5 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 @@ -684,18 +684,20 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe logger.info("<<<<<<<<<<<<<<<<发送短信失败>>>>>>>>>>>>>>>>>"); } addPileEndOrder(xhpcHistoryOrder, xhpcChargeOrder, xhpcChargeOrder.getSerialNumber(),1); - try{ - //充电结算后自动申请退款 - if(userMessage !=null && "1".equals(userMessage.get("isRefund").toString()) && map !=null){ - if(UserTypeUtil.CHARGING_MODE_WX.equals(xhpcChargeOrder.getChargingMode()) ||UserTypeUtil.CHARGING_MODE_ZFB.equals(xhpcChargeOrder.getChargingMode()) ){ - if(UserTypeUtil.USER_TYPE.equals(source) || UserTypeUtil.COMMUNIT_TYPE.equals(source)){ - refundOrderService.sendNotice(balance2,openids,xhpcChargeOrder.getSource(),refundTypes,xhpcChargeOrder.getUserId().toString(),xhpcChargeOrder.getTenantId(),"充电结算自动申请退款"); + if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ + try{ + //充电结算后自动申请退款 + if(userMessage !=null && "1".equals(userMessage.get("isRefund").toString()) && map !=null){ + if(UserTypeUtil.CHARGING_MODE_WX.equals(xhpcChargeOrder.getChargingMode()) ||UserTypeUtil.CHARGING_MODE_ZFB.equals(xhpcChargeOrder.getChargingMode()) ){ + if(UserTypeUtil.USER_TYPE.equals(source) || UserTypeUtil.COMMUNIT_TYPE.equals(source)){ + refundOrderService.sendNotice(balance2,openids,xhpcChargeOrder.getSource(),refundTypes,xhpcChargeOrder.getUserId().toString(),xhpcChargeOrder.getTenantId(),"充电结算自动申请退款"); + } } } + }catch (Exception e){ + e.printStackTrace(); + logger.info("<<<<<<<<<<<<<<<<自动退款失败>>>>>>>>>>>>>>>>>"); } - }catch (Exception e){ - e.printStackTrace(); - logger.info("<<<<<<<<<<<<<<<<自动退款失败>>>>>>>>>>>>>>>>>"); } } }); diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml index 2ba7906e..ad893332 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml @@ -240,6 +240,18 @@ tenant_id, + + driver_id, + + + charging_amt, + + + Plate_num, + + + evcs_order_no, + @@ -308,6 +320,18 @@ #{tenantId}, + + #{driverId}, + + + #{chargingAmt}, + + + #{PlateNum}, + + + #{evcsOrderNo}, + @@ -326,7 +350,12 @@ power = #{power}, erro_remark = #{erroRemark}, amount_charged = #{amountCharged}, - charging_time_number = #{chargingTimeNumber} + rate_model_id = #{rateModelId}, + charging_time_number = #{chargingTimeNumber}, + driver_id =#{driverId}, + charging_amt= #{chargingAmt}, + Plate_num= #{PlateNum}, + evcs_order_no= #{evcsOrderNo}, where charge_order_id = #{chargeOrderId} @@ -558,7 +587,8 @@ - + insert into xhpc_charge_order @@ -655,11 +685,11 @@ select xt.charging_station_id as chargingStationId, xt.terminal_id as terminalId, cs.rate_model_id as rateModelId, - power + xcp.power as power from xhpc_terminal as xt left join xhpc_charging_pile as xcp on xcp.serial_number = substring(#{serialNumber}, 1, 14) left join xhpc_charging_station as cs on xt.charging_station_id = cs.charging_station_id - where xt.serial_number = #{serialNumber} and xt.del_falg = 0 + where xt.serial_number = #{serialNumber} and xt.del_flag = 0