咨询费用和复诊费用接口调整

debug
wangsq 1 year ago
parent d855d7cbbf
commit 7ab1702cb7
  1. 41
      src/main/java/com/ynxbd/common/action/TreatAction.java
  2. 2
      src/main/java/com/ynxbd/common/action/pay/MedicalAction.java
  3. 10
      src/main/java/com/ynxbd/common/bean/his/HisReRegister.java
  4. 95
      src/main/java/com/ynxbd/common/dao/his/HisTreatDao.java
  5. 12
      src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java

@ -37,7 +37,7 @@ public class TreatAction extends BaseAction {
/** /**
* 就诊记录创建 * 就诊记录创建
* *
* @param treatNum 门诊号 * @param treatNum 门诊号
* @param deptCode 医师科室代码 * @param deptCode 医师科室代码
* @param doctCode 医师代码 * @param doctCode 医师代码
* @param registCode 号别代码 * @param registCode 号别代码
@ -53,14 +53,14 @@ public class TreatAction extends BaseAction {
* @param openId 患者关注医院微信公众号的openId * @param openId 患者关注医院微信公众号的openId
*/ */
@Action("createTreatRecord") @Action("createTreatRecord")
public Result createTreatRecord(String treatNum,String deptCode,String doctCode,String registCode, String regFee, String clinicFee, String transNo, String payMoney, String payDate, String payTime, String payWay, String payDeviceID, String bankTransNo, String openId) { public Result createTreatRecord(String treatNum, String deptCode, String doctCode, String registCode, String regFee, String clinicFee, String transNo, String payMoney, String payDate, String payTime, String payWay, String payDeviceID, String bankTransNo, String openId) {
log.info("[就诊记录]创建 treatNum={}", treatNum); log.info("[就诊记录]创建 treatNum={}", treatNum);
try { try {
if (treatNum == null) { if (treatNum == null) {
return Result.error(ResultEnum.PARAM_IS_DEFECT); return Result.error(ResultEnum.PARAM_IS_DEFECT);
} }
HisTreat treat = new HisTreatDao().createTreat(treatNum,deptCode,doctCode,registCode,regFee,clinicFee,transNo,payMoney,payDate,payTime,payWay,payDeviceID,bankTransNo,openId); HisTreat treat = new HisTreatDao().createTreat(treatNum, deptCode, doctCode, registCode, regFee, clinicFee, transNo, payMoney, payDate, payTime, payWay, payDeviceID, bankTransNo, openId);
return Result.success(treat); return Result.success(treat);
} catch (ServiceException e) { } catch (ServiceException e) {
return Result.error(e); return Result.error(e);
@ -68,19 +68,31 @@ public class TreatAction extends BaseAction {
} }
/** /**
* 查询复诊挂号费 * [问诊]查询咨询费用信息
*
* @param inquiryCode 收费项目代码
*/
@Action("getInquiryFee")
public Result getInquiryFee(String inquiryCode) {
log.info("[问诊]查询咨询费用信息 inquiryCode={}", inquiryCode);
try {
return Result.success(new HisTreatDao().getInquiryFee(inquiryCode));
} catch (Exception e) {
return Result.error(e);
}
}
/**
* [问诊]查询复诊挂号费
*
* @param clinicCode 号别 * @param clinicCode 号别
*/ */
@Action("getReRegister") @Action("getReRegister")
public Result getReRegister(String clinicCode){ public Result getReRegister(String clinicCode) {
log.info("[查询复诊挂号费] clinicCode={}", clinicCode); log.info("[问诊]查询复诊挂号费 clinicCode={}", clinicCode);
try { try {
if (clinicCode == null) { return Result.success(new HisTreatDao().getReRegister(clinicCode));
return Result.error(ResultEnum.PARAM_IS_DEFECT); } catch (Exception e) {
}
List<HisReRegister> hisReRegisterList = new HisTreatDao().getReRegister(clinicCode);
return Result.success(hisReRegisterList);
} catch (ServiceException e) {
return Result.error(e); return Result.error(e);
} }
} }
@ -121,11 +133,6 @@ public class TreatAction extends BaseAction {
} }
} }
@Action("getInquiryFee")
public Result getInquiryFee(String inquiryCode){
log.info("[互联网医院]查询问诊费用信息,inquiryCode-{}",inquiryCode);
return Result.success(new HisTreatDao().getInquiryFee(inquiryCode));
}
@Action("createInquiry") @Action("createInquiry")
public Result createInquiry(String patientId, String patientName, String payMoney, String payDate, String payTime, String transNo, String payDeviceId, String bankTransNo, String deptCode, String doctCode, String feeCode, String payWay, String ID, String begTime, String endTime, String IDCardNo, String remark, String doctTitleCode, String hospitalArea, String treatNum, String firstTreatNum, String openId) { public Result createInquiry(String patientId, String patientName, String payMoney, String payDate, String payTime, String transNo, String payDeviceId, String bankTransNo, String deptCode, String doctCode, String feeCode, String payWay, String ID, String begTime, String endTime, String IDCardNo, String remark, String doctTitleCode, String hospitalArea, String treatNum, String firstTreatNum, String openId) {

@ -108,7 +108,7 @@ public class MedicalAction extends BaseAction {
if (ObjectUtils.isEmpty(url)) { if (ObjectUtils.isEmpty(url)) {
return Result.error(ResultEnum.PARAM_IS_INVALID); return Result.error(ResultEnum.PARAM_IS_INVALID);
} }
JSONObject respJson = WxMedicalHelper.getMdAuthUrl(url); JSONObject respJson = WxMedicalHelper.getMdAuthRedirectUrl(url);
return Result.success(respJson); return Result.success(respJson);
} }

@ -5,6 +5,8 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import java.math.BigDecimal;
/** /**
* @author 李进才 * @author 李进才
* @ClassName HisReRegister * @ClassName HisReRegister
@ -19,8 +21,8 @@ import lombok.ToString;
public class HisReRegister { public class HisReRegister {
private String clinicCode; private String clinicCode;
private String clinicName; private String clinicName;
private String attrib; private Integer attrib;
private double money; private BigDecimal money;
private double regFee; private BigDecimal regFee;
private double clinicFee; private BigDecimal clinicFee;
} }

@ -42,11 +42,11 @@ public class HisTreatDao {
* *
* @param treatNum 门诊号 * @param treatNum 门诊号
*/ */
public HisTreat createTreat(String treatNum,String deptCode,String doctCode,String registCode, String regFee, String clinicFee, String transNo, String payMoney, String payDate, String payTime, String payWay, String payDeviceID, String bankTransNo, String openId) throws ServiceException { public HisTreat createTreat(String treatNum, String deptCode, String doctCode, String registCode, String regFee, String clinicFee, String transNo, String payMoney, String payDate, String payTime, String payWay, String payDeviceID, String bankTransNo, String openId) throws ServiceException {
JsonResult jsonResult = HisHelper.getJsonResult(HisEnum.XK_CREATE_TREAT, params -> { JsonResult jsonResult = HisHelper.getJsonResult(HisEnum.XK_CREATE_TREAT, params -> {
params.put("MZNum", treatNum); params.put("MZNum", treatNum);
params.put("DeptCode",deptCode); params.put("DeptCode", deptCode);
params.put("DoctCode",doctCode); params.put("DoctCode", doctCode);
params.put("RegistCode", registCode); params.put("RegistCode", registCode);
params.put("RegFee", regFee); params.put("RegFee", regFee);
params.put("ClinicFee", clinicFee); params.put("ClinicFee", clinicFee);
@ -66,19 +66,40 @@ public class HisTreatDao {
throw new ServiceException(jsonResult.getMessage()); throw new ServiceException(jsonResult.getMessage());
} }
public List<HisReRegister> getReRegister (String clinicCode) throws ServiceException {
/**
* [问诊]查询咨询费用信息
*
* @param inquiryCode 收费项目代码
*/
public List<InquiryFee> getInquiryFee(String inquiryCode) throws ServiceException {
JsonResult jsonResult = HisHelper.getJsonResult(HisEnum.XK_INQUIRY_FEE, params -> {
params.put("Code", inquiryCode);
});
if (jsonResult.success()) {
return jsonResult.getDataMapList(InquiryFee.class, "Items", "Item");
}
throw new ServiceException(jsonResult.getMessage());
}
/**
* [问诊]查询复诊挂号费
*
* @param clinicCode 号别
*/
public List<HisReRegister> getReRegister(String clinicCode) throws ServiceException {
JsonResult jsonResult = HisHelper.getJsonResult(HisEnum.XK_QUERY_RE_REGISTER, params -> { JsonResult jsonResult = HisHelper.getJsonResult(HisEnum.XK_QUERY_RE_REGISTER, params -> {
params.put("ClinicCode", clinicCode); params.put("ClinicCode", clinicCode);
}); });
if (jsonResult.success()) { if (jsonResult.success()) {
return jsonResult.getDataMapList(HisReRegister.class,"RegisterFeeInfos","RegisterFeeInfo") ; return jsonResult.getDataMapList(HisReRegister.class, "RegisterFeeInfos", "RegisterFeeInfo");
} }
throw new ServiceException(jsonResult.getMessage()); throw new ServiceException(jsonResult.getMessage());
} }
public List<HisTreat> getInfoByTreatNum(String treatNum) throws ServiceException { public List<HisTreat> getInfoByTreatNum(String treatNum) throws ServiceException {
List<HisTreat> dataList = new ArrayList<>(); List<HisTreat> dataList = new ArrayList<>();
@ -108,52 +129,36 @@ public class HisTreatDao {
return data; return data;
} }
/**
* 查询问诊费用信息
* @param inquiryCode 收费项目代码
* @return 问诊费用信息
*/
public List<InquiryFee> getInquiryFee(String inquiryCode){
List<InquiryFee> dataList = new ArrayList<>();
JsonResult jsonResult = HisHelper.getJsonResult(HisEnum.XK_INQUIRY_FEE, params -> {
params.put("Code", inquiryCode);
});
if (jsonResult.success()) {
dataList = jsonResult.getDataMapList(InquiryFee.class, "Items", "Item");
}
return dataList;
}
/** /**
* 创建问诊订单 * 创建问诊订单
* @param patientId 患者id *
* @param patientName 患者姓名 * @param patientId 患者id
* @param payMoney 支付金额 * @param patientName 患者姓名
* @param payDate 支付日期 * @param payMoney 支付金额
* @param payTime 支付时间 * @param payDate 支付日期
* @param transNo 交易流水号 * @param payTime 支付时间
* @param payDeviceId 支付终端编号 * @param transNo 交易流水号
* @param bankTransNo 银行流水号或微信支付订单号或微信医保支付订单号 * @param payDeviceId 支付终端编号
* @param deptCode 科室代码 * @param bankTransNo 银行流水号或微信支付订单号或微信医保支付订单号
* @param doctCode 医师代码 * @param deptCode 科室代码
* @param feeCode 13005中的收费项目代码 * @param doctCode 医师代码
* @param payWay 支付方式 * @param feeCode 13005中的收费项目代码
* @param ID 问诊订单ID * @param payWay 支付方式
* @param begTime 接诊日期 * @param ID 问诊订单ID
* @param endTime 结束日期 * @param begTime 接诊日期
* @param IDCardNo 身份证号 * @param endTime 结束日期
* @param remark 备注 * @param IDCardNo 身份证号
* @param remark 备注
* @param doctTitleCode 医生职称编码 * @param doctTitleCode 医生职称编码
* @param hospitalArea 院区 * @param hospitalArea 院区
* @param treatNum 复诊门诊号 * @param treatNum 复诊门诊号
* @param firstTreatNum 初诊门诊号 * @param firstTreatNum 初诊门诊号
* @param openId 微信OpenId * @param openId 微信OpenId
* @return 是否成功 * @return 是否成功
*/ */
public JsonResult createInquiry(String patientId, String patientName, String payMoney, String payDate, String payTime, String transNo, String payDeviceId, String bankTransNo, String deptCode, String doctCode, String feeCode, String payWay, String ID, String begTime, String endTime, String IDCardNo, String remark, String doctTitleCode, String hospitalArea, String treatNum, String firstTreatNum, String openId){ public JsonResult createInquiry(String patientId, String patientName, String payMoney, String payDate, String payTime, String transNo, String payDeviceId, String bankTransNo, String deptCode, String doctCode, String feeCode, String payWay, String ID, String begTime, String endTime, String IDCardNo, String remark, String doctTitleCode, String hospitalArea, String treatNum, String firstTreatNum, String openId) {
return HisHelper.getJsonResult(HisEnum.XK_CREATE_INQUIRY,params->{ return HisHelper.getJsonResult(HisEnum.XK_CREATE_INQUIRY, params -> {
params.put("PatientId", patientId); params.put("PatientId", patientId);
params.put("PatientName", patientName); params.put("PatientName", patientName);
params.put("PayMoney", payMoney); params.put("PayMoney", payMoney);

@ -186,7 +186,7 @@ public class WxMedicalHelper {
} }
log.info("[医保]下单url payUrl={}", payUrl); log.info("[医保]下单url payUrl={}", payUrl);
map.put("payUrl", payUrl); map.put("payUrl", payUrl);
map.put("bankTransNo",order.getMedTransId()); map.put("bankTransNo", order.getMedTransId());
return map; return map;
} }
@ -211,10 +211,14 @@ public class WxMedicalHelper {
/** /**
* [医保]获取授权链接 * [医保]获取授权链接
*
* @param redirectUrl 回调地址
* @return json
*/ */
public static JSONObject getMdAuthUrl(String redirectUrl) { public static JSONObject getMdAuthRedirectUrl(String redirectUrl) {
redirectUrl = (ObjectUtils.isEmpty(redirectUrl) ? "" : redirectUrl);
JSONObject jsonObj = new JSONObject(); JSONObject jsonObj = new JSONObject();
jsonObj.put("url", WxFactory.Medical.Common().getAuthUrl(ObjectUtils.isEmpty(redirectUrl) ? "" : redirectUrl)); jsonObj.put("url", WxFactory.Medical.Common().getAuthUrl(WeChatConfig.getWebUrl() + redirectUrl));
jsonObj.put("type", MerchantEnum.WX_MEDICAL.CODE); jsonObj.put("type", MerchantEnum.WX_MEDICAL.CODE);
return jsonObj; return jsonObj;
} }
@ -314,7 +318,7 @@ public class WxMedicalHelper {
} }
RespJsapiTicket response = WxFactory.Base.OAuth().getJsapiTicket(); RespJsapiTicket response = WxFactory.Base.OAuth().getJsapiTicket();
if (response.getErrCode()!=0) { if (response.getErrCode() != 0) {
log.error("[微信]jsapi_ticket请求失败 code={}, message={}", response.getErrCode(), response.getErrMsg()); log.error("[微信]jsapi_ticket请求失败 code={}, message={}", response.getErrCode(), response.getErrMsg());
return null; return null;
} }

Loading…
Cancel
Save