xiaoyong931011
2022-08-29 e8e47505ddbb1aaf0b3575f8d8ec569c37268c4a
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -733,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("已申请");
    }
}