cloudroam
2024-09-10 33a30da7b2795fc60ebab8e89760087f5dfdd3a0
add:三端用户禁用后下线
已修改4个文件
63 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/service/BaseService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/customer/CustomerService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/partner/PartnerService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/supplier/SupplierService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
@@ -23,6 +25,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.time.*;
@@ -30,10 +36,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
@@ -56,6 +62,16 @@
    @Autowired
    private FlowerCategoryMapper flowerCategoryMapper;
    @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;
@@ -631,4 +647,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);
                }
            }
        }
    }
}
src/main/java/com/mzl/flower/service/customer/CustomerService.java
@@ -16,11 +16,13 @@
import com.mzl.flower.entity.partner.Partner;
import com.mzl.flower.mapper.customer.CustomerMapper;
import com.mzl.flower.mapper.partner.PartnerMapper;
import com.mzl.flower.service.BaseService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@Service
@@ -31,6 +33,9 @@
    private final CustomerMapper customerMapper;
    private final PartnerMapper partnerMapper;
    @Resource
    private BaseService baseService;
    public CustomerService(CustomerMapper customerMapper, PartnerMapper partnerMapper) {
        this.customerMapper = customerMapper;
@@ -208,6 +213,8 @@
        }
        if (customer.getIsEnabled()) {
            customer.setIsEnabled(false);
            //强制下线
            baseService.removeToken(customer.getUserId());
        } else {
            customer.setIsEnabled(true);
        }
src/main/java/com/mzl/flower/service/partner/PartnerService.java
@@ -12,6 +12,7 @@
import com.mzl.flower.entity.partner.Partner;
import com.mzl.flower.entity.supplier.Supplier;
import com.mzl.flower.mapper.partner.PartnerMapper;
import com.mzl.flower.service.BaseService;
import com.mzl.flower.service.UploadService;
import com.mzl.flower.utils.DateUtils;
import lombok.extern.slf4j.Slf4j;
@@ -20,6 +21,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -42,6 +44,9 @@
    private final UploadService uploadService;
    @Resource
    private BaseService baseService;
    public PartnerService(PartnerMapper partnerMapper, WxMaService maService, UploadService uploadService) {
        this.partnerMapper = partnerMapper;
@@ -171,6 +176,8 @@
        }
        if (partner.getIsEnabled()) {
            partner.setIsEnabled(false);
            //强制下线
            baseService.removeToken(partner.getUserId());
        } else {
            partner.setIsEnabled(true);
        }
src/main/java/com/mzl/flower/service/supplier/SupplierService.java
@@ -1,5 +1,6 @@
package com.mzl.flower.service.supplier;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,15 +9,20 @@
import com.mzl.flower.constant.Constants;
import com.mzl.flower.dto.request.supplier.*;
import com.mzl.flower.dto.response.supplier.SupplierDTO;
import com.mzl.flower.entity.customer.Customer;
import com.mzl.flower.entity.supplier.Supplier;
import com.mzl.flower.mapper.supplier.SupplierMapper;
import com.mzl.flower.service.BaseService;
import com.mzl.flower.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@@ -29,6 +35,9 @@
    private final static String SUPPLIER_STATUS_REJECT = "R"; // 审核拒绝
    private final SupplierMapper supplierMapper;
    @Resource
    private BaseService baseService;
    public SupplierService(SupplierMapper supplierMapper) {
        this.supplierMapper = supplierMapper;
@@ -196,6 +205,8 @@
        }
        if (supplier.getIsEnabled()) {
            supplier.setIsEnabled(false);
            //强制下线
            baseService.removeToken(supplier.getUserId());
        } else {
            supplier.setIsEnabled(true);
        }