You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.2 KiB
77 lines
2.2 KiB
2 years ago
|
package com.ynxbd.common.dao;
|
||
|
|
||
|
import com.ynxbd.common.bean.pay.PayResult;
|
||
|
import com.ynxbd.common.config.db.DataBase;
|
||
|
|
||
|
/**
|
||
|
* @Author wsq
|
||
|
* @Date 2021/3/23 16:38
|
||
|
* @Copyright @ 2020 云南新八达科技有限公司 All rights reserved.
|
||
|
*/
|
||
|
public class PayResultDao {
|
||
|
|
||
|
/**
|
||
|
* 查询是否存在支付记录(排重)
|
||
|
*
|
||
|
* @param openid openid
|
||
|
* @param outTradeNo 订单号
|
||
|
* @return 是否存在
|
||
|
*/
|
||
|
public boolean queryOrderByOutTradeNoAndOpenid(String outTradeNo, String openid) {
|
||
|
String sql = "select id from pay_result where outTradeNo=? and openid=?";
|
||
|
|
||
|
return DataBase.select(sql, PayResult.class, ps -> {
|
||
|
ps.setString(1, outTradeNo);
|
||
|
ps.setString(2, openid);
|
||
|
|
||
|
}).size() > 0;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 查询订单
|
||
|
*
|
||
|
* @param outTradeNo 订单号
|
||
|
*/
|
||
|
public PayResult queryOrderByOutTradeNo(String outTradeNo) {
|
||
|
String sql = "select * from pay_result where outTradeNo=?";
|
||
|
return DataBase.selectOne(sql, PayResult.class, ps -> {
|
||
|
ps.setString(1, outTradeNo);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 查询订单
|
||
|
*
|
||
|
* @param authCode 付款码
|
||
|
*/
|
||
|
public PayResult queryOrderByAuthCode(String authCode) {
|
||
|
String sql = "select * from pay_result where authCode=?";
|
||
|
return DataBase.selectOne(sql, PayResult.class, ps -> {
|
||
|
ps.setString(1, authCode);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 保存支付结果信息
|
||
|
*
|
||
|
* @param orderType 订单类型
|
||
|
* @param openid openid
|
||
|
* @param outTradeNo 订单号
|
||
|
* @param info 微信支付返回信息
|
||
|
* @return 是否保存成功
|
||
|
*/
|
||
|
public boolean insert(String orderType, String outTradeNo, String openid, String info, String authCode) {
|
||
|
String sql = "insert into pay_result(outTradeNo, orderType, openid, info, authCode, updateTime) values (?, ?, ?, ?, ?, now())";
|
||
|
|
||
|
return DataBase.insert(sql, ps -> {
|
||
|
ps.setString(1, outTradeNo);
|
||
|
ps.setString(2, orderType);
|
||
|
ps.setString(3, openid);
|
||
|
ps.setString(4, info);
|
||
|
ps.setString(5, authCode);
|
||
|
}) > 0;
|
||
|
}
|
||
|
|
||
|
}
|