xuhy
2024-08-29 e0207d7029b4e90ea1e4efeab5c3c5591f0e59c3
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java
@@ -2,6 +2,10 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.chargingPile.api.vo.SiteNameVO;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.*;
import com.ruoyi.order.api.query.TOrderAppealQuery;
@@ -9,11 +13,14 @@
import com.ruoyi.order.mapper.*;
import com.ruoyi.order.service.TChargingOrderService;
import com.ruoyi.order.service.TOrderAppealService;
import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.other.api.feignClient.GoodsClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -30,11 +37,11 @@
    @Autowired
    private TChargingOrderMapper chargingOrderMapper;
    @Autowired
    private TExchangeOrderMapper exchangeOrderMapper;
    @Autowired
    private TShoppingOrderMapper shoppingOrderMapper;
    @Autowired
    private TVipOrderMapper vipOrderMapper;
    private GoodsClient goodsClient;
    @Autowired
    private ChargingGunClient chargingGunClient;
    @Override
    public PageInfo<TOrderAppealVO> pageList(TOrderAppealQuery query) {
@@ -44,21 +51,23 @@
        // 查询当前页的订单
        List<TChargingOrder> chargingOrders = chargingOrderMapper.selectList(Wrappers.lambdaQuery(TChargingOrder.class)
                .in(TChargingOrder::getId, orderIds));
        List<TExchangeOrder> exchangeOrders = exchangeOrderMapper.selectList(Wrappers.lambdaQuery(TExchangeOrder.class)
                .in(TExchangeOrder::getId, orderIds));
        List<TShoppingOrder> shoppingOrders = shoppingOrderMapper.selectList(Wrappers.lambdaQuery(TShoppingOrder.class)
                .in(TShoppingOrder::getId, orderIds));
        List<TVipOrder> vipOrders = vipOrderMapper.selectList(Wrappers.lambdaQuery(TVipOrder.class)
                .in(TVipOrder::getId, orderIds));
        list.forEach(item -> {
            if (item.getOrderType() == 1) {
                item.setChargingOrder(chargingOrders.stream().filter(chargingOrder -> chargingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null));
            } else if (item.getOrderType() == 2) {
                item.setExchangeOrder(exchangeOrders.stream().filter(exchangeOrder -> exchangeOrder.getId().equals(item.getOrderId())).findFirst().orElse(null));
                TChargingOrder tChargingOrder = chargingOrders.stream().filter(chargingOrder -> chargingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null);
                if(Objects.nonNull(tChargingOrder)){
                    item.setChargingOrder(chargingOrders.stream().filter(chargingOrder -> chargingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null));
                    SiteNameVO siteNameVO = chargingGunClient.getAllInfoById(tChargingOrder.getChargingGunId()).getData();
                    item.setGunName(siteNameVO.getGunName());
                    item.setGunNumber(siteNameVO.getGunNumber());
                    item.setPileName(siteNameVO.getPileName());
                    item.setPileNumber(siteNameVO.getPileNumber());
                    item.setSiteName(siteNameVO.getSiteName());
                }
            }else if (item.getOrderType() == 3) {
                item.setShoppingOrder(shoppingOrders.stream().filter(shoppingOrder -> shoppingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null));
            }else if (item.getOrderType() == 4) {
                item.setVipOrder(vipOrders.stream().filter(vipOrder -> vipOrder.getId().equals(item.getOrderId())).findFirst().orElse(null));
                TShoppingOrder tShoppingOrder = shoppingOrders.stream().filter(shoppingOrder -> shoppingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null);
                setGoodsInfo(item,tShoppingOrder);
            }
        });
        pageInfo.setRecords(list);
@@ -73,13 +82,22 @@
        // 查询申诉详情
        if (orderAppeal.getOrderType() == 1) {
            orderAppealVO.setChargingOrder(chargingOrderMapper.selectById(orderAppeal.getOrderId()));
        } else if (orderAppeal.getOrderType() == 2) {
            orderAppealVO.setExchangeOrder(exchangeOrderMapper.selectById(orderAppeal.getOrderId()));
        }else if (orderAppeal.getOrderType() == 3) {
            orderAppealVO.setShoppingOrder(shoppingOrderMapper.selectById(orderAppeal.getOrderId()));
        }else if (orderAppeal.getOrderType() == 4) {
            orderAppealVO.setVipOrder(vipOrderMapper.selectById(orderAppeal.getOrderId()));
            TShoppingOrder tShoppingOrder = shoppingOrderMapper.selectById(orderAppeal.getOrderId());
            setGoodsInfo(orderAppealVO,tShoppingOrder);
        }
        return orderAppealVO;
    }
    private void setGoodsInfo(TOrderAppealVO orderAppealVO,TShoppingOrder tShoppingOrder){
        if(Objects.nonNull(tShoppingOrder)){
            orderAppealVO.setShoppingOrder(tShoppingOrder);
            TGoods goods = goodsClient.getGoodsById(tShoppingOrder.getGoodsId()).getData();
            if(Objects.nonNull(goods)){
                orderAppealVO.setGoodsName(goods.getName());
                orderAppealVO.setGoodsPicture(goods.getCoverPicture());
            }
        }
    }
}