From e0207d7029b4e90ea1e4efeab5c3c5591f0e59c3 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 29 八月 2024 16:28:10 +0800
Subject: [PATCH] 申诉

---
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java      |   10 +++
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java                                |   20 +++++-
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java |    6 ++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java                 |   54 ++++++++++++------
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java      |   24 ++++++++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteNameVO.java                      |   24 ++++++++
 6 files changed, 116 insertions(+), 22 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
index ee67b6f..3c9c594 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
@@ -4,6 +4,7 @@
 import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.vo.SiteNameVO;
 import com.ruoyi.common.core.domain.R;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -36,6 +37,11 @@
             public R<TChargingGun> getChargingGunById(Integer id) {
                 return R.fail("根据id获取充电枪失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<SiteNameVO> getAllInfoById(Integer id) {
+                return R.fail("通过枪id获取站点、桩、枪的名称失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
index 149625a..1e9cf96 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.chargingPile.api.factory.ChargingGunFallbackFactory;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
+import com.ruoyi.chargingPile.api.vo.SiteNameVO;
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.common.core.domain.R;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -32,4 +33,13 @@
 	 */
 	@PostMapping("/t-charging-gun/getChargingGunById/{id}")
 	R<TChargingGun> getChargingGunById(@PathVariable("id") Integer id);
+
+	/**
+	 * 通过枪id获取站点、桩、枪的名称VO
+	 * @param id
+	 * @return
+	 */
+	@PostMapping("/t-charging-gun/getAllInfoById/{id}")
+	R<SiteNameVO> getAllInfoById(@PathVariable("id") Integer id);
+
 }
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteNameVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteNameVO.java
new file mode 100644
index 0000000..06049e4
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteNameVO.java
@@ -0,0 +1,24 @@
+package com.ruoyi.chargingPile.api.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "获取站点、桩、枪的名称VO")
+public class SiteNameVO implements Serializable {
+
+    @ApiModelProperty(value = "站点名称")
+    private String siteName;
+    @ApiModelProperty(value = "桩名称")
+    private String pileName;
+    @ApiModelProperty(value = "桩号")
+    private Integer pileNumber;
+    @ApiModelProperty(value = "枪名称")
+    private String gunName;
+    @ApiModelProperty(value = "枪号")
+    private String gunNumber;
+
+}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java
index cafe08b..4ba0101 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderAppealVO.java
@@ -4,6 +4,8 @@
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
 
 @Data
 @ApiModel(value = "TOrderAppealVO对象", description = "订单申诉VO对象")
@@ -15,10 +17,20 @@
     @ApiModelProperty(value = "购物订单")
     private TShoppingOrder shoppingOrder;
 
-    @ApiModelProperty(value = "兑换订单")
-    private TExchangeOrder exchangeOrder;
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+    @ApiModelProperty(value = "商品图片")
+    private String goodsPicture;
 
-    @ApiModelProperty(value = "会员订单")
-    private TVipOrder vipOrder;
+    @ApiModelProperty(value = "站点名称")
+    private String siteName;
+    @ApiModelProperty(value = "桩名称")
+    private String pileName;
+    @ApiModelProperty(value = "桩号")
+    private Integer pileNumber;
+    @ApiModelProperty(value = "枪名称")
+    private String gunName;
+    @ApiModelProperty(value = "枪号")
+    private String gunNumber;
 
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
index 4120f07..fe5e167 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -4,10 +4,13 @@
 import cn.hutool.core.img.ImgUtil;
 import cn.hutool.core.io.FileUtil;
 import com.ruoyi.chargingPile.api.dto.TChargingGunDTO;
+import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
+import com.ruoyi.chargingPile.api.vo.SiteNameVO;
 import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
+import com.ruoyi.chargingPile.service.ISiteService;
 import com.ruoyi.chargingPile.service.TChargingGunService;
 import com.ruoyi.chargingPile.service.TChargingPileService;
 import com.ruoyi.chargingPile.util.QRCodeUtils;
@@ -52,6 +55,8 @@
     
     @Resource
     private TChargingPileService chargingPileService;
+    @Resource
+    private ISiteService siteService;
 
     @Autowired
     public TChargingGunController(TChargingGunService chargingGunService) {
@@ -184,5 +189,24 @@
         TChargingGun chargingGun = chargingGunService.getById(id);
         return R.ok(chargingGun);
     }
+    /**
+     * 根据id获取充电枪详情
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping(value = "/getAllInfoById/{id}")
+    public R<SiteNameVO> getAllInfoById(@PathVariable Integer id){
+        SiteNameVO siteNameVO = new SiteNameVO();
+        TChargingGun chargingGun = chargingGunService.getById(id);
+        siteNameVO.setGunName(chargingGun.getName());
+        siteNameVO.setGunNumber(chargingGun.getCode());
+        TChargingPile chargingPile = chargingPileService.getById(id);
+        siteNameVO.setPileName(chargingPile.getName());
+        siteNameVO.setPileNumber(chargingPile.getNumber());
+        Site site = siteService.getById(id);
+        siteNameVO.setSiteName(site.getName());
+        return R.ok(siteNameVO);
+    }
 }
 
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 4bc05f6..a4d30ce 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
@@ -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());
+            }
+        }
+    }
+
 }

--
Gitblit v1.7.1