金山导出账号清单增加选择角色功能

yun-zuoyi
jiajia 1 year ago
parent cd43adcf3e
commit 8c0da0ab44

@ -18,6 +18,7 @@ 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.base.util.StringUtil;
import cn.estsh.i3plus.pojo.model.common.ExportDataModel;
import cn.estsh.i3plus.pojo.model.platform.AccountExportModel;
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserModel;
@ -507,7 +508,12 @@ public class SysUserController extends CoreBaseController {
ValidatorBean.checkNotNull("ColName", model.getExportCol());
LinkedHashMap<String, String> exportColMap = JSON.parseObject(model.getExportCol(), LinkedHashMap.class);
//查询所有账号
List<SysUser> list = sysUserService.listWithRole();
List<SysUser> list ;
if (StringUtil.isEmpty(model.getRoleId())) {
list = sysUserService.listWithRole();
} else {
list = sysUserService.listWithRoleByRoleId(Long.parseLong(model.getRoleId()));
}
List<SysUser> sysUserList = sysUserService.findSysUserStatusRdd(list);
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
@ -518,7 +524,7 @@ public class SysUserController extends CoreBaseController {
, exportColMap);
response.setContentType("applicatioref-menun/force-download"); // 设置强制下载不打开
response.setCharacterEncoding("UTF-8");
// response.setCharacterEncoding("UTF-8");
response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8")); // 设置文件名
response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName, true)));

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.daoimpl;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService;
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.platform.bean.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -47,8 +49,17 @@ public class UserPermissionDaoImpl implements IUserPermissionDao {
String hql = "select sr from SysRefUserRole as rur " +
" left join SysRole as sr on sr.id = rur.roleId" +
" where rur.userId =:userId";
StringBuilder hqlBuilder = new StringBuilder(hql);
if (!StringUtil.isEmpty(user.getRoleId())) {
hqlBuilder.append(" and rur.roleId = :roleId");
}
TypedQuery<SysRole> query = entityManager.createQuery(hqlBuilder.toString(), SysRole.class)
.setParameter("userId", user.getId());
if (!StringUtil.isEmpty(user.getRoleId())) {
query.setParameter("roleId", user.getRoleId());
}
//hql = "select rur from RefUserRole as rur,SysRole as where rur.userId =:userId and sr.id = rur.roleId";
return entityManager.createQuery(hql).setParameter("userId",user.getId()).getResultList();
return query.getResultList();
}
@Override

@ -727,6 +727,50 @@ public class SysUserService implements ISysUserService {
}
/**
*
*
* @return
*/
@Override
public List<SysUser> listWithRoleByRoleId(Long roleId) {
LOGGER.debug("平台用户 SYS_USER listByUserOrganizeCode");
List<SysUser> byProperty = userRDao.findByProperty(
new String[]{"isDeleted", "isValid", "organizeCode"},
new Object[]{
CommonEnumUtil.IS_DEAL.NO.getValue(),
CommonEnumUtil.IS_VAILD.VAILD.getValue(),
AuthUtil.getOrganize().getOrganizeCode()
});
List<SysUser> usersToRemove = new ArrayList<>();
byProperty.stream().forEach(user -> {
if(!StringUtil.isEmpty(user)){
if (!StringUtil.isEmpty(roleId)) {
user.setRoleId(roleId);
}
List<SysRole> sysRoleByUser = userPermissionDao.findSysRoleByUser(user);
if (StringUtil.isEmpty(sysRoleByUser) || sysRoleByUser.size()<=0) {
user.setRoleMessage("");
if (!StringUtil.isEmpty(roleId)) {
usersToRemove.add(user);
}
} else {
StringBuilder roleMessage = new StringBuilder();
for (SysRole sysRole : sysRoleByUser) {
if(!StringUtil.isEmpty(sysRole)) {
roleMessage.append(",").append(sysRole.getName());
}
}
if (roleMessage.length() > 0) {
user.setRoleMessage(roleMessage.substring(1));
}
}
}
});
byProperty.removeAll(usersToRemove);
return byProperty;
}
/**
*
*
* @return

Loading…
Cancel
Save