From eab74d698bb5c840146cc7bd54be2462f3ca4074 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 29 Aug 2022 15:42:44 +0800 Subject: [PATCH] 20220822 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 72 +++++++++++++++++++++++++++-------- 1 files changed, 55 insertions(+), 17 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 382f88c..b213d54 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 @@ -180,7 +180,11 @@ } mallOrderItemMapper.insert(orderItem); } - + //配送费 + BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount(); + if(BigDecimal.ZERO.compareTo(delivaryAmount) < 0 && 1 == addOrderDto.getIsHome()){ + total = total.add(delivaryAmount); + } orderInfo.setAmount(total); orderInfo.setCarriage(carriage); @@ -664,22 +668,23 @@ mallRefundEntity.setState(3); mallRefundEntity.setAmount(mallOrderInfo.getAmount()); mallRefundMapper.insert(mallRefundEntity); - } - if(mallRefund.getState() == 1){ - return new FebsResponse().fail().message("订单已退款"); - } - if(mallRefund.getState() == 3){ - return new FebsResponse().fail().message("订单退款中"); - } - if(mallRefund.getState() == 2){ - mallRefundEntity.setId(mallRefund.getId()); - mallRefundEntity.setRefundNo(mallRefund.getRefundNo()); - mallRefundEntity.setMemberId(mallRefund.getMemberId()); - mallRefundEntity.setOrderId(mallRefund.getOrderId()); - mallRefundEntity.setType(mallRefund.getType()); - mallRefundEntity.setState(3); - mallRefundEntity.setAmount(mallRefund.getAmount()); - mallRefundMapper.updateById(mallRefundEntity); + }else{ + if(mallRefund.getState() == 1){ + return new FebsResponse().fail().message("订单已退款"); + } + if(mallRefund.getState() == 3){ + return new FebsResponse().fail().message("订单退款中"); + } + if(mallRefund.getState() == 2){ + mallRefundEntity.setId(mallRefund.getId()); + mallRefundEntity.setRefundNo(mallRefund.getRefundNo()); + mallRefundEntity.setMemberId(mallRefund.getMemberId()); + mallRefundEntity.setOrderId(mallRefund.getOrderId()); + mallRefundEntity.setType(mallRefund.getType()); + mallRefundEntity.setState(3); + mallRefundEntity.setAmount(mallRefund.getAmount()); + mallRefundMapper.updateById(mallRefundEntity); + } } //退款订单编号 @@ -719,6 +724,7 @@ 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()); }else{ mallRefundOld.setState(2); mallRefundMapper.updateById(mallRefundOld); @@ -727,4 +733,36 @@ return new FebsResponse().success().message("退款成功"); } + @Override + public FebsResponse applyRefundOrder(ApplyRefundOrderDto applyRefundOrderDto) { + Long orderId = applyRefundOrderDto.getOrderId(); + Long itemId = applyRefundOrderDto.getItemId(); + MallMember member = LoginUserUtil.getLoginUser(); + MallOrderInfo mallOrderInfo = this.baseMapper.selectById(orderId); + if(ObjectUtil.isEmpty(mallOrderInfo)){ + return new FebsResponse().fail().message("订单不存在"); + } + + List<MallRefundEntity> mallRefundEntitieSuccess = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId,orderId,1); + List<MallRefundEntity> mallRefundEntitiesIng = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId,orderId,3); + if(CollUtil.isNotEmpty(mallRefundEntitieSuccess) || CollUtil.isNotEmpty(mallRefundEntitiesIng)){ + return new FebsResponse().fail().message("该订单无法申请退款"); + } + + MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId); + MallRefundEntity mallRefundEntity = new MallRefundEntity(); + mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_RITEM"+itemId); + mallRefundEntity.setRefundReason(applyRefundOrderDto.getRefundReason()); + mallRefundEntity.setRefundRemark(applyRefundOrderDto.getRefundRemark()); + mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic()); + mallRefundEntity.setMemberId(member.getId()); + mallRefundEntity.setState(3); + mallRefundEntity.setType(1); + mallRefundEntity.setOrderId(orderId); + mallRefundEntity.setItemId(itemId); + mallRefundEntity.setAmount(mallOrderItem.getAmount()); + mallRefundMapper.insert(mallRefundEntity); + return new FebsResponse().success().message("已申请"); + } + } -- Gitblit v1.9.1