From 4706fa0dcd761c13f0f7f33e4e7ab804e0a21f4f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 12 十月 2019 19:19:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) diff --git a/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java b/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java index ad0ebcd..15006fc 100644 --- a/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java +++ b/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java @@ -7,6 +7,7 @@ import org.yeshi.utils.HttpUtil; import org.yeshi.utils.StringUtil; +import org.yeshi.utils.entity.wx.RedPackParams; /** * 寰俊鏀粯甯姪绫� @@ -41,4 +42,79 @@ return null; } + + /** + * 鍙戞斁寰俊绾㈠寘 + * @param params + * @param pwd + * @param cert + * @return + */ + public static String redPackToOpenId(RedPackParams params, String pwd, InputStream cert) { + // 杞寲鎴愬垎 + BigDecimal money = params.getMoney(); + money = money.multiply(new BigDecimal(100)).setScale(0, BigDecimal.ROUND_DOWN); + + Map<String, String> map = new HashMap<>(); + map.put("nonce_str", StringUtil.getRandomCode(32)); + map.put("mch_billno", params.getBillno()); + map.put("mch_id", params.getMchId()); + map.put("wxappid", params.getWxappId()); + map.put("send_name", params.getSendName()); + map.put("re_openid", params.getOpenid()); + map.put("total_amount", money.toString()); + map.put("total_num", params.getTotalNum()+ ""); + map.put("wishing", params.getWishing()); + map.put("client_ip", params.getClientIp()); + map.put("act_name", params.getActName()); + map.put("remark", params.getRemark()); + + if (!StringUtil.isNullOrEmpty(params.getSceneId())) + map.put("scene_id", params.getSceneId()); + + if (!StringUtil.isNullOrEmpty(params.getRiskInfo())) + map.put("risk_info", params.getRiskInfo()); + + map.put("sign", WXUtil.getSignMD5(map, params.getKey())); + String entity = WXUtil.loadWXMessage(map); + try { + String result = HttpUtil.httpsPost("https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack", + entity, pwd, cert); + return result; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + + /** + * 鏌ヨ绾㈠寘棰嗗彇璁板綍 + * @param billno 鍟嗘埛璁㈠崟鍙� + * @param mchId 鍟嗘埛鍙� + * @param key + * @param appId Appid + * @param pwd + * @param cert + * @return + */ + public static String getRedPackRecord(String billno, String mchId, String appId, String key, + String pwd, InputStream cert) { + Map<String, String> map = new HashMap<>(); + map.put("mch_billno", billno); + map.put("mch_id", mchId); + map.put("wxappid", appId); + map.put("bill_type", "MCHT"); + map.put("nonce_str", StringUtil.getRandomCode(32)); + map.put("sign", WXUtil.getSignMD5(map, key)); + String entity = WXUtil.loadWXMessage(map); + try { + String result = HttpUtil.httpsPost("https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo", + entity, pwd, cert); + return result; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } } -- Gitblit v1.8.0