This commit is contained in:
2023-07-08 09:45:44 +08:00
parent c8ef00867c
commit 9a8cef4804

View File

@@ -18,7 +18,6 @@ import com.huifu.adapay.model.Payment;
import com.jsowell.adapay.common.CreateAdaPaymentParam;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.entity.SysDictData;
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
@@ -28,7 +27,10 @@ import com.jsowell.common.enums.InvoiceRecordEnum;
import com.jsowell.common.enums.MemberWalletEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.*;
import com.jsowell.common.util.AdapayUtil;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.SecurityUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.bean.BeanUtils;
import com.jsowell.pile.domain.*;
import com.jsowell.pile.dto.*;
@@ -163,50 +165,50 @@ public class OrderService {
* @param dto
*/
public Map<String, Object> payOrder(PayOrderDTO dto) throws Exception {
orderBasicInfoService.payOrder(dto);
Map<String, Object> resultMap = orderBasicInfoService.payOrder(dto);
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
if (orderInfo == null) {
throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_NULL_ERROR);
}
if (!StringUtils.equals(orderInfo.getPayStatus(), "0")) {
// 订单已支付
throw new BusinessException(ReturnCodeEnum.CODE_ORDER_IS_NOT_TO_BE_PAID_ERROR);
}
Map<String, Object> resultMap = Maps.newHashMap();
if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) {
// 余额支付
balancePayOrder(dto);
} else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) {
// 微信支付
dto.setOrderBasicInfo(orderInfo);
// 从字典中获取使用汇付支付的站点
List<SysDictData> adapay_station = DictUtils.getDictCache("adapay_station");
List<String> stationIdList = Lists.newArrayList();
if (CollectionUtils.isNotEmpty(adapay_station)) {
for (SysDictData sysDictData : adapay_station) {
stationIdList.add(sysDictData.getDictValue());
}
}
Map<String, Object> weixinMap;
if (stationIdList.contains(orderInfo.getStationId())) {
log.info("该站点:{}在字典中配置了使用汇付支付", orderInfo.getStationId());
weixinMap = adapayPayOrder(dto);
} else {
log.info("该站点:{}使用微信支付", orderInfo.getStationId());
weixinMap = wechatPayOrder(dto);
}
// 返回微信支付参数
resultMap.put("weixinMap", weixinMap);
} else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_ALIPAY.getValue())) { // 支付宝支付
// TODO 返回支付宝支付参数
} else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue())) { // 白名单支付
// 白名单支付可以直接调支付回调方法
dto.setPayAmount(new BigDecimal("500"));
whiteListPayOrder(dto);
}
// OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
// if (orderInfo == null) {
// throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_NULL_ERROR);
// }
// if (!StringUtils.equals(orderInfo.getPayStatus(), "0")) {
// // 订单已支付
// throw new BusinessException(ReturnCodeEnum.CODE_ORDER_IS_NOT_TO_BE_PAID_ERROR);
// }
// Map<String, Object> resultMap = Maps.newHashMap();
// if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) {
// // 余额支付
// balancePayOrder(dto);
// } else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) {
// // 微信支付
// dto.setOrderBasicInfo(orderInfo);
//
// // 从字典中获取使用汇付支付的站点
// List<SysDictData> adapay_station = DictUtils.getDictCache("adapay_station");
// List<String> stationIdList = Lists.newArrayList();
// if (CollectionUtils.isNotEmpty(adapay_station)) {
// for (SysDictData sysDictData : adapay_station) {
// stationIdList.add(sysDictData.getDictValue());
// }
// }
// Map<String, Object> weixinMap;
// if (stationIdList.contains(orderInfo.getStationId())) {
// log.info("该站点:{}在字典中配置了使用汇付支付", orderInfo.getStationId());
// weixinMap = adapayPayOrder(dto);
// } else {
// log.info("该站点:{}使用微信支付", orderInfo.getStationId());
// weixinMap = wechatPayOrder(dto);
// }
//
// // 返回微信支付参数
// resultMap.put("weixinMap", weixinMap);
// } else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_ALIPAY.getValue())) { // 支付宝支付
// // TODO 返回支付宝支付参数
// } else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue())) { // 白名单支付
// // 白名单支付可以直接调支付回调方法
// dto.setPayAmount(new BigDecimal("500"));
// whiteListPayOrder(dto);
// }
return resultMap;
}