新增账号导出的接口

yun-zuoyi
nies 4 years ago
parent 6864f585b9
commit f6a3e617cd

@ -202,6 +202,13 @@ public interface ISysUserService {
List<SysUser> querySysUserByOrganizeCode(String orgCode);
/**
*
* @param sysUser
* @return
*/
List<SysUser> querySysUser(SysUser sysUser);
/**
* id
*
* @param id

@ -21,6 +21,8 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.AccountExportModel;
import cn.estsh.i3plus.pojo.model.platform.UserExportModel;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment;
@ -61,6 +63,9 @@ import java.io.OutputStream;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Description :
@ -736,4 +741,65 @@ public class SysUserController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/export")
@ApiOperation(value = "导出账号信息", notes = "导出账号信息")
public void exportSysUserInfo(SysUser sysUser, HttpServletResponse response) throws Exception {
File file = null;
if (sysUser == null) {
sysUser = new SysUser();
}
try {
//设置默认值
sysUser.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
sysUser.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
sysUser.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue());
List<SysUser> list = sysUserService.querySysUser(sysUser);
List<AccountExportModel> exportModelList = new ArrayList<>();
List<SysRefUserRole> sysRefUserRoleList;
StringBuilder roleName;
for (SysUser user : list) {
exportModelList.add(new AccountExportModel(
user.getUserName(),
user.getUserLoginName(),
user.getUserEmail(),
user.getUserPhone(),
user.getDepartmentNameRdd(),
user.getUserLoginNum(),
user.getUserLoginLastDateTime(),
user.getUserStatus()));
}
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String fileName = "user-" + System.currentTimeMillis() + ".xls";
file = new File(fileName);
file.createNewFile();
File excle = excelTool.exportData(file, exportModelList, AccountExportModel.class
, (LinkedHashMap<String, String>) ExcelTool.getColName(AccountExportModel.class));
response.setContentType("application/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名
response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName, true)));
// 设置文件名
try (BufferedInputStream bis = new BufferedInputStream(new DataInputStream(new FileInputStream(excle)))) {
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
} catch (Exception e) {
LOGGER.error("用户日志导出异常", e);
}
} finally {
FileUtils.deleteQuietly(file);
}
}
}

@ -19,6 +19,7 @@ import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.mdm.sqlpack.DdlMdmBusiPreparedPack;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.repository.SysLogUserLoginRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserDepartmentRepository;
@ -544,6 +545,12 @@ public class SysUserService implements ISysUserService {
}
@Override
public List<SysUser> querySysUser(SysUser sysUser) {
DdlPackBean ddlPackBean = CoreHqlPack.packDdlSysUser(sysUser);
return userRDao.findByHqlWhere(ddlPackBean);
}
@Override
@ApiOperation(value = "账号查询", notes = "根据ID 查询账号信息")
public SysUser getSysUserById(Long id) {
LOGGER.debug("平台用户 SYS_USER get By id :{}", id);

Loading…
Cancel
Save