From dc2d536c02bc7a5e54c7a0b258e195aaa5e06637 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Sep 2022 17:24:47 +0800
Subject: [PATCH] 20220902
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 42 insertions(+), 6 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 917b67b..b45cace 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
@@ -85,6 +85,11 @@
throw new FebsException("请选择自提点");
}
+ MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
+ if(ObjectUtil.isEmpty(mallTeamLeader)){
+ throw new FebsException("请重新选择团长");
+ }
+
String orderNo = MallUtils.getOrderNum();
MallOrderInfo orderInfo = new MallOrderInfo();
orderInfo.setOrderNo(orderNo);
@@ -187,9 +192,9 @@
BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
if(BigDecimal.ZERO.compareTo(delivaryAmount) < 0 && 1 == addOrderDto.getIsHome()){
total = total.add(delivaryAmount);
+ orderInfo.setCarriage(delivaryAmount);
}
orderInfo.setAmount(total);
- orderInfo.setCarriage(carriage);
MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
orderInfo.setName(address.getName());
@@ -227,6 +232,23 @@
orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
orderInfo.setCancelType(MallOrderInfo.CANCEL_BY_SELF);
this.baseMapper.updateById(orderInfo);
+ List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
+ if(CollUtil.isNotEmpty(mallOrderItemList)){
+ for(MallOrderItem mallOrderItem : mallOrderItemList){
+ Long goodsId = mallOrderItem.getGoodsId();
+ Long skuId = mallOrderItem.getSkuId();
+ Integer cnt = mallOrderItem.getCnt();
+ MallGoods mallGoods = mallGoodsMapper.selectById(goodsId);
+ mallGoods.setVolume(mallGoods.getVolume() - cnt);
+ mallGoods.setStock(mallGoods.getStock() + cnt);
+ mallGoodsMapper.updateById(mallGoods);
+
+ MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(skuId);
+ mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - cnt);
+ mallGoodsSku.setStock(mallGoodsSku.getStock() + cnt);
+ mallGoodsSkuMapper.updateById(mallGoodsSku);
+ }
+ }
}
/**
@@ -491,7 +513,8 @@
MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
- mallLeaderAchieve.setAmount(orderInfo.getAmount());
+ BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
+ mallLeaderAchieve.setAmount(subtract);
mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
mallLeaderAchieveMapper.insert(mallLeaderAchieve);
@@ -714,6 +737,21 @@
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) {
@@ -729,14 +767,12 @@
* 更新退款表
* 更新订单表
*/
- Long refundId = mallRefundEntity.getId();
- MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId);
- MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo);
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);
@@ -778,7 +814,7 @@
mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic());
mallRefundEntity.setMemberId(member.getId());
mallRefundEntity.setState(3);
- mallRefundEntity.setType(1);
+ mallRefundEntity.setType(applyRefundOrderDto.getType());
mallRefundEntity.setOrderId(orderId);
mallRefundEntity.setAmount(mallOrderItem.getAmount());
mallRefundMapper.insert(mallRefundEntity);
--
Gitblit v1.9.1