@Override public ResultInfo expend( Map<String, Object> props, Account account, ProductDetail detail, Authorization auth, int amount) { String remark = (String) props.get("remark"); java.util.Date prTime = (java.util.Date) props.get("purchaseTime"); PurchaseRelation pr = subImpl.queryPurchaseRelation(detail, "expend", 0, 0); if (pr == null) { ResultInfo info = new ResultInfo(); info.setErrorCode(ErrorCode.EC_INVALID_PURCHASE_ID); info.setMessage(ErrorCode.getErrorMessage(ErrorCode.EC_INVALID_PURCHASE_ID)); return info; } props.put("purchaseRelation", pr); int newAmount = amount / detail.getRechargeRatio(); pr.setAmount(newAmount); log.debug("[Expend Amount] ==> " + newAmount); return subImpl.subscribe(props, account, detail, auth, pr, remark, prTime); }