顺晟科技
2021-06-16 10:50:08
256
//异步请求回应微信支付是否成功
@事务性
公共字符串weixinNotify(字符串结果字符串){
日志。info('=======' WeinPayNotify start===');
字符串resXml=
字符串返回码=空
字符串结果代码=空
尝试{
//字节流
映射字符串,字符串结果映射=xmlutil。doxmlparse(结果字符串);
日志。信息(' resultMap : ' JSON。TojsonString(resultMap));
string transaction _ id=ResultMap。get(' transaction _ id ');//微信交易流水号
result _ code=resultmap。get(' result _ code ');
string out _ trade _ no=resultmap。get(' out _ trade _ no ');
return _ code=resultmap。get(' return _ code ');
日志。信息('========================微信异步回调来了===================' out _ trade _ no);
//签名验证(在网上复制而来,不知其用处故先注释)
//GenericValue UserLogone=delegator。Findone(' UserLogOn ',utilmisc。TomAP(' UserLogNid ',' admin '),false);
//支付成功修改订单状态和子订单状态添加充电结束时间
if ('SUCCESS ' .等于(返回代码)“SUCCESS”.equals(result_code)) {
log.info('小程序订单列表支付回调接收到了out _ trade _ no========' out _ trade _ no);
//获取主订单
WxRechargeOrderExample WxRechargeOrderExample=new WxRechargeOrderExample();
WxRechargeOrderExample。CreateCriteria().andOrderNumberEqualTo(out _ trade _ no);
WxRechargeOrder WxRechargeOrder=wxrechargeordermapper。selectbyexample(WxRechargeOrderexample).get(0);
wxrechargeorder。设置状态(1);
wxrechargeorder。setupdatedate(new Date());
int I=wxrechargerordermapper。updatebyprimarykey(wxrecharger order);
if(1==i){
//修改用户账户
WxMember WxMember=WxMember mapper。selectbyprimarykey(wxrechargeorder。getmemberid());
big decimal addFudou=wxrechargeorder。getfudou();
wxmember。setfudou(wxmember。getfudou().add(addFudou));
wxmember。设定数量(wxmember。GetAmount().add(wxrechargeorder。GetAmount());
wxmember。setupdatedate(new Date());
wxmembermapper。updatebyprimarykey(Wxmember);
resXml='xml' 'return_code![CDATA[SUCCESS]]/return_code '
return_msg![CData[确定]]/return _ msg ' '/XML ';
}
}else{
resXml='xml' 'return_code![CData[失败]]/return_code '
return_msg![CDATA[报文为空]]/return _ msg ' '/XML ';
}
} catch(unsupportedencodinegexception e){
e .printstacktrace();
} catch (IOException e) {
e .printstacktrace();
} catch (JDOMException e) {
e .printstacktrace();
}捕获(例外e){
e .printstacktrace();
引发新的RuntimeException(“微信异步回调失败!');
}
返回resXml
//return return _ code;
}
备注:有的直接返回成功成就就可以,有的要返回xml,具体按项目
11
2022-12
17
2022-03
18
2021-11
19
2021-06
16
2021-06
16
2021-06