1、医保没有现金部分时,如果医保部分已退费,标识为已退费。

2、部分接口进行数据加密。
debug
wangsq 2 weeks ago
parent 5c59a6e983
commit a67bf5d877
  1. 21
      src/main/java/com/ynxbd/common/action/PatientAction.java
  2. 2
      src/main/java/com/ynxbd/common/service/HCodeService.java
  3. 12
      src/main/java/com/ynxbd/common/service/MedicalService.java
  4. 2
      src/main/java/com/ynxbd/common/service/RecipeService.java
  5. 2
      src/main/java/com/ynxbd/wx/config/TZReserveConfig.java

@ -29,12 +29,12 @@ public class PatientAction extends BaseAction {
*/
@Action("getHisInfoByPatientId")
public Result getHisInfoByPatientId(String patientId) {
log.info("[患者]根据patientId查询信息 patientId={}", patientId);
patientId = getDecodeString(patientId);
log.info("[患者]根据patientId查询HIS信息 patientId={}", patientId);
if (patientId == null) {
return Result.error(ResultEnum.PARAM_IS_BLANK);
}
try {
patientId = getDecodeString(patientId);
JsonResult jsonResult = new HisPatientDao().selectPatientInfo(patientId, "999");
if (!jsonResult.success()) {
return Result.error(jsonResult.getMessage());
@ -59,12 +59,13 @@ public class PatientAction extends BaseAction {
*/
@Action("getInfoByPatientId")
public Result getInfoByPatientId(String patientId) {
patientId = getDecodeString(patientId);
log.info("[患者]根据patientId查询信息 patientId={}", patientId);
if (patientId == null) {
return Result.error(ResultEnum.PARAM_IS_BLANK);
}
List<Patient> patients = new PatientDao().selectListByPatientId(patientId);
if (patients.size() == 0) {
if (patients.isEmpty()) {
return Result.error(ResultEnum.DATA_NOT_FOUND);
}
Patient patient = patients.get(0);
@ -112,15 +113,16 @@ public class PatientAction extends BaseAction {
/**
* [患者] 外部对接-根据openId查询患者信息
*
* @param openid openId
* @param organizeName 组织机构代码
* @return 返回患者信息
*/
@Action("getPatientsByOpenid")
public Result getPatientsByOpenid(String openid,String organizeName) {
log.info("[外部患者信息对接]根据openid查询信息 openid={},organizeName-{}", openid,organizeName);
public Result getPatientsByOpenid(String openid, String organizeName) {
log.info("[外部患者信息对接]根据openid查询信息 openid={},organizeName-{}", openid, organizeName);
organizeName = AesHelper.deCode(organizeName);
if(organizeName==null){
if (organizeName == null) {
return Result.error(ResultEnum.PERMISSION_NO_ACCESS);
}
if (openid == null) {
@ -132,16 +134,17 @@ public class PatientAction extends BaseAction {
/**
* [患者] 外部对接-根据openId加密版查询患者信息
*
* @param enParams 加密openId
* @param organizeName 组织机构代码
* @return 返回患者信息
*/
@Action("getPatientsByEncOpenid")
public Result getPatientsByEncOpenid(String enParams,String organizeName) {
public Result getPatientsByEncOpenid(String enParams, String organizeName) {
String openid = AesHelper.deCode(enParams);
log.info("[外部患者信息对接]根据openid查询信息 openid={},organizeName-{},emParams-{}", openid,organizeName,enParams);
log.info("[外部患者信息对接]根据openid查询信息 openid={},organizeName-{},emParams-{}", openid, organizeName, enParams);
organizeName = AesHelper.deCode(organizeName);
if(organizeName==null){
if (organizeName == null) {
return Result.error(ResultEnum.PERMISSION_NO_ACCESS);
}
if (openid == null) {

@ -708,7 +708,7 @@ public class HCodeService {
* @param patientId patientId
* @return 是否成功
*/
public static boolean payNotifyReportHISData(String openid, String patientId) {
public static boolean rxReportHISData(String openid, String patientId) {
try {
if (!HCodeService.isEnableHealthCard()) { // 判断是否禁用电子健康卡
return false;

@ -356,7 +356,10 @@ public class MedicalService {
}
if (cashFee.compareTo(BigDecimal.ZERO) == 0) { // 现金部分为0
log.info("[医保][挂号]现金为0不执行退费 outTradeNo={}, bankTransNo={}, tradeNo={}", outTradeNo, bankTransNo, tradeNo);
log.info("[医保][挂号]现金为0不执行退费-修改退费状态 outTradeNo={}, bankTransNo={}, tradeNo={}", outTradeNo, bankTransNo, tradeNo);
if (!regDao.updateRefundByTradeNo(tradeNo, "OK")) {
log.info("【微信】[医保][挂号] 修改数据库退费状态失败 tradeNo={}", tradeNo);
}
return false;
}
@ -463,7 +466,10 @@ public class MedicalService {
// 微信医保自动退费
if (cashFee.compareTo(BigDecimal.ZERO) == 0) { // 现金部分为0
log.info("[医保][处方]现金为0不执行退费 outTradeNo={}, bankTransNo={}, tradeNo={}", outTradeNo, bankTransNo, tradeNo);
log.info("[医保][处方]现金为0不执行退费-修改退费状态 outTradeNo={}, bankTransNo={}, tradeNo={}", outTradeNo, bankTransNo, tradeNo);
if (!recipeDao.updateRefundByTradeNo(tradeNo, "OK")) {
log.info("【微信】[医保][处方]修改数据库退费状态失败 tradeNo={}", tradeNo);
}
return false;
}
MedicalOrder order = WxMedicalHelper.refundCash(outTradeNo, tradeNo, cashFee, "系统繁忙缴费失败,自动退费");
@ -471,7 +477,7 @@ public class MedicalService {
String refundResult = order.isOk() ? WxPayHelper.OK : order.getMessage();
log.info("【微信】[医保][处方]现金自动退费 outTradeNo={}, bankTransNo={}, tradeNo={} [{}]:{}", outTradeNo, bankTransNo, tradeNo, (isOk ? "成功" : "失败"), order.getMessage());
if (!recipeDao.updateRefundByTradeNo(tradeNo, refundResult)) {
log.info("[医保][处方]现金自动退费 修改数据库状态失败 tradeNo={}, refundResult={}", tradeNo, refundResult);
log.info("【微信】[医保][处方]现金自动退费 修改数据库状态失败 tradeNo={}, refundResult={}", tradeNo, refundResult);
}
return false;
}

@ -379,7 +379,7 @@ public class RecipeService {
TZReserveConfig.reserveRun(patientId); // 天助医技预约
HCodeService.payNotifyReportHISData(openid, patientId);
HCodeService.rxReportHISData(openid, patientId);
return true;
}

@ -25,7 +25,7 @@ import java.util.Map;
* 天助平台配置
*
* @author 李进才
* @ClassName MeTechnologyReConfig
* @ClassName TZReserveConfig
* @Description TODO
* @date 2024/06/14 09:27:00
*/

Loading…
Cancel
Save