From 24b3557d1cf0658d4ce86f242eab5df539e786af Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 23 Sep 2021 10:30:47 +0800 Subject: [PATCH] fix carts del goods --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 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 e02856a..5ccdcba 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 @@ -4,24 +4,32 @@ import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.MallUtils; +import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion; import cc.mrbird.febs.mall.dto.AddOrderDto; import cc.mrbird.febs.mall.dto.AddOrderItemDto; +import cc.mrbird.febs.mall.dto.OrderListDto; import cc.mrbird.febs.mall.dto.PayOrderDto; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IApiMallOrderInfoService; +import cc.mrbird.febs.mall.vo.OrderDetailVo; +import cc.mrbird.febs.mall.vo.OrderListVo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.Random; /** @@ -39,8 +47,10 @@ private final MallOrderItemMapper mallOrderItemMapper; private final MallMemberMapper memberMapper; private final IApiMallMemberWalletService memberWalletService; + private final MallExpressInfoMapper expressInfoMapper; @Override + @Transactional(rollbackFor = Exception.class) public Long createOrder(AddOrderDto addOrderDto) { MallMember member = LoginUserUtil.getLoginUser(); @@ -88,6 +98,8 @@ orderItem.setGoodsName(sku.getGoodsName()); orderItem.setSkuId(sku.getId()); orderItem.setStyleName(sku.getStyleName()); + orderItem.setSkuName(sku.getSkuName()); + orderItem.setSkuImage(sku.getSkuImage()); total = total.add(amount); mallOrderItemMapper.insert(orderItem); @@ -96,11 +108,14 @@ mallGoodsSkuMapper.updateById(sku); } + orderInfo.setAmount(total); + this.baseMapper.updateById(orderInfo); return orderInfo.getId(); } @Override + @Transactional(rollbackFor = Exception.class) public void cancelOrder(Long id) { MallMember member = LoginUserUtil.getLoginUser(); MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), id); @@ -118,6 +133,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public String payOrder(PayOrderDto payOrderDto) { MallMember member = LoginUserUtil.getLoginUser(); MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), payOrderDto.getId()); @@ -157,4 +173,44 @@ memberWalletService.reduceBalance(orderInfo.getAmount(), mallMember.getId()); return orderInfo.getOrderNo(); } + + + @Override + public List<OrderListVo> findOrderList(OrderListDto orderListDto) { + IPage<MallOrderInfo> page = new Page<>(orderListDto.getPageNum(), orderListDto.getPageSize()); + + IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiOrderListInPage(page, orderListDto); + return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords()); + } + + @Override + public OrderDetailVo findOrderDetailsById(Long id) { + MallOrderInfo orderInfo = this.baseMapper.selectOrderDetailsById(id); + if (orderInfo == null) { + throw new FebsException("订单不存在"); + } + + OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo); + + if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue()) { + MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); + orderDetailVo.setExpressNo(expressInfo.getExpressNo()); + orderDetailVo.setExpressCom(expressInfo.getExpressCom()); + } + return orderDetailVo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void confirmOrder(Long id) { + MallMember member = LoginUserUtil.getLoginUser(); + MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), id); + if (orderInfo == null) { + throw new FebsException("订单不存在"); + } + + orderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); + orderInfo.setReceivingTime(new Date()); + this.baseMapper.updateById(orderInfo); + } } -- Gitblit v1.9.1