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