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