From 1adec9fead03f0f788a73f9349ccba86569e31f3 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 30 四月 2025 19:40:11 +0800 Subject: [PATCH] 修改rocketmq连接方式和修改发起充电异常情况下将订单挂起的功能 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 88 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 70 insertions(+), 18 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java index faa6696..764dd6d 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java @@ -36,6 +36,7 @@ import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient; import com.ruoyi.integration.api.model.ChargingOrderAndUploadRealTimeMonitoringDataDto; import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData; +import com.ruoyi.order.api.dto.ChargingStatisticeDTO; import com.ruoyi.order.api.model.*; import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.common.core.dto.MongoChargingOrderQuery; @@ -54,6 +55,7 @@ import com.ruoyi.order.service.*; import com.ruoyi.order.util.PreviousSixMonths; import com.ruoyi.order.vo.EndOfChargePageInfo; +import com.ruoyi.order.vo.WatchChargingOrderVo; import com.ruoyi.other.api.feignClient.RoleSiteClient; import com.ruoyi.other.api.feignClient.UserSiteClient; import com.ruoyi.payment.api.feignClient.AliPaymentClient; @@ -63,14 +65,11 @@ import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.feignClient.SysUserRoleClient; import com.ruoyi.system.api.model.SysUserRoleVo; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -159,10 +158,25 @@ private RoleSiteClient roleSiteClient; @Resource private SysUserRoleClient sysUserRoleClient; - - - - + + + + /** + * 远程调用 监管平台查询前一天用能统计 + * @return + */ + @ResponseBody + @PostMapping(value = "/getChargingStatistics") + public R<List<TChargingOrder>> getChargingStatistics(@RequestBody ChargingStatisticeDTO dto) { + List<Long> collect = chargingOrderAccountingStrategyService.lambdaQuery().between(TChargingOrderAccountingStrategy::getCreateTime, dto.getStartTime(), dto.getEndTime()) + .list().stream().map(TChargingOrderAccountingStrategy::getChargingOrderId).collect(Collectors.toList()); + if (!collect.isEmpty()){ + List<TChargingOrder> list = chargingOrderService.lambdaQuery() + .in(TChargingOrder::getId,collect).list(); + return R.ok(list); + } + return R.ok(new ArrayList<TChargingOrder>()); + } /** * 远程调用 增加管理后台赠送会员记录 @@ -848,6 +862,19 @@ /** + * + * @param code + */ + @ResponseBody + @PostMapping(value = "/refund1") + public R refund1(@RequestParam(value = "code") String code, @RequestParam(value = "money") BigDecimal money){ + chargingOrderService.refund1(code, money); + return R.ok(); + } + + + + /** * 远程启动失败后退款回调 */ @ResponseBody @@ -1175,23 +1202,37 @@ PageInfo<TChargingOrder> orderPageInfo = chargingOrderService.page(pageInfo, queryWrapper.orderByDesc(TChargingOrder::getCreateTime)); List<Site> siteList = siteClient.getSiteAll().getData(); + List<WatchChargingOrderVo> list = new ArrayList<>(); for (TChargingOrder record : orderPageInfo.getRecords()) { - record.setIdStr(record.getId().toString()); + WatchChargingOrderVo vo = new WatchChargingOrderVo(); + BeanUtils.copyProperties(record, vo); + vo.setIdStr(record.getId().toString()); Site site = siteList.stream().filter(s->s.getId().equals(record.getSiteId())).findFirst().get(); - record.setSiteName(site.getName()); + vo.setSiteName(site.getName()); TChargingPile chargingPile = chargingPileClient.getChargingPileById(record.getChargingPileId()).getData(); - record.setTerminalName(chargingPile.getName()); + vo.setTerminalName(chargingPile.getName()); TChargingGun chargingGun = chargingGunClient.getChargingGunById(record.getChargingGunId()).getData(); - record.setTerminalCode(chargingGun.getName()); + vo.setTerminalCode(chargingGun.getName()); if(null != record.getStartTime() && null != record.getEndTime()){ long time = record.getEndTime().toEpochSecond(ZoneOffset.UTC) - record.getStartTime().toEpochSecond(ZoneOffset.UTC); - record.setChargingTime(time + ""); + vo.setChargingTime(time + ""); } long count = chargingOrderAccountingStrategyService.count(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, record.getId())); - record.setTimeFrame(count); + vo.setTimeFrame(count); + + vo.setAuthInfo(roleType == 1 ? true : partnerClient.authMenu(objectId, record.getSiteId(), SiteMenu.CHARGING_PILE_ORDER_MONITORING_RECORD_INFO.getValue())); + vo.setAuthDelete(roleType == 1 ? true : partnerClient.authMenu(objectId, record.getSiteId(), SiteMenu.CHARGING_PILE_ORDER_MONITORING_RECORD_DEL.getValue())); + list.add(vo); } - return R.ok(orderPageInfo); + PageInfo<WatchChargingOrderVo> pageInfos = new PageInfo<>(query.getPageCurr(), query.getPageSize()); + pageInfos.setRecords(list); + pageInfos.setCurrent(pageInfo.getCurrent()); + pageInfos.setPages(pageInfo.getPages()); + pageInfos.setSize(pageInfo.getSize()); + pageInfos.setStartIndex(pageInfo.getStartIndex()); + pageInfos.setTotal(pageInfo.getTotal()); + return R.ok(pageInfos); } @@ -1264,7 +1305,6 @@ start = statisticsQueryDto.getStartTime(); end = statisticsQueryDto.getEndTime(); }else if (statisticsQueryDto.getDayType()==5){ - // 获取今年1月1日的日期 start = statisticsQueryDto.getStartTime(); end = statisticsQueryDto.getEndTime(); if (start.equals(end)){ @@ -1429,7 +1469,10 @@ BigDecimal commissionAmount = BigDecimal.ZERO; for (Map<String, Object> map : maps) { BigDecimal periodElectricPrice = (BigDecimal) map.get("period_electric_price"); - allMoney = allMoney.add(periodElectricPrice); + Long order_source = (Long)map.get("order_source"); + if(2 != order_source){ + allMoney = allMoney.add(periodElectricPrice); + } BigDecimal total_amount = (BigDecimal) map.get("total_amount"); allMoney = allMoney.add(total_amount); commissionAmount = commissionAmount.add((BigDecimal) map.get("commissionAmount")); @@ -2289,6 +2332,15 @@ return chargingOrderService.getNotPaymentChargingOrder(); } - + + /** + * 手动推送订单给三方平台 + * @param code + * @return + */ + @PostMapping("/pushOrderInfo") + public R pushOrderInfo(@RequestParam String code){ + return chargingOrderService.pushOrderInfo(code); + } } -- Gitblit v1.7.1