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); + } + } }