From 5f87907a808dce158ed8e2b6fa9790523215213b Mon Sep 17 00:00:00 2001 From: yuyang Date: Wed, 16 Mar 2022 09:29:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=98=B2=E6=AD=A2=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=B8=8D=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/api/XhpcPileOrderController.java | 17 +- .../impl/XhpcChargeOrderServiceImpl.java | 376 +++++++++--------- .../resources/mapper/XhpcAppUserMapper.xml | 3 +- 3 files changed, 213 insertions(+), 183 deletions(-) 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 64198039..a9741259 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 @@ -72,6 +72,11 @@ public class XhpcPileOrderController extends BaseController { //解析订单编号 Long userId =0L; Integer code =200; + XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); + if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){ + logger.info("桩启动回调接口--无效订单号>>>>>orderNo:" + orderNo); + return R.fail(500,"无效订单号"); + } if (status == 1) { userId = update(0, remark, orderNo, 0); } else { @@ -85,7 +90,6 @@ public class XhpcPileOrderController extends BaseController { JSONObject json = new JSONObject(map); logger.info("桩启动回调接口>>>>>json:"+json.toString()); //消息对了内容 - XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); if(xhpcChargeOrder.getSource()==0){ webSocketService.getMessage(userId+"",json.toString()); } @@ -113,6 +117,11 @@ public class XhpcPileOrderController extends BaseController { map.put("userId", userId); } XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); + if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){ + logger.info("桩停止回调接口--无效订单号>>>>>orderNo:" + orderNo); + return R.fail(500,"无效订单号"); + } + if (status == 1) { xhpcChargeOrder.setStatus(0); map.put("message", "停止充电成功"); @@ -192,9 +201,9 @@ public class XhpcPileOrderController extends BaseController { XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){ + logger.info("桩实时数据回调接口--无效订单号>>>>>orderNo:" + orderNo); return R.fail(500,"无效订单号"); } - Long userId = xhpcChargeOrder.getUserId(); try { Date date = new Date(); @@ -457,6 +466,10 @@ public class XhpcPileOrderController extends BaseController { //获取实时订单 XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); + if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){ + logger.info("订单异常回调接口--无效订单号>>>>>orderNo:" + orderNo); + return R.fail(500,"无效订单号"); + } Integer source = xhpcChargeOrder.getSource(); String tenantId = xhpcChargeOrder.getTenantId(); if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ 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 af928810..023c6078 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 @@ -35,6 +35,8 @@ import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -64,9 +66,9 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar @Autowired private IXhpcRealTimeOrderService xhpcRealTimeOrderService; + private final ExecutorService executorService = Executors.newFixedThreadPool(40); + private static final Logger logger = LoggerFactory.getLogger(XhpcChargeOrderServiceImpl.class); - //队列名称 - private final static String NAME = "webSocket"; @PostConstruct public void init(){ @@ -123,186 +125,195 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar @Override @Transactional public AjaxResult startUp(HttpServletRequest request, Long userId, String terminalSerialNumber, Integer type) { - - LoginUser loginUser = tokenService.getLoginUser(request); - if (StringUtils.isNotNull(loginUser)) { - 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()); - if (!userid.equals(userId) || user == null || user.getData() == null) { - return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录"); - } - Map userMessage = (Map)user.getData(); - if(UserTypeUtil.USER_TYPE !=userType){ - if(Integer.valueOf(userMessage.get("number").toString())==0){ - return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "此账号不能在该场站充电,请使用手机号登录"); + try{ + LoginUser loginUser = tokenService.getLoginUser(request); + if (StringUtils.isNotNull(loginUser)) { + 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()); + if (!userid.equals(userId) || user == null || user.getData() == null) { + return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录"); } - } - String pattern = "^([0-9]{16})"; - Pattern compile = Pattern.compile(pattern); - Matcher m = compile.matcher(terminalSerialNumber); - if (terminalSerialNumber.length() != 16 || !m.matches()) { - return AjaxResult.error(1104, "无效的终端编号"); - } - //查看充电用户金额是否大于5元 - //Map userMessage = xhpcChargeOrderMapper.getUserMessage(userId); - BigDecimal a = new BigDecimal(5); - if (userMessage == null || userMessage.get("balance") == null || a.compareTo(new BigDecimal(userMessage.get("balance").toString())) == 1) { - return AjaxResult.error(1100, "金额小于5元,不能充电,请充值后再进行充电"); - } - //充电用户是否存在异常的订单 - int j = xhpcChargeOrderMapper.countXhpcChargeOrder(userId,userType,tenantId); - if (j > 0) { - return AjaxResult.error(1103, "你有异常订单未解决,请拨打客服电话进行解决"); - } - //查看充电用户是否有申请退款的订单,还未处理 - if (Integer.parseInt(userMessage.get("isRefundApplication").toString()) != 0) { - return AjaxResult.error(1101, "你有申请退款订单在审核中,需要充电请取消申请退款"); - } - //充电用户是否在充电中 - String i = xhpcChargeOrderMapper.countXhpcRealTimeOrder(userId,userType,tenantId); - if (!"".equals(i) && i!=null) { - return AjaxResult.error(1102, "车辆正在充电,请查询车辆充电信息"); - } - //终端状态是否空闲 - //是否插枪 - Map cacheMap = REDIS.getCacheMap("gun:" + terminalSerialNumber); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>"); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>" + terminalSerialNumber); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>" + cacheMap.toString()); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>"); - - if(cacheMap==null){ - return AjaxResult.error(1105, "未注册的终端,请选择其他终端充电"); - }else{ - if(cacheMap.get("status") ==null){ - return AjaxResult.error(1106, "未知的终端状态,请选择其他终端充电"); - }else{ - String status = cacheMap.get("status").toString(); - //不同的状态 - if("离线".equals(status)||"故障".equals(status) ||"充电".equals(status)){ - return AjaxResult.error(1107, "此终端"+status+"中,请选择其他终端充电"); + Map userMessage = (Map)user.getData(); + if(UserTypeUtil.USER_TYPE !=userType){ + if(Integer.valueOf(userMessage.get("number").toString())==0){ + return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "此账号不能在该场站充电,请使用手机号登录"); } } - if(cacheMap.get("vehicleGunStatus") ==null){ - return AjaxResult.error(1108, "未知的枪状态,请选择其他终端充电"); + String pattern = "^([0-9]{16})"; + Pattern compile = Pattern.compile(pattern); + Matcher m = compile.matcher(terminalSerialNumber); + if (terminalSerialNumber.length() != 16 || !m.matches()) { + return AjaxResult.error(1104, "无效的终端编号"); + } + //查看充电用户金额是否大于5元 + //Map userMessage = xhpcChargeOrderMapper.getUserMessage(userId); + BigDecimal a = new BigDecimal(5); + if (userMessage == null || userMessage.get("balance") == null || a.compareTo(new BigDecimal(userMessage.get("balance").toString())) == 1) { + return AjaxResult.error(1100, "金额小于5元,不能充电,请充值后再进行充电"); + } + //充电用户是否存在异常的订单 + int j = xhpcChargeOrderMapper.countXhpcChargeOrder(userId,userType,tenantId); + if (j > 0) { + return AjaxResult.error(1103, "你有异常订单未解决,请拨打客服电话进行解决"); + } + //查看充电用户是否有申请退款的订单,还未处理 + if (Integer.parseInt(userMessage.get("isRefundApplication").toString()) != 0) { + return AjaxResult.error(1101, "你有申请退款订单在审核中,需要充电请取消申请退款"); + } + //充电用户是否在充电中 + String i = xhpcChargeOrderMapper.countXhpcRealTimeOrder(userId,userType,tenantId); + if (!"".equals(i) && i!=null) { + return AjaxResult.error(1102, "车辆正在充电,请查询车辆充电信息"); + } + //终端状态是否空闲 + //是否插枪 + Map cacheMap = REDIS.getCacheMap("gun:" + terminalSerialNumber); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>" + terminalSerialNumber); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>" + cacheMap.toString()); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>"); + + if(cacheMap==null){ + return AjaxResult.error(1105, "未注册的终端,请选择其他终端充电"); }else{ - String vehicleGunStatus = cacheMap.get("vehicleGunStatus").toString(); - if(!"是".equals(vehicleGunStatus)){ - return AjaxResult.error(1109, "请插好充电枪"); + if(cacheMap.get("status") ==null){ + return AjaxResult.error(1106, "未知的终端状态,请选择其他终端充电"); + }else{ + String status = cacheMap.get("status").toString(); + //不同的状态 + if("离线".equals(status)||"故障".equals(status) ||"充电".equals(status)){ + return AjaxResult.error(1107, "此终端"+status+"中,请选择其他终端充电"); + } + } + if(cacheMap.get("vehicleGunStatus") ==null){ + return AjaxResult.error(1108, "未知的枪状态,请选择其他终端充电"); + }else{ + String vehicleGunStatus = cacheMap.get("vehicleGunStatus").toString(); + if(!"是".equals(vehicleGunStatus)){ + return AjaxResult.error(1109, "请插好充电枪"); + } } } - } - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>"+terminalSerialNumber+">>>>>>>>>>>>>"+tenantId); - //终端信息 - XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(terminalSerialNumber,tenantId); - if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) { - return AjaxResult.error(1104, "无效的终端编号"); - } - logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>>>>>>>>>>>>>"); - //余额 - String balance = new BigDecimal(userMessage.get("balance").toString()).multiply(new BigDecimal(100)).toString(); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>"+terminalSerialNumber+">>>>>>>>>>>>>"+tenantId); + //终端信息 + XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(terminalSerialNumber,tenantId); + if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) { + return AjaxResult.error(1104, "无效的终端编号"); + } + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>>>>>>>>>>>>>"); + //余额 + String balance = new BigDecimal(userMessage.get("balance").toString()).multiply(new BigDecimal(100)).toString(); + //获取桩信息 + Map xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId(),tenantId); + //启动充电 + StartChargingData startChargingData = new StartChargingData(); + //订单流水号 终端号+年月日时分秒+自增4位 共32位 + String orderNo = genOrder(terminalSerialNumber); - //获取桩信息 - Map xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId(),tenantId); - - //启动充电 - StartChargingData startChargingData = new StartChargingData(); - //订单流水号 终端号+年月日时分秒+自增4位 共32位 - String orderNo = genOrder(terminalSerialNumber); - - startChargingData.setOrderNo(orderNo); - if(userMessage.get("phone") !=null){ - startChargingData.setTel(userMessage.get("phone").toString()); - } - startChargingData.setPileNo(xhpcTerminal.getPileSerialNumber()); - startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14)); - startChargingData.setBalance(Double.valueOf(balance).intValue()); - if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){ - startChargingData.setVersion(xhpcChargingPileById.get("communicationProtocolVersion").toString()); - }else{ - startChargingData.setVersion("0A"); - } - - //用户、桩、平台(最小的) - int number =0; - if(!"".equals(userMessage.get("socUser")) && userMessage.get("socUser") !=null && userMessage.get("socProtect") !=null && !"0".equals(userMessage.get("socProtect").toString())){ - number =Integer.parseInt(userMessage.get("socUser").toString()); - } - //平台 - String soc = redisService.getCacheObject("global:SOC"); - if(!"".equals(soc) && soc!=null){ - if(number!=0){ - if(Integer.parseInt(soc)-number<0){ + startChargingData.setOrderNo(orderNo); + if(userMessage.get("phone") !=null){ + startChargingData.setTel(userMessage.get("phone").toString()); + } + startChargingData.setPileNo(xhpcTerminal.getPileSerialNumber()); + startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14)); + startChargingData.setBalance(Double.valueOf(balance).intValue()); + if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){ + startChargingData.setVersion(xhpcChargingPileById.get("communicationProtocolVersion").toString()); + }else{ + startChargingData.setVersion("0A"); + } + //用户、桩、平台(最小的) + int number =0; + if(!"".equals(userMessage.get("socUser")) && userMessage.get("socUser") !=null && userMessage.get("socProtect") !=null && !"0".equals(userMessage.get("socProtect").toString())){ + number =Integer.parseInt(userMessage.get("socUser").toString()); + } + //平台 + String soc = redisService.getCacheObject("global:SOC"); + if(!"".equals(soc) && soc!=null){ + if(number!=0){ + if(Integer.parseInt(soc)-number<0){ + number=Integer.parseInt(soc); + } + }else{ number=Integer.parseInt(soc); } - }else{ - number=Integer.parseInt(soc); } - } - Map operatorMessage = xhpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId()); - if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){ - if(number!=0){ - if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){ + Map operatorMessage = xhpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId()); + if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){ + if(number!=0){ + if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){ + number=Integer.parseInt(operatorMessage.get("soc").toString()); + } + }else{ number=Integer.parseInt(operatorMessage.get("soc").toString()); } - }else{ - number=Integer.parseInt(operatorMessage.get("soc").toString()); } - } - if(number !=0){ - startChargingData.setSoc(number); - } - logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:"+number); - logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:"+startChargingData.getSoc()); + if(number !=0){ + startChargingData.setSoc(number); + } + logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:"+number); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:"+startChargingData.getSoc()); + //创建充电订单(充电启动soc初始值,结束是获取,并修改状态) + XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder(); + xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId()); + xhpcChargeOrder.setUserId(userId); + xhpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId()); + xhpcChargeOrder.setGunId(xhpcTerminal.getSerialNumber()); + xhpcChargeOrder.setSerialNumber(orderNo); + xhpcChargeOrder.setSource(userType); + xhpcChargeOrder.setStatus(-1); + xhpcChargeOrder.setTenantId(tenantId); + if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) { + xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString()); + } + if (type == 1) { + xhpcChargeOrder.setChargingMode("微信"); + } else { + xhpcChargeOrder.setChargingMode("支付宝"); + } + xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime()); + xhpcChargeOrder.setType(40); + xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder); - //创建充电订单(充电启动soc初始值,结束是获取,并修改状态) - XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder(); - xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId()); - xhpcChargeOrder.setUserId(userId); - xhpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId()); - xhpcChargeOrder.setGunId(xhpcTerminal.getSerialNumber()); - xhpcChargeOrder.setSerialNumber(orderNo); - xhpcChargeOrder.setSource(userType); - xhpcChargeOrder.setStatus(-1); - xhpcChargeOrder.setTenantId(tenantId); - if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) { - xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString()); + executorService.execute(new Runnable() { + @Override + public void run() { + R r1 = powerPileService.startCharging(startChargingData); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>"); + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>"); + if(r1.getCode() == 200){ + try{ + xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString())); + xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder); + //插一帧实时数据 + extracted(xhpcChargeOrder); + }catch (Exception e){ + e.printStackTrace(); + logger.error("update order[{}] failed.", orderNo); + } + } + } + }); + logger.info("<<<<<<<<<1111<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId); + logger.info("<<<<<<<<<2222<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId); + logger.info("<<<<<<<<<3333<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId); + logger.info("<<<<<<<<<4444<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId); + return AjaxResult.success(); + }else{ + return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录"); } - if (type == 1) { - xhpcChargeOrder.setChargingMode("微信"); - } else { - xhpcChargeOrder.setChargingMode("支付宝"); - } - xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime()); - 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()); - } - try{ - xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString())); - xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder); - //插一帧实时数据 - extracted(xhpcChargeOrder); - }catch (Exception e){ - logger.error("update order[{}] failed.", orderNo); - } - return AjaxResult.success(); - }else{ - return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录"); + }catch (Exception e){ + e.printStackTrace(); } + return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录"); } @Override @@ -583,20 +594,26 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar 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("<<<<<<<<<<<<<<<<<<<<<<<<第三方充电返回>>>>>>>>>>>>>>>>>"); - try { - Long rateModelId = Long.valueOf(r1.getData().toString()); - xhpcChargeOrder.setRateModelId(rateModelId); - xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder); - } catch (Exception e) { - logger.error("update order[{}] failed.", orderNo); - } + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber); + executorService.execute(new Runnable() { + @Override + public void run() { + R r1 = powerPileService.startCharging(startChargingData); + try { + Long rateModelId = Long.valueOf(r1.getData().toString()); + xhpcChargeOrder.setRateModelId(rateModelId); + xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder); + } catch (Exception e) { + e.printStackTrace(); + logger.error("update order[{}] failed.", orderNo); + } + } + }); + logger.info("<<<<<<<<<1111<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber); + logger.info("<<<<<<<<<2222<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber); + logger.info("<<<<<<<<<3333<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber); + logger.info("<<<<<<<<<4444<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber); Map data = new HashMap<>(); data.put("startTime", startTime); data.put("orderNo", orderNo); @@ -609,7 +626,6 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar r.setMsg("内部服务调用错误"); } return r; - } @Override diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml index 4319fb22..74e8f0d3 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml @@ -211,7 +211,8 @@