From 7ab1702cb7b9eae5b431c33d46d798b1ab5fa8f2 Mon Sep 17 00:00:00 2001 From: wangsq <944414428@qq.com> Date: Wed, 10 Apr 2024 22:27:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=92=A8=E8=AF=A2=E8=B4=B9=E7=94=A8=E5=92=8C?= =?UTF-8?q?=E5=A4=8D=E8=AF=8A=E8=B4=B9=E7=94=A8=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ynxbd/common/action/TreatAction.java | 41 ++++---- .../common/action/pay/MedicalAction.java | 2 +- .../ynxbd/common/bean/his/HisReRegister.java | 10 +- .../com/ynxbd/common/dao/his/HisTreatDao.java | 95 ++++++++++--------- .../ynxbd/wx/wxfactory/WxMedicalHelper.java | 12 ++- 5 files changed, 89 insertions(+), 71 deletions(-) diff --git a/src/main/java/com/ynxbd/common/action/TreatAction.java b/src/main/java/com/ynxbd/common/action/TreatAction.java index aa5410c..b32aa94 100644 --- a/src/main/java/com/ynxbd/common/action/TreatAction.java +++ b/src/main/java/com/ynxbd/common/action/TreatAction.java @@ -37,7 +37,7 @@ public class TreatAction extends BaseAction { /** * 就诊记录创建 * - * @param treatNum 门诊号 + * @param treatNum 门诊号 * @param deptCode 医师科室代码 * @param doctCode 医师代码 * @param registCode 号别代码 @@ -53,14 +53,14 @@ public class TreatAction extends BaseAction { * @param openId 患者关注医院微信公众号的openId */ @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); try { if (treatNum == null) { 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); } catch (ServiceException 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 号别 */ @Action("getReRegister") - public Result getReRegister(String clinicCode){ - log.info("[查询复诊挂号费] clinicCode={}", clinicCode); + public Result getReRegister(String clinicCode) { + log.info("[问诊]查询复诊挂号费 clinicCode={}", clinicCode); try { - if (clinicCode == null) { - return Result.error(ResultEnum.PARAM_IS_DEFECT); - } - List hisReRegisterList = new HisTreatDao().getReRegister(clinicCode); - return Result.success(hisReRegisterList); - } catch (ServiceException e) { + return Result.success(new HisTreatDao().getReRegister(clinicCode)); + } catch (Exception 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") 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) { diff --git a/src/main/java/com/ynxbd/common/action/pay/MedicalAction.java b/src/main/java/com/ynxbd/common/action/pay/MedicalAction.java index 6e3d05f..6444f52 100644 --- a/src/main/java/com/ynxbd/common/action/pay/MedicalAction.java +++ b/src/main/java/com/ynxbd/common/action/pay/MedicalAction.java @@ -108,7 +108,7 @@ public class MedicalAction extends BaseAction { if (ObjectUtils.isEmpty(url)) { return Result.error(ResultEnum.PARAM_IS_INVALID); } - JSONObject respJson = WxMedicalHelper.getMdAuthUrl(url); + JSONObject respJson = WxMedicalHelper.getMdAuthRedirectUrl(url); return Result.success(respJson); } diff --git a/src/main/java/com/ynxbd/common/bean/his/HisReRegister.java b/src/main/java/com/ynxbd/common/bean/his/HisReRegister.java index 2397519..5beae4d 100644 --- a/src/main/java/com/ynxbd/common/bean/his/HisReRegister.java +++ b/src/main/java/com/ynxbd/common/bean/his/HisReRegister.java @@ -5,6 +5,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import java.math.BigDecimal; + /** * @author 李进才 * @ClassName HisReRegister @@ -19,8 +21,8 @@ import lombok.ToString; public class HisReRegister { private String clinicCode; private String clinicName; - private String attrib; - private double money; - private double regFee; - private double clinicFee; + private Integer attrib; + private BigDecimal money; + private BigDecimal regFee; + private BigDecimal clinicFee; } diff --git a/src/main/java/com/ynxbd/common/dao/his/HisTreatDao.java b/src/main/java/com/ynxbd/common/dao/his/HisTreatDao.java index 19395b8..1be2d46 100644 --- a/src/main/java/com/ynxbd/common/dao/his/HisTreatDao.java +++ b/src/main/java/com/ynxbd/common/dao/his/HisTreatDao.java @@ -42,11 +42,11 @@ public class HisTreatDao { * * @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 -> { params.put("MZNum", treatNum); - params.put("DeptCode",deptCode); - params.put("DoctCode",doctCode); + params.put("DeptCode", deptCode); + params.put("DoctCode", doctCode); params.put("RegistCode", registCode); params.put("RegFee", regFee); params.put("ClinicFee", clinicFee); @@ -66,19 +66,40 @@ public class HisTreatDao { throw new ServiceException(jsonResult.getMessage()); } - public List getReRegister (String clinicCode) throws ServiceException { + + /** + * [问诊]查询咨询费用信息 + * + * @param inquiryCode 收费项目代码 + */ + public List 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 getReRegister(String clinicCode) throws ServiceException { JsonResult jsonResult = HisHelper.getJsonResult(HisEnum.XK_QUERY_RE_REGISTER, params -> { params.put("ClinicCode", clinicCode); }); if (jsonResult.success()) { - return jsonResult.getDataMapList(HisReRegister.class,"RegisterFeeInfos","RegisterFeeInfo") ; + return jsonResult.getDataMapList(HisReRegister.class, "RegisterFeeInfos", "RegisterFeeInfo"); } throw new ServiceException(jsonResult.getMessage()); } - public List getInfoByTreatNum(String treatNum) throws ServiceException { List dataList = new ArrayList<>(); @@ -108,52 +129,36 @@ public class HisTreatDao { return data; } - /** - * 查询问诊费用信息 - * @param inquiryCode 收费项目代码 - * @return 问诊费用信息 - */ - public List getInquiryFee(String inquiryCode){ - List 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 payMoney 支付金额 - * @param payDate 支付日期 - * @param payTime 支付时间 - * @param transNo 交易流水号 - * @param payDeviceId 支付终端编号 - * @param bankTransNo 银行流水号或微信支付订单号或微信医保支付订单号 - * @param deptCode 科室代码 - * @param doctCode 医师代码 - * @param feeCode 13005中的收费项目代码 - * @param payWay 支付方式 - * @param ID 问诊订单ID - * @param begTime 接诊日期 - * @param endTime 结束日期 - * @param IDCardNo 身份证号 - * @param remark 备注 + * + * @param patientId 患者id + * @param patientName 患者姓名 + * @param payMoney 支付金额 + * @param payDate 支付日期 + * @param payTime 支付时间 + * @param transNo 交易流水号 + * @param payDeviceId 支付终端编号 + * @param bankTransNo 银行流水号或微信支付订单号或微信医保支付订单号 + * @param deptCode 科室代码 + * @param doctCode 医师代码 + * @param feeCode 13005中的收费项目代码 + * @param payWay 支付方式 + * @param ID 问诊订单ID + * @param begTime 接诊日期 + * @param endTime 结束日期 + * @param IDCardNo 身份证号 + * @param remark 备注 * @param doctTitleCode 医生职称编码 - * @param hospitalArea 院区 - * @param treatNum 复诊门诊号 + * @param hospitalArea 院区 + * @param treatNum 复诊门诊号 * @param firstTreatNum 初诊门诊号 - * @param openId 微信OpenId + * @param openId 微信OpenId * @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){ - return HisHelper.getJsonResult(HisEnum.XK_CREATE_INQUIRY,params->{ + 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 -> { params.put("PatientId", patientId); params.put("PatientName", patientName); params.put("PayMoney", payMoney); diff --git a/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java b/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java index a8695f8..fdf8e38 100644 --- a/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java +++ b/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java @@ -186,7 +186,7 @@ public class WxMedicalHelper { } log.info("[医保]下单url payUrl={}", payUrl); map.put("payUrl", payUrl); - map.put("bankTransNo",order.getMedTransId()); + map.put("bankTransNo", order.getMedTransId()); 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(); - 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); return jsonObj; } @@ -314,7 +318,7 @@ public class WxMedicalHelper { } RespJsapiTicket response = WxFactory.Base.OAuth().getJsapiTicket(); - if (response.getErrCode()!=0) { + if (response.getErrCode() != 0) { log.error("[微信]jsapi_ticket请求失败 code={}, message={}", response.getErrCode(), response.getErrMsg()); return null; }