mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-11-11 05:03:47 +08:00
sa-token add login
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
package net.lab1024.sa.admin.interceptor;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.convert.NumberWithFormat;
|
||||
import net.lab1024.sa.common.common.domain.RequestUser;
|
||||
import net.lab1024.sa.common.common.enumeration.UserTypeEnum;
|
||||
import net.lab1024.sa.common.common.interceptor.AbstractInterceptor;
|
||||
import net.lab1024.sa.common.common.util.SmartEnumUtil;
|
||||
import net.lab1024.sa.common.handler.GlobalExceptionHandler;
|
||||
import net.lab1024.sa.common.module.support.token.TokenService;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* admin 拦截器
|
||||
*
|
||||
* @author: listen
|
||||
* @date: 2023/7/12 21:00
|
||||
*/
|
||||
@Configuration
|
||||
public class AdminInterceptor extends AbstractInterceptor {
|
||||
|
||||
@Override
|
||||
public RequestUser checkTokenAndGetUser() {
|
||||
/**
|
||||
* 检验当前会话是否已经登录, 如果未登录,则抛出异常:`NotLoginException`
|
||||
* 已在全局异常处理
|
||||
* @see GlobalExceptionHandler#handlerNotLoginException
|
||||
*/
|
||||
StpUtil.checkLogin();
|
||||
|
||||
// 获取额外数据
|
||||
Integer userType = ((NumberWithFormat) StpUtil.getExtra(TokenService.EXTRA_KEY_USER_TYPE)).intValue();
|
||||
UserTypeEnum userTypeEnum = SmartEnumUtil.getEnumByValue(userType, UserTypeEnum.class);
|
||||
String userName = (String) StpUtil.getExtra(TokenService.EXTRA_KEY_USER_NAME);
|
||||
String loginId = (String) StpUtil.getLoginId();
|
||||
|
||||
// 当前请求对象
|
||||
RequestUser requestUser = new RequestUser();
|
||||
requestUser.setUserId(TokenService.getUserId(loginId));
|
||||
requestUser.setUserName(userName);
|
||||
requestUser.setUserType(userTypeEnum);
|
||||
return requestUser;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置拦截路径
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String[] pathPatterns() {
|
||||
return new String[]{"/**"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
boolean isHandle = super.preHandle(request, response, handler);
|
||||
if (!isHandle) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO listen 校验权限
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,6 @@ import net.lab1024.sa.admin.module.business.oa.enterprise.domain.form.*;
|
||||
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseEmployeeVO;
|
||||
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseListVO;
|
||||
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseVO;
|
||||
import net.lab1024.sa.common.common.annoation.SaAuth;
|
||||
import net.lab1024.sa.common.common.domain.PageResult;
|
||||
import net.lab1024.sa.common.common.domain.RequestUser;
|
||||
import net.lab1024.sa.common.common.domain.ResponseDTO;
|
||||
@@ -40,21 +39,18 @@ public class EnterpriseController {
|
||||
|
||||
@ApiOperation(value = "分页查询企业模块 @author 开云")
|
||||
@PostMapping("/oa/enterprise/page/query")
|
||||
@SaAuth
|
||||
public ResponseDTO<PageResult<EnterpriseVO>> queryByPage(@RequestBody @Valid EnterpriseQueryForm queryDTO) {
|
||||
return enterpriseService.queryByPage(queryDTO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询企业详情 @author 开云")
|
||||
@GetMapping("/oa/enterprise/get/{enterpriseId}")
|
||||
@SaAuth
|
||||
public ResponseDTO<EnterpriseVO> getDetail(@PathVariable Long enterpriseId) {
|
||||
return ResponseDTO.ok(enterpriseService.getDetail(enterpriseId));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新建企业 @author 开云")
|
||||
@PostMapping("/oa/enterprise/create")
|
||||
@SaAuth
|
||||
public ResponseDTO<String> createEnterprise(@RequestBody @Valid EnterpriseCreateForm createVO) {
|
||||
RequestUser requestUser = SmartRequestUtil.getUser();
|
||||
createVO.setCreateUserId(requestUser.getUserId());
|
||||
@@ -64,21 +60,18 @@ public class EnterpriseController {
|
||||
|
||||
@ApiOperation(value = "编辑企业 @author 开云")
|
||||
@PostMapping("/oa/enterprise/update")
|
||||
@SaAuth
|
||||
public ResponseDTO<String> updateEnterprise(@RequestBody @Valid EnterpriseUpdateForm updateVO) {
|
||||
return enterpriseService.updateEnterprise(updateVO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除企业 @author 开云")
|
||||
@GetMapping("/oa/enterprise/delete/{enterpriseId}")
|
||||
@SaAuth
|
||||
public ResponseDTO<String> deleteEnterprise(@PathVariable Long enterpriseId) {
|
||||
return enterpriseService.deleteEnterprise(enterpriseId);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "企业列表查询 @author 开云")
|
||||
@GetMapping("/oa/enterprise/query/list")
|
||||
@SaAuth
|
||||
public ResponseDTO<List<EnterpriseListVO>> queryList(@RequestParam(value = "type", required = false) Integer type) {
|
||||
return enterpriseService.queryList(type);
|
||||
}
|
||||
@@ -86,21 +79,18 @@ public class EnterpriseController {
|
||||
|
||||
@ApiOperation(value = "企业添加员工 @author 罗伊")
|
||||
@PostMapping("/oa/enterprise/employee/add")
|
||||
@SaAuth
|
||||
public ResponseDTO<String> addEmployee(@RequestBody @Valid EnterpriseEmployeeForm enterpriseEmployeeForm) {
|
||||
return enterpriseService.addEmployee(enterpriseEmployeeForm);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询企业全部员工 @author 罗伊")
|
||||
@PostMapping("/oa/enterprise/employee/list")
|
||||
@SaAuth
|
||||
public ResponseDTO<List<EnterpriseEmployeeVO>> employeeList(@RequestBody @Valid List<Long> enterpriseIdList) {
|
||||
return ResponseDTO.ok(enterpriseService.employeeList(enterpriseIdList));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "分页查询企业员工 @author 卓大")
|
||||
@PostMapping("/oa/enterprise/employee/queryPage")
|
||||
@SaAuth
|
||||
public ResponseDTO<PageResult<EnterpriseEmployeeVO>> queryPageEmployeeList(@RequestBody @Valid EnterpriseEmployeeQueryForm queryForm) {
|
||||
return ResponseDTO.ok(enterpriseService.queryPageEmployeeList(queryForm));
|
||||
}
|
||||
@@ -108,7 +98,6 @@ public class EnterpriseController {
|
||||
|
||||
@ApiOperation(value = "企业删除员工 @author 罗伊")
|
||||
@PostMapping("/oa/enterprise/employee/delete")
|
||||
@SaAuth
|
||||
public ResponseDTO<String> deleteEmployee(@RequestBody @Valid EnterpriseEmployeeForm enterpriseEmployeeForm) {
|
||||
return enterpriseService.deleteEmployee(enterpriseEmployeeForm);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.*;
|
||||
import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeEmployeeService;
|
||||
import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeService;
|
||||
import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeTypeService;
|
||||
import net.lab1024.sa.common.common.annoation.SaAuth;
|
||||
import net.lab1024.sa.common.common.domain.PageResult;
|
||||
import net.lab1024.sa.common.common.domain.ResponseDTO;
|
||||
import net.lab1024.sa.common.common.util.SmartRequestUtil;
|
||||
@@ -73,7 +72,6 @@ public class NoticeController {
|
||||
|
||||
@ApiOperation("【管理】通知公告-分页查询 @author 卓大")
|
||||
@PostMapping("/oa/notice/query")
|
||||
@SaAuth
|
||||
public ResponseDTO<PageResult<NoticeVO>> query(@RequestBody @Valid NoticeQueryForm queryForm) {
|
||||
return ResponseDTO.ok(noticeService.query(queryForm));
|
||||
}
|
||||
@@ -81,7 +79,6 @@ public class NoticeController {
|
||||
@ApiOperation("【管理】通知公告-添加 @author 卓大")
|
||||
@PostMapping("/oa/notice/add")
|
||||
@RepeatSubmit
|
||||
@SaAuth
|
||||
public ResponseDTO<String> add(@RequestBody @Valid NoticeAddForm addForm) {
|
||||
addForm.setCreateUserId(SmartRequestUtil.getUserId());
|
||||
return noticeService.add(addForm);
|
||||
@@ -90,21 +87,18 @@ public class NoticeController {
|
||||
@ApiOperation("【管理】通知公告-更新 @author 卓大")
|
||||
@PostMapping("/oa/notice/update")
|
||||
@RepeatSubmit
|
||||
@SaAuth
|
||||
public ResponseDTO<String> update(@RequestBody @Valid NoticeUpdateForm updateForm) {
|
||||
return noticeService.update(updateForm);
|
||||
}
|
||||
|
||||
@ApiOperation("【管理】通知公告-更新详情 @author 卓大")
|
||||
@GetMapping("/oa/notice/getUpdateVO/{noticeId}")
|
||||
@SaAuth
|
||||
public ResponseDTO<NoticeUpdateFormVO> getUpdateFormVO(@PathVariable Long noticeId) {
|
||||
return ResponseDTO.ok(noticeService.getUpdateFormVO(noticeId));
|
||||
}
|
||||
|
||||
@ApiOperation("【管理】通知公告-删除 @author 卓大")
|
||||
@GetMapping("/oa/notice/delete/{noticeId}")
|
||||
@SaAuth
|
||||
public ResponseDTO<String> delete(@PathVariable Long noticeId) {
|
||||
return noticeService.delete(noticeId);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import net.lab1024.sa.admin.module.system.menu.domain.vo.MenuVO;
|
||||
import net.lab1024.sa.common.common.domain.RequestUser;
|
||||
import net.lab1024.sa.common.common.enumeration.GenderEnum;
|
||||
import net.lab1024.sa.common.common.enumeration.UserTypeEnum;
|
||||
import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
|
||||
@@ -22,7 +21,7 @@ import java.util.List;
|
||||
* @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
|
||||
*/
|
||||
@Data
|
||||
public class LoginEmployeeDetail implements RequestUser {
|
||||
public class LoginEmployeeDetail {
|
||||
|
||||
@ApiModelProperty("token")
|
||||
private String token;
|
||||
@@ -74,14 +73,4 @@ public class LoginEmployeeDetail implements RequestUser {
|
||||
|
||||
@ApiModelProperty("请求user-agent")
|
||||
private String userAgent;
|
||||
|
||||
@Override
|
||||
public Long getUserId() {
|
||||
return employeeId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserName() {
|
||||
return actualName;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -38,10 +39,6 @@ public class MenuService {
|
||||
|
||||
@Autowired
|
||||
private MenuDao menuDao;
|
||||
|
||||
@Autowired
|
||||
private List<RequestUrlVO> authUrl;
|
||||
|
||||
/**
|
||||
* 添加菜单
|
||||
*
|
||||
@@ -284,7 +281,8 @@ public class MenuService {
|
||||
* @return
|
||||
*/
|
||||
public ResponseDTO<List<RequestUrlVO>> getAuthUrl() {
|
||||
return ResponseDTO.ok(authUrl);
|
||||
// TODO listen
|
||||
return ResponseDTO.ok(Collections.emptyList());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user