|
|
|
@ -16,7 +16,6 @@ import com.ynxbd.common.dao.RegisterDao; |
|
|
|
import com.ynxbd.common.dao.his.HisAccountDao; |
|
|
|
import com.ynxbd.common.dao.his.HisAccountDao; |
|
|
|
import com.ynxbd.common.dao.his.HisRegisterDao; |
|
|
|
import com.ynxbd.common.dao.his.HisRegisterDao; |
|
|
|
import com.ynxbd.common.helper.common.DateHelper; |
|
|
|
import com.ynxbd.common.helper.common.DateHelper; |
|
|
|
import com.ynxbd.common.helper.common.JsonHelper; |
|
|
|
|
|
|
|
import com.ynxbd.common.helper.his.HisHelper; |
|
|
|
import com.ynxbd.common.helper.his.HisHelper; |
|
|
|
import com.ynxbd.common.result.JsonResult; |
|
|
|
import com.ynxbd.common.result.JsonResult; |
|
|
|
import com.ynxbd.common.result.Result; |
|
|
|
import com.ynxbd.common.result.Result; |
|
|
|
@ -399,9 +398,9 @@ public class RegService { |
|
|
|
String outTradeNo = reg.getOutTradeNo(); |
|
|
|
String outTradeNo = reg.getOutTradeNo(); |
|
|
|
MerchantEnum merchantEnum = MerchantEnum.findEnumByOutTradeNo(outTradeNo); |
|
|
|
MerchantEnum merchantEnum = MerchantEnum.findEnumByOutTradeNo(outTradeNo); |
|
|
|
|
|
|
|
|
|
|
|
JsonResult JsonResult = new HisRegisterDao().cancelReserve(patientId, tradeNo, merchantEnum); |
|
|
|
JsonResult resp = new HisRegisterDao().cancelReserve(patientId, tradeNo, merchantEnum); |
|
|
|
if (!JsonResult.success()) { |
|
|
|
if (!resp.success()) { |
|
|
|
String message = JsonResult.getMessage(); |
|
|
|
String message = resp.getMessage(); |
|
|
|
log.info("[挂号][取消预约]失败 HIS返回:{}", message); |
|
|
|
log.info("[挂号][取消预约]失败 HIS返回:{}", message); |
|
|
|
return Result.error(message); |
|
|
|
return Result.error(message); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -421,7 +420,7 @@ public class RegService { |
|
|
|
|
|
|
|
|
|
|
|
String pushInfo = "取消预约 科室:" + reg.getDeptName(); |
|
|
|
String pushInfo = "取消预约 科室:" + reg.getDeptName(); |
|
|
|
|
|
|
|
|
|
|
|
Result result = regAutoRefund(merchantEnum, JsonResult, reg.getOpenid(), payMoney, outTradeNo, dbTradeNo, "取消预约", pushInfo, reg.getUpdateTime()); |
|
|
|
Result result = regAutoRefund(merchantEnum, resp, reg.getOpenid(), payMoney, outTradeNo, dbTradeNo, "取消预约", pushInfo, reg.getUpdateTime()); |
|
|
|
|
|
|
|
|
|
|
|
new SmsService().sms_reg_002(reg); |
|
|
|
new SmsService().sms_reg_002(reg); |
|
|
|
MessagePushConfig.regCancelPush(merchantEnum, reg); |
|
|
|
MessagePushConfig.regCancelPush(merchantEnum, reg); |
|
|
|
@ -464,9 +463,9 @@ public class RegService { |
|
|
|
String outTradeNo = reg.getOutTradeNo(); |
|
|
|
String outTradeNo = reg.getOutTradeNo(); |
|
|
|
MerchantEnum merchantEnum = MerchantEnum.findEnumByOutTradeNo(outTradeNo); |
|
|
|
MerchantEnum merchantEnum = MerchantEnum.findEnumByOutTradeNo(outTradeNo); |
|
|
|
|
|
|
|
|
|
|
|
JsonResult JsonResult = new HisRegisterDao().refundRegister(tradeNo, merchantEnum); |
|
|
|
JsonResult resp = new HisRegisterDao().refundRegister(tradeNo, merchantEnum); |
|
|
|
if (!JsonResult.success()) { |
|
|
|
if (!resp.success()) { |
|
|
|
String message = JsonResult.getMessage(); |
|
|
|
String message = resp.getMessage(); |
|
|
|
log.info("[今日挂号][取消预约]失败 HIS返回:{}", message); |
|
|
|
log.info("[今日挂号][取消预约]失败 HIS返回:{}", message); |
|
|
|
return Result.error(message); |
|
|
|
return Result.error(message); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -492,7 +491,7 @@ public class RegService { |
|
|
|
|
|
|
|
|
|
|
|
String pushInfo = "取消预约 科室:" + reg.getDeptName(); |
|
|
|
String pushInfo = "取消预约 科室:" + reg.getDeptName(); |
|
|
|
|
|
|
|
|
|
|
|
Result result = refundTodayRegister(merchantEnum, JsonResult, reg.getOpenid(), payMoney, outTradeNo, dbTradeNo, "取消预约", pushInfo, reg.getUpdateTime()); |
|
|
|
Result result = refundTodayRegister(merchantEnum, resp, reg.getOpenid(), payMoney, outTradeNo, dbTradeNo, "取消预约", pushInfo, reg.getUpdateTime()); |
|
|
|
|
|
|
|
|
|
|
|
new SmsService().sms_reg_002(reg); // 短信通知
|
|
|
|
new SmsService().sms_reg_002(reg); // 短信通知
|
|
|
|
MessagePushConfig.regCancelPush(merchantEnum, reg); |
|
|
|
MessagePushConfig.regCancelPush(merchantEnum, reg); |
|
|
|
@ -633,34 +632,34 @@ public class RegService { |
|
|
|
* 挂号失败自动退款 |
|
|
|
* 挂号失败自动退款 |
|
|
|
* |
|
|
|
* |
|
|
|
* @param merchantEnum 退费方式 |
|
|
|
* @param merchantEnum 退费方式 |
|
|
|
* @param JsonResult 响应结果 |
|
|
|
* @param jsonResult 响应结果 |
|
|
|
* @param openid openid |
|
|
|
* @param openid openid |
|
|
|
* @param totalFee 订单总金额 |
|
|
|
* @param totalFee 订单总金额 |
|
|
|
* @param outTradeNo 订单号 |
|
|
|
* @param outTradeNo 订单号 |
|
|
|
* @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) { |
|
|
|
log.info("[预约挂号/挂号失败自动退费][开始退费]---merchantEnum-{},JsonResult-{},openid-{},totalFee-{},outTradeNo-{},tradeNo-{},hisResult-{},pushInfo-{},tradeDate-{}", merchantEnum, JsonResult, openid, totalFee, outTradeNo, tradeNo, hisResult, pushInfo, tradeDate); |
|
|
|
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, 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) { |
|
|
|
log.info("[今日挂号][开始退费]---merchantEnum-{},JsonResult-{},openid-{},totalFee-{},outTradeNo-{},tradeNo-{},hisResult-{},pushInfo-{},tradeDate-{}", merchantEnum, JsonResult, openid, totalFee, outTradeNo, tradeNo, hisResult, pushInfo, tradeDate); |
|
|
|
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, true); |
|
|
|
return regRefund(merchantEnum, jsonResult, openid, totalFee, outTradeNo, tradeNo, hisResult, pushInfo, tradeDate, true); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Result regRefund(MerchantEnum merchantEnum, JsonResult JsonResult, String openid, BigDecimal totalFee, String outTradeNo, String tradeNo, String hisResult, String pushInfo, Date tradeDate, boolean isToday) { |
|
|
|
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)) { |
|
|
|
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请求超时"); |
|
|
|
} |
|
|
|
} |
|
|
|
|