diff --git a/jsowell-admin/pom.xml b/jsowell-admin/pom.xml
index 052d409ea..f50a9c149 100644
--- a/jsowell-admin/pom.xml
+++ b/jsowell-admin/pom.xml
@@ -113,6 +113,25 @@
test
+
+ com.jsowell
+ charge-common-api
+
+
+
+ org.apache.commons
+ commons-lang3
+
+
+
+ org.apache.dubbo
+ dubbo
+
+
+ org.apache.dubbo
+ dubbo-registry-nacos
+
+
@@ -158,4 +177,4 @@
${project.artifactId}
-
\ No newline at end of file
+
diff --git a/jsowell-admin/src/main/java/com/jsowell/JsowellApplication.java b/jsowell-admin/src/main/java/com/jsowell/JsowellApplication.java
index 5acc5cce4..80ae93391 100644
--- a/jsowell-admin/src/main/java/com/jsowell/JsowellApplication.java
+++ b/jsowell-admin/src/main/java/com/jsowell/JsowellApplication.java
@@ -1,5 +1,6 @@
package com.jsowell;
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -11,6 +12,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
*/
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@EnableDubbo
public class JsowellApplication {
public static void main(String[] args) {
diff --git a/jsowell-admin/src/main/java/com/jsowell/service/YdcServiceImpl.java b/jsowell-admin/src/main/java/com/jsowell/service/YdcServiceImpl.java
new file mode 100644
index 000000000..9746bdd31
--- /dev/null
+++ b/jsowell-admin/src/main/java/com/jsowell/service/YdcServiceImpl.java
@@ -0,0 +1,78 @@
+package com.jsowell.service;
+
+import com.jsowell.common.dto.RealTimeMonitorData;
+import com.jsowell.common.dto.TransactionRecordsData;
+import com.jsowell.common.service.YdcService;
+import com.jsowell.common.vo.BillingTemplateVO;
+import com.jsowell.common.vo.PileInfoVO;
+import org.apache.dubbo.config.annotation.DubboService;
+
+@DubboService
+public class YdcServiceImpl implements YdcService {
+ @Override
+ public String sayHello(String name) {
+ return "hello " + name + " from ydc-server";
+ }
+
+ /**
+ * 查询充电桩详情
+ *
+ * @param pileCode
+ */
+ @Override
+ public PileInfoVO getPileDetail(String pileCode) {
+ return null;
+ }
+
+ /**
+ * 查询计费模板
+ *
+ * @param pileCode
+ */
+ @Override
+ public BillingTemplateVO getBillingTemplate(String pileCode) {
+ return null;
+ }
+
+ /**
+ * 启动充电callback
+ *
+ * @param pileCode
+ * @param result
+ */
+ @Override
+ public void startChargeCallback(String pileCode, String result) {
+
+ }
+
+ /**
+ * 停止充电callback
+ *
+ * @param pileCode
+ * @param result
+ */
+ @Override
+ public void stopChargeCallback(String pileCode, String result) {
+
+ }
+
+ /**
+ * 接收交易记录接口
+ *
+ * @param transactionRecordsData
+ */
+ @Override
+ public void receiveTradeRecord(TransactionRecordsData transactionRecordsData) {
+
+ }
+
+ /**
+ * 接收实时监测数据接口
+ *
+ * @param realTimeMonitorData
+ */
+ @Override
+ public void receiveRealTimeData(RealTimeMonitorData realTimeMonitorData) {
+
+ }
+}
diff --git a/jsowell-admin/src/main/resources/application-dev.yml b/jsowell-admin/src/main/resources/application-dev.yml
index 306a89de8..8dc8746a2 100644
--- a/jsowell-admin/src/main/resources/application-dev.yml
+++ b/jsowell-admin/src/main/resources/application-dev.yml
@@ -251,4 +251,21 @@ parking:
# 充电算法平台配置
chargeAlgorithm:
url: http://150.158.199.92:58910/gateway/api/user/battery/algorithm/json
- clientId: e488bac5f70b496fa2d82065089e5f81
\ No newline at end of file
+ clientId: e488bac5f70b496fa2d82065089e5f81
+
+# dubbo配置
+dubbo:
+ application:
+ name: ydc-server
+ qosEnable: false
+ registry:
+ address: nacos://192.168.2.2:8848
+ parameters:
+ namespace: e328faaf-8516-42d0-817a-7406232b3581
+ username: nacos
+ password: 79HMu!6nlOiLm^Q[
+ protocol:
+ name: dubbo
+ port: 20880
+ consumer:
+ check: false # 关键配置:启动时不检查提供者
diff --git a/jsowell-admin/src/main/resources/application-prd.yml b/jsowell-admin/src/main/resources/application-prd.yml
index ceae04173..02a653e81 100644
--- a/jsowell-admin/src/main/resources/application-prd.yml
+++ b/jsowell-admin/src/main/resources/application-prd.yml
@@ -246,4 +246,21 @@ parking:
# 充电算法平台配置
chargeAlgorithm:
url: http://150.158.199.92:58910/gateway/api/user/battery/algorithm/json
- clientId: e488bac5f70b496fa2d82065089e5f81
\ No newline at end of file
+ clientId: e488bac5f70b496fa2d82065089e5f81
+
+# dubbo配置
+dubbo:
+ application:
+ name: ydc-server
+ qosEnable: false
+ registry:
+ address: nacos://47.103.124.69:8848
+ parameters:
+ namespace: 1c0429d3-2842-45a9-b3f3-11605c3fd06e
+ username: nacos
+ password: 2KaGqRo34BHgHJap
+ protocol:
+ name: dubbo
+ port: 20880
+ consumer:
+ check: false # 关键配置:启动时不检查提供者
diff --git a/jsowell-admin/src/main/resources/application-pre.yml b/jsowell-admin/src/main/resources/application-pre.yml
index 690bbf530..ef83a13c8 100644
--- a/jsowell-admin/src/main/resources/application-pre.yml
+++ b/jsowell-admin/src/main/resources/application-pre.yml
@@ -252,3 +252,20 @@ parking:
chargeAlgorithm:
url: http://150.158.199.92:58910/gateway/api/user/battery/algorithm/json
clientId: e488bac5f70b496fa2d82065089e5f81
+
+# dubbo配置
+dubbo:
+ application:
+ name: ydc-server
+ qosEnable: false
+ registry:
+ address: nacos://106.14.94.149:8848
+ parameters:
+ namespace: 200784c9-7e8f-4b2b-a44f-1eb52e675491
+ username: nacos
+ password: 3rtJPEb0KaUs5NAm
+ protocol:
+ name: dubbo
+ port: 20880
+ consumer:
+ check: false # 关键配置:启动时不检查提供者
diff --git a/jsowell-admin/src/main/resources/application-sit.yml b/jsowell-admin/src/main/resources/application-sit.yml
index b9b0b63c2..30a9f5c6b 100644
--- a/jsowell-admin/src/main/resources/application-sit.yml
+++ b/jsowell-admin/src/main/resources/application-sit.yml
@@ -250,3 +250,20 @@ parking:
chargeAlgorithm:
url: http://150.158.199.92:58910/gateway/api/user/battery/algorithm/json
clientId: e488bac5f70b496fa2d82065089e5f81
+
+# dubbo配置
+dubbo:
+ application:
+ name: ydc-server
+ qosEnable: false
+ registry:
+ address: nacos://192.168.2.2:8848
+ parameters:
+ namespace: e328faaf-8516-42d0-817a-7406232b3581
+ username: nacos
+ password: 79HMu!6nlOiLm^Q[
+ protocol:
+ name: dubbo
+ port: 20880
+ consumer:
+ check: false # 关键配置:启动时不检查提供者
diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java
index 31c6214e3..50a3efeb9 100644
--- a/jsowell-admin/src/test/java/SpringBootTestController.java
+++ b/jsowell-admin/src/test/java/SpringBootTestController.java
@@ -41,6 +41,7 @@ import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
+import com.jsowell.common.service.JcppService;
import com.jsowell.common.util.*;
import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil;
import com.jsowell.common.util.http.HttpUtils;
@@ -94,6 +95,7 @@ import com.jsowell.wxpay.response.WechatPayRefundRequest;
import com.jsowell.wxpay.service.WxAppletRemoteService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
@@ -292,6 +294,15 @@ public class SpringBootTestController {
@Autowired
private QcyunsService qcyunsService;
+ @DubboReference
+ private JcppService jcppService;
+
+ @Test
+ public void testDubbo() {
+ String s = jcppService.sayHello("jsowell-charger-web");
+ System.out.println(s);
+ }
+
@Test
public void testCommonVerificationCode() {
String phoneNumber = "18612341234";
diff --git a/jsowell-pile/pom.xml b/jsowell-pile/pom.xml
index 201064808..c4ee39f54 100644
--- a/jsowell-pile/pom.xml
+++ b/jsowell-pile/pom.xml
@@ -156,6 +156,15 @@
+
+ org.apache.dubbo
+ dubbo
+
+
+
+ com.jsowell
+ charge-common-api
+
@@ -182,4 +191,4 @@
-
\ No newline at end of file
+
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/YKCPushCommandService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/YKCPushCommandService.java
index 55612e72a..37c113e10 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/YKCPushCommandService.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/YKCPushCommandService.java
@@ -13,6 +13,8 @@ public interface YKCPushCommandService {
*/
void pushStartChargingCommand(StartChargingCommand startChargingCommand);
+ void pushStopChargingCommandForJCPP(StartChargingCommand command);
+
/**
* 发送停止充电指令
* @param stopChargingCommand
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java
index 145686c25..06e2b0a36 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java
@@ -853,6 +853,7 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
}
BillingTemplateVO billingTemplateVO = pileBillingTemplateMapper.selectBillingTemplateByPileSn(pileSn);
if (billingTemplateVO != null) {
+ billingTemplateVO.setPileSn(pileSn);
redisCache.setCacheObject(redisKey, JSON.toJSONString(billingTemplateVO), CacheConstants.cache_expire_time_1d);
}
return billingTemplateVO;
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java
index 24aa11377..85d8be731 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java
@@ -8,6 +8,7 @@ import com.jsowell.common.enums.ykc.PileChannelEntity;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.protocol.SyncPromise;
+import com.jsowell.common.service.JcppService;
import com.jsowell.common.util.*;
import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil;
import com.jsowell.common.util.spring.SpringUtils;
@@ -22,6 +23,7 @@ import io.netty.channel.ChannelFutureListener;
import io.netty.channel.ChannelHandlerContext;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
@@ -31,7 +33,6 @@ import java.time.LocalTime;
import java.util.Date;
import java.util.List;
import java.util.Objects;
-import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
/**
@@ -56,6 +57,9 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
@Autowired
private PileConnectorInfoService pileConnectorInfoService;
+ @DubboReference
+ private JcppService jcppService;
+
// 引入线程池
private ThreadPoolTaskExecutor executor = SpringUtils.getBean("threadPoolTaskExecutor");
@@ -320,6 +324,18 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
transactionCode, pileSn, BytesUtil.bcd2Str(connectorCodeByteArr), logicCardNum, physicsCardNum, chargeAmount);
}
+ /**
+ * 连接到jcpp服务的启动充电方法
+ */
+ @Override
+ public void pushStopChargingCommandForJCPP(StartChargingCommand command) {
+ String pileCode = command.getPileSn();
+ String gunCode = command.getConnectorCode();
+ BigDecimal limitYuan = command.getChargeAmount();
+ String orderNo = command.getTransactionCode();
+ jcppService.startCharge(pileCode, gunCode, limitYuan, orderNo);
+ }
+
/**
* 发送停止充电
*
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/BillingTemplateVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/BillingTemplateVO.java
index 0c00d64e8..75b6ae1bd 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/BillingTemplateVO.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/BillingTemplateVO.java
@@ -19,6 +19,7 @@ import java.util.Map;
@AllArgsConstructor
@Builder
public class BillingTemplateVO {
+ private String pileSn;
// 站点id
private String stationId;
diff --git a/pom.xml b/pom.xml
index 034b5ccc7..0ba5adf88 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,14 +3,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
-
+
com.jsowell
jsowell-charger-web
1.0.0
jsowell
万车充运营管理平台
-
+
1.0.0
UTF-8
@@ -23,7 +23,8 @@
2.3.2
2.2.2
1.4.3
- 2.0.11
+
+ 2.0.23
6.2.2
2.11.0
1.4
@@ -42,8 +43,11 @@
2.2.3
3.1.87
1.8.0
+
+ 3.3.0
+ 2.0.3
-
+
@@ -336,6 +340,54 @@
${protostuff.version}
+
+ com.jsowell
+ charge-common-api
+ 1.0.0
+
+
+
+
+ org.apache.dubbo
+ dubbo-dependencies-bom
+ ${dubbo.version}
+ pom
+ import
+
+
+ org.apache.dubbo
+ dubbo-spring-boot-starter
+ ${dubbo.version}
+
+
+ org.apache.dubbo
+ dubbo-registry-nacos
+ ${dubbo.version}
+
+
+ org.apache.dubbo
+ dubbo
+ ${dubbo.version}
+
+
+ org.springframework
+ spring
+
+
+ javax.servlet
+ servlet-api
+
+
+ log4j
+ log4j
+
+
+
+
+ com.alibaba.nacos
+ nacos-client
+ ${nacos-client.version}
+
@@ -395,4 +447,4 @@
-
\ No newline at end of file
+