Merge branch 'master' of gitee.com:youlaiorg/youlai-boot
This commit is contained in:
@@ -8,7 +8,7 @@ import java.util.Set;
|
|||||||
* 由 system 模块提供适配器实现,framework 层通过此接口获取角色权限集合,
|
* 由 system 模块提供适配器实现,framework 层通过此接口获取角色权限集合,
|
||||||
* 不直接依赖 system 模块的 {@code RoleMenuService}。
|
* 不直接依赖 system 模块的 {@code RoleMenuService}。
|
||||||
*
|
*
|
||||||
* @see com.youlai.boot.system.security.port.PermissionAdapter
|
* @see com.youlai.boot.system.security.adapter.PermissionAdapter
|
||||||
*/
|
*/
|
||||||
public interface PermissionPort {
|
public interface PermissionPort {
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import com.youlai.boot.framework.security.model.SecurityUser;
|
|||||||
* 由 system 模块提供适配器实现,framework 层通过此接口获取认证数据,
|
* 由 system 模块提供适配器实现,framework 层通过此接口获取认证数据,
|
||||||
* 不直接依赖 system 模块的 {@code UserService} / {@code UserSocialService}。
|
* 不直接依赖 system 模块的 {@code UserService} / {@code UserSocialService}。
|
||||||
*
|
*
|
||||||
* @see com.youlai.boot.system.security.port.UserAuthenticationAdapter
|
* @see com.youlai.boot.system.security.adapter.UserAuthenticationAdapter
|
||||||
*/
|
*/
|
||||||
public interface UserAuthenticationPort {
|
public interface UserAuthenticationPort {
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import com.youlai.boot.common.result.ExcelResult;
|
|||||||
import com.youlai.boot.common.result.PageResult;
|
import com.youlai.boot.common.result.PageResult;
|
||||||
import com.youlai.boot.common.result.Result;
|
import com.youlai.boot.common.result.Result;
|
||||||
import com.youlai.boot.common.util.ExcelUtils;
|
import com.youlai.boot.common.util.ExcelUtils;
|
||||||
import com.youlai.boot.system.listener.UserImportListener;
|
import com.youlai.boot.system.service.UserImportReader;
|
||||||
import com.youlai.boot.system.model.form.EmailUpdateForm;
|
import com.youlai.boot.system.model.form.EmailUpdateForm;
|
||||||
import com.youlai.boot.system.model.form.MobileUpdateForm;
|
import com.youlai.boot.system.model.form.MobileUpdateForm;
|
||||||
import com.youlai.boot.system.model.form.PasswordUpdateForm;
|
import com.youlai.boot.system.model.form.PasswordUpdateForm;
|
||||||
@@ -184,9 +184,9 @@ public class UserController {
|
|||||||
@PreAuthorize("@ss.hasPerm('sys:user:import')")
|
@PreAuthorize("@ss.hasPerm('sys:user:import')")
|
||||||
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.IMPORT)
|
@Log(module = LogModuleEnum.USER, value = ActionTypeEnum.IMPORT)
|
||||||
public Result<ExcelResult> importUsers(MultipartFile file) throws IOException {
|
public Result<ExcelResult> importUsers(MultipartFile file) throws IOException {
|
||||||
UserImportListener listener = new UserImportListener();
|
UserImportReader reader = new UserImportReader();
|
||||||
ExcelUtils.importExcel(file.getInputStream(), UserImportForm.class, listener);
|
ExcelUtils.importExcel(file.getInputStream(), UserImportForm.class, reader);
|
||||||
return Result.success(listener.getExcelResult());
|
return Result.success(reader.getExcelResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "导出用户")
|
@Operation(summary = "导出用户")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.boot.system.job;
|
package com.youlai.boot.system.schedule;
|
||||||
|
|
||||||
import com.youlai.boot.support.sse.SseService;
|
import com.youlai.boot.support.sse.SseService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.youlai.boot.system.schedule;
|
||||||
|
|
||||||
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* XXL-JOB 示例任务。
|
||||||
|
* <p>
|
||||||
|
* 需在调度中心配置同名任务后方可执行。
|
||||||
|
*
|
||||||
|
* @author Ray.Hao
|
||||||
|
* @since 3.1.0
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class XxlJobSample {
|
||||||
|
|
||||||
|
@XxlJob("sampleJob")
|
||||||
|
public void execute() {
|
||||||
|
log.info("XXL-JOB 示例任务执行");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.boot.system.security.port;
|
package com.youlai.boot.system.security.adapter;
|
||||||
|
|
||||||
import com.youlai.boot.framework.security.port.PermissionPort;
|
import com.youlai.boot.framework.security.port.PermissionPort;
|
||||||
import com.youlai.boot.system.service.RoleMenuService;
|
import com.youlai.boot.system.service.RoleMenuService;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.boot.system.security.port;
|
package com.youlai.boot.system.security.adapter;
|
||||||
|
|
||||||
import com.youlai.boot.common.enums.SocialPlatformEnum;
|
import com.youlai.boot.common.enums.SocialPlatformEnum;
|
||||||
import com.youlai.boot.framework.security.model.SecurityUser;
|
import com.youlai.boot.framework.security.model.SecurityUser;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.boot.system.listener;
|
package com.youlai.boot.system.service;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
@@ -17,7 +17,6 @@ import com.youlai.boot.system.enums.DictCodeEnum;
|
|||||||
import com.youlai.boot.system.model.entity.SysUser;
|
import com.youlai.boot.system.model.entity.SysUser;
|
||||||
import com.youlai.boot.system.model.entity.*;
|
import com.youlai.boot.system.model.entity.*;
|
||||||
import com.youlai.boot.system.model.form.UserImportForm;
|
import com.youlai.boot.system.model.form.UserImportForm;
|
||||||
import com.youlai.boot.system.service.*;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
@@ -28,15 +27,15 @@ import java.util.List;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户导入监听器
|
* 用户导入读取器。
|
||||||
* <p>
|
* <p>
|
||||||
* <a href="https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read#%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84%E8%AF%BB%E7%9A%84%E7%9B%91%E5%90%AC%E5%99%A8">最简单的读的监听器</a>
|
* 基于 EasyExcel 的 {@link AnalysisEventListener},逐行读取 Excel 并完成校验、持久化。
|
||||||
*
|
*
|
||||||
* @author Ray
|
* @author Ray
|
||||||
* @since 2022/4/10
|
* @since 2022/4/10
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class UserImportListener extends AnalysisEventListener<UserImportForm> {
|
public class UserImportReader extends AnalysisEventListener<UserImportForm> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Excel 导入结果
|
* Excel 导入结果
|
||||||
@@ -62,7 +61,7 @@ public class UserImportListener extends AnalysisEventListener<UserImportForm> {
|
|||||||
* 构造方法
|
* 构造方法
|
||||||
* <p>在构造方法中给需要查询的内容查询好,尽量避免每条数据查询一次</p>
|
* <p>在构造方法中给需要查询的内容查询好,尽量避免每条数据查询一次</p>
|
||||||
*/
|
*/
|
||||||
public UserImportListener() {
|
public UserImportReader() {
|
||||||
this.userService = SpringUtil.getBean(UserService.class);
|
this.userService = SpringUtil.getBean(UserService.class);
|
||||||
this.passwordEncoder = SpringUtil.getBean(PasswordEncoder.class);
|
this.passwordEncoder = SpringUtil.getBean(PasswordEncoder.class);
|
||||||
this.userRoleService = SpringUtil.getBean(UserRoleService.class);
|
this.userRoleService = SpringUtil.getBean(UserRoleService.class);
|
||||||
Reference in New Issue
Block a user