From 6c823dd44dbde79f008001a2a11e7bf9bc6bf8cc Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 04 十二月 2024 18:15:44 +0800
Subject: [PATCH] fix:合伙人列表操作日志

---
 src/main/java/com/mzl/flower/service/BaseService.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 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..ecfcb6a 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;
@@ -127,12 +143,14 @@
             BigDecimal feePlatformPack = getAmount(s.getFeePlatformPack());
             BigDecimal feePlatformCheck = getAmount(s.getFeePlatformCheck());
             BigDecimal feePlatformTransport = getAmount(s.getFeePlatformTransport());
+            BigDecimal feePackingTransport = getAmount(s.getFeePackingTransport());
 
             BigDecimal b = platformSalesMap.get(orderItemId);
             if (b == null) {
                 b = new BigDecimal(0);
             }
-            b = b.add(feePlatform).add(feePlatformPack).add(feePlatformCheck).add(feePlatformTransport);
+            b = b.add(feePlatform).add(feePlatformPack).add(feePlatformCheck)
+                    .add(feePlatformTransport).add(feePackingTransport);
             platformSalesMap.put(orderItemId, b);
         }
     }
@@ -235,7 +253,7 @@
                     break;
                 }
             }
-            fp = fp.add(b);
+            fp = fp.add(getAmount(b));
             dto.setFirstFee(b);
         }
 
@@ -294,7 +312,7 @@
                         break;
                 }
             }
-            fp = fp.add(b);
+            fp = fp.add(getAmount(b));
             dto.setSecondFee(b);
 
             FlowerMarkupSpCg fmpsc = null;
@@ -349,7 +367,7 @@
                         break;
                 }
             }
-            fp = fp.add(b);
+            fp = fp.add(getAmount(b));
             dto.setPartnerFee(b);
         }
 
@@ -387,7 +405,7 @@
                     break;
                 }
             }
-            fp = fp.add(b);
+            fp = fp.add(getAmount(b));
         }
 
         //二次加价
@@ -445,7 +463,7 @@
                     break;
             }
         }
-        fp = fp.add(b);
+        fp = fp.add(getAmount(b));
 
         return fp;
     }
@@ -690,4 +708,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