| | |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.enumerates.FlowTypeEnum; |
| | | import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; |
| | | import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum; |
| | | import cc.mrbird.febs.common.enumerates.OrderStatusEnum; |
| | | import cc.mrbird.febs.common.enumerates.*; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.AppContants; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.mall.dto.*; |
| | | import cc.mrbird.febs.mall.entity.*; |
| | | import cc.mrbird.febs.mall.mapper.*; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Slf4j |
| | |
| | | .append("-") |
| | | .append(mallOrderItem.getSkuName()) |
| | | .append("*").append(mallOrderItem.getCnt()).append(";"); |
| | | if(ObjectUtil.isNotEmpty(mallOrderItem.getMemberInviteId())){ |
| | | MallMember mallMember = mallMemberMapper.selectInfoByInviteId(mallOrderItem.getMemberInviteId()); |
| | | adminMallOrderInfoVo.setRefererName(mallMember.getName()); |
| | | } |
| | | // if(ObjectUtil.isNotEmpty(mallOrderItem.getMemberInviteId())){ |
| | | // MallMember mallMember = mallMemberMapper.selectInfoByInviteId(mallOrderItem.getMemberInviteId()); |
| | | // if(ObjectUtil.isNotEmpty(mallMember)){ |
| | | // adminMallOrderInfoVo.setRefererName(mallMember.getName()); |
| | | // } |
| | | // } |
| | | } |
| | | adminMallOrderInfoVo.setGoodsName(stringBuffer.toString()); |
| | | } |
| | |
| | | //用户钱包增加对应的余额 |
| | | iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId()); |
| | | |
| | | mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallOrderInfo.getMemberId(), |
| | | amount, |
| | | ScoreFlowTypeEnum.REFUND.getValue(), |
| | | mallOrderInfo.getOrderNo(), |
| | | FlowTypeEnum.BALANCE.getValue(), |
| | | StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),amount), |
| | | 2 |
| | | ); |
| | | } |
| | | |
| | | MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); |
| | |
| | | iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId()); |
| | | |
| | | //新增一条资金流水 |
| | | mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); |
| | | |
| | | |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallOrderInfo.getMemberId(), |
| | | refundAmount, |
| | | ScoreFlowTypeEnum.REFUND.getValue(), |
| | | mallOrderInfo.getOrderNo(), |
| | | FlowTypeEnum.BALANCE.getValue(), |
| | | StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount), |
| | | 2 |
| | | ); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse confirmOrder(AdminRefundOrderDto dto) { |
| | | Integer type = dto.getType(); |
| | | MallOrderInfo orderInfo = this.baseMapper.selectById(dto.getOrderId()); |
| | | if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) { |
| | | throw new FebsException("订单不存在"); |
| | | } |
| | | |
| | | if (orderInfo.getStatus() == OrderStatusEnum.REFUNDING.getValue()) { |
| | | throw new FebsException("已提交退款, 请勿重复提交"); |
| | | } |
| | | |
| | | if (orderInfo.getStatus() != OrderStatusEnum.WAIT_SHIPPING.getValue() |
| | | && orderInfo.getStatus() != OrderStatusEnum.WAIT_FINISH.getValue()) { |
| | | throw new FebsException("该订单不能退款"); |
| | | } |
| | | |
| | | Integer beforeStatus = orderInfo.getStatus(); |
| | | Long memberId = orderInfo.getMemberId(); |
| | | orderInfo.setStatus(OrderStatusEnum.REFUNDING.getValue()); |
| | | this.baseMapper.updateById(orderInfo); |
| | | |
| | | MallOrderRefund orderRefund = mallOrderRefundMapper.selectOrderRefundByOrderId(orderInfo.getId()); |
| | | if (orderRefund == null) { |
| | | orderRefund = new MallOrderRefund(); |
| | | orderRefund.setOrderId(orderInfo.getId()); |
| | | orderRefund.setMemberId(memberId); |
| | | orderRefund.setType(type); |
| | | orderRefund.setRefundTime(new Date()); |
| | | orderRefund.setBeforeStatus(beforeStatus); |
| | | orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue()); |
| | | |
| | | // 未发货则退运费,发货了则不退 |
| | | if (beforeStatus == 2) { |
| | | orderRefund.setAmount(orderInfo.getAmount().add(orderInfo.getCarriage())); |
| | | } else { |
| | | orderRefund.setAmount(orderInfo.getAmount()); |
| | | } |
| | | orderRefund.setDesp(StrUtil.format("系统发起退款{}", orderRefund.getAmount())); |
| | | orderRefund.setReason(StrUtil.format("系统发起退款{}", orderRefund.getAmount())); |
| | | mallOrderRefundMapper.insert(orderRefund); |
| | | } else { |
| | | orderRefund.setType(type); |
| | | orderRefund.setRefundTime(new Date()); |
| | | orderRefund.setBeforeStatus(beforeStatus); |
| | | orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue()); |
| | | // 未发货则退运费,发货了则不退 |
| | | if (beforeStatus == 2) { |
| | | orderRefund.setAmount(orderInfo.getAmount().add(orderInfo.getCarriage())); |
| | | } else { |
| | | orderRefund.setAmount(orderInfo.getAmount()); |
| | | } |
| | | orderRefund.setDesp(StrUtil.format("系统发起退款{}", orderRefund.getAmount())); |
| | | orderRefund.setReason(StrUtil.format("系统发起退款{}", orderRefund.getAmount())); |
| | | mallOrderRefundMapper.updateById(orderRefund); |
| | | } |
| | | |
| | | |
| | | MallOrderRefundOperation operation = new MallOrderRefundOperation(); |
| | | operation.setOrderId(orderInfo.getId()); |
| | | operation.setRefundId(orderRefund.getId()); |
| | | operation.setContent(StrUtil.format("系统发起退款{}", orderRefund.getAmount())); |
| | | mallOrderRefundOperationMapper.insert(operation); |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) { |
| | | MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo()); |
| | | if (mallOrderInfo == null) { |