From 617cf34e94c7355936f0bb8722d460c4ed6a76c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=98=E5=BA=86=E5=90=89?= <51312040@qq.com> Date: Tue, 29 Dec 2020 19:05:37 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=81=9A=E5=81=87=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/base/entity/BaseCacheUser.java | 2 + .../base/service/IBaseCacheUserService.java | 8 ++- .../impl/BaseCacheUserServiceImpl.java | 72 +++++++++++++++++-- 3 files changed, 76 insertions(+), 6 deletions(-) diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/entity/BaseCacheUser.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/entity/BaseCacheUser.java index 0c505c8..d432655 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/entity/BaseCacheUser.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/entity/BaseCacheUser.java @@ -1,6 +1,7 @@ package com.chinaunicom.mall.ebtp.common.base.entity; import lombok.Data; +import lombok.experimental.Accessors; import java.util.Date; @@ -12,6 +13,7 @@ import java.util.Date; * @version 1.0 */ @Data +@Accessors(chain = true) public class BaseCacheUser { diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/IBaseCacheUserService.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/IBaseCacheUserService.java index 638ae3f..c6a5552 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/IBaseCacheUserService.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/IBaseCacheUserService.java @@ -2,19 +2,25 @@ package com.chinaunicom.mall.ebtp.common.base.service; import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import java.util.Collection; + /** * 缓存用户service * 获取缓存用户信息 * * @author daixc - * @date 2020/10/16 * @version 1.0 + * @date 2020/10/16 */ public interface IBaseCacheUserService { /** * 获取缓存用户信息 + * * @return BaseCacheUser 返回缓存用户信息 */ BaseCacheUser getCacheUser(); + + + Collection getUsers(); } diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java index 39d7527..d8b5ac1 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java @@ -2,26 +2,88 @@ package com.chinaunicom.mall.ebtp.common.base.service.impl; import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; +import com.chinaunicom.mall.ebtp.common.util.JsonUtils; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Collection; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * 缓存用户service实现层 * 获取缓存用户信息 * * @author daixc - * @date 2020/10/16 * @version 1.0 + * @date 2020/10/16 */ @Service +@Slf4j public class BaseCacheUserServiceImpl implements IBaseCacheUserService { + private static final Map USERS = new ConcurrentHashMap<>(); + + @Override public BaseCacheUser getCacheUser() { BaseCacheUser user = new BaseCacheUser(); - user.setUserId(1316573977715408898L); - user.setFullName("测试用户"); - user.setRoleIds("1,2,3"); - user.setOrganizationId("844984984648946"); + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes != null) { + HttpServletRequest request = attributes.getRequest(); + String token = request.getHeader("JwtToken"); + user = USERS.get(token); + } + log.info(" --------------- 当前用户:" + JsonUtils.objectToJson(user) + " ------------------------------"); return user; } + + @Override + public Collection getUsers() { + return USERS.values(); + } + + static { + BaseCacheUser user = new BaseCacheUser() + .setUserId(1L) + .setFullName("采购") + .setLoginName("caigou") + .setRoleIds("caigou"); + USERS.put(String.valueOf(user.getUserId()), user); + + BaseCacheUser user1 = new BaseCacheUser() + .setUserId(2L) + .setFullName("代理机构子管理员") + .setLoginName("daili-subadmin") + .setRoleIds("daili"); + USERS.put(String.valueOf(user1.getUserId()), user1); + + BaseCacheUser user2 = new BaseCacheUser() + .setUserId(3L) + .setFullName("项目经理") + .setLoginName("daili1") + .setRoleIds("daili"); + USERS.put(String.valueOf(user2.getUserId()), user2); + + for (int i = 0; i < 5; i++) { + BaseCacheUser user3 = new BaseCacheUser() + .setUserId(4L + i) + .setFullName("专家" + (i + 1)) + .setLoginName("1300000000" + (i + 1)) + .setRoleIds("zhuanjia"); + USERS.put(String.valueOf(user3.getUserId()), user3); + } + + for (int i = 0; i < 5; i++) { + BaseCacheUser user3 = new BaseCacheUser() + .setUserId(9L + i) + .setFullName("供应商" + (i + 1)) + .setLoginName("gys" + (i + 1)) + .setRoleIds("gys"); + USERS.put(String.valueOf(user3.getUserId()), user3); + } + } } From 3cbe39ca5f5e7cd859537a96c8d12a4d469d85ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=98=E5=BA=86=E5=90=89?= <51312040@qq.com> Date: Tue, 29 Dec 2020 20:02:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BaseCacheUserServiceImpl.java | 58 ++++++++++++++----- 1 file changed, 43 insertions(+), 15 deletions(-) diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java index d8b5ac1..f5533ec 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java @@ -49,41 +49,69 @@ public class BaseCacheUserServiceImpl implements IBaseCacheUserService { static { BaseCacheUser user = new BaseCacheUser() .setUserId(1L) - .setFullName("采购") + .setFullName("采购经理") .setLoginName("caigou") - .setRoleIds("caigou"); + .setRoleIds("caigou") + .setOrganizationId("100") + .setOrganizationName("中国联通吉林分公司"); USERS.put(String.valueOf(user.getUserId()), user); - BaseCacheUser user1 = new BaseCacheUser() + BaseCacheUser user0 = new BaseCacheUser() .setUserId(2L) + .setFullName("代理机构管理员") + .setLoginName("daili-admin") + .setRoleIds("daili-admin") + .setOrganizationId("100100") + .setOrganizationName("中兴代理公司"); + USERS.put(String.valueOf(user0.getUserId()), user0); + + BaseCacheUser user1 = new BaseCacheUser() + .setUserId(3L) .setFullName("代理机构子管理员") .setLoginName("daili-subadmin") - .setRoleIds("daili"); + .setRoleIds("daili-subadmin") + .setOrganizationId("100100") + .setOrganizationName("中兴代理公司"); USERS.put(String.valueOf(user1.getUserId()), user1); BaseCacheUser user2 = new BaseCacheUser() - .setUserId(3L) - .setFullName("项目经理") + .setUserId(4L) + .setFullName("项目经理1") .setLoginName("daili1") - .setRoleIds("daili"); + .setRoleIds("daili") + .setOrganizationId("100100") + .setOrganizationName("中兴代理公司"); USERS.put(String.valueOf(user2.getUserId()), user2); + BaseCacheUser user3 = new BaseCacheUser() + .setUserId(5L) + .setFullName("项目经理2") + .setLoginName("daili2") + .setRoleIds("daili") + .setOrganizationId("100100") + .setOrganizationName("中兴代理公司"); + USERS.put(String.valueOf(user3.getUserId()), user3); + for (int i = 0; i < 5; i++) { - BaseCacheUser user3 = new BaseCacheUser() - .setUserId(4L + i) + BaseCacheUser user4 = new BaseCacheUser() + .setUserId(6L + i) .setFullName("专家" + (i + 1)) .setLoginName("1300000000" + (i + 1)) - .setRoleIds("zhuanjia"); - USERS.put(String.valueOf(user3.getUserId()), user3); + .setRoleIds("zhuanjia") + .setOrganizationId("666") + .setOrganizationName("专家公司"); + USERS.put(String.valueOf(user4.getUserId()), user4); } for (int i = 0; i < 5; i++) { - BaseCacheUser user3 = new BaseCacheUser() - .setUserId(9L + i) + BaseCacheUser user4 = new BaseCacheUser() + .setUserId(11L + i) .setFullName("供应商" + (i + 1)) .setLoginName("gys" + (i + 1)) - .setRoleIds("gys"); - USERS.put(String.valueOf(user3.getUserId()), user3); + .setRoleIds("gys") + .setOrganizationId("200"+ (i + 1)) + .setOrganizationName("供应商公司" + (i + 1)); + USERS.put(String.valueOf(user4.getUserId()), user4); } } }