下单接口调整

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.params.RegParams;
import com.ynxbd.wx.config.WeChatConfig;
import com.ynxbd.wx.wxfactory.ReqParamHelper;
import com.ynxbd.wx.wxfactory.WxPayHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
@ -170,6 +171,7 @@ public class PayAction extends BaseAction {
/**
* 体检退费
*
* @param recipeId 订单号
* @param payCode 支付方式
* @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);
if (result.isSuccess()) {
peisService.peisRefund(recipeId, "OK", "");
}
else {
} else {
peisService.peisRefund(recipeId, "FAIL", result.getMessage());
}
return result;
@ -807,16 +808,26 @@ public class PayAction extends BaseAction {
* [在线问诊]支付
*/
@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)) {
return Result.error(ResultEnum.PARAM_IS_DEFECT);
}
if (totalFee.compareTo(BigDecimal.ZERO) == 0) { // 0 元处理
return Result.error(ResultEnum.PAY_MONEY_IS_ZERO);
}
MerchantEnum merchantEnum = MerchantEnum.getMerchantEnumByCode(payCode);
String outTradeNo = CodeHelper.getOutTradeNo(merchantEnum);
if (ObjectUtils.isEmpty(outTradeNo)) {
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) {
return Result.error(ResultEnum.PAY_TYPE_NOT_SUPPORT);
}

Loading…
Cancel
Save