rentaiming
2024-06-03 6e8a55edef22faa7f7d5bbbccd727119a6fd918f
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1,24 +1,32 @@
package com.ruoyi.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.enums.OrderFromEnum;
import com.ruoyi.common.core.enums.OrderStatusEnum;
import com.ruoyi.common.core.enums.PaymentMethodEnum;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.order.domain.OrderMall;
import com.ruoyi.order.mapper.OrderMapper;
import com.ruoyi.order.service.IOrderMallService;
import com.ruoyi.order.service.IOrderService;
import com.ruoyi.order.util.OrderUtil;
import com.ruoyi.system.api.domain.Order;
import com.ruoyi.system.api.domain.OrderAuctionBond;
import com.ruoyi.system.api.domain.*;
import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
import com.ruoyi.system.api.domain.dto.MemberOrderDTO;
import com.ruoyi.system.api.domain.dto.OrderDTO;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.ruoyi.system.api.domain.vo.MemberTiOrderVO;
import com.ruoyi.system.api.domain.vo.OrderVO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import com.ruoyi.system.api.feignClient.MemberClient;
import org.springframework.stereotype.Service;
/**
@@ -36,11 +44,32 @@
    @Resource
    private IOrderMallService orderMallService;
    @Resource
    private GoodsSkuClient goodsSkuClient;
    @Resource
    private MemberClient memberClient;
    @Override
    public void saveOrderOne(OrderDTO OrderDTO) {
        Order order=new Order();
        String prefix = OrderUtil.getOrderNoForPrefix("XM");
        order.setOrderNo(prefix);
        if (OrderDTO.getOrderFrom().getCode()==1){
            order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER);
            order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP"));
        }
        if (OrderDTO.getOrderFrom().getCode()==2){
            order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
            order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS"));
        }
        if (OrderDTO.getOrderFrom().getCode()==3){
            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
            order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG"));
        }if (OrderDTO.getOrderFrom().getCode()==4){
            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
            order.setOrderNo(OrderUtil.getOrderNoForPrefix("PM"));
        }
        order.setOrderTime(OrderDTO.getOrderTime());
        order.setOrderFrom(OrderDTO.getOrderFrom());
        order.setAuctionType(OrderDTO.getAuctionType());
@@ -105,4 +134,97 @@
    public List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO) {
        return baseMapper.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO);
    }
    @Override
    public MemberTiOrderVO saveMemberOrder(MemberOrderDTO memberOrderDTO) {
        MemberTiOrderVO memberOrderVO=new MemberTiOrderVO();
        BigDecimal pice=new BigDecimal(0);
        Order order=new Order();
        if (memberOrderDTO.getOrderFrom()==1){
            order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER);
            order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP"));
        }
        if (memberOrderDTO.getOrderFrom()==2){
            order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
            order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS"));
        }
        if (memberOrderDTO.getOrderFrom()==3){
            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
            order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG"));
        }
        if (memberOrderDTO.getPaymentMethod()==1){
            order.setPaymentMethod(PaymentMethodEnum.WECHAT);
        }if (memberOrderDTO.getPaymentMethod()==2){
            order.setPaymentMethod(PaymentMethodEnum.ALIPAY);
        }
        if (memberOrderDTO.getOrderFrom()==1){
            GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
            memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
            memberOrderVO.setPrice(goodsSku.getPrice());
            memberOrderVO.setCoverPic(goodsSku.getCoverPic());
            memberOrderVO.setSkuName(goodsSku.getSkuName());
            pice=goodsSku.getPrice();
        }
        if (memberOrderDTO.getOrderFrom()==2){
            order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
            GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
            GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
            memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
            memberOrderVO.setPrice(goodsSku.getPrice());
            memberOrderVO.setCoverPic(goodsSku.getCoverPic());
            memberOrderVO.setSkuName(goodsSku.getSkuName());
            memberOrderVO.setYouhiPrice(data.getSeckillPrice());
            pice=data.getSeckillPrice();
        }
        if (memberOrderDTO.getOrderFrom()==3){
            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
            GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
            GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
            memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
            memberOrderVO.setPrice(goodsSku.getPrice());
            memberOrderVO.setCoverPic(goodsSku.getCoverPic());
            memberOrderVO.setSkuName(goodsSku.getSkuName());
            memberOrderVO.setYouhiPrice(data.getGroupPurchasePrice());
            pice=data.getGroupPurchasePrice();
        }
        order.setMemberId(memberOrderDTO.getMemberId());
        order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
        order.setOrderTime(LocalDateTime.now());
        order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
        order.setTotalAmount(pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
        order.setOrderStatus(OrderStatusEnum.TO_PLAY);
        MemberAddress data = memberClient.getMemberAddressOne(
                memberOrderDTO.getMemberId(), SecurityConstants.INNER).getData();
        if (StringUtils.isNotNull(data)) {
            order.setReceiverName(data.getRecipientName());
            order.setReceiverCity(data.getReceiverCity());
            order.setReceiverDetailAddress(data.getDetailedAddress());
            order.setReceiverphone(data.getRecipientPhone());
        }
        baseMapper.insert(order);
        OrderMall orderMall=new OrderMall();
        orderMall.setOrderId(order.getId());
        if (memberOrderDTO.getOrderFrom()==1){
            orderMall.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
        }
        if (memberOrderDTO.getOrderFrom()==2){
            orderMall.setActivityId(memberOrderDTO.getGoodsSkuId());
        }
        if (memberOrderDTO.getOrderFrom()==3){
            orderMall.setActivityId(memberOrderDTO.getGoodsSkuId());
        }
        orderMallService.save(orderMall);
        memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY);
        memberOrderVO.setOrderNo(order.getOrderNo());
        memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
        memberOrderVO.setOrderTime(order.getOrderTime());
        memberOrderVO.setOrderFrom(order.getOrderFrom());
        return null;
    }
}