From 3738b00b55f3e6588786ba2eb228cd9c286b65c2 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Thu, 19 Nov 2020 01:12:07 +0800 Subject: [PATCH] fix bug --- .../car/WxCarETCPCallBackController.java | 22 ++++++++++++++++++- .../service/park/impl/etcp/EtcpHelper.java | 4 ++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java index 1ad7addf8..51bae65a3 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java @@ -195,7 +195,21 @@ public class WxCarETCPCallBackController extends BaseController { carCmdLogQ.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode()); carCmdLogQ.setSynId(orderId); carCmdLogQ.setPlateNumber(carNumber); - WxCarCmdLog tenantInfo = wxCarCmdLogService.getTenantInfoBySynId(carCmdLogQ); + //此处去park里面轮询 + WxPark wxparkQuery = new WxPark(); + wxparkQuery.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); + PageInfo pages = wxParkService.listAsPage(wxparkQuery, 1, 10000); + WxCarCmdLog tenantInfo = null; + if (null != pages && null != pages.getList() ) { + for (int i = 0 ; i < pages.getList().size(); i ++) { + carCmdLogQ.setTenantId(pages.getList().get(i).getTenantId()); + tenantInfo = wxCarCmdLogService.getTenantInfoBySynId(carCmdLogQ); + if (null != tenantInfo) { + break; + } + } + } + String tenantId = null; /// if not found syn_id, maybe use user_car to get tenantId if(tenantInfo == null) { @@ -205,6 +219,12 @@ public class WxCarETCPCallBackController extends BaseController { if(userCar != null) { tenantId = userCar.getTenantId(); } + + if (StringUtils.isBlank(tenantId)) { + logger.error("["+getIpAddr()+"etcpPaidCallback: " + paramMap.toString() +" find no tenantInfo" ); + return new Result(ErrorCode.SYS_SERVER_ERROR.getCode(), "入库错误 find no tenantInfo"); + } + if (StringUtils.isNotBlank(tenantId)) { carCmdLogQ.setTenantId(tenantId); } diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java b/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java index 1cbde6998..6c194f7fc 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java @@ -61,6 +61,10 @@ public class EtcpHelper { public ResultData initForEtcp(Map paramMap, Long userId, WxPark park) { String phone = paramMap.get("phone"); WxCUserBasicInfo user = wxCUserBasicInfoService.getById(userId,park.getFinalTenantId()); + if (null == user) { + logger.error("暂未成为会员,请授权手机号"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "暂未成为会员,请授权手机号"); + } if (StringUtils.isBlank(phone) && StringUtils.isBlank(user.getPhone())) { logger.error("暂未成为会员,请授权手机号"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "暂未成为会员,请授权手机号");