@Override public Result<OrderTrade> refund(OrderTrade orderTrade) { // 创建支付订单 OrderTradePay orderTradePay = createOrderTradePayForRefund(orderTrade); // 修改账户金额 try { acctInfoManager.commitBalance(orderTradePay); orderTradePay.setPayStatus(PayStatusEnum.SUCCESS.getCode()); orderTradePayDao.updateById(orderTradePay); // 修改订单状态为处理中 orderTrade.setOrderStatus(OrderStatusEnum.WARTING.getCode()); orderTradeDao.updateById(orderTrade); return Result.success(orderTrade); } catch (Exception e) { logger.error("账户异常", e); // 退款异常,标记订单为未确认 orderTradePay.setPayStatus(PayStatusEnum.UNAFFIRM.getCode()); orderTradePayDao.updateById(orderTradePay); orderTrade.setOrderStatus(OrderStatusEnum.UNAFFIRM.getCode()); orderTradeDao.updateById(orderTrade); return Result.error("账户异常"); } }
orderTrade.setOrderStatus(OrderStatusEnum.WARTING.getCode()); orderTradeDao.updateById(orderTrade); return Result.success(orderTrade); orderTradePayDao.updateById(orderTradePay); orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); orderTradeDao.updateById(orderTrade); return Result.error(e.getMessage()); orderTradePayDao.updateById(orderTradePay); orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); orderTradeDao.updateById(orderTrade); return Result.error("账户异常");
orderTrade.setOrderStatus(OrderStatusEnum.SUCCESS.getCode()); orderTrade.setSupplyDesc(OrderStatusEnum.SUCCESS.getDesc()); orderTradeDao.updateById(orderTrade); orderTrade.setOrderStatus(OrderStatusEnum.WARTING.getCode()); orderTradeDao.updateById(orderTrade); } catch (Exception e) { orderTrade.setOrderStatus(OrderStatusEnum.WARTING.getCode()); orderTradeDao.updateById(orderTrade);
/** * 补兑换接口 */ public Result<OrderTrade> repairExchange(Long tradeNo) { OrderTrade orderTrade = exchangeManager.getOrderTradeByTradeNo(tradeNo); if (!OrderStatusEnum.FAIL.getCode().equals(orderTrade.getOrderStatus())) { // 不是失败的交易订单,不允许补充 return Result.error("不是失败的交易订单,不允许补充"); } orderTrade.setRepeatType(RepeatTypeEnum.YES.getCode()); orderTrade.setSupplyIndex(0); Result<OrderSupply> resultorderSupply = exchangeService.supplyExchange(orderTrade); if (!resultorderSupply.getCode().equals(ResultEnum.SUCCESS.getCode())) { // 失败 orderTrade.setSupplyDesc(resultorderSupply.getMsg()); orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); exchangeManager.updateOrderTrade(orderTrade); return Result.error(resultorderSupply.getCode(), resultorderSupply.getMsg()); } return Result.success(orderTrade); }
orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); orderTrade.setSupplyDesc(resultPay.getMsg()); rechargeManager.updateOrderTrade(orderTrade); orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); rechargeManager.updateOrderTrade(orderTrade); return Result.error(resultOrderSupply.getCode(), resultOrderSupply.getMsg());
rechargeManager.updateOrderSupply(orderSupply); orderTrade.setOrderStatus(OrderStatusEnum.WARTING.getCode()); orderTrade.setSupplyDesc(OrderStatusEnum.WARTING.getDesc()); rechargeManager.updateOrderTrade(orderTrade);
exchangeManager.updateOrderSupply(orderSupply); orderTrade.setOrderStatus(OrderStatusEnum.WARTING.getCode()); orderTrade.setSupplyDesc(OrderStatusEnum.WARTING.getDesc()); exchangeManager.updateOrderTrade(orderTrade);
orderTrade.setOrderStatus(OrderStatusEnum.SUCCESS.getCode()); orderTrade.setSupplyDesc(OrderStatusEnum.SUCCESS.getDesc()); rechargeManager.updateOrderTrade(orderTrade); orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); rechargeManager.updateOrderTrade(orderTrade);
orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); exchangeManager.updateOrderTrade(orderTrade);
orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); orderTrade.setSupplyDesc(resultPay.getMsg()); rechargeManager.updateOrderTrade(orderTrade); orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); rechargeManager.updateOrderTrade(orderTrade); return Result.error(resultorderSupply.getCode(), resultorderSupply.getMsg());
orderTrade.setOrderStatus(OrderStatusEnum.FAIL.getCode()); exchangeManager.updateOrderTrade(orderTrade); return Result.error(resultorderSupply.getCode(), resultorderSupply.getMsg());
@Override public OrderTrade createOrderTrade(String mobile, String orderNo, String orderTime, String notifyUrl, Item item, MerchantInfo merchantInfo) { OrderTrade orderTrade = new OrderTrade(); orderTrade.setOrderStatus(OrderStatusEnum.CREATE.getCode()); orderTrade.setUserInfoId(merchantInfo.getUserInfoId()); orderTrade.setAcctInfoId(merchantInfo.getAcctInfoId());
@Override public OrderTrade createOrderTrade(ExchangeRequest exchangeRequest, Item item, MerchantInfo merchantInfo) { OrderTrade orderTrade = new OrderTrade(); orderTrade.setOrderStatus(OrderStatusEnum.CREATE.getCode()); orderTrade.setUserInfoId(merchantInfo.getUserInfoId()); orderTrade.setAcctInfoId(merchantInfo.getAcctInfoId());