Selaa lähdekoodia

Merge branch 'abroad_073' into abroad_pre

zoujiajian 2 vuotta sitten
vanhempi
sitoutus
9230937826

+ 1 - 1
netflix-service/src/main/java/com/cyksj/common/EnvCommonService.java

@@ -64,4 +64,4 @@ public class EnvCommonService {
 		}
 		DISTRIBUTE_DEFAULT_URL_PREFIX += "%s";
 	}
-}
+}

+ 2 - 2
netflix-web/src/main/java/com/cyksj/aspect/LogAspect.java

@@ -1,6 +1,6 @@
 package com.cyksj.aspect;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.servlet.ServletUtil;
@@ -68,7 +68,7 @@ public class LogAspect {
 	private void handleLog(JoinPoint joinPoint, Log controllerLog, Exception e, Object jsonResult) {
 		try {
 			// 获取当前的用户
-			CmsUser cmsUser = cmsUserManager.getUser(StpUtil.getLoginIdAsLong());
+			CmsUser cmsUser = cmsUserManager.getUser(StpAbroadUtil.getLoginIdAsLong());
 			SysLog sysLog = new SysLog();
 			sysLog.setOperateIp(ServletUtil.getClientIP(request));
 			sysLog.setOperateUrl(request.getRequestURI());

+ 7 - 7
netflix-web/src/main/java/com/cyksj/web/controller/manage/AdminController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Validator;
@@ -92,7 +92,7 @@ public class AdminController {
 
     @PostMapping("/post")
     public Result<String> saveAdmin(@RequestBody @Validated Admin admin) throws Exception {
-        Long adminId = StpUtil.getLoginIdAsLong();
+        Long adminId = StpAbroadUtil.getLoginIdAsLong();
         Admin exist = adminService.getById(adminId);
         if (exist == null) {
             throw BusinessRuntimeException.getInstance("账号不存在,请重新登录");
@@ -128,7 +128,7 @@ public class AdminController {
      */
     @DeleteMapping("/delete/{id}")
     public Result<String> deleteAdminById(@PathVariable Long id) {
-        Long adminId = StpUtil.getLoginIdAsLong();
+        Long adminId = StpAbroadUtil.getLoginIdAsLong();
         Admin exist = adminService.getById(adminId);
         if (exist == null) {
             throw BusinessRuntimeException.getInstance("账号不存在,请重新登录");
@@ -148,7 +148,7 @@ public class AdminController {
      */
     @PutMapping("/put")
     public Result<String> editAdmin(@RequestBody Admin admin) throws Exception {
-        Long adminId = StpUtil.getLoginIdAsLong();
+        Long adminId = StpAbroadUtil.getLoginIdAsLong();
         Admin exist = adminService.getById(adminId);
         if (exist == null) {
             throw BusinessRuntimeException.getInstance("账号不存在,请重新登录");
@@ -179,7 +179,7 @@ public class AdminController {
         }
         adminService.saveOrUpdate(admin);
         if (flag) {
-            StpUtil.logoutByLoginId(admin.getId());
+            StpAbroadUtil.logoutByLoginId(admin.getId());
         }
 
         return GatewayResponse.SUCCESS.newBuilder().toResult("编辑成功");
@@ -215,9 +215,9 @@ public class AdminController {
         }
         // 生成token
 
-        StpUtil.login(admin.getId());
+        StpAbroadUtil.login(admin.getId());
 
-        String token = StpUtil.getTokenValue();
+        String token = StpAbroadUtil.getTokenValue();
 
         admin.setPassWord("");
 

+ 2 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -1,7 +1,7 @@
 package com.cyksj.web.controller.manage;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.support.ExcelTypeEnum;
@@ -471,7 +471,7 @@ public class CmsOrderController {
 	@PutMapping("/kickOut")
 	@NoSubmit
 	public Result<String> kickOut(@RequestBody @Validated ClickOutReq req) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		cmsOrderDonService.kickOutRelationId(adminId, req);
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}

+ 5 - 5
netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage.account;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
@@ -255,7 +255,7 @@ public class CmsAccountController {
 	 */
 	@PostMapping("/import/account")
 	public Result<String> importAccount(Long goodsId, MultipartFile file) throws Exception {
-		long userId = StpUtil.getLoginIdAsLong();
+		long userId = StpAbroadUtil.getLoginIdAsLong();
 		EasyExcel.read(file.getInputStream(), ExcelImportAccountData.class, new AnalysisEventListener<ExcelImportAccountData>() {
 			@SneakyThrows
 			@Override
@@ -434,7 +434,7 @@ public class CmsAccountController {
 	    }
 	    Boolean isClear = false;
 	    String dbAccount = db.getAccount();
-	    long userId = StpUtil.getLoginIdAsLong();
+	    long userId = StpAbroadUtil.getLoginIdAsLong();
 	    if (!db.getPassword().equals(account.getPassword())) {
 		    account.setCustomerServiceId(0l);
 		    accountService.saveRecord(userId, account.getId(), db.getPassword(), account.getPassword(), "操作编辑");
@@ -515,7 +515,7 @@ public class CmsAccountController {
 	@PutMapping("/update/pwd")
 	@Log(module = "平台管理/批量修改密码", businessType = BusinessType.PUT, isSaveRequestData = true)
 	public Result<String> updatePwdAndSendMsg(@RequestBody List<Account> accounts) throws Exception {
-		long userId = StpUtil.getLoginIdAsLong();
+		long userId = StpAbroadUtil.getLoginIdAsLong();
 		accounts.forEach(account -> {
 			Account db = accountService.getById(account.getId());
 			if (db != null) {
@@ -723,7 +723,7 @@ public class CmsAccountController {
 	 */
 	@GetMapping("/get/updatePwd/num")
 	public Result<CustomerServiceUpdatePwdDetail> updatePwdDetails() {
-		long userId = StpUtil.getLoginIdAsLong();
+		long userId = StpAbroadUtil.getLoginIdAsLong();
 		CmsUser user = cmsUserManager.getUser(userId);
 		MapBuilder builder = MapUtils.builder();
 		if (user != null && user.getRoleNames() != null && user.getRoleNames().contains("客服")) {

+ 12 - 12
netflix-web/src/main/java/com/cyksj/web/controller/manage/cms/CmsAdminUserController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage.cms;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
@@ -97,7 +97,7 @@ public class CmsAdminUserController {
 	@Log(module = "用户管理/新增用户", businessType = BusinessType.POST, isSaveRequestData = true)
 	@Transactional(rollbackFor = Throwable.class)
 	public Result<String> saveAdmin(@RequestBody @Validated CmsUserReq cmsUserReq) throws Exception {
-		Long adminId = StpUtil.getLoginIdAsLong();
+		Long adminId = StpAbroadUtil.getLoginIdAsLong();
 		CmsUser exist = cmsUserMapper.selectById(adminId);
 		if (exist == null) {
 			throw BusinessRuntimeException.getInstance("账号不存在,请重新登录");
@@ -135,7 +135,7 @@ public class CmsAdminUserController {
 	@DeleteMapping("/delete/{id}")
 	@Log(module = "用户管理/删除用户", businessType = BusinessType.DELETE)
 	public Result<String> deleteAdminById(@PathVariable Long id) throws Exception {
-		Long adminId = StpUtil.getLoginIdAsLong();
+		Long adminId = StpAbroadUtil.getLoginIdAsLong();
 		CmsUser exist = cmsUserMapper.selectById(adminId);
 		if (exist == null) {
 			throw BusinessRuntimeException.getInstance("账号不存在,请重新登录");
@@ -163,7 +163,7 @@ public class CmsAdminUserController {
 		cmsUserManager.delUserRoleRelation(id);
 		cmsUserMapper.deleteById(id);
 		//删除用户,将上线的用户踢下
-		StpUtil.logoutByLoginId(id);
+		StpAbroadUtil.logoutByLoginId(id);
 		return GatewayResponse.SUCCESS.newBuilder().toResult("删除成功");
 	}
 
@@ -173,7 +173,7 @@ public class CmsAdminUserController {
 	@PutMapping("/put")
 	@Log(module = "用户管理/编辑用户", businessType = BusinessType.PUT, isSaveRequestData = true)
 	public Result<String> editAdmin(@RequestBody CmsUserReq cmsUserReq) throws Exception {
-		Long adminId = StpUtil.getLoginIdAsLong();
+		Long adminId = StpAbroadUtil.getLoginIdAsLong();
 		CmsUser exist = cmsUserMapper.selectById(adminId);
 		if (exist == null) {
 			throw BusinessRuntimeException.getInstance("账号不存在,请重新登录");
@@ -209,7 +209,7 @@ public class CmsAdminUserController {
 		user.setModifiedBy(exist.getNickname());
 		cmsUserMapper.updateById(user);
 		if (flag) {
-			StpUtil.logoutByLoginId(cmsUserReq.getId());
+			StpAbroadUtil.logoutByLoginId(cmsUserReq.getId());
 		}
 		//是不是客服
 		CmsUserVO isCustomer = beanSearcher.searchFirst(CmsUserVO.class, MapUtils.builder()
@@ -236,7 +236,7 @@ public class CmsAdminUserController {
 		cmsUserMapper.updateById(cmsUser);
 		if (!cmsUser.getStatus()) {
 			//状态为禁用时,将上线的用户下线
-			StpUtil.logoutByLoginId(cmsUser.getId());
+			StpAbroadUtil.logoutByLoginId(cmsUser.getId());
 		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult("用户状态变更成功");
 	}
@@ -280,9 +280,9 @@ public class CmsAdminUserController {
 		}
 		// 生成token
 
-		StpUtil.login(admin.getId());
+		StpAbroadUtil.login(admin.getId());
 
-		String token = StpUtil.getTokenValue();
+		String token = StpAbroadUtil.getTokenValue();
 
 		admin.setPassword("");
 
@@ -303,7 +303,7 @@ public class CmsAdminUserController {
 
 	@GetMapping("/get/list")
 	public Result<SearchResult<CmsUserVO>> list(String roleNames) {
-		long userId = StpUtil.getLoginIdAsLong();
+		long userId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		if (StrUtil.isNotEmpty(roleNames) && roleNames.contains("客服")) {
 			CmsUser user = cmsUserManager.getUser(userId);
@@ -324,8 +324,8 @@ public class CmsAdminUserController {
 		if (cmsUser == null) {
 			return GatewayResponse.SUCCESS.newBuilder().toResult();
 		}
-		StpUtil.login(cmsUser.getId());
-		String token = StpUtil.getTokenValue();
+		StpAbroadUtil.login(cmsUser.getId());
+		String token = StpAbroadUtil.getTokenValue();
 		return GatewayResponse.SUCCESS.newBuilder().toResult(token);
 	}
 }

+ 2 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/cms/CmsMenuController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage.cms;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
@@ -102,7 +102,7 @@ public class CmsMenuController {
 
 	@GetMapping("/get/self/menu")
 	public Result<List<CmsMenuVO>> getSelfMenuList() {
-		List<CmsMenuVO> allSelf = cmsMenuMapper.getSelfCmsMenusList(StpUtil.getLoginIdAsLong());
+		List<CmsMenuVO> allSelf = cmsMenuMapper.getSelfCmsMenusList(StpAbroadUtil.getLoginIdAsLong());
 		Map<Long, List<CmsMenuVO>> idMenusMap = allSelf.stream().collect(Collectors.groupingBy(CmsMenu::getParentId));
 		List<CmsMenuVO> list = allSelf.stream().filter(vo -> vo.getParentId() == 0).collect(Collectors.toList());
 		for (CmsMenuVO cmsMenuVO : list) {

+ 7 - 7
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage.distribute;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
@@ -149,7 +149,7 @@ public class DistributeController {
 	 */
 	@GetMapping
 	public Result<SearchResult<UserDistributeViews>> distributeList(String nickname, String showId, String startTime, String endTime) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		//是否是商务人员
 		if (userBusinessRateService.isBusiness(adminId)) {
@@ -404,7 +404,7 @@ public class DistributeController {
 	 */
 	@GetMapping("/get/business/list")
 	public Result<SearchResult<DistributeBusinessView>> getDistributeBusinessView() {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		DateTime beginOfMonth = DateUtil.beginOfMonth(DateTime.now());
 		String thisMonth = beginOfMonth.toString("yyyy-MM");
@@ -426,7 +426,7 @@ public class DistributeController {
 	 */
 	@GetMapping("/get/businessList")
 	public Result<List<DistributeBusinessListVo>> getBusinessList() {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		//是否是商务人员
 		if (userBusinessRateService.isBusiness(adminId)) {
@@ -441,7 +441,7 @@ public class DistributeController {
 	 */
 	@GetMapping("/get/takeMoney/detail")
 	public Result<SearchResult<BusinessTakeMoneyDetail>> getTakeMoneyDetail(String firstMonthDate, String secondMonthDate) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		//是否是商务人员
 		if (userBusinessRateService.isBusiness(adminId)) {
@@ -475,7 +475,7 @@ public class DistributeController {
 	 */
 	@GetMapping("/get/business/headData")
 	public Result<BusinessTakeMoneyHeadView> getTakeMoneyHeadDetail(String firstMonthDate, String secondMonthDate) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		//是否是商务人员
 		if (userBusinessRateService.isBusiness(adminId)) {
@@ -647,7 +647,7 @@ public class DistributeController {
 	 */
 	@GetMapping("/get/business/data")
 	public Result<SearchResult<BusinessDistributesDataView>> getBusinessDistributesData(String startTime, String endTime) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		String time1Sql = StrUtil.EMPTY;
 		String time2Sql = StrUtil.EMPTY;

+ 2 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage.group;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.thread.ThreadUtil;
@@ -176,7 +176,7 @@ public class CmsGroupController {
      */
     @PutMapping("/account/replace")
     public Result<String> replaceTripsAccount(@RequestBody ReplaceTripsAccountReq req) {
-        long adminId = StpUtil.getLoginIdAsLong();
+        long adminId = StpAbroadUtil.getLoginIdAsLong();
         req.setAdminId(adminId);
         groupService.replaceTripsAccount(req);
         return GatewayResponse.SUCCESS.newBuilder().toResult("车队替换账号成功");

+ 2 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupRelationController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage.group;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
@@ -91,7 +91,7 @@ public class CmsGroupRelationController {
     @PostMapping("/set/recharge")
     @Transactional(rollbackFor = Throwable.class)
     public Result<String> updateRechargeStatus(@RequestBody GroupsRelationRechargeView rechargeView) {
-        long adminId = StpUtil.getLoginIdAsLong();
+        long adminId = StpAbroadUtil.getLoginIdAsLong();
         Long relationId = rechargeView.getRelationId();
         GroupsRelation relation = groupsRelationMapper.selectById(relationId);
         Assert.notNull(relation, "代充车票不存在");

+ 4 - 4
netflix-web/src/main/java/com/cyksj/web/controller/manage/sys/WorkOrderController.java

@@ -1,6 +1,6 @@
 package com.cyksj.web.controller.manage.sys;
 
-import cn.dev33.satoken.stp.StpUtil;
+import com.cyksj.web.util.StpAbroadUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -96,7 +96,7 @@ public class WorkOrderController {
 	 */
 	@PutMapping("/put")
 	public Result<String> putWorkOrderStatus(@RequestBody WorkOrder dto) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		Long id = dto.getId();
 		WorkOrder.Status status = dto.getStatus();
 		String remark = dto.getRemark();
@@ -136,7 +136,7 @@ public class WorkOrderController {
 	@PostMapping("/customer/reply")
 	@Transactional(rollbackFor = Throwable.class)
 	public Result<String> customerReplyWorkOrder(@RequestBody @Validated WorkOrderChatHistory history) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		//回复内容字数
 		Long workOrderId = history.getWorkOrderId();
 		WorkOrder workOrder = workOrderMapper.selectById(workOrderId);
@@ -177,7 +177,7 @@ public class WorkOrderController {
 	 */
 	@GetMapping("/export")
 	public void export(String nickname, String ids, HttpServletResponse response) {
-		long adminId = StpUtil.getLoginIdAsLong();
+		long adminId = StpAbroadUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		//是不是客服
 		CmsUserVO isCustomer = beanSearcher.searchFirst(CmsUserVO.class, MapUtils.builder()

+ 313 - 0
netflix-web/src/main/java/com/cyksj/web/util/StpAbroadUtil.java

@@ -0,0 +1,313 @@
+package com.cyksj.web.util;
+
+import cn.dev33.satoken.fun.SaFunction;
+import cn.dev33.satoken.session.SaSession;
+import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaTokenInfo;
+import cn.dev33.satoken.stp.StpLogic;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class StpAbroadUtil {
+	public static final String TYPE = "abroad";
+	public static StpLogic stpLogic = new StpLogic("abroad");
+
+	public StpAbroadUtil() {
+	}
+
+	public static String getLoginType() {
+		return stpLogic.getLoginType();
+	}
+
+	public static String getTokenName() {
+		return stpLogic.getTokenName();
+	}
+
+	public static void setTokenValue(String tokenValue, int cookieTimeout) {
+		stpLogic.setTokenValue(tokenValue, cookieTimeout);
+	}
+
+	public static String getTokenValue() {
+		return stpLogic.getTokenValue();
+	}
+
+	public static SaTokenInfo getTokenInfo() {
+		return stpLogic.getTokenInfo();
+	}
+
+	public static void login(Object id) {
+		stpLogic.login(id);
+	}
+
+	public static void login(Object id, String device) {
+		stpLogic.login(id, device);
+	}
+
+	public static void login(Object id, boolean isLastingCookie) {
+		stpLogic.login(id, isLastingCookie);
+	}
+
+	public static void login(Object id, SaLoginModel loginModel) {
+		stpLogic.login(id, loginModel);
+	}
+
+	public static void logout() {
+		stpLogic.logout();
+	}
+
+	public static void logoutByTokenValue(String tokenValue) {
+		stpLogic.logoutByTokenValue(tokenValue);
+	}
+
+	public static void logoutByLoginId(Object loginId) {
+		stpLogic.logoutByLoginId(loginId);
+	}
+
+	public static void logoutByLoginId(Object loginId, String device) {
+		stpLogic.logoutByLoginId(loginId, device);
+	}
+
+	public static boolean isLogin() {
+		return stpLogic.isLogin();
+	}
+
+	public static void checkLogin() {
+		stpLogic.checkLogin();
+	}
+
+	public static Object getLoginId() {
+		return stpLogic.getLoginId();
+	}
+
+	public static <T> T getLoginId(T defaultValue) {
+		return stpLogic.getLoginId(defaultValue);
+	}
+
+	public static Object getLoginIdDefaultNull() {
+		return stpLogic.getLoginIdDefaultNull();
+	}
+
+	public static String getLoginIdAsString() {
+		return stpLogic.getLoginIdAsString();
+	}
+
+	public static int getLoginIdAsInt() {
+		return stpLogic.getLoginIdAsInt();
+	}
+
+	public static long getLoginIdAsLong() {
+		return stpLogic.getLoginIdAsLong();
+	}
+
+	public static Object getLoginIdByToken(String tokenValue) {
+		return stpLogic.getLoginIdByToken(tokenValue);
+	}
+
+	public static SaSession getSessionByLoginId(Object loginId, boolean isCreate) {
+		return stpLogic.getSessionByLoginId(loginId, isCreate);
+	}
+
+	public static SaSession getSessionBySessionId(String sessionId) {
+		return stpLogic.getSessionBySessionId(sessionId);
+	}
+
+	public static SaSession getSessionByLoginId(Object loginId) {
+		return stpLogic.getSessionByLoginId(loginId);
+	}
+
+	public static SaSession getSession(boolean isCreate) {
+		return stpLogic.getSession(isCreate);
+	}
+
+	public static SaSession getSession() {
+		return stpLogic.getSession();
+	}
+
+	public static SaSession getTokenSessionByToken(String tokenValue) {
+		return stpLogic.getTokenSessionByToken(tokenValue);
+	}
+
+	public static SaSession getTokenSession() {
+		return stpLogic.getTokenSession();
+	}
+
+	public static void checkActivityTimeout() {
+		stpLogic.checkActivityTimeout();
+	}
+
+	public static void updateLastActivityToNow() {
+		stpLogic.updateLastActivityToNow();
+	}
+
+	public static long getTokenTimeout() {
+		return stpLogic.getTokenTimeout();
+	}
+
+	public static long getSessionTimeout() {
+		return stpLogic.getSessionTimeout();
+	}
+
+	public static long getTokenSessionTimeout() {
+		return stpLogic.getTokenSessionTimeout();
+	}
+
+	public static long getTokenActivityTimeout() {
+		return stpLogic.getTokenActivityTimeout();
+	}
+
+	public static boolean hasRole(Object loginId, String role) {
+		return stpLogic.hasRole(loginId, role);
+	}
+
+	public static boolean hasRole(String role) {
+		return stpLogic.hasRole(role);
+	}
+
+	public static void checkRole(String role) {
+		stpLogic.checkRole(role);
+	}
+
+	public static void checkRoleAnd(String... roleArray) {
+		stpLogic.checkRoleAnd(roleArray);
+	}
+
+	public static void checkRoleOr(String... roleArray) {
+		stpLogic.checkRoleOr(roleArray);
+	}
+
+	public static boolean hasPermission(Object loginId, String permission) {
+		return stpLogic.hasPermission(loginId, permission);
+	}
+
+	public static boolean hasPermission(String permission) {
+		return stpLogic.hasPermission(permission);
+	}
+
+	public static void checkPermission(String permission) {
+		stpLogic.checkPermission(permission);
+	}
+
+	public static void checkPermissionAnd(String... permissionArray) {
+		stpLogic.checkPermissionAnd(permissionArray);
+	}
+
+	public static void checkPermissionOr(String... permissionArray) {
+		stpLogic.checkPermissionOr(permissionArray);
+	}
+
+	public static String getTokenValueByLoginId(Object loginId) {
+		return stpLogic.getTokenValueByLoginId(loginId);
+	}
+
+	public static String getTokenValueByLoginId(Object loginId, String device) {
+		return stpLogic.getTokenValueByLoginId(loginId, device);
+	}
+
+	public static List<String> getTokenValueListByLoginId(Object loginId) {
+		return stpLogic.getTokenValueListByLoginId(loginId);
+	}
+
+	public static List<String> getTokenValueListByLoginId(Object loginId, String device) {
+		return stpLogic.getTokenValueListByLoginId(loginId, device);
+	}
+
+	public static String getLoginDevice() {
+		return stpLogic.getLoginDevice();
+	}
+
+	public static List<String> searchTokenValue(String keyword, int start, int size) {
+		return stpLogic.searchTokenValue(keyword, start, size);
+	}
+
+	public static List<String> searchSessionId(String keyword, int start, int size) {
+		return stpLogic.searchSessionId(keyword, start, size);
+	}
+
+	public static List<String> searchTokenSessionId(String keyword, int start, int size) {
+		return stpLogic.searchTokenSessionId(keyword, start, size);
+	}
+
+	public static void disable(Object loginId, long disableTime) {
+		stpLogic.disable(loginId, disableTime);
+	}
+
+	public static boolean isDisable(Object loginId) {
+		return stpLogic.isDisable(loginId);
+	}
+
+	public static long getDisableTime(Object loginId) {
+		return stpLogic.getDisableTime(loginId);
+	}
+
+	public static void untieDisable(Object loginId) {
+		stpLogic.untieDisable(loginId);
+	}
+
+	public static void switchTo(Object loginId) {
+		stpLogic.switchTo(loginId);
+	}
+
+	public static void endSwitch() {
+		stpLogic.endSwitch();
+	}
+
+	public static boolean isSwitch() {
+		return stpLogic.isSwitch();
+	}
+
+	public static void switchTo(Object loginId, SaFunction function) {
+		stpLogic.switchTo(loginId, function);
+	}
+
+	public static void openSafe(long safeTime) {
+		stpLogic.openSafe(safeTime);
+	}
+
+	public static boolean isSafe() {
+		return stpLogic.isSafe();
+	}
+
+	public static void checkSafe() {
+		stpLogic.checkSafe();
+	}
+
+	public static long getSafeTime() {
+		return stpLogic.getSafeTime();
+	}
+
+	public static void closeSafe() {
+		stpLogic.closeSafe();
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public static String getLoginKey() {
+		return stpLogic.getLoginType();
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public static void setLoginId(Object loginId) {
+		stpLogic.login(loginId);
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public static void setLoginId(Object loginId, String device) {
+		stpLogic.login(loginId, device);
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public static void setLoginId(Object loginId, boolean isLastingCookie) {
+		stpLogic.login(loginId, isLastingCookie);
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public static void setLoginId(Object loginId, SaLoginModel loginModel) {
+		stpLogic.login(loginId, loginModel);
+	}
+}