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