From 6c0bf83002063c76aac62cb5ce13edd0f4824f99 Mon Sep 17 00:00:00 2001 From: yuyang Date: Thu, 31 Mar 2022 09:31:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/XhpcChargingPileServiceImpl.java | 9 +- .../mapper/XhpcChargingPileMapper.xml | 10 ++- .../resources/mapper/XhpcTerminalMapper.xml | 10 ++- .../order/api/XhpcChargeOrderController.java | 6 +- .../order/api/XhpcPileOrderController.java | 85 ++++++++++++++++--- .../XhpcHistoryOrderController.java | 2 - .../impl/XhpcChargeOrderServiceImpl.java | 7 +- .../impl/XhpcRealTimeOrderServiceImpl.java | 42 ++++----- 8 files changed, 119 insertions(+), 52 deletions(-) diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java index 71191026..a3be522d 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java @@ -127,6 +127,7 @@ public class XhpcChargingPileServiceImpl extends BaseService implements IXhpcCha public AjaxResult addXhpcChargingPile(XhpcChargingPile xhpcChargingPile) { Long chargingStationId = xhpcChargingPile.getChargingStationId(); LoginUser loginUser = tokenService.getLoginUser(); + String tenantId = loginUser.getTenantId(); R r1 = tenantService.gettenantIdTime(loginUser.getTenantId()); if(r1.getCode()!=200){ return AjaxResult.error(1001, "请重新登录"); @@ -157,6 +158,7 @@ public class XhpcChargingPileServiceImpl extends BaseService implements IXhpcCha xhpcChargingPile.setRateModelId(rateModelId); String serialNumber = xhpcChargingPile.getSerialNumber(); xhpcChargingPile.setCreateTime(new Date()); + xhpcChargingPile.setTenantId(tenantId); //判断桩编号是否重复 int count = xhpcChargingPileMapper.getXhpcChargingPileSerialNumberCount(serialNumber); if (count > 0) { @@ -170,7 +172,7 @@ public class XhpcChargingPileServiceImpl extends BaseService implements IXhpcCha if (xhpcChargingPile.getGunNumber() > 0) { int number = xhpcChargingPileMapper.countXhpcTerminal(chargingStationId); for (int i = 1; i <= xhpcChargingPile.getGunNumber(); i++) { - addXhpcTerminal(xhpcChargingPile.getName(), chargingStationId, rateModelId, serialNumber, chargingPileId, i, number + 1, xhpcChargingPile.getConnectorType()); + addXhpcTerminal(xhpcChargingPile.getName(), chargingStationId, rateModelId, serialNumber, chargingPileId, i, number + 1, xhpcChargingPile.getConnectorType(),tenantId); } } @@ -196,7 +198,7 @@ public class XhpcChargingPileServiceImpl extends BaseService implements IXhpcCha * @date 2022/2/17 15:31 * @since version-1.0 */ - private void addXhpcTerminal(String name, Long chargingStationId, Long rateModelId, String serialNumber, Long chargingPileId, int i, int number, int conType) { + private void addXhpcTerminal(String name, Long chargingStationId, Long rateModelId, String serialNumber, Long chargingPileId, int i, int number, int conType,String tenantId) { XhpcTerminal xhpcTerminal = new XhpcTerminal(); xhpcTerminal.setChargingStationId(chargingStationId); @@ -213,6 +215,7 @@ public class XhpcChargingPileServiceImpl extends BaseService implements IXhpcCha xhpcTerminal.setRateModelId(rateModelId); xhpcTerminal.setNumber(number); xhpcTerminal.setConnectorType(conType); + xhpcTerminal.setTenantId(tenantId); xhpcTerminalMapper.insertXhpcTerminal(xhpcTerminal); //获取场站名称: @@ -257,7 +260,7 @@ public class XhpcChargingPileServiceImpl extends BaseService implements IXhpcCha // 删除阿里云上面之前可能存在的桩图片文件夹 // clearRepetition(environment, serialNumber); for (int i = 1; i <= xhpcChargingPile.getGunNumber(); i++) { - addXhpcTerminal(xhpcChargingPile.getName(), chargingStationId, rateModelId, serialNumber, chargingPileId, i, number + 1, xhpcChargingPile.getConnectorType()); + addXhpcTerminal(xhpcChargingPile.getName(), chargingStationId, rateModelId, serialNumber, chargingPileId, i, number + 1, xhpcChargingPile.getConnectorType(),xhpc.getTenantId()); } } //插入redis 桩的编号 diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingPileMapper.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingPileMapper.xml index 12c23d46..67158d89 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingPileMapper.xml +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingPileMapper.xml @@ -213,7 +213,10 @@ current, - equipment_type + equipment_type, + + + tenant_id @@ -311,7 +314,10 @@ #{current}, - #{equipmentType} + #{equipmentType}, + + + #{tenantId} diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml index 670328c0..57372119 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml @@ -190,7 +190,10 @@ number - operator_id_evcs + operator_id_evcs, + + + tenant_id, @@ -243,7 +246,10 @@ #{number} - #{operatorIdEvcs} + #{operatorIdEvcs}, + + + #{tenantId}, 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 2092a692..54b3455b 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 @@ -136,7 +136,8 @@ public class XhpcChargeOrderController extends BaseController { LoginUser loginUser = tokenService.getLoginUser(request); String tenantId = loginUser.getTenantId(); String userTypeUtil = loginUser.getUserTypeUtil(); - String message = tenantId + userTypeUtil + userId; + String message = tenantId + userTypeUtil + loginUser.getUserid(); + logger.info("<<<<<<<<<<再次<<<<<<<<<<<<<<"+message+">>>>>>>>>>>>>>>>>"); Map cacheMap = redisService.getCacheMap("realTimeTenantId:"+message); Map map =new HashMap<>(); map.put("code", 200); @@ -160,8 +161,11 @@ public class XhpcChargeOrderController extends BaseController { data.put("type","-1"); data.put("parkingInstructions","充电完成请尽快离场,超时车位占用费10元/小时"); map.put("data", data); + logger.info("<<<<<<<<<<不是缓存数据<<<<<<<<<<<<<<"); }else{ map.put("data",cacheMap); + logger.info("<<<<<<<<<<是缓存数据<<<<<<<<<<<<<<"); + logger.info("<<<<<<<<<<是缓存数据<<<<<<<<<<<<<<"); } JSONObject json = new JSONObject(map); webSocketService.getMessage(message,json.toString()); 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 3b496b6e..be45eb08 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 @@ -64,7 +64,7 @@ public class XhpcPileOrderController extends BaseController { */ @GetMapping("/chargeOrder/pileStartup") public R pileStartup(@RequestParam(value = "orderNo")String orderNo, @RequestParam(value = "status")Integer status,@RequestParam(value = "remark") String remark) { - logger.info("桩启动回调接口>>>>>状态:"+status+"备注++"+"remark"+"订单号"+orderNo); + logger.info("桩启动回调接口>>>>>状态:"+status+"备注++"+remark+"订单号"+orderNo); //解析订单编号 Long userId =0L; @@ -86,9 +86,19 @@ public class XhpcPileOrderController extends BaseController { map.put("message", remark); JSONObject json = new JSONObject(map); logger.info("桩启动回调接口>>>>>json:"+json.toString()); + Integer source = xhpcChargeOrder.getSource(); + String tenantId = xhpcChargeOrder.getTenantId(); + String message = ""; + if(UserTypeUtil.USER_TYPE.equals(source)){ + message = tenantId + UserTypeUtil.USER + userId; + }else if(UserTypeUtil.COMMUNIT_TYPE.equals(source)){ + message = tenantId + UserTypeUtil.COMMUNIT + userId; + }else{ + message = tenantId + UserTypeUtil.CUSTOMERS + userId; + } //消息对了内容 if(xhpcChargeOrder.getSource()==0){ - webSocketService.getMessage(userId+"",json.toString()); + webSocketService.getMessage(message,json.toString()); } return R.ok(); } @@ -173,11 +183,23 @@ public class XhpcPileOrderController extends BaseController { }else{ //修改订单,判断订单 } + Integer source = xhpcChargeOrder.getSource(); + String tenantId = xhpcChargeOrder.getTenantId(); + String message = ""; + if(UserTypeUtil.USER_TYPE.equals(source)){ + message = tenantId + UserTypeUtil.USER + userId; + }else if(UserTypeUtil.COMMUNIT_TYPE.equals(source)){ + message = tenantId + UserTypeUtil.COMMUNIT + userId; + }else{ + message = tenantId + UserTypeUtil.CUSTOMERS + userId; + } if(xhpcChargeOrder.getSource()==0){ map.put("code", code); JSONObject json = new JSONObject(map); //消息对了内容 - webSocketService.getMessage(userId+"",json.toString()); + if(code !=500){ + webSocketService.getMessage(message,json.toString()); + } } return R.ok(); } @@ -201,15 +223,16 @@ public class XhpcPileOrderController extends BaseController { return R.fail(500,"无效订单号"); } Long userId = xhpcChargeOrder.getUserId(); + Integer source = xhpcChargeOrder.getSource(); + String tenantId = xhpcChargeOrder.getTenantId(); try { Date date = new Date(); xhpcChargeOrder.setEndTime(date); xhpcChargeOrder.setUpdateTime(date); xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder); Map map = xhpcRealTimeOrderService.addOrderTime(cacheRealtimeData, xhpcChargeOrder, orderNo, 1); - Integer source = xhpcChargeOrder.getSource(); + if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ - String tenantId = xhpcChargeOrder.getTenantId(); //存入换成 JSONObject json = new JSONObject(map); String message = ""; @@ -230,9 +253,17 @@ public class XhpcPileOrderController extends BaseController { map.put("code", 500); map.put("userId", xhpcChargeOrder.getUserId()); JSONObject json = new JSONObject(map); + String message = ""; + if(UserTypeUtil.USER_TYPE.equals(source)){ + message = tenantId + UserTypeUtil.USER + userId; + }else if(UserTypeUtil.COMMUNIT_TYPE.equals(source)){ + message = tenantId + UserTypeUtil.COMMUNIT + userId; + }else{ + message = tenantId + UserTypeUtil.CUSTOMERS + userId; + } if(xhpcChargeOrder.getSource()==0){ //消息对了内容 - webSocketService.getMessage(userId+"",json.toString()); + webSocketService.getMessage(message,json.toString()); } return R.fail(500,"无实时数据"); } @@ -399,17 +430,21 @@ public class XhpcPileOrderController extends BaseController { Integer source = xhpcChargeOrder.getSource(); String tenantId = xhpcChargeOrder.getTenantId(); if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ + long l1 = System.currentTimeMillis(); + logger.info("<<<<<<<"+orderNo+"开始获取用户时间>>>>>:"+l1); R user = userTypeService.getUser(null, userId, source, null, tenantId); - if(user !=null && user.getData() !=null){ + long l2 = System.currentTimeMillis(); + logger.info("<<<<<<<"+orderNo+"结束获取用户时间>>>>>:"+l2); + logger.info("<<<<<<<"+orderNo+"时间差>>>>>:"+(l2-l1)); + if(user !=null && user.getData() !=null ){ userMessage = (Map)user.getData(); if (userMessage == null || userMessage.get("balance") == null) { - //订单异常 - xhpcChargeOrder.setStatus(2); - //异常原因 - xhpcChargeOrder.setErroRemark("".equals(xhpcChargeOrder.getErroRemark())?"桩异常:" + stopReason + ">>>>用户id:" + userId + "为空":xhpcChargeOrder.getErroRemark()+"桩异常:" + stopReason + ">>>>用户id:" + userId + "为空"); - xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder); - R.ok(); + logger.info("获取用户信息失败>>userMessage>>>orderNo:"+orderNo); + return R.fail(500,"添加订单回调失败"); } + }else{ + logger.info("获取用户信息失败>>user>>>orderNo:"+orderNo); + return R.fail(500,"添加订单回调失败"); } }else{ Map pushOrder = redisService.getCacheMap("pushOrder:"+orderNo); @@ -429,6 +464,8 @@ public class XhpcPileOrderController extends BaseController { Map map = new HashMap<>(); map.put("code", 500); map.put("userId", userId); + map.put("type", 2); + map.put("chargingOrderId", xhpcChargeOrder.getChargeOrderId()); JSONObject json = new JSONObject(map); if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ @@ -443,10 +480,30 @@ public class XhpcPileOrderController extends BaseController { webSocketService.getMessage(message,json.toString()); } }else{ + Map map = new HashMap<>(); + map.put("code", 300); + map.put("userId", userId); + map.put("type", 2); + map.put("chargingOrderId", xhpcChargeOrder.getChargeOrderId()); + map.put("msg", "请重新点击停止充电"); + JSONObject json = new JSONObject(map); + + if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ + String message =""; + if(UserTypeUtil.USER_TYPE.equals(source)){ + message=tenantId+UserTypeUtil.USER+userId; + }else if(UserTypeUtil.COMMUNIT_TYPE.equals(source)){ + message=tenantId+UserTypeUtil.COMMUNIT+userId; + }else{ + message=tenantId+UserTypeUtil.CUSTOMERS+userId; + } + webSocketService.getMessage(message,json.toString()); + } return R.fail(); } }catch (Exception e){ e.printStackTrace(); + logger.info("添加订单回调失败>>>>>orderNo:"+orderNo); return R.fail(500,"添加订单回调失败"); } return R.ok(); @@ -507,7 +564,7 @@ public class XhpcPileOrderController extends BaseController { * @return */ private Long update(Integer status, String remark, String serialNumber, Integer type) { - logger.info("状态:"+status+"备注++"+"remark"+"订单号"+serialNumber); + logger.info("状态:"+status+"备注++"+remark+"订单号"+serialNumber); XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(serialNumber); Date date = new Date(); if(status==0){ 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 cb6fef11..bbe834bf 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 @@ -50,8 +50,6 @@ public class XhpcHistoryOrderController extends BaseController { private IXhpcChargeOrderService chargeOrderService; @Autowired private UserTypeService userTypeService; - @Autowired - private RefundOrderService refundOrderService; private static final Logger logger = LoggerFactory.getLogger(XhpcHistoryOrderController.class); 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 7d712357..9cbcb91e 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 @@ -135,7 +135,12 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar logger.info("<<<<<<<<<<<<<<<<<<<<<<<桩号>>>>>>>>>>>>>>>>>"+terminalSerialNumber); String openId = loginUser.getOpenId(); String tenantId = loginUser.getTenantId(); + long l1 = System.currentTimeMillis(); + logger.info("<<<<<<<"+terminalSerialNumber+"开始启动充电获取用户时间>>>>>:"+l1); R user = userTypeService.getUser(null, userid, userType, terminalSerialNumber,loginUser.getTenantId()); + long l2 = System.currentTimeMillis(); + logger.info("<<<<<<<"+terminalSerialNumber+"结束启动充电获取用户时间>>>>>:"+l2); + logger.info("<<<<<<<"+terminalSerialNumber+"启动充电时间差>>>>>:"+(l2-l1)); if (!userid.equals(userId) || user == null || user.getData() == null) { return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录"); } @@ -566,7 +571,7 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar } startChargingData.setSoc(number); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + soc); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + number); logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + startChargingData.getSoc()); String startTime = DateUtil.format(date, "yyyy-MM-dd HH: mm: ss"); Map extraData1 = xhpcChargeOrderMapper.selectDate3rdNeedBy(connectorId).get(0); 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 3aa145ef..acb5ebe2 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 @@ -672,32 +672,20 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe try{ logger.info("<<<<<<<<<<<<<<<<进行入短信发送>>>>>>>>>>>>>>>>>"); if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ - R> user = userTypeService.getUser(null, userId, source, null, xhpcChargeOrder.getTenantId()); - if(user !=null && user.getData() !=null){ - logger.info("<<<<<<<<<<<<<<<<进行入短信发送1111>>>>>>>>>>>>>>>>>"); - Map userMessage = (Map)user.getData(); - if (userMessage != null && userMessage.get("phone") != null) { - logger.info("<<<<<<<<<<<<<<<<进行入短信发送222>>>>>>>>>>>>>>>>>"); -// HashMap paramMap = new HashMap<>(); -// paramMap.put("elec", xhpcChargeOrder.getEndSoc()); -// paramMap.put("sumMoney", balance.toString()); -// paramMap.put("phone", userMessage.get("phone").toString()); -// paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getEndSoc() + "%,总费用为:" + balance + "元,充电费用明细,请查询小华充电小程序,谢谢。"); -// smsService.sendNotice(paramMap); - if("1".equals(xhpcChargingPile.get("type").toString())){ - HashMap paramMap = new HashMap<>(); - paramMap.put("elec", xhpcChargeOrder.getEndSoc()); - paramMap.put("sumMoney", balance.toString()); - paramMap.put("phone", userMessage.get("phone").toString()); - paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getEndSoc() + "%,总费用为:" + balance + "元,充电费用明细,请查询小华充电小程序,谢谢。"); - smsService.sendNotice(paramMap); - }else { - HashMap paramMap = new HashMap<>(); - paramMap.put("sumMoney", balance.toString()); - paramMap.put("phone", userMessage.get("phone").toString()); - paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,总费用为:" + balance.toString() + "元,充电费用明细,请查询小华充电小程序,谢谢。"); - smsService.sendNotice(paramMap); - } + if(userMessage !=null && userMessage.get("phone") != null){ + if("1".equals(xhpcChargingPile.get("type").toString())){ + HashMap paramMap = new HashMap<>(); + paramMap.put("elec", xhpcChargeOrder.getEndSoc()); + paramMap.put("sumMoney", balance.toString()); + paramMap.put("phone", userMessage.get("phone").toString()); + paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getEndSoc() + "%,总费用为:" + balance + "元,充电费用明细,请查询小华充电小程序,谢谢。"); + smsService.sendNotice(paramMap); + }else { + HashMap paramMap = new HashMap<>(); + paramMap.put("sumMoney", balance.toString()); + paramMap.put("phone", userMessage.get("phone").toString()); + paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,总费用为:" + balance.toString() + "元,充电费用明细,请查询小华充电小程序,谢谢。"); + smsService.sendNotice(paramMap); } } } @@ -723,7 +711,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe } }); }catch (Exception e){ - logger.info("<<<<<<<<<<<<<<<<运行异常,结算失败,数据回滚>>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<运行异常,结算失败,数据回滚>>>>>>>>>>>>>>>>>"+xhpcChargeOrder.getSerialNumber()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return R.fail(); }