xiaoyong931011
2022-08-30 1a6a034373a07c5ce7b5a442b7ddf5842fc4e7b4
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -127,6 +127,7 @@
                orderItem.setStyleName(mallGoods.getGoodsName());
                orderItem.setSkuName(mallGoods.getGoodsName());
                orderItem.setSkuImage(mallGoods.getThumb());
                orderItem.setState(1);
                total = total.add(amount);
            } else {
@@ -161,6 +162,7 @@
                orderItem.setGoodsId(sku.getGoodsId());
                orderItem.setGoodsName(sku.getGoodsName());
                orderItem.setSkuId(sku.getId());
                orderItem.setState(1);
                orderItem.setStyleName(sku.getStyleName());
                orderItem.setSkuName(sku.getSkuName());
                orderItem.setSkuImage(sku.getSkuImage());
@@ -180,7 +182,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 +670,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);
            }
        }
        //退款订单编号
@@ -728,4 +735,43 @@
        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("该订单无法申请退款");
        }
        MallRefundEntity mallRefundEntity = new MallRefundEntity();
        MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId);
        if(ObjectUtil.isNotEmpty(mallOrderItem)){
            mallOrderItem.setState(2);
            mallOrderItemMapper.updateById(mallOrderItem);
            mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_RITEM"+itemId);
            mallRefundEntity.setItemId(itemId);
        }else{
            mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_R"+orderId);
        }
        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.setAmount(mallOrderItem.getAmount());
        mallRefundMapper.insert(mallRefundEntity);
        return new FebsResponse().success().message("已申请");
    }
}