券码解密示例
<p><strong>券码解密示例</strong></p>
<pre><code class="language-java">String data = openApiResponse.getString(&quot;data&quot;);
//解密数据
CouponOrderResult couponOrderResult = JSONObject.parseObject(data, CouponOrderResult.class);
List&lt;CouponInfoVo&gt; couponInfo = new ArrayList&lt;&gt;();
log.info(&quot;{}&quot;, couponOrderResult);
couponOrderResult.getCouponInfo().forEach( item -&gt; {
CouponInfoVo couponInfoVo = new CouponInfoVo();
try {
if (StringUtil.isNotBlank(item.getCardNo())) {
byte[] decrypt = RSAUtils.decrypt(Base64.getDecoder().decode(item.getCardNo().getBytes(StandardCharsets.UTF_8)), RSAUtils.getPrivateKey(privateKeyStr));
couponInfoVo.setCardNo(new String(decrypt));
}
couponInfoVo.setCdkey(new String(RSAUtils.decrypt(Base64.getDecoder().decode(item.getCdkey().getBytes(StandardCharsets.UTF_8)), RSAUtils.getPrivateKey(privateKeyStr))));
} catch (Exception e) {
e.printStackTrace();
}
couponInfo.add(couponInfoVo);
});
log.info(&quot;解密数据:{}&quot;, JSONObject.toJSONString(couponInfo));
public class CouponOrderResult {
/**
* 平台订单号
*/
private String orderCode;
/**
* 商家订单号
*/
private String bizCode;
/**
* 产品名称
*/
private String productName;
/**
* 结算金额
*/
private BigDecimal settlementPrice;
/**
* 兑换URL、卡号卡密
*/
private Integer type;
/**
* 券码集合
*/
private List&lt;CouponInfoVo&gt; couponInfo;
}
public class CouponInfoVo {
/**
* 卡号
*/
private String cardNo;
/**
* 卡密|短链
*/
private String cdkey;
/**
* 有效截止日期
*/
private Date validityDate;
}</code></pre>