From e1199724d209c29a7b640bc96d2ffa32acf381dc Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 20 八月 2024 09:10:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java                        |    5 
 ruoyi-service/ruoyi-account/pom.xml                                                                                       |   14 -
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java                                |    2 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java                                  |    6 
 ruoyi-service/ruoyi-chargingPile/pom.xml                                                                                  |    8 -
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java                             |    6 
 pom.xml                                                                                                                   |   42 +++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java                      |    9 -
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java                          |    4 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                            |   17 --
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java                         |    5 
 ruoyi-modules/ruoyi-system/pom.xml                                                                                        |    1 
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java                                                      |  142 ++++++++++++++---
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java                                    |   25 +++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java                                        |   40 +++++
 ruoyi-auth/pom.xml                                                                                                        |    6 
 ruoyi-api/ruoyi-api-other/pom.xml                                                                                         |    7 
 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml                                        |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileNotificationController.java |    3 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/UnitListQueryDto.java                                     |    9 +
 ruoyi-service/ruoyi-order/pom.xml                                                                                         |    8 -
 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java                                                   |   13 -
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java                                  |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java                       |   12 
 ruoyi-service/ruoyi-other/pom.xml                                                                                         |    6 
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java                      |    2 
 ruoyi-gateway/pom.xml                                                                                                     |   24 +-
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/TagListQueryDto.java                                      |    9 +
 28 files changed, 282 insertions(+), 147 deletions(-)

diff --git a/pom.xml b/pom.xml
index 9fd5f56..dba8ee3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -204,6 +204,48 @@
                 <artifactId>ruoyi-api-system</artifactId>
                 <version>${ruoyi.version}</version>
             </dependency>
+            
+            <!-- 账户接口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-api-account</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+    
+            <!-- 充电桩接口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-api-chargingPile</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+    
+            <!-- 充电桩硬件交互接口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-api-integration</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+    
+            <!-- 订单接口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-api-order</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+    
+            <!-- 系统其他接口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-api-other</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+    
+            <!-- 支付接口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-api-payment</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
 
         </dependencies>
     </dependencyManagement>
diff --git a/ruoyi-api/ruoyi-api-other/pom.xml b/ruoyi-api/ruoyi-api-other/pom.xml
index 6327080..0e43900 100644
--- a/ruoyi-api/ruoyi-api-other/pom.xml
+++ b/ruoyi-api/ruoyi-api-other/pom.xml
@@ -28,13 +28,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>com.ruoyi</groupId>
-            <artifactId>ruoyi-api-account</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
-        </dependency>
-
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/TagListQueryDto.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/TagListQueryDto.java
new file mode 100644
index 0000000..f82718f
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/TagListQueryDto.java
@@ -0,0 +1,9 @@
+package com.ruoyi.other.api.dto;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import lombok.Data;
+
+@Data
+public class TagListQueryDto extends BasePage {
+    private  String tagName;
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/UnitListQueryDto.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/UnitListQueryDto.java
new file mode 100644
index 0000000..effd666
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/UnitListQueryDto.java
@@ -0,0 +1,9 @@
+package com.ruoyi.other.api.dto;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import lombok.Data;
+
+@Data
+public class UnitListQueryDto extends BasePage {
+    private  String companyName;
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java
index a1f7ab5..dc46061 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java
@@ -1,22 +1,13 @@
 package com.ruoyi.other.api.factory;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.account.api.dto.TagListQueryDto;
-import com.ruoyi.account.api.dto.UnitListQueryDto;
-import com.ruoyi.account.api.vo.CouponListVOVO;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.other.api.domain.TCompany;
 import com.ruoyi.other.api.domain.TIntegralRule;
-import com.ruoyi.other.api.domain.TUserTag;
 import com.ruoyi.other.api.feignClient.IntegralRuleClient;
-import com.ruoyi.other.api.feignClient.OtherClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-import java.util.Map;
 
 /**
  * 商品服务降级处理
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java
index 0070fdc..044ac01 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java
@@ -1,14 +1,14 @@
 package com.ruoyi.other.api.factory;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.account.api.dto.TagListQueryDto;
-import com.ruoyi.account.api.dto.UnitListQueryDto;
-import com.ruoyi.account.api.vo.CouponListVOVO;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.other.api.domain.TCompany;
 import com.ruoyi.other.api.domain.TCoupon;
 import com.ruoyi.other.api.domain.TUserTag;
+import com.ruoyi.other.api.dto.TagListQueryDto;
+import com.ruoyi.other.api.dto.UnitListQueryDto;
 import com.ruoyi.other.api.feignClient.OtherClient;
+import com.ruoyi.other.api.vo.CouponListVOVO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java
index 1550b79..100f547 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java
@@ -1,15 +1,15 @@
 package com.ruoyi.other.api.feignClient;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.account.api.dto.TagListQueryDto;
-import com.ruoyi.account.api.dto.UnitListQueryDto;
-import com.ruoyi.account.api.vo.CouponListVOVO;
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.other.api.domain.TCompany;
 import com.ruoyi.other.api.domain.TCoupon;
 import com.ruoyi.other.api.domain.TUserTag;
+import com.ruoyi.other.api.dto.TagListQueryDto;
+import com.ruoyi.other.api.dto.UnitListQueryDto;
 import com.ruoyi.other.api.factory.OtherFallbackFactory;
+import com.ruoyi.other.api.vo.CouponListVOVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java
new file mode 100644
index 0000000..d6cc19a
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java
@@ -0,0 +1,40 @@
+package com.ruoyi.other.api.vo;
+
+import com.ruoyi.common.core.web.domain.BasePojo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("管理后台 优惠券兑换记录列表返回VO")
+public class CouponListVOVO extends BasePojo {
+    @ApiModelProperty(value = "优惠券名称")
+    private String couponName;
+    @ApiModelProperty(value = "优惠方式 1满减 2折扣")
+    private Integer preferentialMode;
+    @ApiModelProperty(value = "满减--优惠金额")
+    private BigDecimal discountAmount;
+    @ApiModelProperty(value = "满减--使用门槛 满减条件")
+    private BigDecimal meetTheConditions;
+    @ApiModelProperty(value = "折扣--折扣")
+    private BigDecimal discount;
+    @ApiModelProperty(value = "折扣--最高折扣金额")
+    private BigDecimal maximumDiscountAmount;
+    @ApiModelProperty(value = "优惠券数量")
+    private Integer couponCount;
+    @ApiModelProperty(value = "有效期")
+    private String validityTime;
+    @ApiModelProperty(value = "结束时间 前端忽略")
+    private LocalDateTime endTime;
+    @ApiModelProperty(value = "是否可用")
+    private Integer isUse;
+    @ApiModelProperty(value = "优惠券id")
+    private Long couponId;
+    @ApiModelProperty(value = "使用了优惠券后的服务费 用于判断哪一张优惠券优惠力度最大 前端忽略")
+    private BigDecimal money;
+    @ApiModelProperty(value = "当前用户是否为会员0否1是 前端忽略")
+    private Integer isVip;
+}
diff --git a/ruoyi-auth/pom.xml b/ruoyi-auth/pom.xml
index ee4cf04..df1fa2a 100644
--- a/ruoyi-auth/pom.xml
+++ b/ruoyi-auth/pom.xml
@@ -85,12 +85,6 @@
             <version>${hutool.version}</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.ruoyi</groupId>
-            <artifactId>ruoyi-api-account</artifactId>
-            <version>3.6.2</version>
-        </dependency>
-
     </dependencies>
 	
     <build>
diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
index 9c6b8fd..91f7ab4 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -3,23 +3,11 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.account.api.feignClient.AppUserClient;
-import com.ruoyi.account.api.model.TAppUser;
-import com.ruoyi.common.core.constant.Constants;
-import com.ruoyi.common.core.constant.MsgConstants;
-import com.ruoyi.common.core.utils.HttpUtils;
-import com.ruoyi.common.core.utils.MsgUtil;
-import com.ruoyi.common.core.web.domain.AjaxResult;
-import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.system.api.domain.SysRole;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
-import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import com.ruoyi.auth.form.LoginBody;
 import com.ruoyi.auth.form.RegisterBody;
@@ -33,7 +21,6 @@
 import com.ruoyi.system.api.model.LoginUser;
 
 import java.util.*;
-import java.util.concurrent.TimeUnit;
 
 /**
  * token 控制
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java
index 8f56ebf..be3a1e7 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java
@@ -36,6 +36,11 @@
      * 用户标识
      */
     public static final String USER_KEY = "user_key";
+    
+    /**
+     * 用户类型(system/applet)
+     */
+    public static final String USER_TYPE = "user_type";
     /**
      * 小程序登录用户标识
      */
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java
index b5f5b92..c70bcd2 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java
@@ -62,6 +62,31 @@
     {
         return getValue(claims, SecurityConstants.USER_KEY);
     }
+    
+    /**
+     * 根据令牌获取用户类型
+     *
+     * @param token 令牌
+     * @return 用户类型
+     */
+    public static String getUserType(String token)
+    {
+        Claims claims = parseToken(token);
+        return getValue(claims, SecurityConstants.USER_TYPE);
+    }
+    
+    /**
+     * 根据令牌获取用户类型
+     *
+     * @param claims 身份信息
+     * @return 用户类型
+     */
+    public static String getUserType(Claims claims)
+    {
+        return getValue(claims, SecurityConstants.USER_TYPE);
+    }
+    
+    
 
     /**
      * 小程序根据令牌获取用户标识
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
index 2735380..2cdbed5 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -60,6 +60,7 @@
         Map<String, Object> claimsMap = new HashMap<String, Object>();
         claimsMap.put(SecurityConstants.USER_KEY, token);
         claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
+        claimsMap.put(SecurityConstants.USER_TYPE, "system");
         claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
 
         // 接口返回信息
@@ -82,6 +83,7 @@
         Map<String, Object> claimsMap = new HashMap<String, Object>();
         claimsMap.put(SecurityConstants.USER_APPLET_KEY, token);
         claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
+        claimsMap.put(SecurityConstants.USER_TYPE, "applet");
         claimsMap.put(SecurityConstants.DETAILS_USERNAME, name);
         // 接口返回信息
         Map<String, Object> rspMap = new HashMap<String, Object>();
diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml
index 055df92..35f7df5 100644
--- a/ruoyi-gateway/pom.xml
+++ b/ruoyi-gateway/pom.xml
@@ -114,18 +114,18 @@
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
         </dependency>
-
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.boot</groupId>-->
-<!--            <artifactId>spring-boot-starter-websocket</artifactId>-->
-<!--            <optional>true</optional>-->
-<!--        </dependency>-->
-        <!--hutool-all-->
-<!--        <dependency>-->
-<!--            <groupId>cn.hutool</groupId>-->
-<!--            <artifactId>hutool-all</artifactId>-->
-<!--            <version>5.0.3</version>-->
-<!--        </dependency>-->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-api-account</artifactId>
+            <version>3.6.2</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-api-system</artifactId>
+            <version>3.6.2</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
 
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
index 1b0eb25..c6653e5 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -1,18 +1,18 @@
 package com.ruoyi.gateway.filter;
 
-import com.alibaba.fastjson.JSONObject;
-import org.apache.commons.codec.binary.Base64;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cloud.gateway.filter.GatewayFilterChain;
 import org.springframework.cloud.gateway.filter.GlobalFilter;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.Ordered;
-import org.springframework.core.io.buffer.DataBuffer;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.server.reactive.ServerHttpRequest;
-import org.springframework.http.server.reactive.ServerHttpRequestDecorator;
 import org.springframework.stereotype.Component;
 import org.springframework.web.server.ServerWebExchange;
 import com.ruoyi.common.core.constant.CacheConstants;
@@ -25,14 +25,12 @@
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties;
 import io.jsonwebtoken.Claims;
-import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicReference;
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
 
 /**
  * 网关鉴权
@@ -50,6 +48,15 @@
 	@Autowired
 	private RedisService redisService;
 	
+	@Lazy
+	@Resource
+	private AppUserClient appUserClient;
+	
+	@Lazy
+	@Resource
+	private SysUserClient sysUserClient;
+	
+	
 	
 	@Override
 	public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
@@ -61,24 +68,26 @@
 		if (StringUtils.matches(url, ignoreWhite.getWhites())) {
 			return chain.filter(exchange);
 		}
+		//防抖校验
+		try {
+			antiShake(request);
+		}catch (Exception e){
+			log.error("[重复提交]请求路径:{}", exchange.getRequest().getPath());
+			return ServletUtils.webFluxResponseWriter(exchange.getResponse(), e.getMessage(), HttpStatus.SUCCESS);
+		}
+		
+		//校验账户是否有效
+		try {
+			verifyToken(request);
+			verifyAccount(request);
+		}catch (Exception e){
+			return unauthorizedResponse(exchange, e.getMessage());
+		}
 		String token = getToken(request);
-		if (StringUtils.isEmpty(token)) {
-			return unauthorizedResponse(exchange, "令牌不能为空");
-		}
 		Claims claims = JwtUtils.parseToken(token);
-		if (claims == null) {
-			return unauthorizedResponse(exchange, "令牌已过期或验证不正确!");
-		}
 		String userkey = JwtUtils.getUserKey(claims);
-		boolean islogin = redisService.hasKey(getTokenKey(userkey));
-		if (!islogin) {
-			return unauthorizedResponse(exchange, "登录状态已过期");
-		}
 		String userid = JwtUtils.getUserId(claims);
 		String username = JwtUtils.getUserName(claims);
-		if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) {
-			return unauthorizedResponse(exchange, "令牌验证失败");
-		}
 		
 		// 设置用户信息到请求
 		addHeader(mutate, SecurityConstants.USER_KEY, userkey);
@@ -130,9 +139,94 @@
 	/**
 	 * 防抖处理
 	 */
+	public void antiShake(ServerHttpRequest request) throws Exception{
+		HttpHeaders headers = request.getHeaders();
+		String client = headers.getFirst("client");
+		String timestamp = headers.getFirst("timestamp");
+		String url = request.getURI().getPath();
+		Map<String, Object> cacheMap = redisService.getCacheMap(client);
+		if(null == cacheMap){
+			cacheMap = new HashMap<>();
+			cacheMap.put(url, timestamp);
+			redisService.setCacheMap(client, cacheMap);
+		}else{
+			Object o = cacheMap.get(url);
+			if(null == o){
+				cacheMap.put(url, timestamp);
+			}else{
+				Long old_timestamp = Long.valueOf(o.toString());
+				Long new_timestamp = Long.valueOf(timestamp);
+				//两个请求时间差小于1秒,判定为重复提交
+				if((new_timestamp - old_timestamp) <= 1000){
+					throw new RuntimeException("重复提交");
+				}else{
+					cacheMap.put(url, timestamp);
+				}
+			}
+			redisService.setCacheMap(client, cacheMap);
+		}
+	}
 	
 	
 	
+	/**
+	 * 验证token
+	 * @param request
+	 * @throws Exception
+	 */
+	public void verifyToken(ServerHttpRequest request) throws Exception{
+		String token = getToken(request);
+		if (StringUtils.isEmpty(token)) {
+			throw new RuntimeException("令牌不能为空");
+		}
+		Claims claims = JwtUtils.parseToken(token);
+		if (claims == null) {
+			throw new RuntimeException("令牌已过期或验证不正确!");
+		}
+		String userkey = JwtUtils.getUserKey(claims);
+		boolean islogin = redisService.hasKey(getTokenKey(userkey));
+		if (!islogin) {
+			throw new RuntimeException("登录状态已过期");
+		}
+		String userid = JwtUtils.getUserId(claims);
+		String username = JwtUtils.getUserName(claims);
+		if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) {
+			throw new RuntimeException("令牌验证失败");
+		}
+	}
+	
+	/**
+	 * 校验账户是否有效
+	 * @param request
+	 * @throws Exception
+	 */
+	public void verifyAccount(ServerHttpRequest request) throws Exception{
+		String token = getToken(request);
+		Claims claims = JwtUtils.parseToken(token);
+		String userid = JwtUtils.getUserId(claims);
+		String userType = JwtUtils.getUserType(claims);
+		//管理后台用户
+		if ("system".equals(userType)) {
+			SysUser sysUser = sysUserClient.getSysUser(Long.valueOf(userid)).getData();
+			if(null == sysUser || "2".equals(sysUser.getDelFlag())){
+				throw new RuntimeException("无效的账户");
+			}
+			if("1".equals(sysUser.getStatus())){
+				throw new RuntimeException("账户已被停用,请联系系统管理员!");
+			}
+		}
+		//小程序用户
+		if ("applet".equals(userType)) {
+			TAppUser appUser = appUserClient.getUserById(Long.valueOf(userid)).getData();
+			if(null == appUser || appUser.getDelFlag() || 3 == appUser.getStatus()){
+				throw new RuntimeException("无效的账户");
+			}
+			if(2 == appUser.getStatus()){
+				throw new RuntimeException("账户已被冻结,请联系系统管理员!");
+			}
+		}
+	}
+	
 	
 	@Override
 	public int getOrder() {
diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml
index fe35873..67ff0c1 100644
--- a/ruoyi-modules/ruoyi-system/pom.xml
+++ b/ruoyi-modules/ruoyi-system/pom.xml
@@ -20,7 +20,6 @@
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-system</artifactId>
-            <scope>compile</scope>
         </dependency>
     	
     	<!-- SpringCloud Alibaba Nacos -->
diff --git a/ruoyi-service/ruoyi-account/pom.xml b/ruoyi-service/ruoyi-account/pom.xml
index 0390101..6df3409 100644
--- a/ruoyi-service/ruoyi-account/pom.xml
+++ b/ruoyi-service/ruoyi-account/pom.xml
@@ -18,14 +18,10 @@
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-order</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>
         <!-- SpringCloud Alibaba Nacos -->
         <dependency>
@@ -115,25 +111,15 @@
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-account</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-other</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>
             <version>2.6</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.ruoyi</groupId>
-            <artifactId>ruoyi-api-order</artifactId>
-            <version>3.6.2</version>
             <scope>compile</scope>
         </dependency>
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index 41f55e8..f529267 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -7,14 +7,12 @@
 import com.ruoyi.account.api.model.TAppCoupon;
 import com.ruoyi.account.api.model.TAppUserCar;
 import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
-import com.ruoyi.account.api.vo.CarListVO;
-import com.ruoyi.account.api.vo.CouponListVOVO;
+import com.ruoyi.other.api.vo.CouponListVOVO;
 import com.ruoyi.account.api.vo.ExchangeRecordVO;
 import com.ruoyi.account.service.TAppCouponService;
 import com.ruoyi.account.service.TAppUserCarService;
 import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
 import com.ruoyi.chargingPile.api.vo.SiteInfoVO;
-import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.BasePage;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index 597afdd..ea8dcfd 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -1,25 +1,17 @@
 package com.ruoyi.account.controller;
 
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.account.api.dto.*;
 import com.ruoyi.account.api.model.*;
-import com.ruoyi.account.api.vo.CouponListVOVO;
 import com.ruoyi.account.service.*;
 import com.ruoyi.account.util.PointDetailUtil;
 import com.ruoyi.account.util.SignDayUtil;
-import com.ruoyi.account.wx.body.resp.Code2SessionRespBody;
-import com.ruoyi.account.wx.body.resq.Code2SessionResqBody;
 import com.ruoyi.account.wx.model.WeixinProperties;
-import com.ruoyi.account.wx.tools.WxAppletTools;
 import com.ruoyi.account.util.GiveVipUtil;
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.domain.R;
@@ -29,9 +21,7 @@
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.domain.BasePojo;
-import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.redis.service.RedisService;
-import com.ruoyi.common.security.annotation.RequiresPermissions;
 import com.ruoyi.common.security.auth.AuthUtil;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
@@ -39,21 +29,16 @@
 import com.ruoyi.order.api.feignClient.ExchangeOrderClient;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TExchangeOrder;
+import com.ruoyi.other.api.dto.UnitListQueryDto;
 import com.ruoyi.other.api.domain.TCompany;
 import com.ruoyi.other.api.domain.TCoupon;
 import com.ruoyi.other.api.domain.TIntegralRule;
 import com.ruoyi.other.api.domain.TUserTag;
 import com.ruoyi.other.api.feignClient.IntegralRuleClient;
 import com.ruoyi.other.api.feignClient.OtherClient;
-import com.ruoyi.system.api.domain.SysRole;
-import com.ruoyi.system.api.model.LoginUser;
 import com.ruoyi.system.api.model.LoginUserApplet;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.apache.poi.ss.formula.functions.T;
 import lombok.extern.slf4j.Slf4j;
-import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java
index 872fa64..0e75c62 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java
@@ -2,13 +2,10 @@
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.account.api.dto.TagListQueryDto;
-import com.ruoyi.account.api.dto.UnitListQueryDto;
-import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.other.api.dto.TagListQueryDto;
 import com.ruoyi.account.api.model.TAppUserTag;
 import com.ruoyi.account.service.TAppUserTagService;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.other.api.domain.TCompany;
 import com.ruoyi.other.api.domain.TUserTag;
 import com.ruoyi.other.api.feignClient.OtherClient;
 import io.swagger.annotations.ApiOperation;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java
index bde3dab..5929c6b 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java
@@ -3,7 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.account.api.model.TAppCoupon;
 import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
-import com.ruoyi.account.api.vo.CouponListVOVO;
+import com.ruoyi.other.api.vo.CouponListVOVO;
 import com.ruoyi.account.api.vo.ExchangeRecordVO;
 import com.ruoyi.common.core.web.page.PageInfo;
 import org.apache.ibatis.annotations.Param;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java
index 5c518fe..09023c0 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java
@@ -4,7 +4,7 @@
 import com.ruoyi.account.api.dto.CouponListDto;
 import com.ruoyi.account.api.model.TAppCoupon;
 import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
-import com.ruoyi.account.api.vo.CouponListVOVO;
+import com.ruoyi.other.api.vo.CouponListVOVO;
 import com.ruoyi.account.api.vo.ExchangeRecordVO;
 import com.ruoyi.common.core.web.page.BasePage;
 import com.ruoyi.common.core.web.page.PageInfo;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java
index 34f0530..42c336b 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java
@@ -7,7 +7,7 @@
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.account.api.model.TAppUserVipDetail;
 import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
-import com.ruoyi.account.api.vo.CouponListVOVO;
+import com.ruoyi.other.api.vo.CouponListVOVO;
 import com.ruoyi.account.api.vo.ExchangeRecordVO;
 import com.ruoyi.account.mapper.TAppCouponMapper;
 import com.ruoyi.account.mapper.TAppUserMapper;
@@ -63,6 +63,10 @@
     private ChargingOrderClient chargingOrderClient;
     @Autowired
     private TAppUserVipDetailService tAppUserVipDetailService;
+    @Autowired
+    private TAppUserMapper tAppUserMapper;
+    @Autowired
+    private TokenService tokenService;
 
     @Override
     public PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery dto) {
@@ -132,13 +136,11 @@
     }
 
 
-    @Autowired
-    private TAppUserMapper tAppUserMapper;
+
     @Override
     public PageInfo<CouponListVOVO> couponList(CouponListDto dto) {
         // todo token获取用户id
-        Long userId = 11L;
-        dto.setUserId(userId);
+        dto.setUserId(tokenService.getLoginUserApplet().getUserId());
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         PageInfo<CouponListVOVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
         List<CouponListVOVO> list = this.baseMapper.couponList(pageInfo,dto.getUserId());
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml
index b94f498..0692cd9 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml
@@ -57,7 +57,7 @@
         </where>
         ORDER BY create_time DESC
     </select>
-    <select id="couponList" resultType="com.ruoyi.account.api.vo.CouponListVOVO">
+    <select id="couponList" resultType="com.ruoyi.other.api.vo.CouponListVOVO">
         SELECT
             t1.app_user_id AS appUserId,
             t1.coupon_id AS couponId,
diff --git a/ruoyi-service/ruoyi-chargingPile/pom.xml b/ruoyi-service/ruoyi-chargingPile/pom.xml
index 63d7f4a..1a16816 100644
--- a/ruoyi-service/ruoyi-chargingPile/pom.xml
+++ b/ruoyi-service/ruoyi-chargingPile/pom.xml
@@ -18,15 +18,11 @@
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-account</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
         </dependency>
         <!-- ruoyi-modules-chargingPile-api -->
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-chargingPile</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
         </dependency>
 
         <!-- SpringCloud Alibaba Nacos -->
@@ -122,14 +118,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-order</artifactId>
-		    <version>3.6.2</version>
-		    <scope>compile</scope>
 	    </dependency>
 
     </dependencies>
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileNotificationController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileNotificationController.java
index d4a0f79..640261a 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileNotificationController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileNotificationController.java
@@ -43,8 +43,7 @@
 	@ApiOperation(value = "删除系统通知", tags = {"管理后台-系统通知"})
 	public AjaxResult delChargingPileNotification(@RequestParam("id") Long id){
 		TChargingPileNotification chargingPileNotification = chargingPileNotificationService.getById(id);
-		chargingPileNotification.setDelFlag(1);
-		chargingPileNotificationService.updateById(chargingPileNotification);
+		chargingPileNotificationService.removeById(chargingPileNotification);
 		return AjaxResult.success();
 	}
 
diff --git a/ruoyi-service/ruoyi-order/pom.xml b/ruoyi-service/ruoyi-order/pom.xml
index 193649c..aee7399 100644
--- a/ruoyi-service/ruoyi-order/pom.xml
+++ b/ruoyi-service/ruoyi-order/pom.xml
@@ -19,27 +19,19 @@
         <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-account</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
         </dependency>
         <!-- ruoyi-modules-chargingPile-api -->
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-order</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>
 
 
diff --git a/ruoyi-service/ruoyi-other/pom.xml b/ruoyi-service/ruoyi-other/pom.xml
index 7179436..2e9d6e4 100644
--- a/ruoyi-service/ruoyi-other/pom.xml
+++ b/ruoyi-service/ruoyi-other/pom.xml
@@ -24,20 +24,14 @@
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-account</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
         </dependency>
         <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-order</artifactId>
-            <version>3.6.2</version>
-            <scope>compile</scope>
         </dependency>
         <!-- SpringCloud Alibaba Nacos Config -->
         <dependency>

--
Gitblit v1.7.1