| src/main/java/org/springblade/modules/system/controller/UserController.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/excel/SecurityImporter.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/service/IUserService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | ●●●●● patch | view | raw | blame | history |
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -53,6 +53,7 @@ import org.springblade.modules.system.entity.Dept; import org.springblade.modules.system.entity.Role; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.excel.SecurityImporter; import org.springblade.modules.system.excel.UserExcel; import org.springblade.modules.system.excel.UserImporter; import org.springblade.modules.system.node.TreeNode; @@ -297,6 +298,19 @@ return R.success("操作成功"); } /** * 导入保安员 */ @PostMapping("import-security") @ApiOperationSupport(order = 12) @ApiOperation(value = "导入用户", notes = "传入excel") public R importSecurity(MultipartFile file, Integer isCovered) { SecurityImporter securityImporter = new SecurityImporter(userService, false); ExcelUtil.save(file, securityImporter, UserExcel.class); return R.success("操作成功"); } // /** // * 导出用户 // */ @@ -324,6 +338,17 @@ ExcelUtil.export(response, "用户数据模板", "用户数据表", list, UserExcel.class); } /** * 保安员导出模板 */ @GetMapping("export-template-security") @ApiOperationSupport(order = 14) @ApiOperation(value = "导出模板") public void exportSecurity(HttpServletResponse response) { List<UserExcel> list = new ArrayList<>(); ExcelUtil.export(response, "保安员导入数据模板", "保安员数据表", list, UserExcel.class); } /** * 第三方注册用户 src/main/java/org/springblade/modules/system/excel/SecurityImporter.java
New file @@ -0,0 +1,40 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.system.excel; import lombok.RequiredArgsConstructor; import org.springblade.core.excel.support.ExcelImporter; import org.springblade.modules.system.service.IUserService; import java.util.List; /** * 用户数据导入类 * * @author Chill */ @RequiredArgsConstructor public class SecurityImporter implements ExcelImporter<UserExcel> { private final IUserService service; private final Boolean isCovered; @Override public void save(List<UserExcel> data) { service.importSecurity(data, isCovered); } } src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -277,4 +277,11 @@ UserVO getUserAgeById(Long userId); List<Map<String, Object>> selectUser(); /** * 导入保安员 * @param data * @param isCovered */ void importSecurity(List<UserExcel> data, Boolean isCovered); } src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -304,9 +304,7 @@ data.forEach(userExcel -> { User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class)); // 设置租户ID if (!AuthUtil.isAdministrator() || StringUtil.isBlank(user.getTenantId())) { user.setTenantId(AuthUtil.getTenantId()); } user.setTenantId("000000"); if (null != userExcel.getStatus() && userExcel.getStatus() != "") { if (userExcel.getStatus().equals("在职")) { user.setStatus(1); @@ -316,10 +314,28 @@ } if (userExcel.getSex().equals("男性")) { user.setSex(1); } else { } if (userExcel.getSex().equals("女性")){ user.setSex(2); } user.setRoleId("1412226235153731586"); //判断是否持证 if (null != userExcel.getHold() && userExcel.getHold() != "") { if (userExcel.getHold().equals("是")) { user.setHold("1"); //分配保安角色 Role role = new Role(); role.setRoleAlias("保安"); Role oneRole = roleService.getOne(Condition.getQueryWrapper(role)); user.setRoleId(oneRole.getId().toString()); } if(userExcel.getHold().equals("否")) { user.setHold("2"); Role role = new Role(); role.setRoleAlias("未持证保安"); Role oneRole = roleService.getOne(Condition.getQueryWrapper(role)); user.setRoleId(oneRole.getId().toString()); } } String deptname = user.getDeptId(); String id = userDeptService.selectIn(deptname); user.setDeptId(id); @@ -523,4 +539,56 @@ return baseMapper.selectUser(); } /** * 导入保安员 * @param data * @param isCovered */ @Override @Transactional(rollbackFor = Exception.class) public void importSecurity(List<UserExcel> data, Boolean isCovered) { data.forEach(userExcel -> { User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class)); // 设置租户ID user.setTenantId("000000"); if (null != userExcel.getStatus() && userExcel.getStatus() != "") { if (userExcel.getStatus().equals("在职")) { user.setStatus(1); } else { user.setStatus(2); } } //判断是否持证 if (null != userExcel.getHold() && userExcel.getHold() != "") { if (userExcel.getHold().equals("是")) { user.setHold("1"); //分配保安角色 Role role = new Role(); role.setRoleAlias("保安"); Role oneRole = roleService.getOne(Condition.getQueryWrapper(role)); user.setRoleId(oneRole.getId().toString()); } if(userExcel.getHold().equals("否")) { user.setHold("2"); Role role = new Role(); role.setRoleAlias("未持证保安"); Role oneRole = roleService.getOne(Condition.getQueryWrapper(role)); user.setRoleId(oneRole.getId().toString()); } } if (userExcel.getSex().equals("男性")) { user.setSex(1); } else { user.setSex(2); } String deptname = user.getDeptId(); String id = userDeptService.selectIn(deptname); user.setDeptId(id); //获取默认密码配置 String initPassword = ParamCache.getValue(DEFAULT_PARAM_PASSWORD); user.setPassword(initPassword); this.submit(user); }); } }