| 
					
				 | 
			
			
				@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 |