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