From ab6603d889f482459c1812e52ce2c5c04fe8e3e7 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 08 Sep 2022 09:53:10 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 90 ++++++++++++-------------------------------- 1 files changed, 25 insertions(+), 65 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 09e56e6..fd7ac30 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -462,7 +462,8 @@ @Override public OrderDetailVo findOrderDetailsById(Long id) { MallOrderInfo orderInfo = this.baseMapper.selectOrderDetailsById(id); - if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) { +// if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) { + if (ObjectUtil.isNull(orderInfo)) { throw new FebsException("订单不存在"); } @@ -504,6 +505,11 @@ if (orderInfo.getDeliveryState() != OrderDeliveryStateEnum.DELIVERY_FINISH.getValue()) { throw new FebsException("还未送至自提点"); + } + + List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectByItemIdAndOrderIdAndState(null, orderInfo.getId(), 3); + if(CollUtil.isNotEmpty(mallRefundEntities)){ + throw new FebsException("请先处理退款商品"); } orderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); @@ -722,9 +728,10 @@ mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_RITEM"+mallOrderItem.getId()); mallRefundEntity.setMemberId(member.getId()); mallRefundEntity.setOrderId(mallOrderInfo.getId()); - if("余额支付"==mallOrderInfo.getPayMethod()){ + mallRefundEntity.setItemId(mallOrderItem.getId()); + if("余额支付".equals(mallOrderInfo.getPayMethod())){ mallRefundEntity.setType(3); - }else if("微信支付"==mallOrderInfo.getPayMethod()){ + }else if("微信支付".equals(mallOrderInfo.getPayMethod())){ mallRefundEntity.setType(1); }else{ mallRefundEntity.setType(3); @@ -736,14 +743,12 @@ if(mallRefund.getState() == 1){ return new FebsResponse().fail().message("订单已退款"); } - if(mallRefund.getState() == 3){ - return new FebsResponse().fail().message("订单退款中"); - } - if(mallRefund.getState() == 2){ + if(mallRefund.getState() == 2 || mallRefund.getState() == 3){ mallRefundEntity.setId(mallRefund.getId()); mallRefundEntity.setRefundNo(mallRefund.getRefundNo()); mallRefundEntity.setMemberId(mallRefund.getMemberId()); mallRefundEntity.setOrderId(mallRefund.getOrderId()); + mallRefundEntity.setItemId(mallRefund.getItemId()); mallRefundEntity.setType(mallRefund.getType()); mallRefundEntity.setState(3); mallRefundEntity.setAmount(mallRefund.getAmount()); @@ -755,65 +760,8 @@ apiLeaderRefundOrderDto.setItemId(mallOrderItem.getId()); apiLeaderRefundOrderDto.setAgreeState(1); iApiMallTeamLeaderService.leaderRefundOrder(apiLeaderRefundOrderDto); - -// //退款订单编号 -// String orderNo = mallOrderInfo.getOrderNo(); -// //退款退款编号 -// String refundNo = mallRefundEntity.getRefundNo(); -// //退款订单金额 -// BigDecimal orderAmount = mallOrderInfo.getAmount(); -// BigDecimal aa = new BigDecimal(100); -// int orderMoney = orderAmount.multiply(aa).intValue(); -// -// //退款退款金额 -// BigDecimal refundAmount = mallRefundEntity.getAmount(); -// BigDecimal bb = new BigDecimal(100); -// int refundMoney = refundAmount.multiply(bb).intValue(); -// -// Long refundId = mallRefundEntity.getId(); -// MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId); -// MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo); -// //余额支付退款 -// if(OrderPayMethodEnum.BALANCE.getName().equals(mallOrderInfo.getPayMethod())){ -// mallRefundOld.setState(1); -// mallRefundMapper.updateById(mallRefundOld); -// mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue()); -// this.baseMapper.updateById(mallOrderInfoOld); -// mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); -// memberWalletService.add(refundAmount, member.getId(), "balance"); -// mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId()); -// return new FebsResponse().success().message("退款成功"); -// } -// -// Boolean flag = false; -// Boolean debug = xcxProperties.getDebug(); -// if (debug) { -// boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, 1, 1, null); -// flag = b; -// } else { -// log.info("开始调用退款接口。。。退款编号为{}", refundNo); -// boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, orderMoney, refundMoney, null); -// flag = b; -// } -// -// /** -// * 更新退款表 -// * 更新订单表 -// */ -// if(flag){ -// mallRefundOld.setState(1); -// mallRefundMapper.updateById(mallRefundOld); -// mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue()); -// this.baseMapper.updateById(mallOrderInfoOld); -// mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId()); -// mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); -// }else{ -// mallRefundOld.setState(2); -// mallRefundMapper.updateById(mallRefundOld); -// return new FebsResponse().fail().message("退款失败,请联系客服人员"); -// } } - return new FebsResponse().success().message("退款成功"); + return new FebsResponse().success(); } @Override @@ -855,4 +803,16 @@ return new FebsResponse().success().message("已申请"); } + @Override + public FebsResponse cancelRefundOrder(Long id) { + MallRefundEntity mallRefundEntity = mallRefundMapper.selectById(id); + mallRefundEntity.setState(2); + mallRefundMapper.updateById(mallRefundEntity); + Long itemId = mallRefundEntity.getItemId(); + MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId); + mallOrderItem.setState(1); + mallOrderItemMapper.updateById(mallOrderItem); + return new FebsResponse().success().message("已取消"); + } + } -- Gitblit v1.9.1