From 602ec4986e2a61d47b183eb357736cbc4ef53bdb Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Sun, 2 Aug 2026 15:24:27 +0800 Subject: [PATCH] fix --- .../park/impl/bolink/BoLinkParkService.java | 58 +++++++++++-------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java b/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java index a0aea8900..72d8c36eb 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java @@ -113,36 +113,48 @@ public class BoLinkParkService extends BaseParkService implements ParkAdapterSer //https://doc.bolinkpaas.com/doc/125/ @Override public ResultData useCoupon(Map paramMap, WxPark park, WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) { - String orderId = paramMap.get("orderId"); - if (StringUtils.isBlank(orderId)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId为空"); - } String params = park.getVendorParams(); JSONObject objParams = JSON.parseObject(params); String url = objParams.getString(BoLinkUtil.BOLINK_URL); String comid = objParams.getString(BoLinkUtil.BOLINK_COMID); String unionId = objParams.getString(BoLinkUtil.BOLINK_UNION_ID); String key = objParams.getString(BoLinkUtil.BOLINK_KEY); + + //先查询停车费 + String feeRet = BoLinkUtil.getStopFee(url, comid, unionId, key, carNumber); + if (feeRet != null) { + JSONObject feeRetObj = JSON.parseObject(feeRet); + JSONObject feeDataObj = feeRetObj.getJSONObject(BoLinkUtil.BOLINK_DATA); + if (feeDataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { + + String orderId = feeDataObj.getString("order_id"); + + String amount = ""; + if (coupon.getUnit().equals(EnumCouponUnit.MONEY.getCode())) { + amount = coupon.getPriceStr(); + } else { + amount = String.valueOf(coupon.getPrice()* 60); + } - String amount = ""; - if (coupon.getUnit().equals(EnumCouponUnit.MONEY.getCode())) { - amount = coupon.getPriceStr(); - } else { - amount = String.valueOf(coupon.getPrice()* 60); - } - - String ret = BoLinkUtil.couponSend(url, comid, unionId, key, - carNumber, - orderId, - coupon.getUnit().toString(), amount); - JSONObject retObj = JSON.parseObject(ret); - JSONObject dataObj = retObj.getJSONObject(BoLinkUtil.BOLINK_DATA); - if (dataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { - return new ResultData(); - } else { - logger.error("bolink useCoupon error. paramMap: {} . bolinkResult: {}",JSON.toJSONString(paramMap),ret); - String msg = dataObj.getString("message"); - return new ResultData(dataObj.getIntValue("state"), "泊链平台缴费通知车场接口失败:"+msg); + String ret = BoLinkUtil.couponSend(url, comid, unionId, key, + carNumber, + orderId, + coupon.getUnit().toString(), amount); + JSONObject retObj = JSON.parseObject(ret); + JSONObject dataObj = retObj.getJSONObject(BoLinkUtil.BOLINK_DATA); + if (dataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { + return new ResultData(); + } else { + logger.error("bolink useCoupon error. paramMap: {} . bolinkResult: {}",JSON.toJSONString(paramMap),ret); + String msg = dataObj.getString("message"); + return new ResultData(dataObj.getIntValue("state"), "泊链平台缴费通知车场接口失败:"+msg); + } + + }else { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "泊链平台查询停车费失败:no result"); + } + }else { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(), "泊链平台查询停车费失败"); } }