From 7085ba24d8decee4b13c86a55b93a3bcc4ea0d03 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期五, 23 八月 2024 09:27:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 26 + ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java | 22 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java | 6 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java | 8 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java | 13 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java | 23 + ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/IotConstant.java | 2 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java | 7 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/ServiceIdConstant.java | 37 ++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java | 31 ++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java | 124 ++++++++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java | 48 +++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java | 6 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java | 7 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java | 32 ++ ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/VipClient.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 73 ++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java | 3 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 6 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java | 7 ruoyi-modules/ruoyi-system/pom.xml | 15 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 9 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java | 25 + ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java | 22 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/WebSocketClient.java | 2 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java | 2 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java | 31 ++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java | 31 ++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java | 34 ++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java | 6 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java | 7 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java | 6 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java | 7 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/base/BaseService.java | 28 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java | 32 ++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java | 8 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TVip.java | 4 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java | 31 ++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java | 7 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java | 4 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java | 8 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java | 38 ++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 19 + ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java | 25 + 44 files changed, 836 insertions(+), 48 deletions(-) diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java index ba71ee4..df0454b 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java @@ -21,5 +21,7 @@ private BigDecimal electrovalence; @ApiModelProperty(value = "会员电价") private BigDecimal vipElectrovalence; + @ApiModelProperty(value = "距离 单位米") + private BigDecimal distance; } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java new file mode 100644 index 0000000..6a1db27 --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java @@ -0,0 +1,25 @@ +package com.ruoyi.order.api.vo; + +import com.ruoyi.common.core.web.page.PageInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "TOrderAppealVO对象", description = "充电桩订单VO") +public class TCharingOrderVO { + @ApiModelProperty(value = "分页列表") + private PageInfo<ChargingOrderVO> list; + @ApiModelProperty(value = "总充电量") + private BigDecimal total; + @ApiModelProperty(value = "充电时长") + private BigDecimal time; + @ApiModelProperty(value = "收入") + private BigDecimal income; + @ApiModelProperty(value = "电费") + private BigDecimal electronicMoney; + @ApiModelProperty(value = "服务费") + private BigDecimal serviceMoney; +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TVip.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TVip.java index 798028d..93d41af 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TVip.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TVip.java @@ -148,7 +148,9 @@ @TableField("type") private Integer type; - + @ApiModelProperty(value = "优惠券名称和张数 后台列表展示使用") + @TableField(exist = false) + private String couponName; } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/VipClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/VipClient.java index b2ca8d3..dc609fb 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/VipClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/VipClient.java @@ -14,7 +14,7 @@ * 会员服务 * @author ruoyi */ -@FeignClient(contextId = "VipClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = VipFallbackFactory.class) +@FeignClient(contextId = "VipClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = VipFallbackFactory.class) public interface VipClient { /** diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/WebSocketClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/WebSocketClient.java index c598185..4e62345 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/WebSocketClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/WebSocketClient.java @@ -11,7 +11,7 @@ * @author zhibing.pu * @Date 2024/8/21 17:41 */ -@FeignClient(contextId = "WebSocketClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = WebSocketFallbackFactory.class) +@FeignClient(contextId = "WebSocketClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = WebSocketFallbackFactory.class) public interface WebSocketClient { diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index 67ff0c1..756a512 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -39,6 +39,11 @@ <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> + + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-seata</artifactId> + </dependency> <!-- SpringBoot Actuator --> <dependency> @@ -108,20 +113,10 @@ <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-api-other</artifactId> - <version>3.6.2</version> - <scope>compile</scope> </dependency> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-api-chargingPile</artifactId> - <version>3.6.2</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>io.seata</groupId> - <artifactId>seata-all</artifactId> - <version>1.6.1</version> - <scope>compile</scope> </dependency> </dependencies> diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java index 5c6da4a..34a893d 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java @@ -125,6 +125,12 @@ public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query){ return AjaxResult.success(siteService.pageList(query)); } + + @ApiOperation(value = "获取站点列表", tags = {"小程序-站点管理-地图导航站点"}) + @PostMapping("/getMapSiteList") + public AjaxResult<List<SiteVO>> getMapSiteList(@Validated @RequestBody SiteQuery query){ + return AjaxResult.success(siteService.getMapSiteList(query)); + } @ApiOperation(value = "获取站点详细信息", tags = {"小程序-站点管理-站点详情"}) @PostMapping("/getDetailById") public AjaxResult<SiteDetailVO> getDetailById(@Validated @RequestBody SiteDetailQuery query){ diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java index 1603912..0b4fa13 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java @@ -53,4 +53,11 @@ * @return */ List<Site> getSiteListGun(@Param("ids")Set<Integer> ids); + + /** + * 获取站点列表不分页 + * @param query + * @return + */ + List<SiteVO> getMapSiteList(@Param("query")SiteQuery query); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java index 4145a21..e96f7e3 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java @@ -89,4 +89,10 @@ */ List<Site> getSiteListGun(); + /** + * 获取站点列表 + * @param query + * @return + */ + List<SiteVO> getMapSiteList(SiteQuery query); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java index 6efbe5e..af7f048 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java @@ -293,6 +293,25 @@ return this.baseMapper.getSiteListGun(ids); } + @Override + public List<SiteVO> getMapSiteList(SiteQuery query) { + // 获取当前登录用户id + Long userId = tokenService.getLoginUserApplet().getUserId(); + // 根据id查询用户信息 + TAppUser appUser = appUserClient.getUserById(userId).getData(); + List<SiteVO> list = this.baseMapper.getMapSiteList(query); + if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){ + // 查询会员信息 + TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); + if(Objects.nonNull(vip) && vip.getType() == 2){ + list.forEach(item -> { + item.setVipElectrovalence(vip.getDiscount().multiply(item.getElectrovalence())); + }); + } + } + return list; + } + /** * 设置站点计费策略 diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml index b230499..4eaa411 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml @@ -147,24 +147,24 @@ select a.accounting_strategy_id, (a.electrovalence+a.service_charge) AS electrovalence, - ((a.electrovalence+a.service_charge)*a.discount) AS vipElectrovalence + ((a.electrovalence+a.service_charge)*b.discount) AS vipElectrovalence from t_accounting_strategy_detail a left join t_accounting_strategy b on (a.accounting_strategy_id = b.id) where b.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} - AND DATE_FORMAT(NOW(), '%H:%i:%s') between b.start_time and b.end_time) tasd on (ts.accounting_strategy_id = tasd.accounting_strategy_id) + AND DATE_FORMAT(NOW(), '%H:%i:%s') between a.start_time and a.end_time) tasd on (ts.accounting_strategy_id = tasd.accounting_strategy_id) <where> <if test="null != query.name and '' != query.name"> and ts.`name` like CONCAT('%', #{query.name}, '%') </if> AND ts.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} - AND ts.status = ${@com.ruoyi.common.core.enums.SiteStatusEnum@NORMAL_USE.getCode()} + AND ts.status = ${@com.ruoyi.common.core.enums.status.SiteStatusEnum@NORMAL_USE.getCode()} </where> <if test="query.sortType != null"> <choose> <when test="query.sortType == 1"> - ORDER BY ts.distance ASC + ORDER BY distance ASC </when> <when test="query.sortType == 2"> ORDER BY tasd.electrovalence ASC @@ -207,4 +207,69 @@ AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </where> </select> + <select id="getMapSiteList" resultType="com.ruoyi.chargingPile.api.vo.SiteVO"> + select + ts.id, ts.partner_id, ts.code, ts.`name`, ts.site_type, ts.business_category, ts.status, ts.construction_site, ts.img_url, + ts.lon, ts.lat, ts.address, ts.country_code, ts.phone,ts.guide, ts.service_description, ts.vehicle_description, + ts.parking_space, ts.rate_description, ts.space_charge_explain, ts.accounting_strategy_id,ts.del_flag,tcg.fastCount, + tcg.slowCount,tcg.superCount,tasd.electrovalence,tasd.vipElectrovalence, + ROUND( + 6378.138 * 2 * ASIN( + SQRT( + POW( + SIN( + ( + #{query.lat} * PI() / 180 - ts.lat * PI() / 180 + ) / 2 + ), + 2 + ) + COS(#{query.lat} * PI() / 180) * COS(ts.lat * PI() / 180) * POW( + SIN( + ( + #{query.lon} * PI() / 180 - ts.lon * PI() / 180 + ) / 2 + ), + 2 + ) + ) + ) * 1000 + ) AS distance + from t_site ts + left join ( + select site_id, + SUM(CASE WHEN charge_mode = 1 THEN 1 ELSE 0 END) AS superCount, + SUM(CASE WHEN charge_mode = 2 THEN 1 ELSE 0 END) AS fastCount, + SUM(CASE WHEN charge_mode = 3 THEN 1 ELSE 0 END) AS slowCount + from + t_charging_gun + where + del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + group by + site_id) tcg on (ts.id = tcg.site_id) + left join ( + select + a.accounting_strategy_id, + (a.electrovalence+a.service_charge) AS electrovalence, + ((a.electrovalence+a.service_charge)*b.discount) AS vipElectrovalence + from + t_accounting_strategy_detail a + left join + t_accounting_strategy b on (a.accounting_strategy_id = b.id) + where b.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + AND DATE_FORMAT(NOW(), '%H:%i:%s') between a.start_time and a.end_time) tasd on (ts.accounting_strategy_id = tasd.accounting_strategy_id) + <where> + <if test="null != query.name and '' != query.name"> + and ts.`name` like CONCAT('%', #{query.name}, '%') + </if> + AND ts.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + AND ts.status = ${@com.ruoyi.common.core.enums.status.SiteStatusEnum@NORMAL_USE.getCode()} + </where> + <if test="query.sortType != null"> + <choose> + <when test="query.sortType == 1"> + ORDER BY distance ASC + </when> + </choose> + </if> + </select> </mapper> \ No newline at end of file diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java index 01a297d..27e04ad 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java @@ -12,11 +12,11 @@ public class IotDAConfig { /** - * ak配置 + * ak配置 SSD4HKIJPFO68W8QFSNG */ private String ak; /** - * sk配置 + * sk配置 8Obp0fPsyFQ3bQUIaO2kKrS3XVPMOlXZ1nqPgK2k */ private String sk; /** diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/IotConstant.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/IotConstant.java index b84b38b..a9b79fa 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/IotConstant.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/IotConstant.java @@ -1,6 +1,8 @@ package com.ruoyi.integration.iotda.constant; public class IotConstant { + public static final int SUCCESS = 1; + public static final int FAIL = 0; /** * 华为云iot token */ diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/ServiceIdConstant.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/ServiceIdConstant.java new file mode 100644 index 0000000..8043449 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/ServiceIdConstant.java @@ -0,0 +1,37 @@ +package com.ruoyi.integration.iotda.constant; + +public class ServiceIdConstant { + /** + * 登录认证应答 + */ + public static final String ONLINE_REPLY = "online_reply"; + /** + * 登录认证应答 + */ + public static final String PONG = "pong"; + /** + * 计费模型验证请求应答 + */ + public static final String BILLING_MODE_VERIFY_REPLY = "billing_mode_verify_reply"; + /** + * 计费模型请求应答 + */ + public static final String ACQUISITION_BILLING_MODE_REPLY = "acquisition_billing_mode_reply"; + /** + * 读取实时监测数据 + */ + public static final String READ_REAL_TIME_MONITORING_DATA = "read_real_time_monitoring_data"; + /** + * 充电结束 + */ + public static final String END_CHARGE = "end_charge"; + /** + * 运营平台确认启动充电 + */ + public static final String PLATFORM_CONFIRMATION_CHARGING = "platform_confirmation_charging"; + /** + * 运营平台远程控制启机 + */ + public static final String PLATFORM_START_CHARGING = "platform_start_charging"; + +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java index 9b0d3b1..22bb005 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java @@ -1,13 +1,32 @@ package com.ruoyi.integration.iotda.utils.listener; +import com.alibaba.fastjson.JSONObject; +import com.ruoyi.common.core.web.domain.AjaxResult; import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; /** * iotda消息监听 */ @Slf4j -@Component +@RestController public class IotMessageListener { - + + + /** + * 设备消息监听 + * @param jsonObject + * @return + * @throws IOException + */ + @PostMapping(value = "/message") + public AjaxResult<Integer> add(@RequestBody JSONObject jsonObject) throws IOException { + System.err.println(jsonObject); + return AjaxResult.success(); + } + } \ No newline at end of file diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java index 6e386cb..439572a 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java @@ -1,6 +1,17 @@ package com.ruoyi.integration.iotda.utils.produce; +import com.huaweicloud.sdk.core.exception.ConnectionException; +import com.huaweicloud.sdk.core.exception.RequestTimeoutException; +import com.huaweicloud.sdk.core.exception.ServiceResponseException; +import com.huaweicloud.sdk.iotda.v5.IoTDAClient; +import com.huaweicloud.sdk.iotda.v5.model.CreateMessageRequest; +import com.huaweicloud.sdk.iotda.v5.model.CreateMessageResponse; +import com.huaweicloud.sdk.iotda.v5.model.DeviceMessageRequest; +import com.ruoyi.common.core.utils.uuid.UUID; +import com.ruoyi.integration.iotda.builder.IotBuilder; +import com.ruoyi.integration.iotda.config.IotDAConfig; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** @@ -9,5 +20,40 @@ @Slf4j @Component public class IotMessageProduce { - + + @Autowired + private IotBuilder iotBuilder; + + /** + * 设备消息下发 + * @param deviceId 设备id + * @param name 消息名称 + * @param message 消息内容 + * @return + */ + public String sendMessage(String deviceId,String name,String message){ + CreateMessageRequest request = new CreateMessageRequest(); + request.withDeviceId(deviceId); + DeviceMessageRequest body = new DeviceMessageRequest(); + body.withMessageId(UUID.randomUUID().toString()); + body.withName(name); + body.withMessage(message); + request.withBody(body); + try { + CreateMessageResponse response = iotBuilder.buildIot().createMessage(request); + System.out.println(response.toString()); + } catch (ConnectionException e) { + e.printStackTrace(); + } catch (RequestTimeoutException e) { + e.printStackTrace(); + } catch (ServiceResponseException e) { + e.printStackTrace(); + System.out.println(e.getHttpStatusCode()); + System.out.println(e.getRequestId()); + System.out.println(e.getErrorCode()); + System.out.println(e.getErrorMsg()); + } + return null; + } + } \ No newline at end of file diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java new file mode 100644 index 0000000..7691758 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java @@ -0,0 +1,124 @@ +package com.ruoyi.integration.iotda.utils.tools; + + +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.integration.iotda.constant.ServiceIdConstant; +import com.ruoyi.integration.mongodb.model.*; +import com.ruoyi.integration.mongodb.service.*; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.beans.factory.annotation.Autowired; + +public class MessageUtil { + + @Autowired + private OnlineReplyService onlineReplyService; + @Autowired + private PongService pongService; + @Autowired + private BillingModeVerifyReplyService billingModeVerifyReplyService; + @Autowired + private AcquisitionBillingModeReplyService acquisitionBillingModeReplyService; + @Autowired + private ReadRealTimeMonitoringDataService readRealTimeMonitoringDataService; + @Autowired + private EndChargeService endChargeService; + @Autowired + private PlatformConfirmationChargingService platformConfirmationChargingService; + @Autowired + private PlatformStartChargingService platformStartChargingService; + + /** + * 登录认证应答 + * @param onlineReply 实体对象 + * @return + */ + public String onlineReply(OnlineReply onlineReply){ + onlineReplyService.create(onlineReply); + return getMessageJsonString(onlineReply, ServiceIdConstant.ONLINE_REPLY); + } + + /** + * 心跳包应答 + * @param pong 实体对象 + * @return + */ + public String pong(Pong pong){ + pongService.create(pong); + return getMessageJsonString(pong, ServiceIdConstant.PONG); + } + + /** + * 计费模型验证请求应答 + * @param billingModeVerifyReply 实体对象 + * @return + */ + public String billingModeVerifyReply(BillingModeVerifyReply billingModeVerifyReply){ + billingModeVerifyReplyService.create(billingModeVerifyReply); + return getMessageJsonString(billingModeVerifyReply, ServiceIdConstant.BILLING_MODE_VERIFY_REPLY); + } + + /** + * 计费模型验证请求应答 + * @param acquisitionBillingModeReply 实体对象 + * @return + */ + public String acquisitionBillingModeReply(AcquisitionBillingModeReply acquisitionBillingModeReply){ + acquisitionBillingModeReplyService.create(acquisitionBillingModeReply); + return getMessageJsonString(acquisitionBillingModeReply, ServiceIdConstant.ACQUISITION_BILLING_MODE_REPLY); + } + + /** + * 读取实时监测数据 + * @param readRealTimeMonitoringData 实体对象 + * @return + */ + public String readRealTimeMonitoringData(ReadRealTimeMonitoringData readRealTimeMonitoringData){ + readRealTimeMonitoringDataService.create(readRealTimeMonitoringData); + return getMessageJsonString(readRealTimeMonitoringData, ServiceIdConstant.READ_REAL_TIME_MONITORING_DATA); + } + + /** + * 充电结束 + * @param endCharge 实体对象 + * @return + */ + public String endCharge(EndCharge endCharge){ + endChargeService.create(endCharge); + return getMessageJsonString(endCharge, ServiceIdConstant.END_CHARGE); + } + + /** + * 运营平台确认启动充电 + * @param platformConfirmationCharging 实体对象 + * @return + */ + public String platformConfirmationCharging(PlatformConfirmationCharging platformConfirmationCharging){ + platformConfirmationChargingService.create(platformConfirmationCharging); + return getMessageJsonString(platformConfirmationCharging, ServiceIdConstant.PLATFORM_CONFIRMATION_CHARGING); + } + + /** + * 运营平台远程控制启机 + * @param platformStartCharging 实体对象 + * @return + */ + public String platformConfirmationCharging(PlatformStartCharging platformStartCharging){ + platformStartChargingService.create(platformStartCharging); + return getMessageJsonString(platformStartCharging, ServiceIdConstant.PLATFORM_START_CHARGING); + } + + + + /** + * 统一封装消息 + * @param object 实体对象 + * @param serviceId 服务ID + * @return + */ + private String getMessageJsonString(Object object, String serviceId){ + JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(object)); + jsonObject.put("service_id", serviceId); + return jsonObject.toJSONString(); + } + +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/base/BaseService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/base/BaseService.java new file mode 100644 index 0000000..8d4e064 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/base/BaseService.java @@ -0,0 +1,28 @@ +package com.ruoyi.integration.mongodb.base; + + +import java.util.List; + +public interface BaseService<T> { + + /** + * 添加 + * @param t 实体类 + * @return 添加结果 1=成功 0=失败 + */ + int create(T t); + + /** + * 根据id查询 + * @param id 实体id + * @return 实体对象 + */ + T findById(String id); + + /** + * 查询列表 + * @return 实体列表 + */ + List<T> findAll(); + +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java index 711d8d2..847e495 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java @@ -15,9 +15,10 @@ @Accessors(chain = true) public class UpdateBalance { - private String charging_pile_code; //桩编码 - private String physical_card_number; //物理卡号 - private BigDecimal account_balance; //修改结果(:0:修改成功,1:设备编号错误,2:卡号错误) + private String charging_pile_code;// 桩编码 + private String charging_gun_code;// 抢号 + private String physical_card_number;// 物理卡号 + private BigDecimal account_balance;// 修改后账户金额 } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java index c053589..1c82407 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java @@ -15,11 +15,9 @@ @Accessors(chain = true) public class UpdateBalanceReply { - private String charging_pile_code;// 桩编码 - private String charging_gun_code;// 抢号 - private String physical_card_number;// 物理卡号 - private BigDecimal account_balance;// 修改后账户金额 - + private String charging_pile_code; //桩编码 + private String physical_card_number; //物理卡号 + private BigDecimal account_balance; //修改结果(:0:修改成功,1:设备编号错误,2:卡号错误) } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java new file mode 100644 index 0000000..d16587c --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java @@ -0,0 +1,7 @@ +package com.ruoyi.integration.mongodb.service; + +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.AcquisitionBillingModeReply; + +public interface AcquisitionBillingModeReplyService extends BaseService<AcquisitionBillingModeReply> { +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java new file mode 100644 index 0000000..aefa979 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java @@ -0,0 +1,8 @@ +package com.ruoyi.integration.mongodb.service; + +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.BillingModeVerifyReply; +import org.springframework.stereotype.Service; + +public interface BillingModeVerifyReplyService extends BaseService<BillingModeVerifyReply> { +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java new file mode 100644 index 0000000..8626bf9 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java @@ -0,0 +1,8 @@ +package com.ruoyi.integration.mongodb.service; + +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.EndCharge; + +public interface EndChargeService extends BaseService<EndCharge> { + +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java index 2985efc..ecf59cb 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java @@ -1,8 +1,12 @@ package com.ruoyi.integration.mongodb.service; +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.OnlineReply; +import org.springframework.stereotype.Service; + /** * 登录认证应答接口 */ -public interface OnlineReplyService { +public interface OnlineReplyService extends BaseService<OnlineReply> { } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java index a6744bc..bd152a3 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java @@ -1,8 +1,12 @@ package com.ruoyi.integration.mongodb.service; +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.Online; +import org.springframework.stereotype.Service; + /** * 充电桩登录认证接口 */ -public interface OnlineService { +public interface OnlineService extends BaseService<Online> { } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java new file mode 100644 index 0000000..cf60b5a --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java @@ -0,0 +1,7 @@ +package com.ruoyi.integration.mongodb.service; + +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.PlatformConfirmationCharging; + +public interface PlatformConfirmationChargingService extends BaseService<PlatformConfirmationCharging> { +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java new file mode 100644 index 0000000..4c45229 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java @@ -0,0 +1,7 @@ +package com.ruoyi.integration.mongodb.service; + +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.PlatformStartCharging; + +public interface PlatformStartChargingService extends BaseService<PlatformStartCharging> { +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java new file mode 100644 index 0000000..459d53b --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java @@ -0,0 +1,13 @@ +package com.ruoyi.integration.mongodb.service; + +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.Online; +import com.ruoyi.integration.mongodb.model.Pong; +import org.springframework.stereotype.Service; + +/** + * 心跳包应答接口 + */ +public interface PongService extends BaseService<Pong> { + +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java new file mode 100644 index 0000000..f77a87c --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java @@ -0,0 +1,7 @@ +package com.ruoyi.integration.mongodb.service; + +import com.ruoyi.integration.mongodb.base.BaseService; +import com.ruoyi.integration.mongodb.model.ReadRealTimeMonitoringData; + +public interface ReadRealTimeMonitoringDataService extends BaseService<ReadRealTimeMonitoringData> { +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java new file mode 100644 index 0000000..bb0bbb5 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java @@ -0,0 +1,32 @@ +package com.ruoyi.integration.mongodb.service.impl; + +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.AcquisitionBillingModeReply; +import com.ruoyi.integration.mongodb.service.AcquisitionBillingModeReplyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; +@Service +public class AcquisitionBillingModeReplyServiceImpl implements AcquisitionBillingModeReplyService { + + @Autowired + private MongoTemplate mongoTemplate; + + @Override + public int create(AcquisitionBillingModeReply acquisitionBillingModeReply) { + mongoTemplate.save(acquisitionBillingModeReply); + return IotConstant.SUCCESS; + } + + @Override + public AcquisitionBillingModeReply findById(String id) { + return mongoTemplate.findById(id, AcquisitionBillingModeReply.class); + } + + @Override + public List<AcquisitionBillingModeReply> findAll() { + return mongoTemplate.findAll(AcquisitionBillingModeReply.class); + } +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java new file mode 100644 index 0000000..324a208 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java @@ -0,0 +1,31 @@ +package com.ruoyi.integration.mongodb.service.impl; + +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.BillingModeVerifyReply; +import com.ruoyi.integration.mongodb.service.BillingModeVerifyReplyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; +@Service +public class BillingModeVerifyReplyServiceImpl implements BillingModeVerifyReplyService { + @Autowired + private MongoTemplate mongoTemplate; + + @Override + public int create(BillingModeVerifyReply billingModeVerifyReply) { + mongoTemplate.save(billingModeVerifyReply); + return IotConstant.SUCCESS; + } + + @Override + public BillingModeVerifyReply findById(String id) { + return mongoTemplate.findById(id, BillingModeVerifyReply.class); + } + + @Override + public List<BillingModeVerifyReply> findAll() { + return mongoTemplate.findAll(BillingModeVerifyReply.class); + } +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java new file mode 100644 index 0000000..d9476dd --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java @@ -0,0 +1,34 @@ +package com.ruoyi.integration.mongodb.service.impl; + +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.EndCharge; +import com.ruoyi.integration.mongodb.model.Pong; +import com.ruoyi.integration.mongodb.service.EndChargeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service +public class EndChargeServiceImpl implements EndChargeService { + @Autowired + private MongoTemplate mongoTemplate; + + @Override + public int create(EndCharge endCharge) { + mongoTemplate.save(endCharge); + return IotConstant.SUCCESS; + } + + @Override + public EndCharge findById(String id) { + return mongoTemplate.findById(id, EndCharge.class); + } + + @Override + public List<EndCharge> findAll() { + return mongoTemplate.findAll(EndCharge.class); + } +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java index e4991cc..5652d9d 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java @@ -1,7 +1,13 @@ package com.ruoyi.integration.mongodb.service.impl; +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.OnlineReply; import com.ruoyi.integration.mongodb.service.OnlineReplyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; + +import java.util.List; /** @@ -10,5 +16,21 @@ @Service public class OnlineReplyServiceImpl implements OnlineReplyService { + @Autowired + private MongoTemplate mongoTemplate; + @Override + public int create(OnlineReply onlineReply) { + mongoTemplate.save(onlineReply); + return IotConstant.SUCCESS; + } + @Override + public OnlineReply findById(String id) { + return null; + } + + @Override + public List<OnlineReply> findAll() { + return null; + } } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java index c117a9a..78e3759 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java @@ -1,7 +1,13 @@ package com.ruoyi.integration.mongodb.service.impl; +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.Online; import com.ruoyi.integration.mongodb.service.OnlineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; + +import java.util.List; /** @@ -9,6 +15,22 @@ **/ @Service public class OnlineServiceImpl implements OnlineService { + @Autowired + private MongoTemplate mongoTemplate; + @Override + public int create(Online online) { + mongoTemplate.save(online); + return IotConstant.SUCCESS; + } + @Override + public Online findById(String id) { + return mongoTemplate.findById(id, Online.class); + } + + @Override + public List<Online> findAll() { + return mongoTemplate.findAll(Online.class); + } } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java new file mode 100644 index 0000000..55bf672 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java @@ -0,0 +1,31 @@ +package com.ruoyi.integration.mongodb.service.impl; + +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.PlatformConfirmationCharging; +import com.ruoyi.integration.mongodb.service.PlatformConfirmationChargingService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class PlatformConfirmationChargingServiceImpl implements PlatformConfirmationChargingService { + @Autowired + private MongoTemplate mongoTemplate; + @Override + public int create(PlatformConfirmationCharging platformConfirmationCharging) { + mongoTemplate.save(platformConfirmationCharging); + return IotConstant.SUCCESS; + } + + @Override + public PlatformConfirmationCharging findById(String id) { + return mongoTemplate.findById(id, PlatformConfirmationCharging.class); + } + + @Override + public List<PlatformConfirmationCharging> findAll() { + return mongoTemplate.findAll(PlatformConfirmationCharging.class); + } +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java new file mode 100644 index 0000000..c8f4cd9 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java @@ -0,0 +1,31 @@ +package com.ruoyi.integration.mongodb.service.impl; + +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.PlatformStartCharging; +import com.ruoyi.integration.mongodb.service.PlatformStartChargingService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class PlatformStartChargingServiceImpl implements PlatformStartChargingService { + @Autowired + private MongoTemplate mongoTemplate; + @Override + public int create(PlatformStartCharging platformStartCharging) { + mongoTemplate.save(platformStartCharging); + return IotConstant.SUCCESS; + } + + @Override + public PlatformStartCharging findById(String id) { + return mongoTemplate.findById(id, PlatformStartCharging.class); + } + + @Override + public List<PlatformStartCharging> findAll() { + return mongoTemplate.findAll(PlatformStartCharging.class); + } +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java new file mode 100644 index 0000000..eaa822a --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java @@ -0,0 +1,38 @@ +package com.ruoyi.integration.mongodb.service.impl; + +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.Online; +import com.ruoyi.integration.mongodb.model.Pong; +import com.ruoyi.integration.mongodb.service.OnlineService; +import com.ruoyi.integration.mongodb.service.PongService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * 心跳包应答实现类 + **/ +@Service +public class PongServiceImpl implements PongService { + @Autowired + private MongoTemplate mongoTemplate; + + @Override + public int create(Pong pong) { + mongoTemplate.save(pong); + return IotConstant.SUCCESS; + } + + @Override + public Pong findById(String id) { + return mongoTemplate.findById(id, Pong.class); + } + + @Override + public List<Pong> findAll() { + return mongoTemplate.findAll(Pong.class); + } +} diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java new file mode 100644 index 0000000..22e170f --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java @@ -0,0 +1,31 @@ +package com.ruoyi.integration.mongodb.service.impl; + +import com.ruoyi.integration.iotda.constant.IotConstant; +import com.ruoyi.integration.mongodb.model.ReadRealTimeMonitoringData; +import com.ruoyi.integration.mongodb.service.ReadRealTimeMonitoringDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ReadRealTimeMonitoringDataServiceImpl implements ReadRealTimeMonitoringDataService { + @Autowired + private MongoTemplate mongoTemplate; + @Override + public int create(ReadRealTimeMonitoringData readRealTimeMonitoringData) { + mongoTemplate.save(readRealTimeMonitoringData); + return IotConstant.SUCCESS; + } + + @Override + public ReadRealTimeMonitoringData findById(String id) { + return mongoTemplate.findById(id, ReadRealTimeMonitoringData.class); + } + + @Override + public List<ReadRealTimeMonitoringData> findAll() { + return mongoTemplate.findAll(ReadRealTimeMonitoringData.class); + } +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java index 1b3e8bd..6f39524 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java @@ -14,6 +14,7 @@ import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.query.TChargingCountQuery; import com.ruoyi.order.api.vo.ChargingOrderVO; +import com.ruoyi.order.api.vo.TCharingOrderVO; import com.ruoyi.order.dto.GetMyChargingOrderList; import com.ruoyi.order.dto.GetNoInvoicedOrder; import com.ruoyi.order.dto.MyChargingOrderInfo; @@ -57,8 +58,6 @@ private TokenService tokenService; @Autowired private TOrderEvaluateService orderEvaluateService; - @Autowired - private TOrderEvaluateTagService orderEvaluateTagService; @Resource private WxPaymentClient wxPaymentClient; @@ -72,8 +71,8 @@ @ResponseBody @PostMapping(value = "/chargingOrder") @ApiOperation(value = "充电桩订单列表", tags = {"管理后台-订单管理"}) - public AjaxResult<PageInfo<ChargingOrderVO>> chargingOrder(@RequestBody ChargingOrderQuery dto){ - PageInfo<ChargingOrderVO> res = chargingOrderService.chargingOrder(dto); + public AjaxResult<TCharingOrderVO> chargingOrder(@RequestBody ChargingOrderQuery dto){ + TCharingOrderVO res = chargingOrderService.chargingOrder(dto); return AjaxResult.success(res); } @@ -178,7 +177,7 @@ @ResponseBody @PostMapping(value = "/paymentChargingOrder") @ApiOperation(value = "支付充电充值费用", tags = {"小程序-扫一扫"}) - public AjaxResult paymentChargingOrder(AddChargingOrder addChargingOrder){ + public AjaxResult paymentChargingOrder(@RequestBody AddChargingOrder addChargingOrder){ return chargingOrderService.paymentChargingOrder(addChargingOrder); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java index 8d8ec02..8a2c528 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java @@ -50,16 +50,16 @@ /** * 查询订单申诉详情 */ - @ApiOperation(tags = {"小程序-订单申诉"},value = "查询订单申诉详情") @GetMapping(value = "/getDetailById") - public AjaxResult<TOrderAppealVO> getDetailById(@RequestParam("id") Integer id) { + @ApiOperation(tags = {"小程序-订单申诉"},value = "查询订单申诉详情") + public AjaxResult<TOrderAppealVO> getDetailById(Integer id) { return AjaxResult.ok(orderAppealService.getDetailById(id)); } @ResponseBody - @GetMapping(value = "/addOrderAppeal") + @PostMapping(value = "/addOrderAppeal") @ApiOperation(value = "申诉订单", tags = {"小程序-充电记录(个人中心)"}) public AjaxResult addOrderAppeal(@RequestBody TOrderAppeal orderAppeal){ Long appUserId = tokenService.getLoginUserApplet().getUserId(); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java index 06c75b4..1fbe0e4 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java @@ -7,6 +7,7 @@ import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.vo.ChargingOrderVO; +import com.ruoyi.order.api.vo.TCharingOrderVO; import com.ruoyi.order.dto.*; import org.springframework.web.bind.annotation.RequestBody; @@ -82,5 +83,5 @@ */ AjaxResult stopCharging(String id); - PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto); + TCharingOrderVO chargingOrder(ChargingOrderQuery dto); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index f203995..425fe9e 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -1,5 +1,7 @@ package com.ruoyi.order.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.feignClient.AppUserCarClient; @@ -25,15 +27,18 @@ import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; import com.ruoyi.order.api.query.ChargingOrderQuery; import com.ruoyi.order.api.vo.ChargingOrderVO; +import com.ruoyi.order.api.vo.TCharingOrderVO; import com.ruoyi.order.dto.*; import com.ruoyi.order.mapper.TChargingOrderMapper; import com.ruoyi.order.service.TChargingOrderAccountingStrategyService; import com.ruoyi.order.service.TChargingOrderService; +import com.ruoyi.other.api.domain.TCoupon; import com.ruoyi.other.api.domain.TVip; import com.ruoyi.payment.api.feignClient.WxPaymentClient; import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody; import com.ruoyi.payment.api.vo.PaymentOrder; import io.seata.spring.annotation.GlobalTransactional; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -64,6 +69,8 @@ @Resource private AppUserCarClient appUserCarClient; + @Resource + private AppUserClient appUserClient; @Resource private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService; @@ -77,9 +84,7 @@ @Resource private ChargingPileClient chargingPileClient; - @Resource - private AppUserClient appUserClient; - + @Resource private AppUserVipDetailClient appUserVipDetailClient; @@ -392,8 +397,10 @@ return AjaxResult.success(); } + @Override - public PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto) { + public TCharingOrderVO chargingOrder(ChargingOrderQuery dto) { + TCharingOrderVO tCharingOrderVO = new TCharingOrderVO(); String startTime1 = null; String startTime2 = null; String endTime1 = null; @@ -409,9 +416,18 @@ endTime1 = split[0]; endTime2 = split[1]; } + if (StringUtils.hasLength(dto.getPhone())){ + List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData(); + if (data.isEmpty()){ + data.add(0L); + } + dto.setUserIds(data); + } PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2); + pageInfo.setRecords(list); - return pageInfo; + tCharingOrderVO.setList(pageInfo); + return tCharingOrderVO; } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java index 5027933..dda7683 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java @@ -2,6 +2,7 @@ import java.time.LocalDateTime; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; @@ -45,7 +46,36 @@ @PostMapping("/saveSet") @ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分设置") public R saveSet(@RequestBody TIntegralRule dto) { - integralRuleService.updateById(dto); +// JSONObject jsonObject = JSONObject.parseObject(dto); +// String chargeCredit = jsonObject.getString("chargeCredit"); +// String credit = jsonObject.getString("credit"); +// String inviteUsersToEarnPoints = jsonObject.getString("inviteUsersToEarnPoints"); +// String addVehiclesEarnsPoints = jsonObject.getString("addVehiclesEarnsPoints"); +// String signInForPoints = jsonObject.getString("signInForPoints"); +// TIntegralRule tIntegralRule = new TIntegralRule(); +// tIntegralRule.setAddVehiclesEarnsPoints(signInForPoints); +// tIntegralRule.setChargeCredit(chargeCredit); +// tIntegralRule.setCredit(credit); +// tIntegralRule.setSignInForPoints(addVehiclesEarnsPoints); +// tIntegralRule.setInviteUsersToEarnPoints(inviteUsersToEarnPoints); +// TIntegralRule one = integralRuleService.getOne(null); +// if (one!=null){ +// one.setAddVehiclesEarnsPoints(signInForPoints); +// one.setChargeCredit(chargeCredit); +// one.setCredit(credit); +// one.setSignInForPoints(addVehiclesEarnsPoints); +// one.setInviteUsersToEarnPoints(inviteUsersToEarnPoints); +// integralRuleService.updateById(one); +// }else{ +// integralRuleService.save(tIntegralRule); +// } + TIntegralRule one = integralRuleService.getOne(null); + if (one!=null){ + dto.setId(one.getId()); + integralRuleService.saveOrUpdate(dto); + }else{ + integralRuleService.saveOrUpdate(dto); + } return R.ok(); } @GetMapping("/getInfo") diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java index 0b9319a..f0d8245 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java @@ -1,10 +1,15 @@ package com.ruoyi.other.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.other.api.domain.TCoupon; import com.ruoyi.other.api.domain.TVip; +import com.ruoyi.other.mapper.TCouponMapper; import com.ruoyi.other.mapper.TVipMapper; import com.ruoyi.other.service.TVipService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -20,10 +25,28 @@ @Service public class TVipServiceImpl extends ServiceImpl<TVipMapper, TVip> implements TVipService { + @Autowired + private TCouponMapper tCouponMapper; @Override public PageInfo<TVip> pageList(Integer pageCurr,Integer pageSize) { PageInfo<TVip> pageInfo = new PageInfo<>(pageCurr,pageSize); List<TVip> list = this.baseMapper.pageList(pageInfo); + + for (TVip tVip : list) { + String coupon = tVip.getCoupon(); + JSONArray jsonArray = JSONObject.parseArray(coupon); + StringBuilder stringBuilder = new StringBuilder(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + Integer id = jsonObject.getInteger("id"); + Integer number = jsonObject.getInteger("number"); + TCoupon tCoupon = tCouponMapper.selectById(id); + if (tCoupon!=null){ + stringBuilder.append(tCoupon.getName()).append("*").append(number).append(";"); + } + } + tVip.setCouponName(stringBuilder.toString()); + } pageInfo.setRecords(list); return pageInfo; } -- Gitblit v1.7.1