From 38dfa13a7194f0fbc3f4fd3a3aa0d232c8cd8e78 Mon Sep 17 00:00:00 2001 From: yuyang <2265829957@qq.com> Date: Thu, 4 Jan 2024 09:37:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E7=89=8C=E3=80=81=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E3=80=81=E9=81=93=E9=97=B8=E3=80=81=E6=8E=A8?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cdjgpc/domain/EtPushCdjgFailedOrder.java | 24 +++ .../cdjgpc/dto/CDCancelOrderResponse.java | 15 ++ .../xhpc/evcs/cdjgpc/dto/CDEquipmentInfo.java | 5 +- .../com/xhpc/evcs/cdjgpc/dto/CDOrderInfo.java | 4 +- .../evcs/dto/CDChargeOrderInfo4BonusReq.java | 3 + .../evcs/api/QueryStopChargeController.java | 4 + ...NotificationChargeOrderInfoController.java | 2 +- .../CDNotificationStationInfoController.java | 31 +--- .../api/CDQueryStartChargeController.java | 15 +- .../api/CDQueryStopChargeController.java | 3 + .../jpa/EtPushCdjgFailedOrderRepository.java | 10 ++ .../CDConnectorChargeStatusInfoTask.java | 170 ++++++++++++++++++ .../CDNotificationChargeOrderInfoTask.java | 4 +- .../CDNotificationOrderInfoTask.java | 48 +++-- .../CDNotificationStationFeeTask.java | 57 ++++++ .../CDNotificationStationStatusTask.java | 19 +- .../java/com/xhpc/evcs/config/EvcsFilter.java | 14 +- .../evcs/jpa/AuthSecretTokenRepository.java | 1 - .../evcs/notification/CoreDispatcher.java | 4 +- .../NotificationCancelOrderTask.java | 4 +- ...NotificationChargeOrderInfo4BonusTask.java | 19 +- .../NotificationChargeOrderInfoTask.java | 4 +- .../NotificationEquipChargeStatusTask.java | 3 +- .../NotificationStartChargeResultTask.java | 3 +- .../NotificationStationStatusTask.java | 3 +- .../NotificationStopChargeResultTask.java | 2 +- .../xhpc/auth/controller/TokenController.java | 15 +- .../controller/XhpcBarrierGateController.java | 4 +- .../station/mapper/XhpcBarrierGateMapper.java | 5 +- .../service/IXhpcBarrierGateService.java | 2 +- .../service/XhpcBarrierGateServiceImpl.java | 8 +- .../service/XhpcChargingPileServiceImpl.java | 54 ++++++ .../XhpcChargingStationServiceImpl.java | 8 +- .../main/resources/mapper/XhpcBarrierGate.xml | 30 ++++ .../xhpc/common/domain/XhpcBarrierGate.java | 4 + .../common/domain/XhpcBarrierGateRecord.java | 29 +++ .../xhpc/common/domain/XhpcChargingPile.java | 63 ++++++- .../order/api/XhpcPileOrderController.java | 7 + .../XhpcHistoryOrderController.java | 6 +- .../XhpcStopChargingOrderController.java | 4 + .../order/mapper/XhpcChargeOrderMapper.java | 5 + .../order/mapper/XhpcRealTimeOrderMapper.java | 3 + .../service/IXhpcChargeOrderService.java | 3 + .../impl/XhpcChargeOrderServiceImpl.java | 8 + .../XhpcChargingStationPowerServiceImpl.java | 14 +- .../impl/XhpcHistoryOrderServiceImpl.java | 5 + .../impl/XhpcRealTimeOrderServiceImpl.java | 39 ++++ .../mapper/XhpcChargeOrderMapper.xml | 18 +- .../mapper/XhpcRealTimeOrderMapper.xml | 87 +++++++++ .../controller/AlipayPaymentController.java | 6 +- .../controller/WxPaymentController.java | 6 +- .../controller/XhpcRefundOrderController.java | 23 ++- .../payment/mapper/XhpcRefundOrderMapper.java | 3 + .../service/IXhpcRefundOrderService.java | 4 + .../impl/XhpcRefundOrderServiceImpl.java | 10 ++ .../XhpcRefundOriginalOrderServiceImpl.java | 6 +- .../mapper/XhpcRechargeOrderMapper.xml | 3 + .../mapper/XhpcRefundOrderMapper.xml | 18 ++ .../pp/controller/ChargingController.java | 4 +- .../xhpc/pp/controller/PileController.java | 1 + .../xhpc/pp/controller/StationController.java | 6 + .../com/xhpc/pp/logic/RealtimeDataLogic.java | 31 +++- .../controller/AuthSetTokenController.java | 59 ++++++ .../com/xhpc/user/domain/AuthSetToken.java | 79 ++++++++ .../xhpc/user/mapper/AuthSetTokenMapper.java | 19 ++ .../user/service/IAuthSetTokenService.java | 17 ++ .../service/impl/AuthSetTokenServiceImpl.java | 41 +++++ .../resources/mapper/AuthSetTokenMapper.xml | 128 +++++++++++++ .../OrderNotificationWebSocketController.java | 22 +++ 69 files changed, 1248 insertions(+), 130 deletions(-) create mode 100644 evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/domain/EtPushCdjgFailedOrder.java create mode 100644 evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDCancelOrderResponse.java create mode 100644 evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/jpa/EtPushCdjgFailedOrderRepository.java create mode 100644 evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDConnectorChargeStatusInfoTask.java create mode 100644 evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationFeeTask.java create mode 100644 xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGateRecord.java create mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/AuthSetTokenController.java create mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/AuthSetToken.java create mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/AuthSetTokenMapper.java create mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IAuthSetTokenService.java create mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/AuthSetTokenServiceImpl.java create mode 100644 xhpc-modules/xhpc-user/src/main/resources/mapper/AuthSetTokenMapper.xml diff --git a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/domain/EtPushCdjgFailedOrder.java b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/domain/EtPushCdjgFailedOrder.java new file mode 100644 index 00000000..243d0eee --- /dev/null +++ b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/domain/EtPushCdjgFailedOrder.java @@ -0,0 +1,24 @@ +package com.xhpc.evcs.cdjgpc.domain; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Getter +@Setter +@Entity +@Table(name = "ET_PUSH_CDJG_FAILED_ORDER") +public class EtPushCdjgFailedOrder { + + @Id + private Long id; + + private String operatorId3rdpty; + + private Date createTime; +} diff --git a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDCancelOrderResponse.java b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDCancelOrderResponse.java new file mode 100644 index 00000000..1e7198f3 --- /dev/null +++ b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDCancelOrderResponse.java @@ -0,0 +1,15 @@ +package com.xhpc.evcs.cdjgpc.dto; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, + setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE) +public class CDCancelOrderResponse { + @JsonProperty("Status") + private Integer status; +} diff --git a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDEquipmentInfo.java b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDEquipmentInfo.java index 12a66585..03f7f62a 100644 --- a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDEquipmentInfo.java +++ b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDEquipmentInfo.java @@ -21,6 +21,7 @@ import java.util.List; "EquipmentModel", "EquipmentProductCode", "TransformerID", + "EquipmentName", "ProductionDate", "ConstructionTime", "EquipmentType", @@ -71,8 +72,8 @@ public class CDEquipmentInfo { /** * 设备名称 */ -// @JsonProperty("EquipmentName") -// public String equipmentName; + @JsonProperty("EquipmentName") + public String equipmentName; /** * 设备生产日期 */ diff --git a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDOrderInfo.java b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDOrderInfo.java index daee1920..852b82a4 100644 --- a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDOrderInfo.java +++ b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/cdjgpc/dto/CDOrderInfo.java @@ -266,14 +266,14 @@ public class CDOrderInfo { DecimalFormat df = new DecimalFormat("#.000"); this.meterValueStart =Double.parseDouble(df.format(v)); }else{ - this.meterValueStart = xhpcHistoryOrder.getMeterValueStartEvcs(); + this.meterValueStart = 0.00; } if(xhpcHistoryOrder.getMeterValueEndEvcs() !=null && xhpcHistoryOrder.getMeterValueEndEvcs()>0){ double v = xhpcHistoryOrder.getMeterValueEndEvcs() / 10000; DecimalFormat df = new DecimalFormat("#.000"); this.meterValueEnd =Double.parseDouble(df.format(v)); } else{ - this.meterValueEnd = xhpcHistoryOrder.getMeterValueEndEvcs(); + this.meterValueEnd = 0.00; } final List xhpcStatisticsTimeIntervalList = xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList(); diff --git a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java index c251f766..c4557608 100644 --- a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java +++ b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/dto/CDChargeOrderInfo4BonusReq.java @@ -189,4 +189,7 @@ public class CDChargeOrderInfo4BonusReq { .toString(); } + public String getStartChargeSeq() { + return startChargeSeq; + } } diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStopChargeController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStopChargeController.java index aade2c57..719cd7e0 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStopChargeController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/QueryStopChargeController.java @@ -78,6 +78,10 @@ public class QueryStopChargeController { pileInfo.getCommunicationProtocolVersion() : "0A"; //给对应的枪发送停止充电指令 + System.out.println("=================111========给对应的枪发送停止充电指令==================停止 充电=================="+xhOrderNo); + System.out.println("=================111========给对应的枪发送停止充电指令==================停止 充电=================="+xhOrderNo); + System.out.println("=================111========给对应的枪发送停止充电指令==================停止 充电=================="+xhOrderNo); + R r = powerPileService.stopCharging(xhOrderNo, pileNum, connectorId, versionNum); // 判断停止指令发送是否成功 if (r.getCode() != 200) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationChargeOrderInfoController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationChargeOrderInfoController.java index f5cf47fc..09aeee3d 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationChargeOrderInfoController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationChargeOrderInfoController.java @@ -31,7 +31,7 @@ public class CDNotificationChargeOrderInfoController { stationInfo.setOperatorId(operatorID); String data = commonRequest.getData(); ChargeOrderInfo chargeOrderInfo = JSONUtil.readParams(data, ChargeOrderInfo.class); - chargeOrderInfo.setInfraOperatorId("759588065"); //todo use common request operator id && check NPE + chargeOrderInfo.setInfraOperatorId("MA6CC2LK7"); //todo use common request operator id && check NPE chargeOrderInfo.setBillerOperatorId("MA6DFCTD5"); // log.info(">>notify charge order OID: " + operatorID); // chargeOrderInfoRepository.save(chargeOrderInfo); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationStationInfoController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationStationInfoController.java index bb91b2ae..ad934f22 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationStationInfoController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDNotificationStationInfoController.java @@ -56,6 +56,7 @@ public class CDNotificationStationInfoController extends CoreDispatcher { PowerPileService powerPileService; //充电站信息变化推送(我们平台推送成都市平台) --已推送 + //自己调用接口 @PostMapping("/v10/getNotificationStationInfo") public R getNotificationStationInfo(@RequestBody Map map){ try{ @@ -91,6 +92,7 @@ public class CDNotificationStationInfoController extends CoreDispatcher { Map mapStationInfo =new HashMap<>(); mapStationInfo.put("StationInfo",cdStationInfo); String data =JSONUtil.toJSONString(mapStationInfo); + System.out.println("=======data========"+data); commonRequest.setData(data); String result =ok(commonRequest,"/notification_stationInfo",authSecretTokenOut); System.out.println("=======result========"+result); @@ -195,6 +197,7 @@ public class CDNotificationStationInfoController extends CoreDispatcher { */ @PostMapping("/v10/getNotificationConnectorChargeStatus") public void getNotificationConnectorChargeStatus(@RequestBody Map orderMap){ + System.out.println("==================设备充电中状态变化推送(我们平台推送成都市平台) =========================="); //先查订单号 在查实时数据 最后计算金额 try { String orderNo = orderMap.get("orderNo").toString(); @@ -279,7 +282,7 @@ public class CDNotificationStationInfoController extends CoreDispatcher { CommonRequest commonRequest = new CommonRequest<>(); commonRequest.setData(data); String result = ok(commonRequest, "/notification_connector_charge_status", authSecretTokenOut); - System.out.println("=======result========"+result); + System.out.println("===设备充电中状态变化推送====result========"+result); } } catch (JsonProcessingException e) { e.printStackTrace(); @@ -486,32 +489,6 @@ public class CDNotificationStationInfoController extends CoreDispatcher { } - /** - * 查询站点费率(成都市平台调用我们平台) - * @param commonRequest - * @return - * @throws Exception - */ - @PostMapping("/v10/notification_order_settlement_info") - public CommonResponse notificationOrderSettlementInfo(@RequestBody CommonRequest commonRequest) throws Exception{ - CommonResponse resp = new CommonResponse(); - resp.setRet(EvcsConst.RET_FAIL); - CDNotificationOrderSettlementInfoRequest stationFeeRequest = JSONUtil.readParams(commonRequest.getData(), CDNotificationOrderSettlementInfoRequest.class); - if (stationFeeRequest == null) { - resp.setMsg("Request or token params validation failed"); - resp.setRet("4002"); - } else { - //查询订单 - - - - - - } - return resp; - } - - /** * 查询充电设备运行统计计信息 --已调用 * @param commonRequest diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStartChargeController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStartChargeController.java index c0a2827b..6ee8ddd9 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStartChargeController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStartChargeController.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -30,19 +31,19 @@ import static com.xhpc.common.data.redis.StaticBeanUtil.genOrder; */ public class CDQueryStartChargeController { - @Autowired + @Resource AuthSecretTokenRepository authSecretTokenRepository; - @Autowired + @Resource private OrderMappingRepository etOrderMappingRepo; - @Autowired + @Resource private XhpcHistoryOrderRepository xhpcHistoryOrderRepository; - @Autowired + @Resource private XhpcTerminalRepository xhpcTerminalRepository; - @Autowired + @Resource private PileOrderService pileOrderService; - @Autowired + @Resource private XhpcInternetUserRepository xhpcInternetUserRepository; - @Autowired + @Resource private XhpcChargingStationRepository xhpcChargingStationRepository; /** diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStopChargeController.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStopChargeController.java index 53f0cb00..1b13c1c3 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStopChargeController.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/api/CDQueryStopChargeController.java @@ -81,6 +81,9 @@ public class CDQueryStopChargeController { pileInfo.getCommunicationProtocolVersion() : "0A"; //给对应的枪发送停止充电指令 + System.out.println("=================22========给对应的枪发送停止充电指令==================停止 充电=================="+xhOrderNo); + System.out.println("=================22========给对应的枪发送停止充电指令==================停止 充电=================="+xhOrderNo); + R r = powerPileService.stopCharging(xhOrderNo, pileNum, connectorId, versionNum); // 判断停止指令发送是否成功 if (r.getCode() != 200) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/jpa/EtPushCdjgFailedOrderRepository.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/jpa/EtPushCdjgFailedOrderRepository.java new file mode 100644 index 00000000..b219bf85 --- /dev/null +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/jpa/EtPushCdjgFailedOrderRepository.java @@ -0,0 +1,10 @@ +package com.xhpc.evcs.cdjgpc.jpa; + +import com.xhpc.evcs.cdjgpc.domain.EtPushCdjgFailedOrder; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.repository.query.QueryByExampleExecutor; + +public interface EtPushCdjgFailedOrderRepository extends JpaRepository, + QueryByExampleExecutor, JpaSpecificationExecutor { +} diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDConnectorChargeStatusInfoTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDConnectorChargeStatusInfoTask.java new file mode 100644 index 00000000..ce346b97 --- /dev/null +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDConnectorChargeStatusInfoTask.java @@ -0,0 +1,170 @@ +package com.xhpc.evcs.cdjgpc.notification; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.xhpc.common.data.redis.CacheRateModel; +import com.xhpc.common.data.redis.CacheRealtimeData; +import com.xhpc.evcs.cdjgpc.dto.CDConnectorChargeStatusInfo; +import com.xhpc.evcs.cdjgpc.dto.CDStationInfo; +import com.xhpc.evcs.domain.AuthSecretToken; +import com.xhpc.evcs.domain.XhpcStationInternetBlacklist; +import com.xhpc.evcs.dto.CommonRequest; +import com.xhpc.evcs.dto.ConnectorStatusInfoReq; +import com.xhpc.evcs.jpa.AuthSecretTokenRepository; +import com.xhpc.evcs.jpa.XhpcStationInternetBlacklistRepository; +import com.xhpc.evcs.notification.CoreDispatcher; +import com.xhpc.evcs.utils.JSONUtil; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.*; + +import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; +import static com.xhpc.evcs.domain.AuthSecretToken.SECRET_TOKEN_TYPE_OUT; + +@Component +@Slf4j +public class CDConnectorChargeStatusInfoTask extends CoreDispatcher { + + @Resource + AuthSecretTokenRepository authSecretTokenRepository; + @Resource + private XhpcStationInternetBlacklistRepository xhpcStationInternetBlacklistRepo; + private final Logger logger = LoggerFactory.getLogger(CDConnectorChargeStatusInfoTask.class); + + /** + * 设备充电中状态变化推送(我们平台推送成都市平台) --已推送 + * 实时数据没40秒 + */ + @Scheduled(fixedDelay = 1000 * 40) + public void run() throws Exception{ + + List longList =new ArrayList<>(); + + List list = xhpcStationInternetBlacklistRepo.findByInternetUserId(6L); + for (int i = 0; i realtimeOrder = REDIS.keys("cdjgpc:realTime:*"); + + for (String okey : realtimeOrder) { + try { + String orderNo = REDIS.getCacheObject(okey); + if(orderNo.equals("00000000000000000000000000000000")){ + REDIS.deleteObject(okey); + continue; + } + String key = "pile:"+orderNo.substring(0,14); + Map cachePile = REDIS.getCacheMap(key); + String stationId = cachePile.get("stationId").toString(); + boolean falen =false; + if(longList.size()>0){ + for (int i = 0; i cacheMap =REDIS.getCacheMap("order:"+orderNo+".notification"); + if(cacheMap==null || cacheMap.get("startTime")==null || "".equals(cacheMap.get("startTime"))){ + cacheMap.put("lastPushTime", formatTime); + }else{ + cacheMap.put("lastPushTime", cacheMap.get("pushTime")); + } + cacheMap.put("pushTime", formatTime); + CDConnectorChargeStatusInfo cdConnectorChargeStatusInfo = new CDConnectorChargeStatusInfo(); + Map cacheMapOrder = REDIS.getCacheMap("order:"+orderNo); + if(cacheMap.get("startTime")==null ){ + if(cacheMapOrder !=null && cacheMapOrder.get("startTime")!=null){ + cdConnectorChargeStatusInfo.setStartTime(cacheMapOrder.get("startTime").toString()); + cacheMap.put("startTime", cacheMapOrder.get("startTime").toString()); + } + }else{ + cdConnectorChargeStatusInfo.setStartTime(cacheMap.get("startTime").toString()); + } + if(cacheMapOrder !=null && cacheMapOrder.get("status")!=null){ + if("已结束".equals(cacheMapOrder.get("status").toString())){ + cdConnectorChargeStatusInfo.setConnectorStatus(1); + cdConnectorChargeStatusInfo.setOrderStatus(4); + }else{ + cdConnectorChargeStatusInfo.setConnectorStatus(3); + cdConnectorChargeStatusInfo.setOrderStatus(2); + } + } + REDIS.setCacheMap("order:"+orderNo+".notification",cacheMap); + cdConnectorChargeStatusInfo.setStartChargeSeq(lord.getOrderNo()); + cdConnectorChargeStatusInfo.setConnectorID(lord.getPileNo()+lord.getGunId()); + cdConnectorChargeStatusInfo.setCurrentA((double)(lord.getWorkingCurrent()/10)); + cdConnectorChargeStatusInfo.setVoltageA((double)(lord.getWorkingVoltage()/10)); + cdConnectorChargeStatusInfo.setSoc((double)lord.getSoc()); + cdConnectorChargeStatusInfo.setEndTime(formatTime); + cdConnectorChargeStatusInfo.setPushTime(formatTime); + cdConnectorChargeStatusInfo.setLastPushTime(cacheMap.get("lastPushTime").toString()); + BigDecimal chargingDegree = new BigDecimal(lord.getChargingDegree()).divide(new BigDecimal(10000).setScale(2, BigDecimal.ROUND_UP)); + BigDecimal amountCharged = new BigDecimal(lord.getAmountCharged()).divide(new BigDecimal(10000).setScale(2, BigDecimal.ROUND_UP)); + cdConnectorChargeStatusInfo.setTotalPower(chargingDegree.doubleValue()); + cdConnectorChargeStatusInfo.setTotalMoney(amountCharged.doubleValue()); + + + cdConnectorChargeStatusInfo.setEquipmentID(orderNo.substring(0,14)); + cdConnectorChargeStatusInfo.setStationID(stationId); + + String stationSey = "cdjgpc:station:".concat(stationId)+".notification"; + CDStationInfo cdStationInfo =REDIS.getCacheObject(stationSey); + cdConnectorChargeStatusInfo.setOperatorID(cdStationInfo.getOperatorId()); + cdConnectorChargeStatusInfo.setEquipmentOwnerID(cdStationInfo.getEquipmentOwnerId()); + + + Map cacheOrder = REDIS.getCacheMap("order:" + orderNo); + + if(cacheOrder !=null && cacheOrder.get("rateModelId") !=null){ + CacheRateModel rateModel = REDIS.getCacheObject("rateModel:" + cacheOrder.get("rateModelId").toString()); + if(rateModel.getT1SvcPrice().equals(rateModel.getT2SvcPrice()) && rateModel.getT3SvcPrice().equals(rateModel.getT4SvcPrice()) && + rateModel.getT1SvcPrice().equals(rateModel.getT3SvcPrice())){ + + BigDecimal divide = new BigDecimal(rateModel.getT1SvcPrice()).divide(new BigDecimal(100000)).setScale(2, BigDecimal.ROUND_UP); + + BigDecimal bigDecimal = chargingDegree.multiply(divide).setScale(2, BigDecimal.ROUND_UP); + cdConnectorChargeStatusInfo.setSeviceMoney(bigDecimal.doubleValue()); + BigDecimal subtract = amountCharged.subtract(bigDecimal); + cdConnectorChargeStatusInfo.setElecMoney(subtract.doubleValue()); + }else{ + //暂时不考虑不同服务费 默认为0.2 + BigDecimal multiply = chargingDegree.multiply(new BigDecimal(0.2)).setScale(2, BigDecimal.ROUND_UP);; + cdConnectorChargeStatusInfo.setSeviceMoney(multiply.doubleValue()); + BigDecimal subtract = amountCharged.subtract(multiply); + cdConnectorChargeStatusInfo.setElecMoney(subtract.doubleValue()); + } + AuthSecretToken authSecretTokenOut = authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType("MA6CC2LK7", SECRET_TOKEN_TYPE_OUT).orElse(null); + Map map =new HashMap<>(); + map.put("ConnectorChargeStatusInfo",cdConnectorChargeStatusInfo); + String data = JSONUtil.toJSONString(map); + CommonRequest commonRequest = new CommonRequest<>(); + commonRequest.setData(data); + String result = ok(commonRequest, "/notification_connector_charge_status", authSecretTokenOut); + JSONObject jsonObject = JSONObject.parseObject(result); + if("0".equals(jsonObject.get("Ret").toString())){ + REDIS.deleteObject(okey); + } + //System.out.println("===设备充电中状态变化推送====result========"+result); + } + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } + } +} diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationChargeOrderInfoTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationChargeOrderInfoTask.java index a384e161..f981319b 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationChargeOrderInfoTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationChargeOrderInfoTask.java @@ -29,6 +29,7 @@ import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; import static com.xhpc.evcs.domain.AuthSecretToken.SECRET_TOKEN_TYPE_OUT; /** + * * @author yuyang * @date 2023-09-24 19:27 */ @@ -41,6 +42,7 @@ public class CDNotificationChargeOrderInfoTask extends CoreDispatcher { private final Logger logger = LoggerFactory.getLogger(NotificationChargeOrderInfoTask.class); + //现阶段不开放 //@Scheduled(fixedRate = 1000 * 15) public void run() throws JsonProcessingException { @@ -65,7 +67,7 @@ public class CDNotificationChargeOrderInfoTask extends CoreDispatcher { xhpcHistoryOrderRepository.findByConfirmResultNotAndSource(0, 1); for (XhpcHistoryOrder horder : xhpcHistoryOrderList) { for (AuthSecretToken authSecretToken : authSecretTokenList) { - if(!"765367656".equals(horder.getInternetSerialNumber().substring(0, 9))){ + if(!"MA6CC2LK7".equals(horder.getInternetSerialNumber().substring(0, 9))){ continue; } String operatorId3rdptyEvcs = horder.getOperatorId3rdptyEvcs(); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationOrderInfoTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationOrderInfoTask.java index 178c7c9f..9df0e172 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationOrderInfoTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationOrderInfoTask.java @@ -1,9 +1,12 @@ package com.xhpc.evcs.cdjgpc.notification; +import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; +import com.xhpc.evcs.cdjgpc.domain.EtPushCdjgFailedOrder; +import com.xhpc.evcs.cdjgpc.dto.CDCancelOrderResponse; import com.xhpc.evcs.cdjgpc.dto.CDOrderInfo; import com.xhpc.evcs.cdjgpc.dto.CDStationInfo; +import com.xhpc.evcs.cdjgpc.jpa.EtPushCdjgFailedOrderRepository; import com.xhpc.evcs.domain.*; -import com.xhpc.evcs.dto.CDChargeOrder4BonusInfoRes; import com.xhpc.evcs.dto.CommonRequest; import com.xhpc.evcs.dto.DTOJsonHelper; import com.xhpc.evcs.jpa.*; @@ -21,6 +24,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -39,7 +43,7 @@ public class CDNotificationOrderInfoTask extends CoreDispatcher { @Autowired private XhpcHistoryOrderRepository xhpcHistoryOrderRepository; @Autowired - private EtPushFailedOrderRepository etPushFailedOrderRepository; + private EtPushCdjgFailedOrderRepository etPushCdjgFailedOrderRepository; @Autowired private AuthSecretTokenRepository authSecretTokenRepository; @Autowired @@ -48,36 +52,55 @@ public class CDNotificationOrderInfoTask extends CoreDispatcher { private OrderMappingRepository orderMappingRepository; @Autowired private XhpcChargingStationRepository chargingStationRepo; + @Autowired + private XhpcStationInternetBlacklistRepository xhpcStationInternetBlacklistRepo; private final Logger logger = LoggerFactory.getLogger(NotificationChargeOrderInfo4BonusTask.class); /** - *订单信息推送 ---已推送 + *订单信息推送 ---已推送--推送服务使用 * @throws IOException */ - //@Scheduled(fixedDelay = 1000 * 60) + @Scheduled(fixedDelay = 1000 * 60) public void run() throws IOException { + AuthSecretToken authSecretTokenOut = authSecretTokenRepository.findByOperatorId3irdptyAndOperatorIdAndSecretTokenType( "MA6CC2LK7", "MA6DFCTD5", SECRET_TOKEN_TYPE_OUT).orElse(null); //todo // maybe对接第三方 if (authSecretTokenOut != null) { + final List notYetPushOrder = xhpcHistoryOrderRepository.findTop100ByHistoryOrderIdGreaterThanAndStateGreaterThanOrderByHistoryOrderIdAsc(authSecretTokenOut.getLastPushOrder(), 0); for (XhpcHistoryOrder xhpcHistoryOrder : notYetPushOrder) { + + XhpcStationInternetBlacklist xhpcStationInternetBlacklist = + xhpcStationInternetBlacklistRepo.findByChargingStationIdAndInternetUserId(xhpcHistoryOrder.getChargingStationId(), + 6L).orElse(null); + if (xhpcStationInternetBlacklist != null) continue; List statisticTimeIntervalList = statisticTimeIntervalRepository.findByHistoryOrderId(xhpcHistoryOrder.getHistoryOrderId()); xhpcHistoryOrder.setXhpcStatisticsTimeIntervalList(statisticTimeIntervalList); - notify(xhpcHistoryOrder, authSecretTokenOut, false); + if(!xhpcHistoryOrder.getStartTime().toString().equals(xhpcHistoryOrder.getEndTime().toString())){ + notify(xhpcHistoryOrder, authSecretTokenOut, false); + }else{ + //充电时长不能小于或等于0 不能推送 + logger.info("========新平台推送=======responseBody===================充电时长不能小于或等于0=========="); + } + } final List pushFailedOrders = xhpcHistoryOrderRepository.findTop10JoinPushFailedOrders(authSecretTokenOut.getOperatorId3irdpty()); for (XhpcHistoryOrder xhpcHistoryOrder : pushFailedOrders) { + XhpcStationInternetBlacklist xhpcStationInternetBlacklist = + xhpcStationInternetBlacklistRepo.findByChargingStationIdAndInternetUserId(xhpcHistoryOrder.getChargingStationId(), + 6L).orElse(null); + if (xhpcStationInternetBlacklist != null) continue; List statisticTimeIntervalList = statisticTimeIntervalRepository.findByHistoryOrderId(xhpcHistoryOrder.getHistoryOrderId()); xhpcHistoryOrder.setXhpcStatisticsTimeIntervalList(statisticTimeIntervalList); final boolean notify = notify(xhpcHistoryOrder, authSecretTokenOut, true); if (notify) { - etPushFailedOrderRepository.deleteById(xhpcHistoryOrder.getHistoryOrderId()); + etPushCdjgFailedOrderRepository.deleteById(xhpcHistoryOrder.getHistoryOrderId()); } } } @@ -121,20 +144,23 @@ public class CDNotificationOrderInfoTask extends CoreDispatcher { CommonRequest commonRequest = new CommonRequest<>(); commonRequest.setData(data); String responseBody = ok(commonRequest, "/notification_orderInfo", authSecretTokenOut); - CDChargeOrder4BonusInfoRes cdChargeOrder4BonusInfoRes = DTOJsonHelper.parseResponseData(responseBody, - CDChargeOrder4BonusInfoRes.class, authSecretTokenOut); + logger.info("========新平台推送=======responseBody============================="+cdChargeOrderInfo4BonusReq.getStartChargeSeq()); + + CDCancelOrderResponse cdChargeOrder4BonusInfoRes = DTOJsonHelper.parseResponseData(responseBody, + CDCancelOrderResponse.class, authSecretTokenOut); if (!isRepush) { authSecretTokenOut.setLastPushOrder(xhpcHistoryOrder.getHistoryOrderId()); authSecretTokenRepository.save(authSecretTokenOut); } - if (cdChargeOrder4BonusInfoRes != null && cdChargeOrder4BonusInfoRes.getConfirmResult() == 0) { + if (cdChargeOrder4BonusInfoRes != null && cdChargeOrder4BonusInfoRes.getStatus() == 0) { return true; } else { if (!isRepush) { - EtPushFailedOrder etPushFailedOrder = new EtPushFailedOrder(); + EtPushCdjgFailedOrder etPushFailedOrder = new EtPushCdjgFailedOrder(); etPushFailedOrder.setId(xhpcHistoryOrder.getHistoryOrderId()); etPushFailedOrder.setOperatorId3rdpty(authSecretTokenOut.getOperatorId3irdpty()); - etPushFailedOrderRepository.save(etPushFailedOrder); + etPushFailedOrder.setCreateTime(new Date()); + etPushCdjgFailedOrderRepository.save(etPushFailedOrder); } logger.error(String.format("push CD notification order[%s] failed: %s", xhpcHistoryOrder.getSerialNumber(), responseBody)); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationFeeTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationFeeTask.java new file mode 100644 index 00000000..ba7da174 --- /dev/null +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationFeeTask.java @@ -0,0 +1,57 @@ +package com.xhpc.evcs.cdjgpc.notification; + +import com.xhpc.evcs.cdjgpc.dto.CDStationFee; +import com.xhpc.evcs.domain.AuthSecretToken; +import com.xhpc.evcs.dto.CommonRequest; +import com.xhpc.evcs.jpa.AuthSecretTokenRepository; +import com.xhpc.evcs.notification.CoreDispatcher; +import com.xhpc.evcs.utils.JSONUtil; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; +import static com.xhpc.evcs.domain.AuthSecretToken.SECRET_TOKEN_TYPE_OUT; + +@Component +@Slf4j +public class CDNotificationStationFeeTask extends CoreDispatcher { + + @Resource + AuthSecretTokenRepository authSecretTokenRepository; + private final Logger logger = LoggerFactory.getLogger(CDNotificationStationFeeTask.class); + + //--推送服务使用 + @Scheduled(fixedDelay = 1000 * 60) + public void run() throws IOException { + + AuthSecretToken authSecretTokenOut = + authSecretTokenRepository.findByOperatorId3irdptyAndOperatorIdAndSecretTokenType( + "MA6CC2LK7", "MA6DFCTD5", SECRET_TOKEN_TYPE_OUT).orElse(null); + // maybe对接第三方 + if (authSecretTokenOut != null) { + List stationKeys = new ArrayList<>(REDIS.keys("cdjgpc:stationFee:*")); + for (String stationKey : stationKeys) { + CDStationFee cdStationFeeRequest = REDIS.getCacheObject(stationKey); + Map map =new HashMap<>(); + map.put("StationFee",cdStationFeeRequest); + String data = JSONUtil.toJSONString(map); + CommonRequest commonRequest = new CommonRequest<>(); + commonRequest.setData(data); + String ok = ok(commonRequest, "/notification_stationFee", authSecretTokenOut); + log.info("======站点费率推送=========notification_stationFee=================="+ok); + REDIS.deleteObject(stationKey); + } + } + } + +} diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationStatusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationStatusTask.java index 8dd7cb00..f203a47b 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationStatusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cdjgpc/notification/CDNotificationStationStatusTask.java @@ -1,22 +1,15 @@ package com.xhpc.evcs.cdjgpc.notification; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.xhpc.common.api.dto.ChargingStationDto; -import com.xhpc.common.core.domain.R; -import com.xhpc.common.core.utils.HttpUtils; import com.xhpc.common.domain.XhpcTerminal; import com.xhpc.evcs.cdjgpc.dto.CDConnectorStatusInfo; import com.xhpc.evcs.cdjgpc.dto.CDConnectorStatusInfoReq; -import com.xhpc.evcs.cdjgpc.dto.CDStationFee; import com.xhpc.evcs.cdjgpc.dto.CDStationInfo; import com.xhpc.evcs.domain.AuthSecretToken; import com.xhpc.evcs.domain.XhpcInternetUser; import com.xhpc.evcs.domain.XhpcStationInternetBlacklist; import com.xhpc.evcs.dto.CommonRequest; import com.xhpc.evcs.dto.ConnectorStatusInfo; -import com.xhpc.evcs.dto.ConnectorStatusInfoReq; -import com.xhpc.evcs.dto.PageRequest; import com.xhpc.evcs.jpa.AuthSecretTokenRepository; import com.xhpc.evcs.jpa.XhpcInternetUserRepository; import com.xhpc.evcs.jpa.XhpcStationInternetBlacklistRepository; @@ -36,7 +29,6 @@ import java.util.*; import java.util.stream.Collectors; import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; -import static com.xhpc.evcs.domain.AuthSecretToken.SECRET_TOKEN_TYPE_IN; import static com.xhpc.evcs.domain.AuthSecretToken.SECRET_TOKEN_TYPE_OUT; import static com.xhpc.evcs.dto.ConnectorStatusInfo.*; import static com.xhpc.evcs.dto.ConnectorStatusInfo.CHARGING; @@ -57,8 +49,8 @@ public class CDNotificationStationStatusTask extends CoreDispatcher { private XhpcStationInternetBlacklistRepository xhpcStationInternetBlacklistRepo; @Resource private XhpcTerminalRepository terminalRepository; - - //@Scheduled(fixedRate = 1000 * 45) + //--推送服务使用 + @Scheduled(fixedRate = 1000 * 45) protected void run() throws IOException { Collection stationTerminalKeys = REDIS.keys("stationTerminalStatus:*"); @@ -132,7 +124,10 @@ public class CDNotificationStationStatusTask extends CoreDispatcher { CDConnectorStatusInfoReq connectorStatusInfoReq = new CDConnectorStatusInfoReq(); - CDStationInfo cdStationInfo =REDIS.getCacheObject(stationTerminalKey.replace("stationTerminalStatus","cdjgpc:station")+".notification"); + System.out.println("=========stationTerminalKey=========="+stationTerminalKey); + String key =stationTerminalKey.replace("stationTerminalStatus","cdjgpc:station")+".notification"; + System.out.println("=========key=========="+key); + CDStationInfo cdStationInfo =REDIS.getCacheObject(key); CDConnectorStatusInfo cdConnectorStatusInfo =new CDConnectorStatusInfo(); cdConnectorStatusInfo.setOperatorID(cdStationInfo.getOperatorId()); cdConnectorStatusInfo.setEquipmentOwnerID(cdStationInfo.getEquipmentOwnerId()); @@ -148,7 +143,7 @@ public class CDNotificationStationStatusTask extends CoreDispatcher { commonRequest.setData(data); String result = ok(commonRequest, "/notification_stationStatus", authSecretTokenOut); - System.out.println("=======result========"+result); + System.out.println("===设备状态变化推送====result========"+result); } diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java index 7d6d4d8f..127be9d1 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java @@ -76,6 +76,7 @@ public class EvcsFilter extends OncePerRequestFilter { if (!ObjectUtils.isEmpty(bodyString)) { String servletPath = request.getServletPath(); log.debug("servletPath: " + servletPath); + log.info("=================servletPath=========================="+servletPath); CommonRequest commonRequest = JSONUtil.readParams(bodyString, CommonRequest.class); resp.setRet(EvcsConst.RET_FAIL); ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response); @@ -88,11 +89,22 @@ public class EvcsFilter extends OncePerRequestFilter { return; } else { String operatorId = commonRequest.getOperatorId(); + + log.info("=================operatorId=========================="+operatorId); + String authorization = request.getHeader("Authorization"); log.debug("Authorization: {}", authorization); AuthSecretToken authSecretTokenIn = null; Date now = Calendar.getInstance().getTime(); - if (servletPath.endsWith("query_token")) { + + if (servletPath.endsWith("/v1/query_token")) { + log.info("================老接口过滤 token========operatorId=========="+operatorId); + authSecretTokenIn = authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType(operatorId, + AuthSecretToken.SECRET_TOKEN_TYPE_IN).orElse(null); + handleQueryToken(request, response, chain, requestWrapper, bodyString, commonRequest, + responseWrapper, authSecretTokenIn); + }else if (servletPath.endsWith("/v10/query_token")) { + log.info("================新接口过滤 token========operatorId=========="+operatorId); authSecretTokenIn = authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType(operatorId, AuthSecretToken.SECRET_TOKEN_TYPE_IN).orElse(null); handleQueryToken(request, response, chain, requestWrapper, bodyString, commonRequest, diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/AuthSecretTokenRepository.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/AuthSecretTokenRepository.java index a8044099..c53804c3 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/AuthSecretTokenRepository.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/jpa/AuthSecretTokenRepository.java @@ -20,7 +20,6 @@ public interface AuthSecretTokenRepository extends JpaRepository findByOperatorId3irdptyAndSecretTokenTypeAndTokenExpiryGreaterThan(String operatorId, String secretTokenType, Date time); - Optional findByOperatorId3irdptyAndOperatorIdAndSecretTokenType(String operatorId3irdpty, String operatorID, String secretTokenTypeIn); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java index f48d456d..925a7678 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java @@ -134,7 +134,7 @@ public class CoreDispatcher { assert body != null; // if (body==null) request = req.get().build(); // else - logger.info("==============body================="+body.toString()); + // logger.info("==============body================="+body.toString()); request = req.post(body).build(); OkHttpClient client = builder.build(); return fwdToInfra(request, client); @@ -254,7 +254,7 @@ public class CoreDispatcher { assert body != null; // if (body==null) request = req.get().build(); // else - logger.info("==============body================="+body.toString()); + // logger.info("==============body================="+body.toString()); request = req.post(body).build(); OkHttpClient client = builder.build(); return fwdToInfra(request, client); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java index 9f0e1e2a..45870d4e 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java @@ -9,6 +9,7 @@ import com.xhpc.evcs.dto.DTOJsonHelper; import com.xhpc.evcs.jpa.AuthSecretTokenRepository; import com.xhpc.evcs.utils.JSONUtil; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -29,7 +30,8 @@ public class NotificationCancelOrderTask extends CoreDispatcher { //private Logger logger = LoggerFactory.getLogger(NotificationChargeOrderInfoTask.class); -// @Scheduled(fixedRate = 1000 * 15) + //推送不开放 + //@Scheduled(fixedRate = 1000 * 15) public void run() throws JsonProcessingException { //Getting the orders, which need to be notified. diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java index 06fc18c9..7b3a375b 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java @@ -38,22 +38,30 @@ public class NotificationChargeOrderInfo4BonusTask extends CoreDispatcher { private OrderMappingRepository orderMappingRepository; @Autowired private XhpcChargingStationRepository chargingStationRepo; + @Autowired + private XhpcStationInternetBlacklistRepository xhpcStationInternetBlacklistRepo; private final Logger logger = LoggerFactory.getLogger(NotificationChargeOrderInfo4BonusTask.class); /** - * 推送充电订单信息(运营奖补) + * 推送充电订单信息(运营奖补)(测试环境开) * @throws IOException */ - //@Scheduled(fixedDelay = 1000 * 60) + @Scheduled(fixedDelay = 1000 * 60) public void run() throws IOException { + AuthSecretToken authSecretTokenOut = authSecretTokenRepository.findByOperatorId3irdptyAndOperatorIdAndSecretTokenType( "765367656", "MA6DFCTD5", SECRET_TOKEN_TYPE_OUT).orElse(null); //todo + // maybe对接第三方 if (authSecretTokenOut != null) { final List notYetPushOrder = xhpcHistoryOrderRepository.findTop100ByHistoryOrderIdGreaterThanAndStateGreaterThanOrderByHistoryOrderIdAsc(authSecretTokenOut.getLastPushOrder(), 0); for (XhpcHistoryOrder xhpcHistoryOrder : notYetPushOrder) { + XhpcStationInternetBlacklist xhpcStationInternetBlacklist = + xhpcStationInternetBlacklistRepo.findByChargingStationIdAndInternetUserId(xhpcHistoryOrder.getChargingStationId(), + 5L).orElse(null); + if (xhpcStationInternetBlacklist != null) continue; List statisticTimeIntervalList = statisticTimeIntervalRepository.findByHistoryOrderId(xhpcHistoryOrder.getHistoryOrderId()); xhpcHistoryOrder.setXhpcStatisticsTimeIntervalList(statisticTimeIntervalList); @@ -62,6 +70,10 @@ public class NotificationChargeOrderInfo4BonusTask extends CoreDispatcher { final List pushFailedOrders = xhpcHistoryOrderRepository.findTop10JoinPushFailedOrders(authSecretTokenOut.getOperatorId3irdpty()); for (XhpcHistoryOrder xhpcHistoryOrder : pushFailedOrders) { + XhpcStationInternetBlacklist xhpcStationInternetBlacklist = + xhpcStationInternetBlacklistRepo.findByChargingStationIdAndInternetUserId(xhpcHistoryOrder.getChargingStationId(), + 5L).orElse(null); + if (xhpcStationInternetBlacklist != null) continue; List statisticTimeIntervalList = statisticTimeIntervalRepository.findByHistoryOrderId(xhpcHistoryOrder.getHistoryOrderId()); xhpcHistoryOrder.setXhpcStatisticsTimeIntervalList(statisticTimeIntervalList); @@ -103,6 +115,9 @@ public class NotificationChargeOrderInfo4BonusTask extends CoreDispatcher { commonRequest.setData(data); String responseBody = ok(commonRequest, "/notification_charge_order_info_for_bonus", authSecretTokenOut, operatorIdEvcs); + logger.info("========老平台推送=======operatorIdEvcs============================="+operatorIdEvcs); + logger.info("========老平台推送=======responseBody============================="+cdChargeOrderInfo4BonusReq.getStartChargeSeq()); + CDChargeOrder4BonusInfoRes cdChargeOrder4BonusInfoRes = DTOJsonHelper.parseResponseData(responseBody, CDChargeOrder4BonusInfoRes.class, authSecretTokenOut); if (!isRepush) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java index 969aa20c..e1398cb3 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java @@ -38,8 +38,8 @@ public class NotificationChargeOrderInfoTask extends CoreDispatcher { private AuthSecretTokenRepository authSecretTokenRepository; private final Logger logger = LoggerFactory.getLogger(NotificationChargeOrderInfoTask.class); - - //111@Scheduled(fixedRate = 1000 * 15) + //推送不开放 + //@Scheduled(fixedRate = 1000 * 15) public void run() throws JsonProcessingException { Collection orderKeys = REDIS.keys("order:*"); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java index 93d1da03..4cb5d015 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java @@ -48,7 +48,8 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { * 推送充电状态 * @throws IOException */ - //111@Scheduled(fixedRate = 1000 * 50) + //推送不开放 + //@Scheduled(fixedRate = 1000 * 50) public void run() throws IOException { List authSecretTokenOutList = authSecretTokenRepository.findBySecretTokenType(SECRET_TOKEN_TYPE_OUT); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java index 3bdb3013..d8856689 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java @@ -33,7 +33,8 @@ public class NotificationStartChargeResultTask extends CoreDispatcher { /** * Judging the 3rd whether it has got the start charging task. */ - //111@Scheduled(fixedRate = 1000 * 3) + //推送不开放 + //@Scheduled(fixedRate = 1000 * 3) public void run() throws IOException { //Getting the charge orders which from 3rd. diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java index 75b8fadb..a425a723 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java @@ -49,7 +49,8 @@ public class NotificationStationStatusTask extends CoreDispatcher { @Resource private XhpcTerminalRepository terminalRepository; - //111@Scheduled(fixedRate = 1000 * 45) + //推送不开放 + //@Scheduled(fixedRate = 1000 * 45) protected void run() throws IOException { Collection stationTerminalKeys = REDIS.keys("stationTerminalStatus:*"); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java index 447d2edc..a7d67af8 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java @@ -26,7 +26,7 @@ public class NotificationStopChargeResultTask extends CoreDispatcher { @Autowired private AuthSecretTokenRepository authSecretTokenRepository; - //111@Scheduled(fixedRate = 1000 * 3) + //@Scheduled(fixedRate = 1000 * 3) public void run() throws Exception { notifyService(); diff --git a/ruoyi-auth/src/main/java/com/xhpc/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/xhpc/auth/controller/TokenController.java index a70ba475..06917504 100644 --- a/ruoyi-auth/src/main/java/com/xhpc/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/xhpc/auth/controller/TokenController.java @@ -4,30 +4,25 @@ package com.xhpc.auth.controller; import com.aliyun.dysmsapi20170525.models.SendSmsResponse; import com.xhpc.auth.form.LoginBody; import com.xhpc.auth.service.SysLoginService; -import com.xhpc.common.api.SmsService; import com.xhpc.common.api.TenantService; import com.xhpc.common.core.constant.Constants; import com.xhpc.common.core.constant.HttpStatus; import com.xhpc.common.core.domain.R; import com.xhpc.common.core.exception.BaseException; -import com.xhpc.common.core.exception.CaptchaException; import com.xhpc.common.core.utils.StringUtils; import com.xhpc.common.core.web.controller.BaseController; import com.xhpc.common.redis.service.RedisService; import com.xhpc.common.security.service.TokenService; import com.xhpc.system.api.model.LoginUser; -import lombok.extern.java.Log; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; -import java.util.Map; import java.util.Random; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import com.aliyun.tea.*; /** * token 控制 * @@ -63,15 +58,15 @@ public class TokenController extends BaseController @PostMapping("login") public R login(@RequestBody LoginBody form) { - String tenantId = form.getTenantId(); + String tenantId = "000000"; if(tenantId==null || "".equals(tenantId)){ throw new BaseException("租户ID码必须填写"); } //查询租户是否在有效期内 - R r = tenantService.gettenantIdTime(form.getTenantId()); - if(r.getCode() !=200){ - return R.fail("该租户已过期或已停用,请联系管理员"); - } +// R r = tenantService.gettenantIdTime(form.getTenantId()); +// if(r.getCode() !=200){ +// return R.fail("该租户已过期或已停用,请联系管理员"); +// } // 用户登录 LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(),0,tenantId); // 获取登录token diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcBarrierGateController.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcBarrierGateController.java index 7585d0d2..372596a4 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcBarrierGateController.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcBarrierGateController.java @@ -29,8 +29,8 @@ public class XhpcBarrierGateController extends BaseController { } @GetMapping("/list") - public TableDataInfo list(HttpServletRequest request, String barrierGateCompany) { - List> list = xhpcBarrierGateService.getLsit(barrierGateCompany); + public TableDataInfo list(String barrierGateCompany, String chargingStationNumber) { + List> list = xhpcBarrierGateService.getLsit(barrierGateCompany,chargingStationNumber); return getDataTable(list); } diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcBarrierGateMapper.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcBarrierGateMapper.java index 81b057b9..e0b96329 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcBarrierGateMapper.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcBarrierGateMapper.java @@ -1,8 +1,7 @@ package com.xhpc.charging.station.mapper; import com.xhpc.common.domain.XhpcBarrierGate; -import com.xhpc.common.domain.XhpcEquipmentAccident; -import org.springframework.data.repository.query.Param; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -11,7 +10,7 @@ public interface XhpcBarrierGateMapper { List> getBarrierGateList(); - List> getLsit(@Param("barrierGateCompany")String barrierGateCompany); + List> getLsit(@Param("barrierGateCompany")String barrierGateCompany, @Param("chargingStationNumber")String chargingStationNumber); void insertBarrierGate(XhpcBarrierGate xhpcBarrierGate); diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcBarrierGateService.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcBarrierGateService.java index fbf0dcb4..19b57e2f 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcBarrierGateService.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcBarrierGateService.java @@ -12,7 +12,7 @@ public interface IXhpcBarrierGateService { R getBarrierGateList(); - List> getLsit(String barrierGateCompany); + List> getLsit(String barrierGateCompany,String chargingStationNumber); R insertBarrierGate(XhpcBarrierGate xhpcBarrierGate); diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcBarrierGateServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcBarrierGateServiceImpl.java index 840a3b61..ec4fa682 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcBarrierGateServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcBarrierGateServiceImpl.java @@ -23,8 +23,8 @@ public class XhpcBarrierGateServiceImpl extends BaseService implements IXhpcBarr } @Override - public List> getLsit(String barrierGateCompany) { - return xhpcBarrierGateMapper.getLsit(barrierGateCompany); + public List> getLsit(String barrierGateCompany,String chargingStationNumber) { + return xhpcBarrierGateMapper.getLsit(barrierGateCompany,chargingStationNumber); } @Override @@ -35,7 +35,7 @@ public class XhpcBarrierGateServiceImpl extends BaseService implements IXhpcBarr xhpcBarrierGateMapper.insertBarrierGate(xhpcBarrierGate); } - return R.ok(); + return R.ok(null,"保存成功"); } @Override @@ -47,7 +47,7 @@ public class XhpcBarrierGateServiceImpl extends BaseService implements IXhpcBarr public R deleteBarrierGateById(Long barrierGateId) { xhpcBarrierGateMapper.deleteBarrierGateById(barrierGateId); - return R.ok(); + return R.ok(null,"删除成功"); } @Override diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java index 481c944d..5948c647 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingPileServiceImpl.java @@ -447,6 +447,60 @@ public class XhpcChargingPileServiceImpl extends BaseService implements IXhpcCha pile.setType(PowerTypeEnum.getCodeByName(pile.getTypeName())); pile.setConnectorType(ConnectorTypeEnum.getCodeByName(pile.getConnectorTypeName())); pile.setEquipmentType(PileEquipmentTypeEnum.getCodeByName(pile.getEquipmentTypeName())); + if("否".equals(pile.getNewNationalStandardName())){ + pile.setNewNationalStandard(0); + }else{ + pile.setNewNationalStandard(1); + } + if("否".equals(pile.getVinFlagName())){ + pile.setVinFlag(0); + }else{ + pile.setVinFlag(1); + } + + if("未知".equals(pile.getEquipmentStatusName())){ + pile.setEquipmentStatus(0); + }else if("建设中".equals(pile.getEquipmentStatusName())){ + pile.setEquipmentStatus(1); + }else if("关闭下线".equals(pile.getEquipmentStatusName())){ + pile.setEquipmentStatus(5); + }else if("维护中".equals(pile.getEquipmentStatusName())){ + pile.setEquipmentStatus(6); + }else { + pile.setVinFlag(50); + } + + if("公共".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(0); + }else if("个人".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(50); + }else if("公交(专用)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(100); + }else if("环卫(专用)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(101); + }else if("物流(专用)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(102); + }else if("出租车(专用)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(103); + }else if("分时租赁(专用)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(104); + }else if("单位(专用)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(106); + }else if("移动站点(移动储能设备)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(107); + }else if("居民小区(公共)".equals(pile.getEquipmentPurposeName())){ + pile.setEquipmentStatus(108); + }else { + pile.setVinFlag(109); + } + + if("车辆充电设备".equals(pile.getEquipmentClassificatlonName())){ + pile.setEquipmentClassificatlon(1); + }else{ + pile.setEquipmentClassificatlon(2); + } + + XhpcChargingStation station = xhpcChargingStationService.selectXhpcChargingStationByName(pile.getChargingStationName()); if(station == null){ diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java index 8daa31c8..ab1937af 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java @@ -354,8 +354,8 @@ public class XhpcChargingStationServiceImpl extends BaseService implements IXhpc if (xhpcChargingStationDto.getOperatorId() == null) { return AjaxResult.error(1001, "运营商不能为空"); } - if (xhpcChargingStationDto.getName().length()> 16) { - return AjaxResult.error(1001, "电站名称不能超过16字"); + if (xhpcChargingStationDto.getName().length()> 50) { + return AjaxResult.error(1001, "电站名称不能超过50字"); } if (xhpcChargingStationDto.getAreaCode() == null) { return AjaxResult.error(1001, "电站地址不能为空"); @@ -1068,8 +1068,8 @@ public class XhpcChargingStationServiceImpl extends BaseService implements IXhpc if (xhpcChargingStation.getChargingStationId() == null) { return AjaxResult.error("1001", "电站id为空"); } - if (xhpcChargingStation.getName().length()> 16) { - return AjaxResult.error(1001, "电站名称不能超过16字"); + if (xhpcChargingStation.getName().length()> 50) { + return AjaxResult.error(1001, "电站名称不能超过50字"); } xhpcChargingStation.setServiceFee(xhpcChargingStation.getServiceFeeDescribe()); //获取之前的模板id diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcBarrierGate.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcBarrierGate.xml index f7f08d13..0a6b6248 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcBarrierGate.xml +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcBarrierGate.xml @@ -17,6 +17,8 @@ + + @@ -31,12 +33,17 @@ select barrier_gate_id as barrierGateId, barrier_gate_company as barrierGateCompany, + charging_station_number as chargingStationNumber, + url as url, start_time as startTime, end_time as endTime from xhpc_barrier_gate where del_flag =0 and barrier_gate_company like CONCAT('%',#{barrierGateCompany},'%') + + and charging_station_number like CONCAT('%',#{chargingStationNumber},'%') + order by create_time desc @@ -77,6 +84,12 @@ tenant_id, + + charging_station_number, + + + url, + @@ -112,6 +125,12 @@ #{tenantId}, + + #{chargingStationNumber}, + + + #{url}, + @@ -151,6 +170,15 @@ tenant_id =#{tenantId}, + + tenant_id =#{tenantId}, + + + charging_station_number =#{chargingStationNumber}, + + + url=#{url}, + where barrier_gate_id = #{barrierGateId} @@ -163,6 +191,8 @@ select barrier_gate_id as barrierGateId, barrier_gate_company as barrierGateCompany, + charging_station_number as chargingStationNumber, + url as url, start_time as startTime, end_time as endTime from xhpc_barrier_gate diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGate.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGate.java index 4e82263b..7f0a281e 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGate.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGate.java @@ -25,4 +25,8 @@ public class XhpcBarrierGate extends BaseEntity { private Integer status; private Integer delFlag; + + private String chargingStationNumber; + + private String url; } diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGateRecord.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGateRecord.java new file mode 100644 index 00000000..4dc967dd --- /dev/null +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcBarrierGateRecord.java @@ -0,0 +1,29 @@ +package com.xhpc.common.domain; + +import com.xhpc.common.core.web.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +@Data +public class XhpcBarrierGateRecord extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private Long barrierGateRecordId; + /** 道闸id */ + private Long barrierGateId; + + private Long userId; + + private Integer source; + + private Long chargingStationId; + + private Date sendingTime; + + private Integer status; + + private Integer delFlag; + +} diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcChargingPile.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcChargingPile.java index efe191a4..fdc42902 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcChargingPile.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcChargingPile.java @@ -128,35 +128,55 @@ public class XhpcChargingPile extends BaseEntity { /** * 设备出厂编码 */ + @Excel(name = "设备出厂编码") private String equipmentProductCode; /** - * 设备出厂编码 + * 变压器户号 */ + @Excel(name = "变压器户号") private String transformerId; /** * 新国标 */ + private Integer newNationalStandard; + + @Excel(name = "新国标") + private String newNationalStandardName; /** * 是否支持 VIN 码识别 */ private Integer vinFlag; + + @Excel(name = "是否支持VIN码") + private String vinFlagName; /** * 设备状态 */ private Integer equipmentStatus; + + @Excel(name = "设备状态") + private String equipmentStatusName; /** * 设备用途 */ private Integer equipmentPurpose; + @Excel(name = "设备用途") + private String equipmentPurposeName; + + @Excel(name = "建设时间") private String constructionTime; + @Excel(name = "设备生成商组织机构代码") private String manufacturerId; - private Integer equipmentClassificatlon; + @Excel(name = "设备分类") + private String equipmentClassificatlonName; + + @Excel(name = "辅助电源") private Integer auxPower; @@ -567,4 +587,43 @@ public class XhpcChargingPile extends BaseEntity { this.auxPower = auxPower; } + public String getNewNationalStandardName() { + return newNationalStandardName; + } + + public void setNewNationalStandardName(String newNationalStandardName) { + this.newNationalStandardName = newNationalStandardName; + } + + public String getVinFlagName() { + return vinFlagName; + } + + public void setVinFlagName(String vinFlagName) { + this.vinFlagName = vinFlagName; + } + + public String getEquipmentStatusName() { + return equipmentStatusName; + } + + public void setEquipmentStatusName(String equipmentStatusName) { + this.equipmentStatusName = equipmentStatusName; + } + + public String getEquipmentPurposeName() { + return equipmentPurposeName; + } + + public void setEquipmentPurposeName(String equipmentPurposeName) { + this.equipmentPurposeName = equipmentPurposeName; + } + + public String getEquipmentClassificatlonName() { + return equipmentClassificatlonName; + } + + public void setEquipmentClassificatlonName(String equipmentClassificatlonName) { + this.equipmentClassificatlonName = equipmentClassificatlonName; + } } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java index b7c574d8..3cf4632e 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java @@ -241,10 +241,14 @@ public class XhpcPileOrderController extends BaseController { XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo); + if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){ logger.info("桩实时数据回调接口--无效订单号>>>>>orderNo:" + orderNo); return R.fail(500,"无效订单号"); } + if(xhpcChargeOrder.getStatus()==null){ + xhpcChargeOrder.setStatus(0); + } Map cacheMap = redisService.getCacheMap("order:"+orderNo); if(cacheMap==null || cacheMap.get("startType")==null ){ logger.info("桩实时数据回调接口--无效订单号>>>>>orderNo:" + orderNo); @@ -306,6 +310,9 @@ public class XhpcPileOrderController extends BaseController { xhpcChargeOrder.setRemark("充电桩校验故障"); xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder); powerPileService.stopCharging(orderNo, substring,orderNo.substring(0, 16), "0A"); + System.out.println("=====================p平台下发停止充电=============================="+xhpcChargeOrder.getSerialNumber()); + System.out.println("=====================p平台下发停止充电=============================="+xhpcChargeOrder.getSerialNumber()); + System.out.println("=====================p平台下发停止充电=============================="+xhpcChargeOrder.getSerialNumber()); return R.fail(500,"充电桩校验故障"); } } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java index 844ca678..582b6b60 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java @@ -889,7 +889,7 @@ public class XhpcHistoryOrderController extends BaseController { * 24小时异常订单自动结算 */ @GetMapping("/test4") - @Scheduled(cron = "0 0/5 * * * ?") + //@Scheduled(cron = "0 0/5 * * * ?") public void test4(){ //获取异常的订单 24小时之外的异常订单 List> xhpcChargeOrderList= chargeOrderService.getXhpcChargeOrderStatus(2); @@ -916,13 +916,13 @@ public class XhpcHistoryOrderController extends BaseController { * @param */ @GetMapping("/test5") - @Scheduled(cron = "0 0/5 * * * ?") + //@Scheduled(cron = "0 0/5 * * * ?") public void test5(){ logger.info(">>>>>>>>>>>>>>>>>>>>>>>标记异常大于创建4小时,标记为异常>>>>>>>>>>>>>>>>>>>>>"); chargeOrderService.updateStatus(); } - @Scheduled(cron = "0 0/1 * * * ?") + //@Scheduled(cron = "0 0/1 * * * ?") @GetMapping("/getInvoiceInfo") public void getInvoiceInfo(){ logger.info("++++++++++++每1分钟,扫描一次,异常订单,自动生成工单++++++++++++++++"); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java index 5768e86f..da807c62 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java @@ -64,6 +64,10 @@ public class XhpcStopChargingOrderController extends BaseController { if(cacheMap.get("version") !=null){ version =cacheMap.get("version").toString(); } + System.out.println("=================111========停止充电命令已下发==================停止 充电=================="+serialNumberOrderMap); + System.out.println("=================111========停止充电命令已下发==================停止 充电=================="+serialNumberOrderMap); + System.out.println("=================111========停止充电命令已下发==================停止 充电=================="+serialNumberOrderMap); + R r = powerPileService.stopCharging(serialNumberOrderMap, serialNumberOrderMap.substring(0,14), serialNumberOrderMap.substring(0,16), version); if(r.getCode()==200){ diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcChargeOrderMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcChargeOrderMapper.java index 24110331..62f5cc48 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcChargeOrderMapper.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcChargeOrderMapper.java @@ -228,4 +228,9 @@ public interface XhpcChargeOrderMapper { List> select3rdNameBy(@Param(value = "operatorIdEvcs") String operatorIdEvcs); Map getSerialNumberOrder(@Param("serialNumber")String serialNumber); + + + //查询场站是否有道闸 + Map getXhpcBarrierGate(@Param("chargingStationId")Long chargingStationId); + } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java index 90b5c82c..32da20df 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java @@ -1,5 +1,6 @@ package com.xhpc.order.mapper; +import com.xhpc.common.domain.XhpcBarrierGateRecord; import com.xhpc.common.domain.XhpcChargingPile; import com.xhpc.order.domain.*; import com.xhpc.order.dto.RateTime; @@ -206,4 +207,6 @@ public interface XhpcRealTimeOrderMapper { //获取桩id XhpcChargingPile getSerialNumber(@Param("serialNumber")String serialNumber); + void insertXhpcBarrierGateRecord(XhpcBarrierGateRecord xhpcBarrierGateRecord); + } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcChargeOrderService.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcChargeOrderService.java index 083f664b..485b777b 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcChargeOrderService.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcChargeOrderService.java @@ -179,4 +179,7 @@ public interface IXhpcChargeOrderService { void constantSoc(String orderNo,String soc); void zhbSoc(String orderNo,String soc); + + + Map getXhpcBarrierGate(Long chargingStationId); } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java index 420580f4..b2269ce9 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java @@ -402,6 +402,9 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar return AjaxResult.error(1104, "请登陆相应账号停止充电"); } } + System.out.println("=================111========请登陆相应账号停止充电==================停止 充电=================="+order.getSerialNumber()); + System.out.println("=================111========请登陆相应账号停止充电==================停止 充电=================="+order.getSerialNumber()); + System.out.println("=================111========请登陆相应账号停止充电==================停止 充电=================="+order.getSerialNumber()); R oa = powerPileService.stopCharging(order.getSerialNumber(), xhpcTerminal.getPileSerialNumber(), xhpcTerminal.getSerialNumber(), version); @@ -1310,6 +1313,11 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar } + @Override + public Map getXhpcBarrierGate(Long chargingStationId) { + return xhpcChargeOrderMapper.getXhpcBarrierGate(chargingStationId); + } + public static void main(String[] args) { try{ // //String alipayPublicKey1 = getAlipayPublicKey("C:\\Users\\Administrator\\Downloads\\alipayCertPublicKey_RSA2.crt"); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargingStationPowerServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargingStationPowerServiceImpl.java index f7bc6869..52b6c4a6 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargingStationPowerServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargingStationPowerServiceImpl.java @@ -32,10 +32,14 @@ public class XhpcChargingStationPowerServiceImpl extends BaseService implements private final ExecutorService executorService = Executors.newFixedThreadPool(20); - private final String [] enumeration ={"zero","one","two","three","four","five", "six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen", "eighteen","nineteen","twenty","twenty-one","twenty-two","twenty-three","twenty-four", - "twenty-five","twenty-six","twenty-seven", "twenty-eight","twenty-nine","thirty","thirty-one","thirty-two","thirty-three","thirty-four","thirty-five","thirty-six","thirty-seven","thirty-eight","thirty-nine","forty","forty-one","forty-two","forty-three","forty-four","forty-five","forty-six","forty-seven", - "forty-eight","forty-nine","fifty","fifty-one","fifty-two","fifty-three","fifty-four","fifty-five","fifty-six","fifty-seven","fifty-eight","fifty-nine","sixty","sixty-one","sixty-two","sixty-three","sixty-four","sixty-five","sixty-six","sixty-seven","sixty-eight","sixty-nine","seventy","seventy-one","seventy-two","seventy-three","seventy-four", - "seventy-five","seventy-six","seventy-seven","seventy-eight","seventy-nine","eighty","eighty-one","eighty-two","eighty-three","eighty-four","eighty-five","eighty-six","eighty-seven","eighty-eight","eighty-nine","ninety","ninety-one","ninety-two","ninety-three","ninety-four","ninety-five"}; + private final String [] enumeration ={"zero","one","two","three","four","five", "six","seven","eight","nine","ten","eleven", + "twelve","thirteen","fourteen","fifteen","sixteen","seventeen", "eighteen","nineteen","twenty","twenty-one","twenty-two","twenty-three", + "twenty-four","twenty-five","twenty-six","twenty-seven", "twenty-eight","twenty-nine","thirty","thirty-one","thirty-two","thirty-three","thirty-four","thirty-five", + "thirty-six","thirty-seven","thirty-eight","thirty-nine","forty","forty-one","forty-two","forty-three","forty-four","forty-five","forty-six","forty-seven", + "forty-eight","forty-nine","fifty","fifty-one","fifty-two","fifty-three","fifty-four","fifty-five","fifty-six","fifty-seven","fifty-eight","fifty-nine", + "sixty","sixty-one","sixty-two","sixty-three","sixty-four","sixty-five","sixty-six","sixty-seven","sixty-eight","sixty-nine","seventy","seventy-one", + "seventy-two","seventy-three","seventy-four","seventy-five","seventy-six","seventy-seven","seventy-eight","seventy-nine","eighty","eighty-one","eighty-two","eighty-three", + "eighty-four","eighty-five","eighty-six","eighty-seven","eighty-eight","eighty-nine","ninety","ninety-one","ninety-two","ninety-three","ninety-four","ninety-five"}; @Override public void addChargingStationPower() { @@ -148,8 +152,6 @@ public class XhpcChargingStationPowerServiceImpl extends BaseService implements int time = Integer.parseInt(split[j]); if(map.get(enumeration[time]) !=null){ Double aDouble = Double.valueOf(map.get(enumeration[time]).toString()); - System.out.println("====j==="+j); - System.out.println("======="+powerSplit[j]); Double aDouble1 = Double.valueOf(powerSplit[j].toString()); double v = aDouble + aDouble1; map.put(enumeration[time],new Formatter().format("%.2f", v).toString()); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java index 0c0e5611..23907866 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java @@ -141,6 +141,11 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis public List> list(HttpServletRequest request) { List> list =new ArrayList<>(); LoginUser loginUser = tokenService.getLoginUser(request); + if(loginUser==null){ + startPage(); + return list; + } + Long userid = loginUser.getUserid(); String tenantId = loginUser.getTenantId(); Integer userType = loginUser.getUserType(); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java index b572c89f..b3144812 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java @@ -17,6 +17,7 @@ import com.xhpc.common.core.web.service.BaseService; import com.xhpc.common.data.redis.CacheBmsReqChargerOutputData; import com.xhpc.common.data.redis.CacheOrderData; import com.xhpc.common.data.redis.CacheRealtimeData; +import com.xhpc.common.domain.XhpcBarrierGateRecord; import com.xhpc.common.domain.XhpcChargingPile; import com.xhpc.common.domain.XhpcRate; import com.xhpc.common.enums.StopReasonEnum; @@ -1366,6 +1367,44 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe } } }); + //小华充电二台子社区充电站 道闸 +// try{ +// if(xhpcChargeOrder.getPlateNum() !=null && !"".equals(xhpcChargeOrder.getPlateNum())){ +// Map xhpcBarrierGate = xhpcChargeOrderService.getXhpcBarrierGate(xhpcChargeOrder.getChargingStationId()); +// if(xhpcBarrierGate !=null && xhpcBarrierGate.get("url") !=null && xhpcBarrierGate.get("chargingStationNumber") !=null){ +// Map barrierGateMap = new HashMap<>(); +// barrierGateMap.put("plateNo", xhpcChargeOrder.getPlateNum()); +// barrierGateMap.put("chargingStationNumber", xhpcBarrierGate.get("chargingStationNumber").toString()); +// barrierGateMap.put("chargingStationName", xhpcBarrierGate.get("name").toString()); +// barrierGateMap.put("address", xhpcBarrierGate.get("address").toString()); +// barrierGateMap.put("longitude", xhpcBarrierGate.get("longitude").toString()); +// barrierGateMap.put("latitude", xhpcBarrierGate.get("latitude").toString()); +// barrierGateMap.put("startTime", xhpcHistoryOrder.getStartTime()); +// barrierGateMap.put("endTime", xhpcHistoryOrder.getEndTime()); +// JSONObject json = new JSONObject(barrierGateMap); +// String result = HttpUtils.post(xhpcBarrierGate.get("url").toString(), json); +// JSONObject jsonObject = JSON.parseObject(result); +// String code = jsonObject.getString("code"); +// XhpcBarrierGateRecord xhpcBarrierGateRecord = new XhpcBarrierGateRecord(); +// if("200".equals(code)){ +// xhpcBarrierGateRecord.setStatus(0); +// }else{ +// xhpcBarrierGateRecord.setStatus(1); +// } +// xhpcBarrierGateRecord.setBarrierGateId(Long.parseLong(xhpcBarrierGate.get("barrierGateId").toString())); +// xhpcBarrierGateRecord.setUserId(userId); +// xhpcBarrierGateRecord.setSource(source); +// xhpcBarrierGateRecord.setChargingStationId(xhpcChargeOrder.getChargingStationId()); +// xhpcBarrierGateRecord.setSendingTime(new Date()); +// xhpcBarrierGateRecord.setDelFlag(0); +// xhpcBarrierGateRecord.setRemark(result); +// xhpcRealTimeOrderMapper.insertXhpcBarrierGateRecord(xhpcBarrierGateRecord); +// } +// +// } +// }catch (Exception e){ +// e.printStackTrace(); +// } }catch (Exception e){ e.printStackTrace(); logger.info("<<<<<<<<<<<<<<<<运行异常,结算失败,数据回滚>>>>>>>>>>>>>>>>>"+xhpcChargeOrder.getSerialNumber()); diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml index 40f1c6f2..43515385 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml @@ -33,6 +33,7 @@ + @@ -394,7 +395,7 @@ + + diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml index ad4d5911..d1ef8034 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml @@ -1058,4 +1058,91 @@ charging_station_id as chargingStationId from xhpc_charging_pile where serial_number =#{serialNumber} + + + insert into xhpc_barrier_gate_record + + + barrier_gate_id, + + + user_id, + + + source, + + + charging_station_id, + + + sending_time, + + + status, + + + del_flag, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark, + + + tenant_id, + + + + + #{barrierGateId}, + + + #{userId}, + + + #{source}, + + + #{chargingStationId}, + + + #{sendingTime}, + + + #{status}, + + + #{delFlag}, + + + #{createTime}, + + + #{createBy}, + + + #{updateTime}, + + + #{updateBy}, + + + #{remark}, + + + #{tenantId}, + + + + diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java index c7802ff6..b18d8495 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java @@ -96,9 +96,9 @@ public class AlipayPaymentController { if(new BigDecimal(5).compareTo(new BigDecimal(amount))==1){ return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能少于5元"); } - if(new BigDecimal(200).compareTo(new BigDecimal(amount))==-1){ - return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能大于200元"); - } +// if(new BigDecimal(200).compareTo(new BigDecimal(amount))==-1){ +// return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能大于200元"); +// } } //用户信息id String userId = StringUtils.valueOf(map.get("userId")); diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java index ff86d191..2f7e966d 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java @@ -97,9 +97,9 @@ public class WxPaymentController { if(new BigDecimal(5).compareTo(new BigDecimal(amount))==1){ return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能少于5元"); } - if(new BigDecimal(200).compareTo(new BigDecimal(amount))==-1){ - return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能大于200元"); - } +// if(new BigDecimal(200).compareTo(new BigDecimal(amount))==-1){ +// return AjaxResult.error(HttpStatus.NOT_NULL, "充值金额不能大于200元"); +// } } //用户信息id if(map.get("userId") ==null || "".equals(map.get("userId").toString())){ diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundOrderController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundOrderController.java index 7d4dc9f6..3e6ef2fe 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundOrderController.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundOrderController.java @@ -13,12 +13,14 @@ import com.xhpc.common.log.annotation.Log; import com.xhpc.common.log.enums.BusinessType; import com.xhpc.common.security.service.TokenService; import com.xhpc.common.util.UserTypeUtil; +import com.xhpc.payment.domain.XhpcRefundAudit; import com.xhpc.payment.service.IXhpcCommonPayment; import com.xhpc.payment.service.IXhpcRefundOrderService; import com.xhpc.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -226,8 +228,25 @@ public class XhpcRefundOrderController extends BaseController { } } - - + @Scheduled(cron = "0 0/5 * * * ? ") + public void administratorReview(){ + logger.info("++++++++++++每5分,扫描一次,在管理员审核状态中,用户金额为0时,去掉该记录++++++++++++++++"); + try { + List> list = iXhpcRefundOrderService.administratorReview(); + if(list !=null && list.size()>0){ + for (int i = 0; i map = list.get(i); + if(map.get("balance") !=null && new BigDecimal(0).compareTo(new BigDecimal(map.get("balance").toString()))==0){ + iXhpcRefundOrderService.updateXhpcRefundOrder(Long.valueOf(map.get("refundOrderId").toString())); + } + } + } + }catch (Exception e){ + logger.info("++++++++++++管理员审核异常++++++++++++++++"); + e.printStackTrace(); + //后期可以增加短信通知 + } + } } diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundOrderMapper.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundOrderMapper.java index 4c3662bf..4637aa91 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundOrderMapper.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundOrderMapper.java @@ -124,4 +124,7 @@ public interface XhpcRefundOrderMapper { */ int updateRefundApplication(@Param("userId")Long userId,@Param("isRefundApplication")Integer isRefundApplication); + List> administratorReview(); + + void updateXhpcRefundOrder(@Param("refundOrderId")Long refundOrderId); } diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundOrderService.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundOrderService.java index 5dc47385..fd2fc082 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundOrderService.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundOrderService.java @@ -115,4 +115,8 @@ public interface IXhpcRefundOrderService { * type 1 小于101元 2大于100元 */ public List moneyPage(Integer type); + + List> administratorReview(); + + void updateXhpcRefundOrder(Long refundOrderId); } diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOrderServiceImpl.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOrderServiceImpl.java index 52509758..aa523b33 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOrderServiceImpl.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOrderServiceImpl.java @@ -250,4 +250,14 @@ public class XhpcRefundOrderServiceImpl implements IXhpcRefundOrderService { return xhpcRefundOrderMapper.moneyPage(type); } + @Override + public List> administratorReview() { + return xhpcRefundOrderMapper.administratorReview(); + } + + @Override + public void updateXhpcRefundOrder(Long refundOrderId) { + xhpcRefundOrderMapper.updateXhpcRefundOrder(refundOrderId); + } + } diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOriginalOrderServiceImpl.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOriginalOrderServiceImpl.java index 03b5e105..0e5c7528 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOriginalOrderServiceImpl.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOriginalOrderServiceImpl.java @@ -1280,8 +1280,10 @@ public class XhpcRefundOriginalOrderServiceImpl implements IXhpcRefundOriginalOr logger.info("===微信=======查询以前充值记录========="); //增加用户流水记录 xhpcUserAccountStatementService.add(refundOrder.getRefundOrderId(), "-"+refundFee, userId.toString(), StatusConstants.FLOWING_WATER_REFUND,source,refundOrder.getTenantId()); - Date date = new Date(); - String createTime = DateUtil.formatDateTime(date); + + LocalDateTime localDate = LocalDateTime.now().minusDays(363); + String createTime = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));//转为String类型 + List totalMoneyList = xhpcRefundOriginalOrderMapper.getTotalMoneyList(userId, source,createTime); for (int i = 0; i + and xro.source =#{source} + ORDER BY xro.create_time DESC diff --git a/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundOrderMapper.xml b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundOrderMapper.xml index 19e8b6ce..26c03d7f 100644 --- a/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundOrderMapper.xml +++ b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundOrderMapper.xml @@ -346,4 +346,22 @@ UPDATE xhpc_community_personnel set is_refund_application=#{isRefundApplication} where community_personnel_id=#{userId} + + + + + update xhpc_refund_order set del_flag =1 where refund_order_id =#{refundOrderId} + + + diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java index aefb7c11..a612ff9f 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java @@ -397,10 +397,10 @@ public class ChargingController { public static void main(String[] args) { - Integer F401 = HexUtils.reverseHexInt("8E200100"); + Integer F401 = HexUtils.reverseHexInt("A6010000"); System.out.println("F401 转化成="+F401); - Integer F402 = HexUtils.reverseHexInt("8E200100"); + Integer F402 = HexUtils.reverseHexInt("B602"); System.out.println("F402 转化成="+F402); // Integer D007 = HexUtils.reverseHexInt("D007"); diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java index d876cc80..36003568 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java @@ -435,6 +435,7 @@ public class PileController { cdEquipmentInfo.setManufacturerName(xhpcChargingPile.getManufactureName()); cdEquipmentInfo.setEquipmentModel(xhpcChargingPile.getBrandModel()); cdEquipmentInfo.setEquipmentProductCode(xhpcChargingPile.getEquipmentProductCode()); + cdEquipmentInfo.setEquipmentName(xhpcChargingPile.getManufactureName()); cdEquipmentInfo.setTransformerID(xhpcChargingPile.getTransformerID()); cdEquipmentInfo.setProductionDate(xhpcChargingPile.getProductionDate()); cdEquipmentInfo.setConstructionTime(xhpcChargingPile.getConstructionTime()); diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java index 9aff6209..1c349a58 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java @@ -50,6 +50,12 @@ public class StationController { xhpcChargingStation.setSwapMatchCars(split); } xhpcChargingStation.setEquipmentInfos(new ArrayList<>()); + if("3".equals(stationId)){ + xhpcChargingStation.setStationName("小华充电新繁长德新世贸食品城充电站"); + }else if("2".equals(stationId)){ + xhpcChargingStation.setStationName("小华充电温江学府杏林充电站"); + } + REDIS.setCacheObject(skey, xhpcChargingStation); } } diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java index b05e7899..817ababf 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java @@ -169,6 +169,9 @@ public class RealtimeDataLogic implements ServiceLogic { Integer vul = (Integer) cachePile.get("voltageUpperLimits"); Integer cul = (Integer) cachePile.get("currentLimit"); if(vul != null && cul != null && (wc > cul || wv > vul)) { + System.out.println("==========================wc > cul || wv > vul==================停止 充电=================="+pileNo); + System.out.println("==========================wc > cul || wv > vul==================停止 充电=================="+pileNo); + System.out.println("==========================wc > cul || wv > vul==================停止 充电=================="+pileNo); R r = chargingController.stopCharging(pileNo, gunId, default_version); if (r.getCode() == 200) { Integer vcpcnt = (Integer) cacheOrder.get("vcpcnt"); @@ -178,6 +181,9 @@ public class RealtimeDataLogic implements ServiceLogic { } else { Integer stopSoc = (Integer) cacheOrder.get("stopSoc"); if (stopSoc != null && socInt >= stopSoc) { + System.out.println("==========================stopSoc==================停止 充电=================="+pileNo); + System.out.println("==========================stopSoc==================停止 充电=================="+pileNo); + System.out.println("==========================stopSoc==================停止 充电=================="+pileNo); R r = chargingController.stopCharging(pileNo, gunId, default_version); String alerted = (String) cacheOrder.get("socalerted"); String tel = (String) cacheOrder.get("tel"); @@ -201,6 +207,9 @@ public class RealtimeDataLogic implements ServiceLogic { Integer amountCharged =cacheRealtimeData.getAmountCharged(); if(chargingDegree < 10000 && amountCharged > 200000){ // 充电度数小于1,并且,充电金额大于10 + System.out.println("==========================chargingDegree < 10000==================停止 充电=================="+pileNo); + System.out.println("==========================chargingDegree < 10000==================停止 充电=================="+pileNo); + System.out.println("==========================chargingDegree < 10000==================停止 充电=================="+pileNo); R r = chargingController.stopCharging(pileNo, gunId, default_version); } @@ -228,6 +237,9 @@ public class RealtimeDataLogic implements ServiceLogic { cacheRealtimeData.getAmountCharged(), cacheRealtimeData.getOrderNo()); chargingController.stopCharging(pileNo, gunId, default_version); + System.out.println("==========================实时数据充电度数:{}, 实时充电金==================停止 充电=================="+pileNo); + System.out.println("==========================实时数据充电度数:{}, 实时充电金==================停止 充电=================="+pileNo); + System.out.println("==========================实时数据充电度数:{}, 实时充电金==================停止 充电=================="+pileNo); } } } @@ -254,6 +266,9 @@ public class RealtimeDataLogic implements ServiceLogic { cacheOrder.put("abnormal", "1.2 lord as orderData"); log.error("abnormal.1.2 order[{}]", orderNo); } + System.out.println("==========================abnormal.1.2 orde==================停止 充电=================="+pileNo); + System.out.println("==========================abnormal.1.2 orde==================停止 充电=================="+pileNo); + System.out.println("==========================abnormal.1.2 orde==================停止 充电=================="+pileNo); chargingController.stopCharging(pileNo, gunId, default_version); cacheOrder.put("status", "空闲>2下发中止"); if (r == null || r.getCode() != 200) { @@ -266,6 +281,9 @@ public class RealtimeDataLogic implements ServiceLogic { REDIS.setCacheMap(orderkey, cacheOrder); } else { if (statusInt == 3) { + System.out.println("==========================statusInt == 3==================停止 充电=================="+pileNo); + System.out.println("==========================statusInt == 3==================停止 充电=================="+pileNo); + System.out.println("==========================statusInt == 3==================停止 充电=================="+pileNo); chargingController.stopCharging(pileNo, gunId, default_version); Integer bpcnt = (Integer) cacheGun.get("pleek.bp.cnt"); cacheGun.put("pleek.bp.cnt", bpcnt==null?1:bpcnt++); @@ -287,12 +305,13 @@ public class RealtimeDataLogic implements ServiceLogic { deviceMessage.setContent((String) req.get("hex")); deviceMessage.setChargeOrderNo((String) req.get("orderNo")); deviceMessageMapper.insertByDomain(deviceMessage); -// executorService.execute(new Runnable() { -// @Override -// public void run() { -// evcsService.getNotificationConnectorChargeStatus(orderNo); -// } -// }); + //实时数据推送设备充电中状态变化 + executorService.execute(new Runnable() { + @Override + public void run() { + REDIS.setCacheObject("cdjgpc:realTime:"+orderNo,orderNo); + } + }); return new ServiceResult(false); } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/AuthSetTokenController.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/AuthSetTokenController.java new file mode 100644 index 00000000..0fc28de4 --- /dev/null +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/AuthSetTokenController.java @@ -0,0 +1,59 @@ +package com.xhpc.user.controller; + +import com.xhpc.common.api.dto.XhpcChargingStationDto; +import com.xhpc.common.core.domain.R; +import com.xhpc.common.core.web.controller.BaseController; +import com.xhpc.common.core.web.domain.AjaxResult; +import com.xhpc.common.core.web.page.TableDataInfo; +import com.xhpc.common.security.service.TokenService; +import com.xhpc.system.api.model.LoginUser; +import com.xhpc.user.domain.AuthSetToken; +import com.xhpc.user.service.IAuthSetTokenService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/authSetToken") +public class AuthSetTokenController extends BaseController { + + @Resource + private IAuthSetTokenService authSetTokenService; + @Resource + private TokenService tokenService; + + @GetMapping("/getList") + public TableDataInfo getList(String name) { + startPage(); + LoginUser loginUser = tokenService.getLoginUser(); + String tenantId = loginUser.getTenantId(); + List> list = authSetTokenService.getList(name, tenantId); + return getDataTable(list); + } + + @GetMapping("/getById") + public R getById(@RequestParam("id")Long id){ + return R.ok(authSetTokenService.getById(id)); + } + + @PostMapping(value = "/insertAuthSetToken") + public R insertAuthSetToken(@RequestBody AuthSetToken authSetToken) { + LoginUser loginUser = tokenService.getLoginUser(); + String tenantId = loginUser.getTenantId(); + authSetToken.setTenantId(tenantId); + authSetTokenService.insertAuthSetToken(authSetToken); + return R.ok(null,"操作成功"); + } + + @PostMapping(value = "/updateAuthSetToken") + public R updateAuthSetToken(@RequestBody AuthSetToken authSetToken) { + LoginUser loginUser = tokenService.getLoginUser(); + String tenantId = loginUser.getTenantId(); + authSetToken.setTenantId(tenantId); + authSetTokenService.updateAuthSetToken(authSetToken); + return R.ok(); + } + +} diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/AuthSetToken.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/AuthSetToken.java new file mode 100644 index 00000000..b2fc8df9 --- /dev/null +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/AuthSetToken.java @@ -0,0 +1,79 @@ +package com.xhpc.user.domain; + +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import java.util.Date; + +@Getter +@Setter +@Entity +@Table(name = "ET_AUTH_SEC_TOKEN") +public class AuthSetToken { + + public final static String SECRET_TOKEN_TYPE_IN = "IN"; + public final static String SECRET_TOKEN_TYPE_OUT = "OUT"; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + private String name; + + /** + * 运营商/平台OperatorID + */ + private String operatorId; + /** + * 第三方OperatorID + */ + private String operatorId3irdpty; + /** + * token类型 - IN:第三方访问我平台时生成使用,OUT:我平台访问第三方时使用 + */ + private String secretTokenType; + /** + * evcs程序运行时生成使用的鉴权token + */ + private String token; + /** + * token有效时间 + */ + private Date tokenExpiry; + /** + *Data Secret加密参数,参考EVCS文档第4部分 + */ + private String dataSecret; + /** + * Data SecretIV加密参数,参考EVCS文档第4部分 + */ + private String dataSecretIV; + /** + * Operator Secret加密参数,参考EVCS文档第4部分 + */ + private String operatorSecret; + /**encrypt + * Sig Secret加密参数,参考EVCS文档第4部分 + */ + private String sigSecret; + /** + *Data SecretIV加密参数,参考EVCS文档第4部分 + */ + private String urlPrefix; + /** + *是平台推送的订单的截止订单号 + */ + private Long lastPushOrder; + /** + *是否加密 1:是 0:否 + */ + private Integer encrypt; + /** + *租户id + */ + private String tenantId; + + + +} diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/AuthSetTokenMapper.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/AuthSetTokenMapper.java new file mode 100644 index 00000000..60db4f89 --- /dev/null +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/AuthSetTokenMapper.java @@ -0,0 +1,19 @@ +package com.xhpc.user.mapper; + +import com.xhpc.user.domain.AuthSetToken; +import org.apache.ibatis.annotations.Param; + + +import java.util.List; +import java.util.Map; + +public interface AuthSetTokenMapper { + + List> getList(@Param("name") String name, @Param ("tenantId") String tenantId); + + Map getById(@Param("id") Long id); + + void insertAuthSetToken(AuthSetToken authSetToken); + + void updateAuthSetToken(AuthSetToken authSetToken); +} diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IAuthSetTokenService.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IAuthSetTokenService.java new file mode 100644 index 00000000..fcee05fc --- /dev/null +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IAuthSetTokenService.java @@ -0,0 +1,17 @@ +package com.xhpc.user.service; + +import com.xhpc.user.domain.AuthSetToken; + +import java.util.List; +import java.util.Map; + +public interface IAuthSetTokenService { + + List> getList(String name,String tenantId); + + Map getById(Long id); + + void insertAuthSetToken(AuthSetToken authSetToken); + + void updateAuthSetToken(AuthSetToken authSetToken); +} diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/AuthSetTokenServiceImpl.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/AuthSetTokenServiceImpl.java new file mode 100644 index 00000000..e4f32154 --- /dev/null +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/AuthSetTokenServiceImpl.java @@ -0,0 +1,41 @@ +package com.xhpc.user.service.impl; + +import com.xhpc.user.domain.AuthSetToken; +import com.xhpc.user.mapper.AuthSetTokenMapper; +import com.xhpc.user.service.IAuthSetTokenService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Service +public class AuthSetTokenServiceImpl implements IAuthSetTokenService { + + @Resource + AuthSetTokenMapper authSetTokenMapper; + @Override + public List> getList(String name, String tenantId) { + return authSetTokenMapper.getList(name,tenantId); + } + + @Override + public Map getById(Long id) { + Map byId = authSetTokenMapper.getById(id); + return byId; + } + + @Override + public void insertAuthSetToken(AuthSetToken authSetToken) { + if(authSetToken.getId() !=null){ + authSetTokenMapper.updateAuthSetToken(authSetToken); + }else{ + authSetTokenMapper.insertAuthSetToken(authSetToken); + } + } + + @Override + public void updateAuthSetToken(AuthSetToken authSetToken) { + authSetTokenMapper.updateAuthSetToken(authSetToken); + } +} diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/AuthSetTokenMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/AuthSetTokenMapper.xml new file mode 100644 index 00000000..471ffd22 --- /dev/null +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/AuthSetTokenMapper.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE et_auth_sec_token + + name = #{name}, + operator_id = #{operatorId}, + operator_id3irdpty = #{operatorId3irdpty}, + secret_token_type = #{secretTokenType}, + token = #{token}, + data_secret = #{dataSecret}, + data_secretiv=#{dataSecretIV}, + operator_secret = #{operatorSecret}, + sig_secret = #{sigSecret}, + encrypt = #{encrypt}, + url_prefix = #{urlPrefix}, + last_push_order = #{lastPushOrder}, + tenant_id = #{tenantId}, + + WHERE id = #{id} + + + + insert into et_auth_sec_token( + name, + operator_id, + operator_id3irdpty, + secret_token_type , + token , + data_secret, + data_secretiv, + operator_secret, + sig_secret , + encrypt, + url_prefix, + tenant_id, + token_expiry + )values( + #{name}, + #{operatorId}, + #{operatorId3irdpty}, + #{secretTokenType}, + #{token}, + #{tokenExpiry}, + #{dataSecret}, + #{dataSecretIV}, + #{operatorSecret}, + #{sigSecret}, + #{encrypt}, + #{urlPrefix}, + #{tenantId}, + sysdate() + ) + + + + + + diff --git a/xhpc-modules/xhpc-wxma/src/main/java/com/xhpc/wxma/controller/OrderNotificationWebSocketController.java b/xhpc-modules/xhpc-wxma/src/main/java/com/xhpc/wxma/controller/OrderNotificationWebSocketController.java index b5893ec6..2b59e375 100644 --- a/xhpc-modules/xhpc-wxma/src/main/java/com/xhpc/wxma/controller/OrderNotificationWebSocketController.java +++ b/xhpc-modules/xhpc-wxma/src/main/java/com/xhpc/wxma/controller/OrderNotificationWebSocketController.java @@ -1,14 +1,19 @@ package com.xhpc.wxma.controller; +import cn.hutool.core.date.DateUtil; import com.xhpc.common.core.domain.R; import com.xhpc.common.core.web.controller.BaseController; +import com.xhpc.common.redis.service.RedisService; import com.xhpc.wxma.socket.OrderNotificationWebSocket; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.Date; + /** * @author yuyang * @date 2021/8/11 17:47 @@ -16,6 +21,9 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class OrderNotificationWebSocketController extends BaseController { + @Autowired + private RedisService redisService; + private static final Logger logger = LoggerFactory.getLogger(OrderNotificationWebSocketController.class); @GetMapping("/test") public void test(@RequestParam String userId){ @@ -29,5 +37,19 @@ public class OrderNotificationWebSocketController extends BaseController { return R.ok(); } + @GetMapping("/getDituNumber") + public void getDituNumber(){ + String format = DateUtil.format(new Date(), "yyyyMMdd"); + + if(redisService.getCacheObject("global:" + format) !=null){ + String number = redisService.getCacheObject("global:" + format).toString(); + int numbers =Integer.parseInt(number); + numbers++; + redisService.setCacheObject("global:"+format, numbers); + }else{ + redisService.setCacheObject("global:"+format, 0); + } + + } }