From 5bb359883bda6f15b6a6937a2c17ac9bbc67ab8e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期日, 22 九月 2024 17:17:24 +0800
Subject: [PATCH] add:会员成长值规则
---
src/main/java/com/mzl/flower/service/BaseService.java | 46 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/mzl/flower/service/BaseService.java b/src/main/java/com/mzl/flower/service/BaseService.java
index b796271..c5c2d7e 100644
--- a/src/main/java/com/mzl/flower/service/BaseService.java
+++ b/src/main/java/com/mzl/flower/service/BaseService.java
@@ -1,8 +1,10 @@
package com.mzl.flower.service;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mzl.flower.base.cache.MarkupCacheClient;
+import com.mzl.flower.base.cache.StringCacheClient;
import com.mzl.flower.config.exception.ValidationException;
import com.mzl.flower.config.security.SecurityUtils;
import com.mzl.flower.constant.Constants;
@@ -25,6 +27,10 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.security.oauth2.common.OAuth2AccessToken;
+import org.springframework.security.oauth2.common.OAuth2RefreshToken;
+import org.springframework.security.oauth2.provider.token.TokenStore;
+import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -33,10 +39,10 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.regex.Pattern;
import static java.time.format.DateTimeFormatter.BASIC_ISO_DATE;
+@Service
public class BaseService {
@Autowired
@@ -66,6 +72,16 @@
protected Member getMember(Long levelId){
return memberMapper.selectById(levelId);
}
+
+ @Autowired
+ private StringCacheClient stringCacheClient;
+
+ @Autowired
+ private TokenStore tokenStore;
+
+ public static final String TOKEN_KEY = "TOKEN-KEY";
+
+ public static final String SEPARATOR = ":";
protected double getServiceFeeRate(List<FeeService> fees, Integer saleCount){
int sc = saleCount == null ? 0 : saleCount;
@@ -235,7 +251,7 @@
break;
}
}
- fp = fp.add(b);
+ fp = fp.add(getAmount(b));
dto.setFirstFee(b);
}
@@ -294,7 +310,7 @@
break;
}
}
- fp = fp.add(b);
+ fp = fp.add(getAmount(b));
dto.setSecondFee(b);
FlowerMarkupSpCg fmpsc = null;
@@ -349,7 +365,7 @@
break;
}
}
- fp = fp.add(b);
+ fp = fp.add(getAmount(b));
dto.setPartnerFee(b);
}
@@ -387,7 +403,7 @@
break;
}
}
- fp = fp.add(b);
+ fp = fp.add(getAmount(b));
}
//二次加价
@@ -445,7 +461,7 @@
break;
}
}
- fp = fp.add(b);
+ fp = fp.add(getAmount(b));
return fp;
}
@@ -690,4 +706,22 @@
return null;
}
+ public void removeToken(String userId) {
+ String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + userId);
+ if (StringUtils.isNotBlank(tokenCache)) {
+ //强制删除token,下线
+ if (StringUtils.isNotBlank(tokenCache) && StringUtils.isNotBlank(userId)) {
+ stringCacheClient.delete(TOKEN_KEY + SEPARATOR + userId);
+ String tokenValue = tokenCache.replace(OAuth2AccessToken.BEARER_TYPE, StrUtil.EMPTY).trim();
+ OAuth2AccessToken accessToken = tokenStore.readAccessToken(tokenValue);
+ if (accessToken != null && StringUtils.isNotBlank(accessToken.getValue())) {
+ tokenStore.removeAccessToken(accessToken);
+ OAuth2RefreshToken refreshToken = accessToken.getRefreshToken();
+ tokenStore.removeRefreshToken(refreshToken);
+ }
+ }
+ }
+ }
+
+
}
--
Gitblit v1.9.3