From ae1471f378f399f76518539ec8992e64a3673436 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期三, 08 一月 2025 15:26:06 +0800 Subject: [PATCH] 1.订单提交:订单最小金额配置 --- src/main/java/com/mzl/flower/service/BaseService.java | 69 +++++++++++++++++++++++++++++----- 1 files changed, 58 insertions(+), 11 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..def7248 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; @@ -16,15 +18,22 @@ import com.mzl.flower.entity.payment.OrderItemSales; import com.mzl.flower.entity.payment.OrderSalesItem; import com.mzl.flower.entity.supplier.Supplier; +import com.mzl.flower.entity.supplier.SupplierSub; import com.mzl.flower.mapper.customer.CustomerMapper; import com.mzl.flower.mapper.flower.FlowerCategoryMapper; import com.mzl.flower.mapper.member.MemberMapper; import com.mzl.flower.mapper.partner.PartnerMapper; import com.mzl.flower.mapper.supplier.SupplierMapper; +import com.mzl.flower.mapper.supplier.SupplierSubMapper; import com.mzl.flower.mapper.system.UserMapper; 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 org.springframework.util.ObjectUtils; import java.math.BigDecimal; import java.math.RoundingMode; @@ -33,10 +42,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 @@ -47,6 +56,9 @@ @Autowired protected SupplierMapper supplierMapper; + + @Autowired + protected SupplierSubMapper supplierSubMapper; @Autowired protected PartnerMapper partnerMapper; @@ -66,6 +78,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 +149,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 +259,7 @@ break; } } - fp = fp.add(b); + fp = fp.add(getAmount(b)); dto.setFirstFee(b); } @@ -294,7 +318,7 @@ break; } } - fp = fp.add(b); + fp = fp.add(getAmount(b)); dto.setSecondFee(b); FlowerMarkupSpCg fmpsc = null; @@ -349,7 +373,7 @@ break; } } - fp = fp.add(b); + fp = fp.add(getAmount(b)); dto.setPartnerFee(b); } @@ -387,7 +411,7 @@ break; } } - fp = fp.add(b); + fp = fp.add(getAmount(b)); } //二次加价 @@ -445,7 +469,7 @@ break; } } - fp = fp.add(b); + fp = fp.add(getAmount(b)); return fp; } @@ -534,14 +558,19 @@ return p; } - public Supplier getCurrentSupplier(){ + public Supplier getCurrentSupplier() { String userId = SecurityUtils.getUserId(); Supplier s = supplierMapper.selectOne(new QueryWrapper<Supplier>() .eq("user_id", userId)); - if(s == null){ - throw new ValidationException("供应商信息未认证,请到个人中心进行认证"); + if (s == null) { + SupplierSub sub = supplierSubMapper.getCurrentSupplier(SecurityUtils.getUserId()); + if (!ObjectUtils.isEmpty(sub)) { + s = supplierMapper.selectById(sub.getSupplierId()); + return s; + } else { + throw new ValidationException("供应商信息未认证,请到个人中心进行认证"); + } } - return s; } @@ -690,4 +719,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