From 55aaaf49817744895de19c0b0297db9b8ca47621 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 3 Apr 2023 10:47:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=AB=E7=A0=81=E6=9F=A5=E8=AF=A2=E5=85=85?= =?UTF-8?q?=E7=94=B5=E6=A1=A9=E8=AF=A6=E6=83=85=E5=88=A4=E6=96=AD=E7=AB=99?= =?UTF-8?q?=E7=82=B9=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/OrderService.java | 7 +++ .../java/com/jsowell/service/PileService.java | 52 ++++++++++++++----- .../common/enums/ykc/ReturnCodeEnum.java | 2 + .../jsowell/pile/dto/GenerateOrderDTO.java | 1 + 4 files changed, 50 insertions(+), 12 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 0af0b208f..f6075e149 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -426,6 +426,13 @@ public class OrderService { log.error("checkPileInfo充电枪口为空 pileSn:{}, connectorCode:{}", dto.getPileSn(), dto.getConnectorCode()); throw new BusinessException(ReturnCodeEnum.CODE_CONNECTOR_INFO_NULL_ERROR); } + + // 查询站点状态 + PileStationVO stationInfo = pileStationInfoService.getStationInfo(pileConnector.getStationId()); + if (stationInfo == null || StringUtils.equals(stationInfo.getOpenFlag(), Constants.ZERO)) { + throw new BusinessException(ReturnCodeEnum.CODE_STATION_IS_NOT_OPEN); + } + // 判断枪口状态 if (!(StringUtils.equals(pileConnector.getConnectorStatus(), PileConnectorDataBaseStatusEnum.FREE.getValue()) || StringUtils.equals(pileConnector.getConnectorStatus(), PileConnectorDataBaseStatusEnum.OCCUPIED_NOT_CHARGED.getValue()))) { diff --git a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java index 2cf3be917..7235918b4 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java @@ -11,22 +11,41 @@ import com.jsowell.common.enums.ykc.OrderPayModeEnum; import com.jsowell.common.enums.ykc.OrderStatusEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; -import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.id.SnUtils; import com.jsowell.netty.command.ykc.IssueQRCodeCommand; import com.jsowell.netty.service.yunkuaichong.YKCPushCommandService; -import com.jsowell.pile.domain.*; -import com.jsowell.pile.dto.*; -import com.jsowell.pile.service.*; +import com.jsowell.pile.domain.MemberBasicInfo; +import com.jsowell.pile.domain.OrderBasicInfo; +import com.jsowell.pile.domain.PileBasicInfo; +import com.jsowell.pile.domain.PileConnectorInfo; +import com.jsowell.pile.domain.PileMemberRelation; +import com.jsowell.pile.domain.PileStationInfo; +import com.jsowell.pile.dto.BatchCreatePileDTO; +import com.jsowell.pile.dto.MemberRegisterAndLoginDTO; +import com.jsowell.pile.dto.PileMemberBindingDTO; +import com.jsowell.pile.dto.QueryPersonPileDTO; +import com.jsowell.pile.dto.QueryStationDTO; +import com.jsowell.pile.service.IMemberBasicInfoService; +import com.jsowell.pile.service.IOrderBasicInfoService; +import com.jsowell.pile.service.IPileBasicInfoService; +import com.jsowell.pile.service.IPileBillingTemplateService; +import com.jsowell.pile.service.IPileConnectorInfoService; +import com.jsowell.pile.service.IPileMemberRelationService; +import com.jsowell.pile.service.IPileMerchantInfoService; +import com.jsowell.pile.service.IPileStationInfoService; import com.jsowell.pile.transaction.dto.PileTransactionDTO; import com.jsowell.pile.transaction.service.TransactionService; import com.jsowell.pile.vo.base.ConnectorInfoVO; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.base.PileInfoVO; -import com.jsowell.pile.vo.uniapp.*; +import com.jsowell.pile.vo.uniapp.BillingPriceVO; +import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO; +import com.jsowell.pile.vo.uniapp.PersonPileRealTimeVO; +import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO; +import com.jsowell.pile.vo.uniapp.PileConnectorVO; import com.jsowell.pile.vo.web.PileDetailVO; import com.jsowell.pile.vo.web.PileStationVO; import org.apache.commons.collections4.CollectionUtils; @@ -38,7 +57,11 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; @@ -175,25 +198,30 @@ public class PileService { return null; } + // 查询站点信息 + PileStationVO stationInfo = pileStationInfoService.getStationInfo(pileInfoVO.getStationId()); + if (stationInfo == null || StringUtils.equals(stationInfo.getOpenFlag(), Constants.ZERO)) { + throw new BusinessException(ReturnCodeEnum.CODE_STATION_IS_NOT_OPEN); + } + + // CompletableFuture pileStationVOFuture = CompletableFuture.supplyAsync(() -> pileStationInfoService.getStationInfo(pileInfoVO.getStationId())); + // 查询充电桩下枪口信息 CompletableFuture> connectorInfoListFuture = CompletableFuture.supplyAsync(() -> pileConnectorInfoService.selectConnectorInfoList(pileSn)); // 查计费模板信息 CompletableFuture> billingPriceFuture = CompletableFuture.supplyAsync(() -> pileBillingTemplateService.queryBillingPrice(pileInfoVO.getStationId())); - // 查询站点信息 - CompletableFuture pileStationVOFuture = CompletableFuture.supplyAsync(() -> pileStationInfoService.getStationInfo(pileInfoVO.getStationId())); - // 查询运营商信息 CompletableFuture merchantInfoVOFuture = CompletableFuture.supplyAsync(() -> pileMerchantInfoService.getMerchantInfo(pileInfoVO.getMerchantId())); - CompletableFuture all = CompletableFuture.allOf(connectorInfoListFuture, pileStationVOFuture, merchantInfoVOFuture, billingPriceFuture); + CompletableFuture all = CompletableFuture.allOf(connectorInfoListFuture, merchantInfoVOFuture, billingPriceFuture); // .join()和.get()都会阻塞并获取线程的执行情况 // .join()会抛出未经检查的异常,不会强制开发者处理异常 .get()会抛出检查异常,需要开发者处理 all.join(); all.get(); List connectorInfoList = connectorInfoListFuture.get(); - PileStationVO pileStationVO = pileStationVOFuture.get(); + // PileStationVO pileStationVO = pileStationVOFuture.get(); MerchantInfoVO merchantInfoVO = merchantInfoVOFuture.get(); List billingPriceVOS = billingPriceFuture.get(); @@ -201,7 +229,7 @@ public class PileService { .pileInfo(pileInfoVO) .connectorInfoList(connectorInfoList) .merchantInfo(merchantInfoVO) - .stationInfo(pileStationVO) + .stationInfo(stationInfo) .billingPriceList(billingPriceVOS) .build(); return vo; diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index 6ed74c119..30a5d823d 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -92,6 +92,8 @@ public enum ReturnCodeEnum { CODE_GET_MERCHANT_ID_BY_APP_ID_ERROR("00100044", "获取商户id失败"), + CODE_STATION_IS_NOT_OPEN("00100045", "该站点暂未营业"), + CODE_PILE_HAS_BEEN_BINDING_ERROR("00400001", "此桩已被绑定,请联系管理员!"), CODE_AUTHENTICATION_ERROR("00400002", "您的身份信息验证有误,请重试!"), diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/GenerateOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/GenerateOrderDTO.java index 0eed556a1..fd6a5db2f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/GenerateOrderDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/GenerateOrderDTO.java @@ -15,6 +15,7 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) @Data public class GenerateOrderDTO extends BasicPileDTO{ + private static final long serialVersionUID = -1374766807594759104L; /** * 会员id */