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