diff --git a/framework/pom.xml b/framework/pom.xml
index ba3991db..de8a3431 100644
--- a/framework/pom.xml
+++ b/framework/pom.xml
@@ -14,6 +14,8 @@
jar
+ 1.8
+
1.9.6
4.13.40.ALL
5.1.48
@@ -39,7 +41,6 @@
2.9.10
UTF-8
UTF-8
- 1.8
true
2.0.8
2.3.1
diff --git a/framework/src/main/java/cn/lili/common/security/context/UserContext.java b/framework/src/main/java/cn/lili/common/security/context/UserContext.java
index f3c072ee..01c29910 100644
--- a/framework/src/main/java/cn/lili/common/security/context/UserContext.java
+++ b/framework/src/main/java/cn/lili/common/security/context/UserContext.java
@@ -9,6 +9,10 @@ import cn.lili.common.token.SecretKeyUtil;
import com.google.gson.Gson;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
/**
* 用户上下文
@@ -20,15 +24,15 @@ import io.jsonwebtoken.Jwts;
*/
public class UserContext {
- private static AuthenticationHandler authenticationHandler;
-
- public static void setHolder(AuthenticationHandler authenticationHandler) {
- UserContext.authenticationHandler = authenticationHandler;
- }
-
-
+ /**
+ * 根据request获取用户信息
+ *
+ * @return
+ */
public static AuthUser getCurrentUser() {
- return authenticationHandler.getAuthUser();
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ String accessToken = request.getHeader(SecurityEnum.HEADER_TOKEN.getValue());
+ return getAuthUser(accessToken);
}
@@ -44,6 +48,20 @@ public class UserContext {
if (cache.keys("*" + accessToken).size() == 0) {
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
}
+ return getAuthUser(accessToken);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ /**
+ * 根据jwt获取token重的用户信息
+ *
+ * @param accessToken token
+ * @return
+ */
+ public static AuthUser getAuthUser(String accessToken) {
+ try {
//获取token的信息
Claims claims
= Jwts.parser()
diff --git a/framework/src/main/java/cn/lili/common/security/context/UserContextInit.java b/framework/src/main/java/cn/lili/common/security/context/UserContextInit.java
deleted file mode 100644
index a214eb60..00000000
--- a/framework/src/main/java/cn/lili/common/security/context/UserContextInit.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package cn.lili.common.security.context;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.stereotype.Component;
-
-/**
- * 给予用户上下文,初始化参数
- *
- * @author Chopper
- * @version v4.0
- * @Description:
- * @since 2020/11/14 20:30
- */
-@Component
-public class UserContextInit implements ApplicationRunner {
-
- /**
- * 用户信息holder,认证信息的获取者
- */
- @Autowired
- private AuthenticationHandler authenticationHandler;
-
- /**
- * 在项目加载时指定认证信息获取者
- * 默认是由spring 安全上下文中获取
- *
- * @param args
- * @throws Exception
- */
- @Override
- public void run(ApplicationArguments args) {
- UserContext.setHolder(authenticationHandler);
- }
-}
diff --git a/framework/src/main/java/cn/lili/common/trigger/message/PromotionMessage.java b/framework/src/main/java/cn/lili/common/trigger/message/PromotionMessage.java
index 7290b974..1ec5c1ae 100644
--- a/framework/src/main/java/cn/lili/common/trigger/message/PromotionMessage.java
+++ b/framework/src/main/java/cn/lili/common/trigger/message/PromotionMessage.java
@@ -1,7 +1,5 @@
package cn.lili.common.trigger.message;
-import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -43,10 +41,4 @@ public class PromotionMessage {
*/
private Date endTime;
- public UpdateWrapper updateWrapper() {
- UpdateWrapper updateWrapper = new UpdateWrapper<>();
- updateWrapper.eq("id", promotionId);
- updateWrapper.set("promotion_status", PromotionStatusEnum.valueOf(promotionStatus));
- return updateWrapper;
- }
}
diff --git a/framework/src/main/java/cn/lili/common/utils/BeanUtil.java b/framework/src/main/java/cn/lili/common/utils/BeanUtil.java
index 3ce1c762..fa3dc89a 100644
--- a/framework/src/main/java/cn/lili/common/utils/BeanUtil.java
+++ b/framework/src/main/java/cn/lili/common/utils/BeanUtil.java
@@ -1,7 +1,5 @@
package cn.lili.common.utils;
-import cn.hutool.json.JSONUtil;
-import cn.lili.modules.payment.kit.dto.PayParam;
import org.springframework.beans.BeanUtils;
import java.lang.reflect.Field;
@@ -117,16 +115,4 @@ public class BeanUtil {
return t;
}
- public static void main(String[] args) throws IllegalAccessException {
- PayParam payParam = new PayParam();
- payParam.setClientType("client");
- payParam.setOrderType("");
- payParam.setSn("sn");
- String val = formatKeyValuePair(payParam);
- System.out.println(val);
-
- PayParam param = formatKeyValuePair(val, new PayParam());
- System.out.println(JSONUtil.toJsonStr(param));
- }
-
}
diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java
index be72adee..1ea81399 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java
@@ -5,18 +5,22 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.ResultCode;
-import cn.lili.common.trigger.message.PromotionMessage;
import cn.lili.common.exception.ServiceException;
+import cn.lili.common.trigger.message.PromotionMessage;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import cn.lili.modules.promotion.entity.dos.*;
import cn.lili.modules.promotion.entity.enums.*;
-import cn.lili.modules.promotion.entity.vos.*;
+import cn.lili.modules.promotion.entity.vos.CouponVO;
+import cn.lili.modules.promotion.entity.vos.PintuanVO;
+import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
+import cn.lili.modules.promotion.entity.vos.SeckillVO;
import cn.lili.modules.promotion.service.*;
import cn.lili.modules.search.entity.dos.EsGoodsIndex;
import cn.lili.modules.search.service.EsGoodsIndexService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
@@ -249,7 +253,7 @@ public class PromotionServiceImpl implements PromotionService {
//写入促销状态
fullDiscountVO.setPromotionStatus(promotionMessage.getPromotionStatus());
//修改促销数据
- result = this.fullDiscountService.update(promotionMessage.updateWrapper());
+ result = this.fullDiscountService.update(updateWrapper(promotionMessage));
//clone一个活动信息,用于存放与索引中
FullDiscountVO clone = ObjectUtil.clone(fullDiscountVO);
clone.setPromotionGoodsList(null);
@@ -285,7 +289,7 @@ public class PromotionServiceImpl implements PromotionService {
}
//修改优惠券
couponVO.setPromotionStatus(promotionMessage.getPromotionStatus());
- result = this.couponService.update(promotionMessage.updateWrapper());
+ result = this.couponService.update(updateWrapper(promotionMessage));
//优惠券活动结束,会员已领取未使用的优惠券状态修改为:已过期
if(couponVO.getPromotionStatus().equals(PromotionStatusEnum.END)){
LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper()
@@ -324,7 +328,7 @@ public class PromotionServiceImpl implements PromotionService {
return false;
}
pintuanVO.setPromotionStatus(promotionMessage.getPromotionStatus());
- result = this.pintuanService.update(promotionMessage.updateWrapper());
+ result = this.pintuanService.update(updateWrapper(promotionMessage));
this.promotionGoodsService.updateBatchById(pintuanVO.getPromotionGoodsList());
if (pintuanVO.getPromotionGoodsList() != null) {
List promotionGoodsList = pintuanVO.getPromotionGoodsList();
@@ -357,7 +361,7 @@ public class PromotionServiceImpl implements PromotionService {
//修改活动状态
seckill.setPromotionStatus(promotionMessage.getPromotionStatus());
- result = this.seckillService.update(promotionMessage.updateWrapper());
+ result = this.seckillService.update(updateWrapper(promotionMessage));
//判断参与活动的商品是否为空,如果为空则返回
if(seckill.getSeckillApplyList()==null){
@@ -412,7 +416,7 @@ public class PromotionServiceImpl implements PromotionService {
return false;
}
pointsGoodsVO.setPromotionStatus(promotionMessage.getPromotionStatus());
- result = this.pointsGoodsService.update(promotionMessage.updateWrapper());
+ result = this.pointsGoodsService.update(updateWrapper(promotionMessage));
PointsGoods pointsGoods = JSONUtil.toBean(JSONUtil.toJsonStr(pointsGoodsVO), PointsGoods.class);
this.goodsIndexService.updateEsGoodsIndex(pointsGoodsVO.getSkuId(), pointsGoods, esPromotionKey, null);
this.mongoTemplate.save(pointsGoodsVO);
@@ -463,4 +467,17 @@ public class PromotionServiceImpl implements PromotionService {
log.error("当前" + type.name() + "活动ID为[" + id + "] 不存在,更改活动状态至[ " + status + " ]失败!");
throw new ServiceException(ResultCode.PROMOTION_STATUS_END);
}
+
+
+ /**
+ * 根据消息,获取update wrapper
+ * @param
+ * @return
+ */
+ private UpdateWrapper updateWrapper(PromotionMessage promotionMessage) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("id", promotionMessage.getPromotionId());
+ updateWrapper.set("promotion_status", PromotionStatusEnum.valueOf(promotionMessage.getPromotionStatus()));
+ return updateWrapper;
+ }
}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java b/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java
index 465764ad..6d80bcf0 100644
--- a/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java
+++ b/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java
@@ -54,10 +54,12 @@ public class PageViewInterceptor {
switch (pageViewEnum) {
case SKU:
ResultMessage