@ -155,7 +155,7 @@ public class RegService {
ResultEnum resultEnum = e . getResultEnum ( ) ;
ResultEnum resultEnum = e . getResultEnum ( ) ;
String message = resultEnum = = null ? "系统繁忙" : resultEnum . message ;
String message = resultEnum = = null ? "系统繁忙" : resultEnum . message ;
String pushMessage = "挂号失败已申请退款,原因:" + message + ",订单号:" + outTradeNo ; // 推送消息
String pushMessage = "挂号失败已申请退款,原因:" + message + ",订单号:" + outTradeNo ; // 推送消息
regAutoRefund ( merchantEnum , HisFactory . His ( ) . createErrorResult ( message ) , openid , totalFee , outTradeNo , tradeNo , message , pushMessage , tradeDate ) ;
regAutoRefund ( merchantEnum , HisFactory . His ( ) . createErrorResult ( message ) , openid , totalFee , outTradeNo , tradeNo , message , pushMessage , tradeDate , null ) ;
throw new ServiceException ( message ) ;
throw new ServiceException ( message ) ;
}
}
@ -210,7 +210,7 @@ public class RegService {
String pushMessage = "挂号失败已申请退款,原因:" + message + ",订单号:" + outTradeNo ; // 推送消息
String pushMessage = "挂号失败已申请退款,原因:" + message + ",订单号:" + outTradeNo ; // 推送消息
// 自动退款
// 自动退款
regAutoRefund ( merchantEnum , jsonResult , openid , totalFee , outTradeNo , tradeNo , message , pushMessage , tradeDate ) ;
regAutoRefund ( merchantEnum , jsonResult , openid , totalFee , outTradeNo , tradeNo , message , pushMessage , tradeDate , null ) ;
throw new ServiceException ( message ) ;
throw new ServiceException ( message ) ;
}
}
@ -380,144 +380,219 @@ public class RegService {
/ * *
/ * *
* 取消预约
* 取消挂号
*
*
* @param patientId 患者id
* @param patientId 患者id
* @param tradeNo HIS交易流水号
* @param tradeNo HIS交易流水号
* @param hisTransNo HIS流水号
* @param hisTransNo HIS流水号
* @return 是否成功
* @return 是否成功
* /
* /
public Result cancelRegReserve ( String patientId , String tradeNo , String hisTransNo ) {
public Result cancelRegister ( boolean isRegToday , String patientId , String tradeNo , String hisTransNo ) {
log . info ( "[挂号][取消预约]申请 patientId={}, tradeNo={}, hisTransNo={}" , patientId , tradeNo , hisTransNo ) ;
Register order = new RegisterDao ( ) . selectRegByHisTransNo ( hisTransNo ) ;
if ( order = = null ) {
if ( patientId = = null | | ObjectUtils . isEmpty ( tradeNo ) | | hisTransNo = = null ) {
log . info ( "[取消挂号]未查询到挂号订单信息" ) ;
log . info ( "[挂号][取消预约]参数缺失 patientId={}, bankTransNo={}, hisTransNo={}" , patientId , tradeNo , hisTransNo ) ;
return Result . error ( ResultEnum . PARAM_IS_DEFECT ) ;
}
Register reg = new RegisterDao ( ) . selectRegByHisTransNo ( hisTransNo ) ;
if ( reg = = null ) {
log . info ( "[挂号][取消预约]失败, 未查询到挂号支付信息" ) ;
return Result . error ( ResultEnum . DATA_NOT_FOUND ) ;
return Result . error ( ResultEnum . DATA_NOT_FOUND ) ;
}
}
String outTradeNo = reg . getOutTradeNo ( ) ;
if ( ! patientId . equals ( order . getPatientId ( ) ) ) {
MerchantEnum merchantEnum = MerchantEnum . findEnumByOutTradeNo ( outTradeNo ) ;
return Result . error ( "[取消挂号]订单数据异常" ) ;
JsonResult resp = new HisRegisterDao ( ) . cancelReserve ( patientId , tradeNo , merchantEnum ) ;
if ( ! resp . success ( ) ) {
String message = resp . getMessage ( ) ;
log . info ( "[挂号][取消预约]失败 HIS返回:{}" , message ) ;
return Result . error ( message ) ;
}
}
String dbTradeNo = reg . getTradeNo ( ) ;
String outTradeNo = order . getOutTradeNo ( ) ;
BigDecimal payMoney = reg . getPayMoney ( ) ;
String dbTradeNo = order . getTradeNo ( ) ;
if ( dbTradeNo = = null | | outTradeNo = = null | | payMoney = = null ) {
BigDecimal payMoney = order . getPayMoney ( ) ;
log . info ( "[挂号][取消预约]失败, 支付信息的参数为空,patientId={}, tradeNo={}, payMoney={}" , patientId , tradeNo , payMoney ) ;
if ( outTradeNo = = null | | dbTradeNo = = null | | payMoney = = null ) {
return Result . error ( "支付信息的参数为空" ) ;
log . info ( "[取消挂号]订单信息缺失 isRegToday={}, patientId={}, tradeNo={}, payMoney={}" , isRegToday , patientId , tradeNo , payMoney ) ;
return Result . error ( "[取消挂号]订单信息缺失" ) ;
}
}
if ( merchantEnum = = null ) {
if ( order . hasRefundByRefundResult ( ) ) {
return Result . error ( "支付方式未匹配 outTradeNo=" + outTradeNo ) ;
return Result . error ( "已退费,请勿重复操作" ) ;
}
}
log . info ( "{}[挂号][取消预约]开始退款... outTradeNo={}, dbTradeNo={}, payMoney={}" , merchantEnum . NAME , outTradeNo , dbTradeNo , payMoney ) ;
MerchantEnum merchantEnum = MerchantEnum . findEnumByOutTradeNo ( outTradeNo ) ;
if ( merchantEnum = = null ) {
String pushInfo = "取消预约 科室:" + reg . getDeptName ( ) ;
return Result . error ( "[取消挂号]支付方式未匹配 outTradeNo=" + outTradeNo ) ;
Result result = regAutoRefund ( merchantEnum , resp , reg . getOpenid ( ) , payMoney , outTradeNo , dbTradeNo , "取消预约" , pushInfo , reg . getUpdateTime ( ) ) ;
new SmsService ( ) . sms_reg_002 ( reg ) ;
MessagePushConfig . regCancelPush ( merchantEnum , reg ) ;
if ( result . isOK ( ) ) {
result . setMessage ( merchantEnum . NAME + "取消成功,挂号费用将在24小时内退回!" ) ; // 修改返回提示的信息
}
if ( MerchantEnum . ALI . equals ( merchantEnum ) ) {
String link = "pages/center/components/remordList/reserve" ;
String title = "预约挂号取消 " + reg . getDeptName ( ) ;
AliMessageHelper . hospitalOrder ( reg . getOpenid ( ) , title , AliMsgEnum . MERCHANT_CLOSED , reg . getUpdateTime ( ) , false , reg . getTotalFee ( ) , outTradeNo , reg . getRegDate ( ) , reg . getBegTime ( ) , reg . getDeptCode ( ) , reg . getDeptName ( ) , reg . getDoctName ( ) ,
AliHelper . getLink ( link , null ) ) ;
}
return result ;
}
/ * *
* 今日挂号 [ 取消预约 ]
*
* @param hisTransNo HIS流水号
* /
public Result refundRegister ( String hisTransNo ) {
log . info ( "[今日挂号][取消预约]hisTransNo={}" , hisTransNo ) ;
if ( hisTransNo = = null ) {
log . info ( "[今日挂号][取消预约]hisTransNo为空" ) ;
return Result . error ( ResultEnum . PARAM_IS_DEFECT ) ;
}
}
Register reg = new RegisterDao ( ) . selectRegByHisTransNo ( hisTransNo ) ;
if ( ! new RegisterDao ( ) . updateRefundResult ( outTradeNo , tradeNo , "已发起取消挂号申请" ) ) {
if ( reg = = null ) {
log . error ( "[取消挂号]标记为[已发起取消挂号申请]失败 isRegToday={}, patientId={}, tradeNo={}, payMoney={}" , isRegToday , patientId , tradeNo , payMoney ) ;
log . info ( "[今日挂号][取消预约]失败, 未查询到挂号支付信息;若是医保支付则不允许线上退号,请到窗口进行退费" ) ;
return Result . error ( ResultEnum . REG_NOT_FIND ) ;
}
}
String tradeNo = reg . getTradeNo ( ) ;
JsonResult resp = new HisRegisterDao ( ) . cancelHisReg ( isRegToday , merchantEnum , patientId , tradeNo ) ;
String outTradeNo = reg . getOutTradeNo ( ) ;
MerchantEnum merchantEnum = MerchantEnum . findEnumByOutTradeNo ( outTradeNo ) ;
JsonResult resp = new HisRegisterDao ( ) . refundRegister ( tradeNo , merchantEnum ) ;
if ( ! resp . success ( ) ) {
if ( ! resp . success ( ) ) {
String message = resp . getMessage ( ) ;
String message = resp . getMessage ( ) ;
log . info ( "[今日挂号][取消预约 ]失败 HIS返回:{}" , message ) ;
log . info ( "[取消挂号]失败 HIS返回:{}" , message ) ;
return Result . error ( message ) ;
return Result . error ( message ) ;
}
}
String dbTradeNo = reg . getTradeNo ( ) ;
log . info ( "{}[取消挂号]开始退款... outTradeNo={}, dbTradeNo={}, payMoney={}" , merchantEnum . NAME , outTradeNo , dbTradeNo , payMoney ) ;
BigDecimal payMoney = reg . getPayMoney ( ) ;
if ( dbTradeNo = = null | | outTradeNo = = null | | payMoney = = null ) {
log . info ( "[今日挂号][取消预约]失败, 支付信息的参数为空, tradeNo={}, payMoney={}" , tradeNo , payMoney ) ;
return Result . error ( "今日挂号支付信息的参数为空" ) ;
}
if ( "OK" . equals ( reg . getRefundResult ( ) ) ) {
return Result . error ( "已退费,请不要重复退费" ) ;
}
if ( merchantEnum = = null ) {
return Result . error ( "支付方式未匹配 outTradeNo=" + outTradeNo ) ;
}
new MiddleOfficeService ( ) . reg_JH0105 ( reg . getTreatNum ( ) ) ;
log . info ( "{}[今日挂号][取消预约]开始退款... outTradeNo={}, dbTradeNo={}, payMoney={}" , merchantEnum . NAME , outTradeNo , dbTradeNo , payMoney ) ;
String pushInfo = "取消预约 科室:" + reg . getDeptName ( ) ;
Result result = refundTodayRegister ( merchantEnum , resp , reg . getOpenid ( ) , payMoney , outTradeNo , dbTradeNo , "取消预约" , pushInfo , reg . getUpdateTime ( ) ) ;
String pushInfo = "取消挂号 科室:" + order . getDeptName ( ) ;
new SmsService ( ) . sms_reg_002 ( reg ) ; // 短信通知
MessagePushConfig . regCancelPush ( merchantEnum , reg ) ;
Result result = regRefund ( merchantEnum , resp , order . getOpenid ( ) , payMoney , outTradeNo , dbTradeNo , "取消预约" , pushInfo , order . getUpdateTime ( ) , "取消预约" , isRegToday ) ;
if ( result . isOK ( ) ) {
if ( result . isOK ( ) ) {
result . setMessage ( merchantEnum . NAME + "取消成功,挂号费用将在24小时内退回!" ) ; // 修改返回提示的信息
result . setMessage ( merchantEnum . NAME + "取消挂号成功,挂号费用将在24小时内退回!" ) ; // 修改返回提示的信息
new SmsService ( ) . sms_reg_002 ( order ) ;
MessagePushConfig . regCancelPush ( merchantEnum , order ) ;
}
}
if ( MerchantEnum . ALI . equals ( merchantEnum ) ) {
if ( MerchantEnum . ALI . equals ( merchantEnum ) ) {
String link = "pages/center/components/remordList/reserve" ;
String link = "pages/center/components/remordList/reserve" ;
String title = "预约挂号 取消 " + reg . getDeptName ( ) ;
String title = "取消挂号 " + order . getDeptName ( ) ;
AliMessageHelper . hospitalOrder ( reg . getOpenid ( ) , title , AliMsgEnum . MERCHANT_CLOSED , reg . getUpdateTime ( ) , false , reg . getTotalFee ( ) , outTradeNo , reg . getRegDate ( ) , reg . getBegTime ( ) , reg . getDeptCode ( ) , reg . getDeptName ( ) , reg . getDoctName ( ) ,
AliMessageHelper . hospitalOrder ( order . getOpenid ( ) , title , AliMsgEnum . MERCHANT_CLOSED , order . getUpdateTime ( ) , false , order . getTotalFee ( ) , outTradeNo , order . getRegDate ( ) , order . getBegTime ( ) , order . getDeptCode ( ) , order . getDeptName ( ) , order . getDoctName ( ) ,
AliHelper . getLink ( link , null ) ) ;
AliHelper . getLink ( link , null ) ) ;
}
}
return result ;
return result ;
}
}
// /**
// * 取消预约
// *
// * @param patientId 患者id
// * @param tradeNo HIS交易流水号
// * @param hisTransNo HIS流水号
// * @return 是否成功
// */
// public Result cancelRegReserve(String patientId, String tradeNo, String hisTransNo) {
// log.info("[挂号][取消预约]申请 patientId={}, tradeNo={}, hisTransNo={}", patientId, tradeNo, hisTransNo);
//
// if (patientId == null || ObjectUtils.isEmpty(tradeNo) || hisTransNo == null) {
// log.info("[挂号][取消预约]参数缺失 patientId={}, bankTransNo={}, hisTransNo={}", patientId, tradeNo, hisTransNo);
// return Result.error(ResultEnum.PARAM_IS_DEFECT);
// }
//
// Register reg = new RegisterDao().selectRegByHisTransNo(hisTransNo);
// if (reg == null) {
// log.info("[挂号][取消预约]失败, 未查询到挂号支付信息");
// return Result.error(ResultEnum.DATA_NOT_FOUND);
// }
//
//
// String outTradeNo = reg.getOutTradeNo();
// MerchantEnum merchantEnum = MerchantEnum.findEnumByOutTradeNo(outTradeNo);
//
// JsonResult resp = new HisRegisterDao().cancelReserve(patientId, tradeNo, merchantEnum);
// if (!resp.success()) {
// String message = resp.getMessage();
// log.info("[挂号][取消预约]失败 HIS返回:{}", message);
// return Result.error(message);
// }
//
// String dbTradeNo = reg.getTradeNo();
// BigDecimal payMoney = reg.getPayMoney();
// if (dbTradeNo == null || outTradeNo == null || payMoney == null) {
// log.info("[挂号][取消预约]失败, 支付信息的参数为空,patientId={}, tradeNo={}, payMoney={}", patientId, tradeNo, payMoney);
// return Result.error("支付信息的参数为空");
// }
//
// if (reg.hasRefundByRefundResult()) {
// return Result.error("已退费,请不要重复退费");
// }
//
// if (merchantEnum == null) {
// return Result.error("支付方式未匹配 outTradeNo=" + outTradeNo);
// }
//
// log.info("{}[挂号][取消预约]开始退款... outTradeNo={}, dbTradeNo={}, payMoney={}", merchantEnum.NAME, outTradeNo, dbTradeNo, payMoney);
//
// String pushInfo = "取消预约 科室:" + reg.getDeptName();
//
// Result result = regAutoRefund(merchantEnum, resp, reg.getOpenid(), payMoney, outTradeNo, dbTradeNo, "取消预约", pushInfo, reg.getUpdateTime(), "取消预约");
//
// new SmsService().sms_reg_002(reg);
// MessagePushConfig.regCancelPush(merchantEnum, reg);
//
// if (result.isOK()) {
// result.setMessage(merchantEnum.NAME + "取消成功,挂号费用将在24小时内退回!"); // 修改返回提示的信息
// }
//
// if (MerchantEnum.ALI.equals(merchantEnum)) {
//
// String link = "pages/center/components/remordList/reserve";
//
// String title = "预约挂号取消 " + reg.getDeptName();
// AliMessageHelper.hospitalOrder(reg.getOpenid(), title, AliMsgEnum.MERCHANT_CLOSED, reg.getUpdateTime(), false, reg.getTotalFee(), outTradeNo, reg.getRegDate(), reg.getBegTime(), reg.getDeptCode(), reg.getDeptName(), reg.getDoctName(),
// AliHelper.getLink(link, null));
// }
// return result;
// }
//
// /**
// * 今日挂号[取消预约]
// *
// * @param hisTransNo HIS流水号
// */
// public Result refundRegister(String hisTransNo) {
// log.info("[今日挂号][取消预约]hisTransNo={}", hisTransNo);
//
// if (hisTransNo == null) {
// log.info("[今日挂号][取消预约]hisTransNo为空");
// return Result.error(ResultEnum.PARAM_IS_DEFECT);
// }
//
// Register reg = new RegisterDao().selectRegByHisTransNo(hisTransNo);
// if (reg == null) {
// log.info("[今日挂号][取消预约]失败, 未查询到挂号支付信息;若是医保支付则不允许线上退号,请到窗口进行退费");
// return Result.error(ResultEnum.REG_NOT_FIND);
// }
//
// String tradeNo = reg.getTradeNo();
// String outTradeNo = reg.getOutTradeNo();
// MerchantEnum merchantEnum = MerchantEnum.findEnumByOutTradeNo(outTradeNo);
//
// JsonResult resp = new HisRegisterDao().refundRegister(tradeNo, merchantEnum);
// if (!resp.success()) {
// String message = resp.getMessage();
// log.info("[今日挂号][取消预约]失败 HIS返回:{}", message);
// return Result.error(message);
// }
//
// String dbTradeNo = reg.getTradeNo();
// BigDecimal payMoney = reg.getPayMoney();
// if (dbTradeNo == null || outTradeNo == null || payMoney == null) {
// log.info("[今日挂号][取消预约]失败, 支付信息的参数为空, tradeNo={}, payMoney={}", tradeNo, payMoney);
// return Result.error("今日挂号支付信息的参数为空");
// }
//
// if (reg.hasRefundByRefundResult()) {
// return Result.error("已退费,请不要重复退费");
// }
//
// if (merchantEnum == null) {
// return Result.error("支付方式未匹配 outTradeNo=" + outTradeNo);
// }
//
// new MiddleOfficeService().reg_JH0105(reg.getTreatNum());
//
// log.info("{}[今日挂号][取消预约]开始退款... outTradeNo={}, dbTradeNo={}, payMoney={}", merchantEnum.NAME, outTradeNo, dbTradeNo, payMoney);
//
// String pushInfo = "取消预约 科室:" + reg.getDeptName();
//
// Result result = refundTodayRegister(merchantEnum, resp, reg.getOpenid(), payMoney, outTradeNo, dbTradeNo, "取消预约", pushInfo, reg.getUpdateTime(), "取消预约");
//
// new SmsService().sms_reg_002(reg); // 短信通知
// MessagePushConfig.regCancelPush(merchantEnum, reg);
//
// if (result.isOK()) {
// result.setMessage(merchantEnum.NAME + "取消成功,挂号费用将在24小时内退回!"); // 修改返回提示的信息
// }
//
// if (MerchantEnum.ALI.equals(merchantEnum)) {
//
// String link = "pages/center/components/remordList/reserve";
//
// String title = "预约挂号取消 " + reg.getDeptName();
// AliMessageHelper.hospitalOrder(reg.getOpenid(), title, AliMsgEnum.MERCHANT_CLOSED, reg.getUpdateTime(), false, reg.getTotalFee(), outTradeNo, reg.getRegDate(), reg.getBegTime(), reg.getDeptCode(), reg.getDeptName(), reg.getDoctName(),
// AliHelper.getLink(link, null));
// }
// return result;
// }
/ * *
/ * *
* 挂号手动退费
* 挂号手动退费
*
*
@ -645,47 +720,47 @@ public class RegService {
* @param tradeNo HIS交易流水号
* @param tradeNo HIS交易流水号
* @param hisResult 记录信息
* @param hisResult 记录信息
* /
* /
public Result regAutoRefund ( MerchantEnum merchantEnum , JsonResult jsonResult , String openid , BigDecimal totalFee , String outTradeNo , String tradeNo , String hisResult , String pushInfo , Date tradeDate ) {
public Result regAutoRefund ( MerchantEnum merchantEnum , JsonResult jsonResult , String openid , BigDecimal totalFee , String outTradeNo , String tradeNo , String hisResult , String pushInfo , Date tradeDate , String refundReason ) {
log . info ( "[预约挂号/挂号失败自动退费][开始退费]---merchantEnum-{},JsonResult-{},openid-{},totalFee-{},outTradeNo-{},tradeNo-{},hisResult-{},pushInfo-{},tradeDate-{}" , merchantEnum , jsonResult , openid , totalFee , outTradeNo , tradeNo , hisResult , pushInfo , tradeDate ) ;
return regRefund ( merchantEnum , jsonResult , openid , totalFee , outTradeNo , tradeNo , hisResult , pushInfo , tradeDate , refundReason , false ) ;
return regRefund ( merchantEnum , jsonResult , openid , totalFee , outTradeNo , tradeNo , hisResult , pushInfo , tradeDate , false ) ;
}
}
public Result refundTodayRegister ( MerchantEnum merchantEnum , JsonResult jsonResult , String openid , BigDecimal totalFee , String outTradeNo , String tradeNo , String hisResult , String pushInfo , Date tradeDate ) {
// public Result refundTodayRegister(MerchantEnum merchantEnum, JsonResult jsonResult, String openid, BigDecimal totalFee, String outTradeNo, String tradeNo, String hisResult, String pushInfo, Date tradeDate, String refundReason) {
log . info ( "[今日挂号][开始退费]---merchantEnum-{},JsonResult-{},openid-{},totalFee-{},outTradeNo-{},tradeNo-{},hisResult-{},pushInfo-{},tradeDate-{}" , merchantEnum , jsonResult , openid , totalFee , outTradeNo , tradeNo , hisResult , pushInfo , tradeDate ) ;
// log.info("{}[今日挂号][开始退费] openid={}, totalFee={}, outTradeNo={}, tradeNo={}, hisResult={}, pushInfo={}, tradeDate={}, refundReason={}", merchantEnum.NAME, openid, totalFee, outTradeNo, tradeNo, hisResult, pushInfo, tradeDate, refundReason);
return regRefund ( merchantEnum , jsonResult , openid , totalFee , outTradeNo , tradeNo , hisResult , pushInfo , tradeDate , true ) ;
// return regRefund(merchantEnum, jsonResult, openid, totalFee, outTradeNo, tradeNo, hisResult, pushInfo, tradeDate, refundReason, true);
}
// }
public Result regRefund ( MerchantEnum merchantEnum , JsonResult jsonResult , String openid , BigDecimal totalFee , String outTradeNo , String tradeNo , String hisResult , String pushInfo , Date tradeDate , String refundReason , boolean isRegToday ) {
log . info ( "{}[取消挂号][开始退费] isRegToday={}, openid={}, totalFee={}, outTradeNo={}, tradeNo={}, hisResult={}, pushInfo={}, tradeDate={}, refundReason={}" , isRegToday , merchantEnum . NAME , openid , totalFee , outTradeNo , tradeNo , hisResult , pushInfo , tradeDate , refundReason ) ;
public Result regRefund ( MerchantEnum merchantEnum , JsonResult jsonResult , String openid , BigDecimal totalFee , String outTradeNo , String tradeNo , String hisResult , String pushInfo , Date tradeDate , boolean isToday ) {
RegisterDao regDao = new RegisterDao ( ) ;
RegisterDao regDao = new RegisterDao ( ) ;
String code = jsonResult . getCode ( ) ;
String code = jsonResult . getCode ( ) ;
// 挂号记录更新HIS返回的错误信息
// 挂号记录更新HIS返回的错误信息|取消预约
if ( ! regDao . updateHisPaidFailByOutTradeNo ( outTradeNo , code , hisResult ) ) {
if ( ! regDao . updateHisPaidFailByOutTradeNo ( outTradeNo , code , hisResult , refundReason ) ) {
log . info ( "[挂号][退费错误]更新HIS返回的错误信息 失败 outTradeNo={}, tradeNo={}" , outTradeNo , tradeNo ) ;
log . info ( "[取消挂号]更新[HIS挂号失败信息|取消预约] 失败 outTradeNo={}, tradeNo={}" , outTradeNo , tradeNo ) ;
}
}
if ( jsonResult . isTimeout ( ) ) { // 超时不退费
if ( jsonResult . isTimeout ( ) ) { // 超时不退费
log . info ( "[挂号][退费错误 ]HIS请求超时 outTradeNo={}, tradeNo={}" , outTradeNo , tradeNo ) ;
log . info ( "[取消 挂号]HIS请求超时 outTradeNo={}, tradeNo={}" , outTradeNo , tradeNo ) ;
return Result . error ( "[挂号不 退费]HIS请求超时" ) ;
return Result . error ( "[挂号禁止 退费]HIS请求超时" ) ;
}
}
if ( ! isToday ) {
if ( ! isReg Today ) {
// 如果HIS交过费返回true-->就不向下执行(自动退款)
// 如果HIS交过费返回true-->就不向下执行(自动退款)
String dateShort = DateGenerate . getStringDateShort ( ) ;
String dateShort = DateGenerate . getStringDateShort ( ) ;
String paidTip = new HisAccountDao ( ) . isPaid ( DateGenerate . getNextDay ( dateShort , "-7" ) , DateGenerate . getNextDay ( dateShort , "7" ) , tradeNo ) ;
String paidTip = new HisAccountDao ( ) . isPaid ( DateGenerate . getNextDay ( dateShort , "-7" ) , DateGenerate . getNextDay ( dateShort , "7" ) , tradeNo ) ;
if ( paidTip ! = null ) {
if ( paidTip ! = null ) {
log . info ( "[挂号][退费错误 ] paidTip={}, outTradeNo={}, tradeNo={}" , paidTip , outTradeNo , tradeNo ) ;
log . info ( "[取消 挂号] paidTip={}, outTradeNo={}, tradeNo={}" , paidTip , outTradeNo , tradeNo ) ;
return Result . error ( paidTip ) ;
return Result . error ( paidTip ) ;
}
}
}
}
String refundResult ;
String refundResult ;
if ( totalFee . compareTo ( BigDecimal . ZERO ) ! = 0 ) { // 金为0
if ( totalFee . compareTo ( BigDecimal . ZERO ) ! = 0 ) { // 金额 为0
log . info ( "{}[挂号][退款 ]开始申请 outTradeNo={}, pushInfo={}" , merchantEnum . NAME , outTradeNo , pushInfo ) ;
log . info ( "{}[取消 挂号]开始申请 outTradeNo={}, pushInfo={}" , merchantEnum . NAME , outTradeNo , pushInfo ) ;
Order orderRefund = PayService . refund ( merchantEnum , outTradeNo , tradeNo , totalFee , totalFee , pushInfo , tradeDate , openid , null , pushInfo ) ;
Order orderRefund = PayService . refund ( merchantEnum , outTradeNo , tradeNo , totalFee , totalFee , pushInfo , tradeDate , openid , null , pushInfo ) ;
if ( ! orderRefund . isSuccess ( ) ) {
if ( ! orderRefund . isSuccess ( ) ) {
log . info ( "{} [挂号][退费错误 ] outTradeNo={}, tradeNo={}, totalFee={}" , merchantEnum . NAME , outTradeNo , tradeNo , totalFee ) ;
log . info ( "{} [取消 挂号] outTradeNo={}, tradeNo={}, totalFee={}" , merchantEnum . NAME , outTradeNo , tradeNo , totalFee ) ;
}
}
refundResult = orderRefund . getRefundResult ( ) ;
refundResult = orderRefund . getRefundResult ( ) ;
@ -695,7 +770,7 @@ public class RegService {
boolean isUpdate = regDao . updateRefundResult ( outTradeNo , tradeNo , refundResult ) ;
boolean isUpdate = regDao . updateRefundResult ( outTradeNo , tradeNo , refundResult ) ;
if ( ! isUpdate ) {
if ( ! isUpdate ) {
log . info ( "{} [挂号][退费错误 ]信息更新失败 tradeNo={}" , merchantEnum . NAME , tradeNo ) ;
log . info ( "{} [取消 挂号]信息更新失败 tradeNo={}" , merchantEnum . NAME , tradeNo ) ;
return Result . error ( ) ;
return Result . error ( ) ;
}
}
return Result . success ( ) ;
return Result . success ( ) ;