From c4664502dfdaffff555b532e65b51a57ac8b29c2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 16 十月 2024 17:51:32 +0800
Subject: [PATCH] 合并代码

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java |   97 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java
index 93b5c54..5273411 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java
@@ -1,10 +1,28 @@
 package com.ruoyi.order.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.order.api.model.TOrderAppeal;
-import com.ruoyi.order.mapper.TOrderAppealMapper;
+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;
+import com.ruoyi.order.api.vo.TOrderAppealVO;
+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 org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +35,79 @@
 @Service
 public class TOrderAppealServiceImpl extends ServiceImpl<TOrderAppealMapper, TOrderAppeal> implements TOrderAppealService {
 
+    @Autowired
+    private TChargingOrderMapper chargingOrderMapper;
+    @Autowired
+    private TShoppingOrderMapper shoppingOrderMapper;
+    @Autowired
+    private GoodsClient goodsClient;
+    @Autowired
+    private ChargingGunClient chargingGunClient;
+
+    @Override
+    public PageInfo<TOrderAppealVO> pageList(TOrderAppealQuery query) {
+        PageInfo<TOrderAppealVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
+        List<TOrderAppealVO> list = this.baseMapper.pageList(query,pageInfo);
+        List<Long> orderIds = list.stream().map(TOrderAppealVO::getOrderId).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(orderIds)){
+            return new PageInfo<>();
+        }
+        // 查询当前页的订单
+        List<TChargingOrder> chargingOrders = chargingOrderMapper.selectList(Wrappers.lambdaQuery(TChargingOrder.class)
+                .in(TChargingOrder::getId, orderIds));
+        List<TShoppingOrder> shoppingOrders = shoppingOrderMapper.selectList(Wrappers.lambdaQuery(TShoppingOrder.class)
+                .in(TShoppingOrder::getId, orderIds));
+        list.forEach(item -> {
+            if (item.getOrderType() == 1) {
+                TChargingOrder tChargingOrder = chargingOrders.stream().filter(chargingOrder -> chargingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null);
+                if(Objects.nonNull(tChargingOrder)){
+                    item.setChargingOrder(tChargingOrder);
+                    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());
+                    item.setEndMode(tChargingOrder.getEndMode());
+                }
+            }else if (item.getOrderType() == 2) {
+                TShoppingOrder tShoppingOrder = shoppingOrders.stream().filter(shoppingOrder -> shoppingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null);
+                setGoodsInfo(item,tShoppingOrder);
+            }
+        });
+        list.forEach(e->e.setUid(e.getId().toString()));
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
+
+    @Override
+    public TOrderAppealVO getDetailById(String id) {
+        TOrderAppeal orderAppeal = this.baseMapper.selectById(id);
+        TOrderAppealVO orderAppealVO = new TOrderAppealVO();
+        BeanUtils.copyProperties(orderAppeal,orderAppealVO);
+        // 查询申诉详情
+        if (orderAppeal.getOrderType() == 1) {
+            TChargingOrder tChargingOrder = chargingOrderMapper.selectById(orderAppeal.getOrderId());
+            orderAppealVO.setChargingOrder(tChargingOrder);
+            if(Objects.nonNull(tChargingOrder)){
+                orderAppealVO.setEndMode(tChargingOrder.getEndMode());
+            }
+        }else if (orderAppeal.getOrderType() == 2) {
+            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());
+            }
+        }
+    }
+
 }

--
Gitblit v1.7.1