package com.ynxbd.common.dao; import com.ynxbd.common.bean.pay.PayCasebook; import com.ynxbd.common.config.db.DataBase; import java.math.BigDecimal; import java.util.List; public class CasebookDao { /** * [病历]新增订单信息 * * @param casebook 信息 * @return 是否成功 */ public boolean insert(PayCasebook casebook,String openId,String patientId) { String sql = "insert into pay_casebook(UpdateTime,TreatNum, PatientName, UseToNo, UseToName, GetWay, Address, Phone,OpenID,PatientID) values (now(),?,?,?,?,?,?,?,?,?)"; return DataBase.insert(sql, ps -> { ps.setString(1,casebook.getTreatNum()); ps.setString(2,casebook.getPatientName()); ps.setString(3,casebook.getUseToNo()); ps.setString(4,casebook.getUseToName()); ps.setInt(5,casebook.getGetWay()); ps.setString(6,casebook.getAddress()); ps.setString(7, casebook.getPhone()); ps.setString(8,openId); ps.setString(9,patientId); }) > 0; } /** * 根据订单号查询 * * @param outTradeNo 订单号 * @return bean */ public PayCasebook selectByOutTradeNo(String outTradeNo) { String sql = "select * from pay_casebook where outTradeNo=? order by updateTime desc"; List list = DataBase.select(sql, PayCasebook.class, ps -> { ps.setString(1, outTradeNo); }); if (list.size() > 0) { return list.get(0); } return null; } /** * 修改收到支付的状态码 * * @param outTradeNo 订单号 * @param bankTransNo 交易流水号 */ public boolean updatePayStateOk(String outTradeNo, String bankTransNo) { String sql = "update pay_casebook set payStatus=0, bankTransNo=? where outTradeNo=? and bankTransNo is null"; return DataBase.update(sql, ps -> { ps.setString(1, bankTransNo); ps.setString(2, outTradeNo); }) > 0; } public boolean updatePayStatePre(String patientId, String treatNum, String applyId, BigDecimal totalFee,String outTradeNo,String getWay, String useToName) { String sql = "update pay_casebook set payStatus=-1, applyId = ?, payMoney = ?, TotalFee = ?, outTradeNo =? where patientId=? and treatNum = ? and getWay = ? and useToName = ?"; return DataBase.update(sql, ps -> { ps.setString(1, applyId); ps.setBigDecimal(2,totalFee); ps.setBigDecimal(3,totalFee); ps.setString(4,outTradeNo); ps.setString(5,patientId); ps.setString(6,treatNum); ps.setString(7,getWay); ps.setString(8,useToName); }) > 0; } public boolean selectIsExit(String patientId, String treatNum, String getWay, String useToName){ String sql = "select * from pay_casebook where patientId=? and treatNum = ? and getWay = ? and getWay !=1 and useToName = ? and (payStatus is null or payStatus = -1)"; return DataBase.select(sql, PayCasebook.class, ps -> { ps.setString(1,patientId); ps.setString(2,treatNum); ps.setString(3,getWay); ps.setString(4,useToName); }).size()>0; } public boolean selectIsPay(String patientId, String treatNum, String applyId,String getWay, String useToName){ String sql = "select * from pay_casebook where patientId=? and treatNum = ? and applyId = ? and getWay = ? and useToName = ? and payStatus = 0"; return DataBase.select(sql, PayCasebook.class, ps -> { ps.setString(1,patientId); ps.setString(2,treatNum); ps.setString(3,applyId); ps.setString(4,getWay); ps.setString(5,useToName); }).size()>0; } public boolean updateNotifyOk(String outTradeNo) { String sql = "update pay_casebook set payStatus=0, HisStatus=0 where outTradeNo=?"; return DataBase.update(sql, ps -> { ps.setString(1, outTradeNo); }) > 0; } public boolean updateNotifyErr(String outTradeNo, String message) { String sql = "update pay_casebook set payStates=0, HisStatus=-1, HisResult=? where outTradeNo=?"; return DataBase.update(sql, ps -> { ps.setString(1, message); ps.setString(2, outTradeNo); }) > 0; } }