Commit a6bbe82f by Lizh

修复TokenHandle中getExpiration()可能为空的判断

parent bdb8936e
...@@ -89,7 +89,6 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService { ...@@ -89,7 +89,6 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService {
/** 负数 1 */ /** 负数 1 */
private static final int NEGATIVE_ONE = -1; private static final int NEGATIVE_ONE = -1;
@Override @Override
public IPage<CustomProductInfoPageSnakeVO> pageList(CustomProductInfoQuerySnakeDTO param) { public IPage<CustomProductInfoPageSnakeVO> pageList(CustomProductInfoQuerySnakeDTO param) {
CustomAsserts.nonNull(param, "分页查询参数不能为空"); CustomAsserts.nonNull(param, "分页查询参数不能为空");
...@@ -179,7 +178,7 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService { ...@@ -179,7 +178,7 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService {
if (param.getId() != null) { if (param.getId() != null) {
queryWrapper.eq(CustomProductInfoEntity::getId, param.getId()); queryWrapper.eq(CustomProductInfoEntity::getId, param.getId());
} }
// sku 支持逗号分隔多值 IN 查询, erpPage查询条件 TODO // sku 支持逗号分隔多值 IN 查询, erpPage查询条件
if (StringUtils.isNotBlank(param.getSku())) { if (StringUtils.isNotBlank(param.getSku())) {
String[] skuArr = param.getSku().split(","); String[] skuArr = param.getSku().split(",");
if (skuArr.length > MIN_LIST_SIZE) { if (skuArr.length > MIN_LIST_SIZE) {
...@@ -201,7 +200,7 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService { ...@@ -201,7 +200,7 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService {
if (StringUtils.isNotBlank(param.getProduct_type())) { if (StringUtils.isNotBlank(param.getProduct_type())) {
queryWrapper.eq(CustomProductInfoEntity::getProductType, param.getProduct_type()); queryWrapper.eq(CustomProductInfoEntity::getProductType, param.getProduct_type());
} }
// 货号:逗号分隔多值 IN 查询,单个值模糊 LIKE 查询, erpPage查询条件 TODO // 货号:逗号分隔多值 IN 查询,单个值模糊 LIKE 查询, erpPage查询条件
if (StringUtils.isNotBlank(param.getProduct_no())) { if (StringUtils.isNotBlank(param.getProduct_no())) {
String[] productNoArr = param.getProduct_no().split(","); String[] productNoArr = param.getProduct_no().split(",");
if (productNoArr.length > MIN_LIST_SIZE) { if (productNoArr.length > MIN_LIST_SIZE) {
...@@ -1161,7 +1160,7 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService { ...@@ -1161,7 +1160,7 @@ public class CustomProductInfoServiceImpl implements CustomProductInfoService {
* if (productInfo.sales_price_max == null || new Decimal(productInfo.sales_price_max).greaterThan(new Decimal(item.sales_price))) { * if (productInfo.sales_price_max == null || new Decimal(productInfo.sales_price_max).greaterThan(new Decimal(item.sales_price))) {
* productInfo.sales_price_max = item.sales_price; * productInfo.sales_price_max = item.sales_price;
* } * }
* * <p>
* saveFull 批量保存时使用 * saveFull 批量保存时使用
* *
*/ */
......
...@@ -12,6 +12,7 @@ import org.springframework.data.redis.core.StringRedisTemplate; ...@@ -12,6 +12,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -175,7 +176,11 @@ public class TokenHandle { ...@@ -175,7 +176,11 @@ public class TokenHandle {
Long deptId = claims.get("deptId", Long.class); Long deptId = claims.get("deptId", Long.class);
LoginUser loginUser = new LoginUser(userId, deptId, username); LoginUser loginUser = new LoginUser(userId, deptId, username);
loginUser.setExpireTime(claims.getExpiration().getTime()); // getExpiration() 在 JWT 无 exp claim 时返回 null,需判空避免 NPE
Date expiration = claims.getExpiration();
if (expiration != null) {
loginUser.setExpireTime(expiration.getTime());
}
loginUser.setPermissions(parsePermissionsFromClaims(claims)); loginUser.setPermissions(parsePermissionsFromClaims(claims));
log.debug("从 JWT claims 构建用户[{}]信息,权限数: {}", username, loginUser.getPermissions().size()); log.debug("从 JWT claims 构建用户[{}]信息,权限数: {}", username, loginUser.getPermissions().size());
......
package com.jomalls.custom.integrate.service; package com.jomalls.custom.integrate.service;
import com.jomalls.custom.enums.CodeEnum;
import com.jomalls.custom.integrate.client.RemoteApiClient;
import com.jomalls.custom.integrate.model.CategoryInfoModel; import com.jomalls.custom.integrate.model.CategoryInfoModel;
import com.jomalls.custom.integrate.model.PropertyModel; import com.jomalls.custom.integrate.model.PropertyModel;
import com.jomalls.custom.integrate.model.SaasAdminApiResponseModel;
import com.jomalls.custom.security.LoginUser;
import com.jomalls.custom.security.SecurityUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.Collections;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
/** /**
* 商品分类服务 * 商品分类服务
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment