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