From 85a21fdb54fa06f2fa6e25e763ec5337e85295e7 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 16 八月 2024 16:55:34 +0800 Subject: [PATCH] 小程序登录 token失效全局异常 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 122 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 insertions(+), 1 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index de40f2c..f189465 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -1,10 +1,33 @@ package com.ruoyi.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.account.api.feignClient.AppUserCarClient; +import com.ruoyi.account.api.model.TAppUserCar; +import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient; +import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; +import com.ruoyi.chargingPile.api.feignClient.SiteClient; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.common.core.web.page.BasePage; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.api.model.TChargingOrder; +import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; +import com.ruoyi.order.dto.GetMyChargingOrderList; +import com.ruoyi.order.dto.MyChargingOrderInfo; +import com.ruoyi.order.dto.MyChargingOrderList; import com.ruoyi.order.mapper.TChargingOrderMapper; +import com.ruoyi.order.service.TChargingOrderAccountingStrategyService; import com.ruoyi.order.service.TChargingOrderService; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; +import java.util.*; /** * <p> @@ -16,5 +39,102 @@ */ @Service public class TChargingOrderServiceImpl extends ServiceImpl<TChargingOrderMapper, TChargingOrder> implements TChargingOrderService { - + + @Resource + private ChargingGunClient chargingGunClient; + + @Resource + private SiteClient siteClient; + + @Resource + private AppUserCarClient appUserCarClient; + + @Resource + private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService; + + @Resource + private TokenService tokenService; + + + + + /** + * 获取小程序充电记录列表数据 + * @param query + * @return + */ + @Override + public Map<String, Object> getMyChargingOrderList(GetMyChargingOrderList query) { + Long appUserId = tokenService.getLoginUser().getUserid(); + Map<String, Object> map = new HashMap<>(); + int size = this.baseMapper.getMyChargingOrderList(appUserId, 1, null, null).size(); + map.put("number", size); + List<TChargingOrder> list = this.baseMapper.getMyChargingOrderList(appUserId, query.getType(), query.getPageCurr(), query.getPageSize()); + List<MyChargingOrderList> orderLists = new ArrayList<>(); + for (TChargingOrder tChargingOrder : list) { + MyChargingOrderList myChargingOrderList = new MyChargingOrderList(); + myChargingOrderList.setId(tChargingOrder.getId().toString()); + myChargingOrderList.setStatus(tChargingOrder.getStatus()); + Site site = siteClient.getSiteByIds(Arrays.asList(tChargingOrder.getSiteId())).getData().get(0); + myChargingOrderList.setTitle(site.getName()); + myChargingOrderList.setChargingDegree(tChargingOrder.getChargingCapacity()); + String name = chargingGunClient.getAllName(tChargingOrder.getChargingGunId()).getData(); + myChargingOrderList.setName(name); + myChargingOrderList.setEndMode(tChargingOrder.getEndMode()); + BigDecimal payMoney = tChargingOrder.getStatus() < 4 ? tChargingOrder.getRechargeAmount() : tChargingOrder.getPaymentAmount(); + myChargingOrderList.setPayMoney(payMoney); + myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + orderLists.add(myChargingOrderList); + } + map.put("list", orderLists); + return map; + } + + + /** + * 获取充电订单明细 + * @param id 订单id + * @return + */ + @Override + public MyChargingOrderInfo getMyChargingOrderInfo(String id) { + TChargingOrder chargingOrder = this.getById(id); + MyChargingOrderInfo myChargingOrderInfo = new MyChargingOrderInfo(); + myChargingOrderInfo.setId(id); + myChargingOrderInfo.setCode(chargingOrder.getCode()); + myChargingOrderInfo.setCreateTime(chargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + myChargingOrderInfo.setStatus(chargingOrder.getStatus()); + Site site = siteClient.getSiteByIds(Arrays.asList(chargingOrder.getSiteId())).getData().get(0); + myChargingOrderInfo.setTitle(site.getName()); + TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData(); + myChargingOrderInfo.setChargeMode(chargingGun.getChargeMode()); + String name = chargingGunClient.getAllName(chargingOrder.getChargingGunId()).getData(); + myChargingOrderInfo.setName(name); + if(null != chargingOrder.getAppUserCarId()){ + TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(chargingOrder.getAppUserCarId())).getData().get(0); + myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate()); + }else{ + myChargingOrderInfo.setLicensePlate("无"); + } + myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().toInstant(ZoneOffset.of("+8")).toEpochMilli()); + myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().toInstant(ZoneOffset.of("+8")).toEpochMilli()); + myChargingOrderInfo.setOrderAmount(chargingOrder.getOrderAmount()); + myChargingOrderInfo.setPaymentAmount(chargingOrder.getPaymentAmount()); + myChargingOrderInfo.setRechargeAmount(chargingOrder.getRechargeAmount()); + myChargingOrderInfo.setCouponDiscountAmount(chargingOrder.getCouponDiscountAmount()); + myChargingOrderInfo.setVipDiscountAmount(chargingOrder.getVipDiscountAmount()); + myChargingOrderInfo.setRefundAmount(chargingOrder.getRefundAmount()); + List<TChargingOrderAccountingStrategy> stageCost = chargingOrderAccountingStrategyService.list( + new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, id) + .orderByAsc(TChargingOrderAccountingStrategy::getStartTime) + ); + myChargingOrderInfo.setStageCost(stageCost); + // todo 待完善 + //再MongoDB中获取数据 + myChargingOrderInfo.setCurrentAndVoltage(null); + //再MongoDB中获取数据 + myChargingOrderInfo.setPower(null); + myChargingOrderInfo.setActionable(myChargingOrderInfo.getEndTime() + 604800000L > System.currentTimeMillis() ? 0 : 1); + return myChargingOrderInfo; + } } -- Gitblit v1.7.1