|  | @ -108,6 +108,9 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
 | 
	
		
			
				|  |  |     private XzzxEntranceService xzzxEntranceService;
 | 
	
		
			
				|  |  |     @Value("${wechat.flag}")
 | 
	
		
			
				|  |  |     private boolean flag;
 | 
	
		
			
				|  |  |     @Value("${wechat.id}")
 | 
	
		
			
				|  |  |     private String wechatId;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -430,12 +433,18 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
 | 
	
		
			
				|  |  |         if (tradeType.equalsIgnoreCase("JSAPI")){
 | 
	
		
			
				|  |  |             map.put("openid", openId);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String wapUrl = "";
 | 
	
		
			
				|  |  |         String wapName = "";
 | 
	
		
			
				|  |  |         if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
 | 
	
		
			
				|  |  |             wapUrl = "https://www1.yanketong.com";
 | 
	
		
			
				|  |  |             wapName = "厦门大学附中厦门眼科中心";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (tradeType.equalsIgnoreCase("MWEB")){
 | 
	
		
			
				|  |  |             JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |             JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  |             object.put("type","Wap");
 | 
	
		
			
				|  |  |             object.put("wap_url","");
 | 
	
		
			
				|  |  |             object.put("wap_name","");
 | 
	
		
			
				|  |  |             object.put("wap_url",wapUrl);
 | 
	
		
			
				|  |  |             object.put("wap_name",wapName);
 | 
	
		
			
				|  |  |             jsonObject.put("h5_info",object);
 | 
	
		
			
				|  |  |             map.put("scene_info",jsonObject.toJSONString());
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -462,30 +471,58 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
 | 
	
		
			
				|  |  |             String mchId = pay.get("mch_id").toString();
 | 
	
		
			
				|  |  |             String nonceStr = pay.get("nonce_str").toString();
 | 
	
		
			
				|  |  |             String prepayId = pay.get("prepay_id").toString();
 | 
	
		
			
				|  |  |             String trade = pay.get("trade_type").toString();
 | 
	
		
			
				|  |  |             if (trade.equalsIgnoreCase("Native")){
 | 
	
		
			
				|  |  |             String trade = "";
 | 
	
		
			
				|  |  |             if ("SUCCESS".equalsIgnoreCase(resultCode)){
 | 
	
		
			
				|  |  |                 trade = pay.get("trade_type").toString();
 | 
	
		
			
				|  |  |                 if (trade.equalsIgnoreCase("Native")){
 | 
	
		
			
				|  |  |                     Map<String,String> param = new HashedMap();
 | 
	
		
			
				|  |  |                     param.put("appId",appid);
 | 
	
		
			
				|  |  |                     param.put("package","prepay_id="+prepayId);
 | 
	
		
			
				|  |  |                     param.put("nonceStr",nonceStr);
 | 
	
		
			
				|  |  |                     param.put("signType","MD5");
 | 
	
		
			
				|  |  |                     param.put("timeStamp",getTimeStamp());
 | 
	
		
			
				|  |  |                     param = WeiXinPayUtils.getMapAfterUnifiedorder(param,wxWechatDO.getAppKey());
 | 
	
		
			
				|  |  |                     InputStream qrcode = QrcodeUtil.createQrcode(pay.get("code_url").toString(),300,"jpg");
 | 
	
		
			
				|  |  |                     ByteToInputStream byteToInputStream = new ByteToInputStream();
 | 
	
		
			
				|  |  |                     String QRCodeImg = byteToInputStream.getBase64FromInputStream(qrcode);
 | 
	
		
			
				|  |  |                     param.put("qrcode","data:image/png;base64,"+ QRCodeImg);
 | 
	
		
			
				|  |  |                     pay.put("native",param);
 | 
	
		
			
				|  |  |                 }//h5支付方法 返回跳转的微信收银台地址
 | 
	
		
			
				|  |  |                 else if("MWEB".equalsIgnoreCase(trade)){
 | 
	
		
			
				|  |  |                     Map<String,String> param = new HashedMap();
 | 
	
		
			
				|  |  |                     param.put("appId",appid);
 | 
	
		
			
				|  |  |                     param.put("package","prepay_id="+prepayId);
 | 
	
		
			
				|  |  |                     param.put("nonceStr",nonceStr);
 | 
	
		
			
				|  |  |                     param.put("signType","MD5");
 | 
	
		
			
				|  |  |                     param.put("timeStamp",getTimeStamp());
 | 
	
		
			
				|  |  |                     param = WeiXinPayUtils.getMapAfterUnifiedorder(param,wxWechatDO.getAppKey());
 | 
	
		
			
				|  |  |                     //微信收银台地址
 | 
	
		
			
				|  |  |                     String mwebUrl = pay.get("mweb_url").toString();
 | 
	
		
			
				|  |  |                     param.put("mweb_url",mwebUrl);
 | 
	
		
			
				|  |  |                     pay.put("MWEB",param);
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     Map<String,String> param = new HashedMap();
 | 
	
		
			
				|  |  |                     param.put("appId",appid);
 | 
	
		
			
				|  |  |                     param.put("package","prepay_id="+prepayId);
 | 
	
		
			
				|  |  |                     param.put("nonceStr",nonceStr);
 | 
	
		
			
				|  |  |                     param.put("signType","MD5");
 | 
	
		
			
				|  |  |                     param.put("timeStamp",getTimeStamp());
 | 
	
		
			
				|  |  |                     param = WeiXinPayUtils.getMapAfterUnifiedorder(param,wxWechatDO.getAppKey());
 | 
	
		
			
				|  |  |                     pay.put("jsapi",param);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 //支付失败返回信息
 | 
	
		
			
				|  |  |                 Map<String,String> param = new HashedMap();
 | 
	
		
			
				|  |  |                 param.put("appId",appid);
 | 
	
		
			
				|  |  |                 param.put("package","prepay_id="+prepayId);
 | 
	
		
			
				|  |  |                 param.put("nonceStr",nonceStr);
 | 
	
		
			
				|  |  |                 param.put("signType","MD5");
 | 
	
		
			
				|  |  |                 param.put("timeStamp",getTimeStamp());
 | 
	
		
			
				|  |  |                 param = WeiXinPayUtils.getMapAfterUnifiedorder(param,wxWechatDO.getAppKey());
 | 
	
		
			
				|  |  |                 InputStream qrcode = QrcodeUtil.createQrcode(pay.get("code_url").toString(),300,"jpg");
 | 
	
		
			
				|  |  |                 ByteToInputStream byteToInputStream = new ByteToInputStream();
 | 
	
		
			
				|  |  |                 String QRCodeImg = byteToInputStream.getBase64FromInputStream(qrcode);
 | 
	
		
			
				|  |  |                 param.put("qrcode","data:image/png;base64,"+ QRCodeImg);
 | 
	
		
			
				|  |  |                 pay.put("native",param);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 param.put("err_code",pay.get("err_code").toString());
 | 
	
		
			
				|  |  |                 param.put("err_code_des",pay.get("err_code_des").toString());
 | 
	
		
			
				|  |  |                 pay.put("payFailed",param);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             //通信失败返回信息
 | 
	
		
			
				|  |  |             Map<String,String> param = new HashedMap();
 | 
	
		
			
				|  |  |             param.put("appId",appid);
 | 
	
		
			
				|  |  |             param.put("package","prepay_id="+prepayId);
 | 
	
		
			
				|  |  |             param.put("nonceStr",nonceStr);
 | 
	
		
			
				|  |  |             param.put("signType","MD5");
 | 
	
		
			
				|  |  |             param.put("timeStamp",getTimeStamp());
 | 
	
		
			
				|  |  |             param = WeiXinPayUtils.getMapAfterUnifiedorder(param,wxWechatDO.getAppKey());
 | 
	
		
			
				|  |  |             pay.put("jsapi",param);
 | 
	
		
			
				|  |  |             param.put("return_code",pay.get("return_code").toString());
 | 
	
		
			
				|  |  |             param.put("return_msg",pay.get("return_msg").toString());
 | 
	
		
			
				|  |  |             pay.put("connectFailed",param);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return pay;
 | 
	
		
			
				|  |  |     }
 |