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 +