下单接口调整

debug
wangsq 1 year ago
parent cd6c23c789
commit 3eced532c7
  1. 21
      src/main/java/com/ynxbd/common/action/pay/PayAction.java

@ -21,6 +21,7 @@ import com.ynxbd.common.result.ServiceException;
import com.ynxbd.common.service.*; import com.ynxbd.common.service.*;
import com.ynxbd.common.service.params.RegParams; import com.ynxbd.common.service.params.RegParams;
import com.ynxbd.wx.config.WeChatConfig; import com.ynxbd.wx.config.WeChatConfig;
import com.ynxbd.wx.wxfactory.ReqParamHelper;
import com.ynxbd.wx.wxfactory.WxPayHelper; import com.ynxbd.wx.wxfactory.WxPayHelper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
@ -170,6 +171,7 @@ public class PayAction extends BaseAction {
/** /**
* 体检退费 * 体检退费
*
* @param recipeId 订单号 * @param recipeId 订单号
* @param payCode 支付方式 * @param payCode 支付方式
* @param totalFee 订单金额 * @param totalFee 订单金额
@ -190,8 +192,7 @@ public class PayAction extends BaseAction {
Result result = peisService.peisAutoRefund(recipeId, merchantEnum, outTradeNo, new BigDecimal(totalFee), pushMessage, new Date(), openid); Result result = peisService.peisAutoRefund(recipeId, merchantEnum, outTradeNo, new BigDecimal(totalFee), pushMessage, new Date(), openid);
if (result.isSuccess()) { if (result.isSuccess()) {
peisService.peisRefund(recipeId, "OK", ""); peisService.peisRefund(recipeId, "OK", "");
} } else {
else {
peisService.peisRefund(recipeId, "FAIL", result.getMessage()); peisService.peisRefund(recipeId, "FAIL", result.getMessage());
} }
return result; return result;
@ -807,16 +808,26 @@ public class PayAction extends BaseAction {
* [在线问诊]支付 * [在线问诊]支付
*/ */
@Action("createOLOrder") @Action("createOLOrder")
public Result createOLOrder(String payCode, String openid, String patientId, BigDecimal totalFee, String deptCode, String deptName, String doctName, String doctCode) { public Result createOLOrder(String payCode, String outTradeNo, String enOutTradeNo, String openid, String patientId, BigDecimal totalFee, String deptCode, String deptName, String doctName, String doctCode) {
log.info("[问诊]订单创建 payCode={}, outTradeNo={}, enOutTradeNo={}, deptCode={}, doctCode={}, totalFee={}", payCode, outTradeNo, enOutTradeNo, deptCode, doctCode, totalFee);
if (totalFee == null || ObjectUtils.isEmpty(openid) || ObjectUtils.isEmpty(patientId) || ObjectUtils.isEmpty(deptName) || ObjectUtils.isEmpty(doctName)) { if (totalFee == null || ObjectUtils.isEmpty(openid) || ObjectUtils.isEmpty(patientId) || ObjectUtils.isEmpty(deptName) || ObjectUtils.isEmpty(doctName)) {
return Result.error(ResultEnum.PARAM_IS_DEFECT); return Result.error(ResultEnum.PARAM_IS_DEFECT);
} }
if (totalFee.compareTo(BigDecimal.ZERO) == 0) { // 0 元处理 if (totalFee.compareTo(BigDecimal.ZERO) == 0) { // 0 元处理
return Result.error(ResultEnum.PAY_MONEY_IS_ZERO); return Result.error(ResultEnum.PAY_MONEY_IS_ZERO);
} }
MerchantEnum merchantEnum = MerchantEnum.getMerchantEnumByCode(payCode); if (ObjectUtils.isEmpty(outTradeNo)) {
String outTradeNo = CodeHelper.getOutTradeNo(merchantEnum); outTradeNo = CodeHelper.getOutTradeNo(MerchantEnum.WX);
} else {
if (outTradeNo.length() > 32) {
return Result.error(ResultEnum.PARAM_IS_INVALID);
}
if (!outTradeNo.equals(ReqParamHelper.decode(enOutTradeNo))) {
return Result.error(ResultEnum.PARAM_IS_INVALID);
}
}
MerchantEnum merchantEnum = MerchantEnum.getMerchantEnumByCode(payCode);
if (merchantEnum == null) { if (merchantEnum == null) {
return Result.error(ResultEnum.PAY_TYPE_NOT_SUPPORT); return Result.error(ResultEnum.PAY_TYPE_NOT_SUPPORT);
} }

Loading…
Cancel
Save