微信后端代码
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

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