package com.ynxbd.common.dao; import com.ynxbd.common.bean.pay.PayOutCollect; import com.ynxbd.common.config.db.DataBase; import java.util.List; public class OutCollectPayDao { /** * 外采支付 * * @param order 订单信息 * @return Y|N */ public boolean insert(PayOutCollect order) { String sql = "insert into oc_pay(updateTime, totalFee, outTradeNo, bankTransNo, authCode, operateUser, patientId, openid, mid, name, idCardNo, collectId, barCode, payState, noticeState) values (now(),?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; return DataBase.insert(sql, ps -> { ps.setBigDecimal(1, order.getTotalFee()); ps.setString(2, order.getOutTradeNo()); ps.setString(3, order.getBankTransNo()); ps.setString(4, order.getAuthCode()); ps.setString(5, order.getOperateUser()); ps.setString(6, order.getPatientId()); ps.setString(7, order.getOpenid()); ps.setString(8, order.getMid()); // ps.setString(9, order.getIdCardNo()); ps.setString(10, order.getName()); ps.setString(11, order.getCollectId()); ps.setString(12, order.getBarCode()); // ps.setInt(13, order.getPayState()); ps.setInt(14, order.getNoticeState()); }) > 0; } /** * 外采支付 * * @return Y|N */ public PayOutCollect selectByOutTradeNo(String outTradeNo) { String sql = "select * from oc_pay where outTradeNo=? order by updateTime desc"; List list = DataBase.select(sql, PayOutCollect.class, ps -> { ps.setString(1, outTradeNo); }); if (list.size() > 0) { return list.get(0); } return null; } /** * [支付状态]更新挂号支付信息 * * @param outTradeNo 订单号 * @param bankTransNo 交易流水号 * @return 信息 */ public boolean updateMerPaidByOutTradeNo(String outTradeNo, String bankTransNo) { String sql = "update oc_pay set payState=?, bankTransNo=? where outTradeNo=? and bankTransNo is null"; return DataBase.update(sql, ps -> { ps.setInt(1, 0); ps.setString(2, bankTransNo); ps.setString(3, outTradeNo); }) > 0; } public boolean updateNoticeErr(String outTradeNo, Integer noticeState, String noticeResult) { String sql = "update oc_pay set noticeState=?, noticeResult=? where outTradeNo=? "; return DataBase.update(sql, ps -> { ps.setInt(1, noticeState); ps.setString(2, noticeResult); ps.setString(3, outTradeNo); }) > 0; } public boolean updateNoticeOk(String outTradeNo) { String sql = "update oc_pay set noticeState=0 where outTradeNo=? and payState = 0"; return DataBase.update(sql, ps -> { ps.setString(1, outTradeNo); }) > 0; } }