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.
		
		
		
		
			
				
					
					
						
							76 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
	
	
							76 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;
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
 |