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 26784f7..6e3d05f 100644 --- a/src/main/java/com/ynxbd/common/action/pay/MedicalAction.java +++ b/src/main/java/com/ynxbd/common/action/pay/MedicalAction.java @@ -18,6 +18,7 @@ import com.ynxbd.common.result.ResultEnum; import com.ynxbd.common.result.ServiceException; import com.ynxbd.common.service.MedicalService; import com.ynxbd.common.service.params.RegParams; +import com.ynxbd.wx.wxfactory.ReqParamHelper; import com.ynxbd.wx.wxfactory.WxCacheHelper; import com.ynxbd.wx.wxfactory.WxMedicalHelper; import com.ynxbd.wx.wxfactory.WxPayHelper; @@ -45,9 +46,9 @@ public class MedicalAction extends BaseAction { * 用户信息获取 | 医保上传 | 医保支付下单 */ @Action("getFeeDetails") - public Result getFeeDetails(String callNo, String payCode, String openid, String qrCode, String patientId, String cardNo, String realName, BigDecimal totalFee, Boolean isTime,String ybAttrib,String ybBZCode, String ybBZName) { + public Result getFeeDetails(String callNo, String payCode, String openid, String qrCode, String patientId, String cardNo, String realName, BigDecimal totalFee, Boolean isTime, String ybAttrib, String ybBZCode, String ybBZName) { try { - log.info("【医保】上传明细下单 callNo={}, payCode={}, openid={}, qrCode={}, patientId={}, totalFee={}, ybAttrib={}, ybBZCode={}, ybBZName={}", callNo, payCode, openid, qrCode, patientId, totalFee,ybAttrib,ybBZCode,ybBZName); + log.info("【医保】上传明细下单 callNo={}, payCode={}, openid={}, qrCode={}, patientId={}, totalFee={}, ybAttrib={}, ybBZCode={}, ybBZName={}", callNo, payCode, openid, qrCode, patientId, totalFee, ybAttrib, ybBZCode, ybBZName); if (callNo == null || payCode == null || openid == null || qrCode == null || patientId == null || cardNo == null || totalFee == null) { return Result.error(ResultEnum.PARAM_IS_DEFECT); } @@ -72,7 +73,7 @@ public class MedicalAction extends BaseAction { if (treatNum == null || recipeJson == null) { return Result.error(ResultEnum.PARAM_IS_DEFECT); } - medicalInfo = MedicalService.recipeMdUploadFeeDetails(qrCode, openid, patientId, cardNo, realName, treatNum, recipeJson, totalFee,ybAttrib,ybBZCode,ybBZName); + medicalInfo = MedicalService.recipeMdUploadFeeDetails(qrCode, openid, patientId, cardNo, realName, treatNum, recipeJson, totalFee, ybAttrib, ybBZCode, ybBZName); break; default: @@ -99,11 +100,15 @@ public class MedicalAction extends BaseAction { * [处方流转]获取授权链接 */ @Action("getAuthUrl") - public Result getAuthUrl(String url, String callNo) { - if (ObjectUtils.isEmpty(url) || ObjectUtils.isEmpty(callNo)) { + public Result getAuthUrl(String url) { + if (ObjectUtils.isEmpty(url)) { return Result.error(ResultEnum.PARAM_IS_INVALID); } - JSONObject respJson = WxMedicalHelper.getMdAuthUrl(url, callNo); + url = ReqParamHelper.decode(url); + if (ObjectUtils.isEmpty(url)) { + return Result.error(ResultEnum.PARAM_IS_INVALID); + } + JSONObject respJson = WxMedicalHelper.getMdAuthUrl(url); return Result.success(respJson); } @@ -115,21 +120,22 @@ public class MedicalAction extends BaseAction { /** * 获取对账链接 + * * @param billDate 账单日期 * @param billType 账单类型 ALL,返回当日所有订单信息,默认 SUCCESS,返回当日成功支付的订单 REFUND,返回当日退款订单 - * @param key 加密密钥 + * @param key 加密密钥 * @return 下载链接 */ @Action("downBill") public Result downBill(String billDate, String billType, String key) { - log.info("[医保]下载对账订单,billDate-{}, billType-{}, key-{}",billDate,billType,key); - if(billDate== null || billType == null){ + log.info("[医保]下载对账订单,billDate-{}, billType-{}, key-{}", billDate, billType, key); + if (billDate == null || billType == null) { return Result.error(ResultEnum.PARAM_IS_DEFECT); } if (!DateHelper.getCurDate().equals(AesHelper.deCode(key))) { return Result.error(ResultEnum.PARAM_IS_INVALID); } - return Result.success(WxMedicalHelper.downBill(billDate,billType)); + return Result.success(WxMedicalHelper.downBill(billDate, billType)); } /** diff --git a/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java b/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java index 55fcb2d..a8695f8 100644 --- a/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java +++ b/src/main/java/com/ynxbd/wx/wxfactory/WxMedicalHelper.java @@ -12,6 +12,7 @@ import com.ynxbd.wx.wxfactory.bean.*; import com.ynxbd.wx.wxfactory.medical.MdConfig; import com.ynxbd.wx.wxfactory.utils.WxSignHelper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.ehcache.Cache; import javax.servlet.http.HttpServletRequest; @@ -207,13 +208,23 @@ public class WxMedicalHelper { medTransId); } + + /** + * [医保]获取授权链接 + */ + public static JSONObject getMdAuthUrl(String redirectUrl) { + JSONObject jsonObj = new JSONObject(); + jsonObj.put("url", WxFactory.Medical.Common().getAuthUrl(ObjectUtils.isEmpty(redirectUrl) ? "" : redirectUrl)); + jsonObj.put("type", MerchantEnum.WX_MEDICAL.CODE); + return jsonObj; + } + /** * [医保]获取授权链接 */ public static JSONObject getMdAuthUrl(String callbackUrl, String callNo) { - if (callNo != null) { - callNo = "?callNo=" + callNo; - } + callNo = ObjectUtils.isEmpty(callNo) ? "" : ("?callNo=" + callNo); + callbackUrl = ObjectUtils.isEmpty(callbackUrl) ? "" : callbackUrl; JSONObject jsonObj = new JSONObject(); jsonObj.put("url", WxFactory.Medical.Common().getAuthUrl(WeChatConfig.getWebUrl() + callbackUrl) + callNo); jsonObj.put("type", MerchantEnum.WX_MEDICAL.CODE);