|
|
|
@@ -194,7 +194,7 @@ public class JieShunParkService extends BaseParkService implements ParkAdapterSe |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 使用停车券。 先获取停车券,再使用。 |
|
|
|
* 使用3.8打折方案,3.9有限制如果领券了之后未使用,不能再次领券。导致出现异常之后,用户永远无法使用优惠券。 |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@@ -211,33 +211,65 @@ public class JieShunParkService extends BaseParkService implements ParkAdapterSe |
|
|
|
if (null == valueMap) { |
|
|
|
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券没有关联停车场优惠券配置。"+coupon.getTitle()); |
|
|
|
} |
|
|
|
String orderNo = paramMap.get("parkOrderId"); |
|
|
|
|
|
|
|
|
|
|
|
//String orderNo = paramMap.get("parkOrderId"); |
|
|
|
String planNo = valueMap.get("planNo"); |
|
|
|
String ret = jieshun.getCoupon(park, planNo,userCar.getCUserPhone(), getCacheToken(park)); |
|
|
|
logger.info("jieshun getCoupon result:"+ret); |
|
|
|
if (StringUtils.isBlank(planNo)) { |
|
|
|
return new ResultData(ErrorCode.COUPON_IS_EMPTY.getCode(),"当前停车券没有关联停车场优惠券配置[planNo]。"+coupon.getTitle()); |
|
|
|
} |
|
|
|
//String ret = jieshun.getCoupon(park, planNo,userCar.getCUserPhone(), getCacheToken(park)); |
|
|
|
//打折登陆验证 |
|
|
|
String ret = jieshun.verifyuser(park, getCacheToken(park)); |
|
|
|
logger.info("jieshun verifyuser result:"+ret); |
|
|
|
JSONObject retObj = JSON.parseObject(ret); |
|
|
|
if (retObj.getIntValue("resultCode") == 0){ |
|
|
|
JSONArray couponArrays = retObj.getJSONArray("dataItems"); |
|
|
|
if (null != couponArrays && couponArrays.size() > 0 ) { |
|
|
|
JSONObject coupoo = couponArrays.getJSONObject(0).getJSONObject("attributes"); |
|
|
|
String couponNo = coupoo.getString("couponsNo"); |
|
|
|
String rret = jieshun.useCoupon(park, couponNo, orderNo, getCacheToken(park)); |
|
|
|
logger.info("jieshun useCoupon[couponOrderId:"+userCar.getId()+";jieshunOrderNo:"+orderNo+"] result:"+rret); |
|
|
|
JSONObject rretObj = JSON.parseObject(rret); |
|
|
|
if (rretObj.getIntValue("resultCode") == 0){ |
|
|
|
return new ResultData(); |
|
|
|
JSONArray verfyArrays = retObj.getJSONArray("dataItems"); |
|
|
|
if (null != verfyArrays && verfyArrays.size() > 0 ) { |
|
|
|
JSONObject verfy = verfyArrays.getJSONObject(0).getJSONObject("attributes"); |
|
|
|
String userId = verfy.getString("userId"); |
|
|
|
//查询门店下打折方案 |
|
|
|
String queryPlanRet = jieshun.querySalePlan(park, getCacheToken(park), userId); |
|
|
|
logger.info("jieshun querySalePlan result:"+queryPlanRet); |
|
|
|
JSONObject queryPlantRetObj = JSON.parseObject(queryPlanRet); |
|
|
|
if (queryPlantRetObj.getIntValue("resultCode") == 0){ |
|
|
|
JSONArray planArrays = queryPlantRetObj.getJSONArray("dataItems"); |
|
|
|
if (null != planArrays && planArrays.size() > 0 ) { |
|
|
|
boolean hasPlan = false; |
|
|
|
for (int i = 0 ; i < planArrays.size(); i++) { |
|
|
|
JSONObject plan = planArrays.getJSONObject(i); |
|
|
|
String planId = plan.getJSONObject("attributes").getString("planId"); |
|
|
|
if (planNo.equals(planId)) { |
|
|
|
hasPlan = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (!hasPlan) { |
|
|
|
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"当前优惠券配置的捷顺编号无效,请联系管理员。"+coupon.getTitle()); |
|
|
|
} |
|
|
|
//使用打折方案 |
|
|
|
String executeRet = jieshun.executediscount(park, planNo, userId, carNumber, getCacheToken(park)); |
|
|
|
logger.info("jieshun executediscount result:"+executeRet); |
|
|
|
JSONObject executeRetObj = JSON.parseObject(executeRet); |
|
|
|
if (executeRetObj.getIntValue("resultCode") == 0){ |
|
|
|
return new ResultData(); |
|
|
|
}else { |
|
|
|
return new ResultData(executeRetObj.getIntValue("resultCode"),"当前用户使用捷顺停打折方案失败。"+executeRetObj.getString("message")); |
|
|
|
} |
|
|
|
|
|
|
|
}else { |
|
|
|
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"捷顺查询门店未查询到打折信息,请联系管理员。"+userCar.getcUserId()); |
|
|
|
} |
|
|
|
|
|
|
|
}else { |
|
|
|
return new ResultData(rretObj.getIntValue("resultCode"),"当前用户使用捷顺停车券失败。"+rretObj.getString("message")); |
|
|
|
logger.error("jieshun querySalePlan error. paramMap: {} . jieshunResult: {}",JSON.toJSONString(paramMap),queryPlanRet); |
|
|
|
String msg = queryPlantRetObj.getString("message"); |
|
|
|
return new ResultData(queryPlantRetObj.getIntValue("resultCode"), "捷顺查询门店打折方案失败:"+msg); |
|
|
|
} |
|
|
|
|
|
|
|
}else { |
|
|
|
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"当前用户未领用到捷顺停车券。"+userCar.getcUserId()); |
|
|
|
return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(),"捷顺门店账号登陆失败,请联系管理员。"+userCar.getcUserId()); |
|
|
|
} |
|
|
|
|
|
|
|
}else { |
|
|
|
logger.error("jieshun getCoupon error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret); |
|
|
|
logger.error("jieshun verifyuser error. paramMap: {} . jieshunResult: {}",JSON.toJSONString(paramMap),ret); |
|
|
|
String msg = retObj.getString("message"); |
|
|
|
return new ResultData(retObj.getIntValue("resultCode"), "当前用户领用到捷顺停车券失败:"+msg); |
|
|
|
} |
|
|
|
|