导出优化:用户角色菜单关系和操作内容

yun-zuoyi
yanyujia 2 years ago
parent 2175763d22
commit d526d03273

@ -0,0 +1,23 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.platform.bean.SysLogRoleMenuChange;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yujia
* @CreateDate : 2022-12-12 15:34
* @Modify:
**/
public interface ISysLogRoleMenuChangeService {
/**
*
* @param startDatetime
* @param endDatetime
* @return
*/
List<SysLogRoleMenuChange> findLogsBetweenDatetime(String startDatetime, String endDatetime);
}

@ -97,4 +97,13 @@ public interface ISysRoleService extends ICrudService<SysRole> {
*/ */
@ApiOperation(value = "新增用户角色变更日志通过描述") @ApiOperation(value = "新增用户角色变更日志通过描述")
SysLogRoleOperate insertSysLogRoleOperate(SysRole sysRole, String statusDecription); SysLogRoleOperate insertSysLogRoleOperate(SysRole sysRole, String statusDecription);
/**
* sysLogRoleMenuChange
*
* @param sysLogRoleMenuChange
* @return
*/
@ApiOperation(value = "新增角色菜单权限变更日志")
SysLogRoleMenuChange insertSysLogRoleMenuChange(SysLogRoleMenuChange sysLogRoleMenuChange);
} }

@ -493,5 +493,5 @@ public interface ISysUserService {
* @return * @return
*/ */
@ApiOperation(value = "获取批量长时间未登录账号信息", notes = "查询用户信息-批量根据登录名称查询") @ApiOperation(value = "获取批量长时间未登录账号信息", notes = "查询用户信息-批量根据登录名称查询")
List<SysUser> findUserNotLoginLongTime(String startDate, String endDate); List<SysUser> findUserNotLoginLongTime(String startDate);
} }

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.controller.busi; package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLogRoleMenuChangeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLogRoleOperateService; import cn.estsh.i3plus.core.api.iservice.busi.ISysLogRoleOperateService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -81,6 +82,9 @@ public class SysRoleController extends CrudBaseController<SysRole> {
private ISysLogRoleOperateService sysLogRoleOperateService; private ISysLogRoleOperateService sysLogRoleOperateService;
@Autowired @Autowired
private ISysLogRoleMenuChangeService sysLogRoleMenuChangeService;
@Autowired
private EntityManager entityManager; private EntityManager entityManager;
@Resource(name = CommonConstWords.IMPP_REDIS_RES) @Resource(name = CommonConstWords.IMPP_REDIS_RES)
@ -605,7 +609,61 @@ public class SysRoleController extends CrudBaseController<SysRole> {
i = bis.read(buffer); i = bis.read(buffer);
} }
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("用户长时间未登录日志导出异常", e); LOGGER.error("角色操作变更日志导出异常", e);
}
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(list);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} finally {
if (file != null) {
FileUtils.deleteQuietly(file);
}
}
}
@PostMapping(value = "/export/role-menu-change")
@ApiOperation(value = "导出角色权限变更日志", notes = "导出角色权限变更日志")
public ResultBean exportroleMenuChange(@RequestBody ExportDataModel model, HttpServletResponse response) {
File file = null;
try {
ValidatorBean.checkNotNull("ColName", model.getExportCol());
ValidatorBean.checkNotNull("startDate", model.getStartDate());
ValidatorBean.checkNotNull("endDate", model.getEndDate());
final String ZERO_TIME = " 00:00:00";
final String LAST_TIME = " 23:59:59";
StringBuilder startTime = new StringBuilder(model.getStartDate()).append(ZERO_TIME);
StringBuilder endTime = new StringBuilder(model.getEndDate()).append(LAST_TIME);
LinkedHashMap<String, String> exportColMap = JSON.parseObject(model.getExportCol(), LinkedHashMap.class);
List<SysLogRoleMenuChange> list = sysLogRoleMenuChangeService.findLogsBetweenDatetime(startTime.toString(), endTime.toString());
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String fileName = "role-menu-change" + System.currentTimeMillis() + ".xls";
file = new File(fileName);
file.createNewFile();
excelTool.exportData(file, list, SysLogRoleMenuChange.class
, exportColMap);
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(file)))) {
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);
} }
return ResultBean.success("操作成功") return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())

@ -51,6 +51,7 @@ import java.io.DataInputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@ -452,24 +453,23 @@ public class SysUserController extends CoreBaseController {
try { try {
ValidatorBean.checkNotNull("ColName", model.getExportCol()); ValidatorBean.checkNotNull("ColName", model.getExportCol());
ValidatorBean.checkNotNull("startDate", model.getStartDate()); ValidatorBean.checkNotNull("startDate", model.getStartDate());
ValidatorBean.checkNotNull("endDate", model.getEndDate());
final String ZERO_TIME = " 00:00:00"; final String ZERO_TIME = " 00:00:00";
final String LAST_TIME = " 23:59:59"; final String LAST_TIME = " 23:59:59";
StringBuilder startTime = new StringBuilder(model.getStartDate()).append(ZERO_TIME); StringBuilder startTime = new StringBuilder(model.getStartDate()).append(ZERO_TIME);
StringBuilder endTime = new StringBuilder(model.getEndDate()).append(LAST_TIME);
LinkedHashMap<String, String> exportColMap = JSON.parseObject(model.getExportCol(), LinkedHashMap.class); LinkedHashMap<String, String> exportColMap = JSON.parseObject(model.getExportCol(), LinkedHashMap.class);
List<SysUser> list = sysUserService.findUserNotLoginLongTime(startTime.toString(), endTime.toString()); List<SysUser> list = sysUserService.findUserNotLoginLongTime(startTime.toString());
ExcelTool excelTool = new ExcelTool(entityManager, redisRes); ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String fileName = "user-not-login-long-time" + System.currentTimeMillis() + ".xls"; String fileName = "长时间未登录账号日志" + TimeTool.getDateTime() + ".xls";
file = new File(fileName); file = new File(fileName);
file.createNewFile(); file.createNewFile();
excelTool.exportData(file, list, SysUser.class excelTool.exportData(file, list, SysUser.class
, exportColMap); , exportColMap);
response.setContentType("application/force-download"); // 设置强制下载不打开 response.setContentType("application/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名 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))); response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName, true)));
// 设置文件名 // 设置文件名
@ -511,14 +511,15 @@ public class SysUserController extends CoreBaseController {
List<SysUser> sysUserList = sysUserService.findSysUserStatusRdd(list); List<SysUser> sysUserList = sysUserService.findSysUserStatusRdd(list);
ExcelTool excelTool = new ExcelTool(entityManager, redisRes); ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String fileName = "all-account-number" + System.currentTimeMillis() + ".xls"; String fileName = "所有账号信息" + TimeTool.getDateTime() + ".xls";
file = new File(fileName); file = new File(fileName);
file.createNewFile(); file.createNewFile();
excelTool.exportData(file, sysUserList, SysUser.class excelTool.exportData(file, sysUserList, SysUser.class
, exportColMap); , exportColMap);
response.setContentType("applicatioref-menun/force-download"); // 设置强制下载不打开 response.setContentType("applicatioref-menun/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名 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))); response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName, true)));
// 设置文件名 // 设置文件名
@ -827,7 +828,8 @@ public class SysUserController extends CoreBaseController {
int numMax = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_PWD_RESET_PASSWORD, CommonConstWords.CONFIG_PWD_RESET_PASSWORD_DEFAULT); int numMax = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_PWD_RESET_PASSWORD, CommonConstWords.CONFIG_PWD_RESET_PASSWORD_DEFAULT);
num = numMax - num; num = numMax - num;
userPasswordService.updatePasswordResetLastModifyTime(user.getId(), password, true); //手动重置修改用户密码--true校验false不校验现设置为不校验
userPasswordService.updatePasswordResetLastModifyTime(user.getId(), password, false);
//手动重置密码是否需要用户首次登录修改密码 //手动重置密码是否需要用户首次登录修改密码
sysUserService.updateUserLoginNumByHeadResetPwd(user.getId(), 0); sysUserService.updateUserLoginNumByHeadResetPwd(user.getId(), 0);
//密码管理员手动重置密码之后清空修改次数,重新计算 //密码管理员手动重置密码之后清空修改次数,重新计算

@ -1018,6 +1018,8 @@ public class PersonnelServiceService implements IPersonnelService {
SysUser user = userRDao.getById(userId); SysUser user = userRDao.getById(userId);
String previousRole = ""; String previousRole = "";
String currentRole = ""; String currentRole = "";
String addRole = "";
String delRole = "";
if (user != null) { if (user != null) {
// 根据IDS 查询所有的角色信息 // 根据IDS 查询所有的角色信息
List<SysRole> list = roleService.findByIdList(Arrays.asList(roleIds)); List<SysRole> list = roleService.findByIdList(Arrays.asList(roleIds));
@ -1048,6 +1050,13 @@ public class PersonnelServiceService implements IPersonnelService {
} }
List<String> roleRdds = refUserRoles.stream().map(SysRefUserRole::getRoleNameRdd).collect(Collectors.toList()); List<String> roleRdds = refUserRoles.stream().map(SysRefUserRole::getRoleNameRdd).collect(Collectors.toList());
currentRole = StringUtils.join(roleRdds, ","); currentRole = StringUtils.join(roleRdds, ",");
List<String> addaListThanbList = getAddaListThanbList(roleRdds, rolesRdds);
List<String> reduceaListThanbList = getReduceaListThanbList(roleRdds, rolesRdds);
addRole = StringUtils.join(addaListThanbList, ",");
delRole = StringUtils.join(reduceaListThanbList, ",");
StringBuilder changeDetail = new StringBuilder();
changeDetail.append("新增:" + addRole + "\n" + "删除:" + delRole);
SysLogRoleChange logRoleChange = new SysLogRoleChange(); SysLogRoleChange logRoleChange = new SysLogRoleChange();
logRoleChange.setUserName(user.getUserName()); logRoleChange.setUserName(user.getUserName());
logRoleChange.setUserId(userId); logRoleChange.setUserId(userId);
@ -1055,8 +1064,12 @@ public class PersonnelServiceService implements IPersonnelService {
logRoleChange.setCurrentRoles(currentRole); logRoleChange.setCurrentRoles(currentRole);
logRoleChange.setUserLoginName(user.getUserLoginName()); logRoleChange.setUserLoginName(user.getUserLoginName());
logRoleChange.setDepartmentNameRdd(user.getDepartmentNameRdd()); logRoleChange.setDepartmentNameRdd(user.getDepartmentNameRdd());
logRoleChange.setChangeDetail(changeDetail.toString());
ConvertBean.serviceModelInitialize(logRoleChange, AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelInitialize(logRoleChange, AuthUtil.getSessionUser().getUserName());
//当修改前和修改后的角色相同时不记录
if (!previousRole.equals(currentRole)) {
logRoleChangeRepository.save(logRoleChange); logRoleChangeRepository.save(logRoleChange);
}
refUserRoleRDao.saveAll(refUserRoles); refUserRoleRDao.saveAll(refUserRoles);
userRDao.save(user); userRDao.save(user);
@ -1064,6 +1077,59 @@ public class PersonnelServiceService implements IPersonnelService {
} }
} }
/**
* @param aList
* @param bList
* @return
* @Description: aListbList
*/
private <E> List<E> getAddaListThanbList(List<E> aList, List<E> bList) {
List<E> addList = new ArrayList<E>();
for (int i = 0; i < aList.size(); i++) {
if (!myListContains(bList, aList.get(i))) {
addList.add(aList.get(i));
}
}
return addList;
}
/**
* @param aList
* @param bList
* @return
* @Description: aListbList
*/
private <E> List<E> getReduceaListThanbList(List<E> aList, List<E> bList) {
List<E> reduceaList = new ArrayList<E>();
for (int i = 0; i < bList.size(); i++) {
if (!myListContains(aList, bList.get(i))) {
reduceaList.add(bList.get(i));
}
}
return reduceaList;
}
/**
* @param sourceList
* @param element
* @return true false
* @Description: elementsourceList
*/
private <E> boolean myListContains(List<E> sourceList, E element) {
if (sourceList == null || element == null) {
return false;
}
if (sourceList.isEmpty()) {
return false;
}
for (E tip : sourceList) {
if (element.equals(tip)) {
return true;
}
}
return false;
}
@Override @Override
public void refreshUpdateRefSysUserInfoDepartment(Long userInfoId, Long[] departmentIds) { public void refreshUpdateRefSysUserInfoDepartment(Long userInfoId, Long[] departmentIds) {
LOGGER.info("用户部门关系信息 SysUser userInfoId:{} departmentIds:{}", userInfoId, departmentIds); LOGGER.info("用户部门关系信息 SysUser userInfoId:{} departmentIds:{}", userInfoId, departmentIds);

@ -0,0 +1,38 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLogRoleMenuChangeService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.platform.bean.SysLogRoleMenuChange;
import cn.estsh.i3plus.pojo.platform.repository.SysLogRoleMenuChangeRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author :
* @CreateDate : 2022-12-12 15:38
* @Modify:
**/
@Service
public class SysLogRoleMenuChangeService implements ISysLogRoleMenuChangeService {
@Autowired
private SysLogRoleMenuChangeRepository sysLogRoleMenuChangeRepository;
/**
*
* @param startDatetime
* @param endDatetime
* @return
*/
@Override
public List<SysLogRoleMenuChange> findLogsBetweenDatetime(String startDatetime, String endDatetime) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.timeBuilder(startDatetime, endDatetime, "createDatetime", true, true, packBean);
return sysLogRoleMenuChangeRepository.findByHqlWhere(packBean);
}
}

@ -17,10 +17,7 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.repository.SysLogRoleOperateRepository; import cn.estsh.i3plus.pojo.platform.repository.*;
import cn.estsh.i3plus.pojo.platform.repository.SysRefRoleMenuRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserRoleRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRoleRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.i3plus.pojo.wms.bean.WmsPart; import cn.estsh.i3plus.pojo.wms.bean.WmsPart;
import cn.estsh.impp.framework.base.service.CrudService; import cn.estsh.impp.framework.base.service.CrudService;
@ -85,6 +82,9 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
@Autowired @Autowired
private SysLogRoleOperateRepository sysLogRoleOperateRDao; private SysLogRoleOperateRepository sysLogRoleOperateRDao;
@Autowired
private SysLogRoleMenuChangeRepository sysLogRoleMenuChangeRDao;
@Override @Override
public BaseRepository<SysRole, Long> getRepository() { public BaseRepository<SysRole, Long> getRepository() {
return roleRDao; return roleRDao;
@ -193,7 +193,8 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
SysMenu menu = new SysMenu(); SysMenu menu = new SysMenu();
menu.setSoftType(softType); menu.setSoftType(softType);
List<SysMenu> menuList = menuService.findAllByBean(menu); List<SysMenu> menuList = menuService.findAllByBean(menu);
//查询修改前角色对应的菜单
List<SysRefRoleMenu> menus = refRoleMenuRDao.findByProperty(new String[]{"roleId", "softType"}, new Object[]{roleId, softType});
refRoleMenuRDao.deleteByProperties(new String[]{"roleId", "softType"}, new Object[]{roleId, softType}); refRoleMenuRDao.deleteByProperties(new String[]{"roleId", "softType"}, new Object[]{roleId, softType});
if (CollectionUtils.isNotEmpty(idList)) { if (CollectionUtils.isNotEmpty(idList)) {
List<SysRefRoleMenu> refs = new ArrayList<>(); List<SysRefRoleMenu> refs = new ArrayList<>();
@ -221,6 +222,43 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
if (CollectionUtils.isNotEmpty(refs)) { if (CollectionUtils.isNotEmpty(refs)) {
refRoleMenuRDao.saveAll(refs); refRoleMenuRDao.saveAll(refs);
//记录角色权限变更日志
String newAuthority = "";
String delAuthority = "";
ArrayList<Long> menuIds = new ArrayList<>();
menus.stream().forEach(m -> {
menuIds.add(m.getMenuId());
});
List<Long> newAuthorityList = getAddaListThanbList(idList,menuIds);
List<Long> delAuthorityList = getReduceaListThanbList(idList,menuIds);
if (newAuthorityList != null) {
for (Long id : newAuthorityList) {
String menuTreeName = "";
List<String> newAuthoritys = new ArrayList<>();
getParentName(id, newAuthoritys);
if (newAuthoritys.get(0).length()>0) {
menuTreeName = newAuthoritys.get(0).substring(1);
}
newAuthority += menuTreeName + "\n";
}
}
if (delAuthorityList != null) {
for (Long id : delAuthorityList) {
List<String> delAuthoritys = new ArrayList<>();
String menuTreeName = "";
getParentName(id,delAuthoritys);
if (delAuthoritys.get(0).length()>0) {
menuTreeName = delAuthoritys.get(0).substring(1);
}
delAuthority += menuTreeName + "\n";
}
}
SysLogRoleMenuChange sysLogRoleMenuChange = new SysLogRoleMenuChange();
sysLogRoleMenuChange.setRoleId(roleId);
sysLogRoleMenuChange.setRoleName(role.getName());
sysLogRoleMenuChange.setNewAuthority(newAuthority);
sysLogRoleMenuChange.setDelAuthority(delAuthority);
insertSysLogRoleMenuChange(sysLogRoleMenuChange);
//更新角色 //更新角色
ConvertBean.serviceModelUpdate(role,AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelUpdate(role,AuthUtil.getSessionUser().getUserName());
roleRDao.update(role); roleRDao.update(role);
@ -228,6 +266,74 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
} }
} }
//递归获取菜单结点
private void getParentName(Long id, List<String> menuTreeName) {
SysMenu sysMenu = menuService.get(id);
String menuNames = "";
if(menuNames != null && menuTreeName.size()>0){
menuNames = menuTreeName.get(0);
}
//如果这个获取到的menu不是父节点
if(!StringUtil.isEmpty(sysMenu) && sysMenu.getParentId() != CommonEnumUtil.PARENT.DEFAULT.getValue()){
menuNames = "-"+sysMenu.getName() + menuNames;
menuTreeName.add(0,menuNames);
getParentName(sysMenu.getParentId(), menuTreeName);
}
}
/**
* @param aList
* @param bList
* @return
* @Description: aListbList
*/
private <E> List<E> getAddaListThanbList(List<E> aList, List<E> bList) {
List<E> addList = new ArrayList<E>();
for (int i = 0; i < aList.size(); i++) {
if (!myListContains(bList, aList.get(i))) {
addList.add(aList.get(i));
}
}
return addList;
}
/**
* @param aList
* @param bList
* @return
* @Description: aListbList
*/
private <E> List<E> getReduceaListThanbList(List<E> aList, List<E> bList) {
List<E> reduceaList = new ArrayList<E>();
for (int i = 0; i < bList.size(); i++) {
if (!myListContains(aList, bList.get(i))) {
reduceaList.add(bList.get(i));
}
}
return reduceaList;
}
/**
* @param sourceList
* @param element
* @return true false
* @Description: elementsourceList
*/
private <E> boolean myListContains(List<E> sourceList, E element) {
if (sourceList == null || element == null) {
return false;
}
if (sourceList.isEmpty()) {
return false;
}
for (E tip : sourceList) {
if (element.equals(tip)) {
return true;
}
}
return false;
}
@Override @Override
@ApiOperation(value = "查信角色菜单关系", notes = "查询 ID 查询角色菜单关系") @ApiOperation(value = "查信角色菜单关系", notes = "查询 ID 查询角色菜单关系")
public List<SysRefRoleMenu> findSysRefRoleMenuByRoleId(Long roleId) { public List<SysRefRoleMenu> findSysRefRoleMenuByRoleId(Long roleId) {
@ -350,6 +456,15 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
return null; return null;
} }
@Override
public SysLogRoleMenuChange insertSysLogRoleMenuChange(SysLogRoleMenuChange sysLogRoleMenuChange) {
if (StringUtil.isEmpty(sysLogRoleMenuChange)) {
return null;
}
LOGGER.debug("平台角色菜单权限变更操作记录 SysLogRoleOperate sysLogRoleOperate:{}", sysLogRoleMenuChange);
return sysLogRoleMenuChangeRDao.insert(sysLogRoleMenuChange);
}
// @Override // @Override
// public void packAfterRefreshCache() { // public void packAfterRefreshCache() {

@ -1229,11 +1229,10 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
public List<SysUser> findUserNotLoginLongTime(String startDate, String endDate) { public List<SysUser> findUserNotLoginLongTime(String startDate) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(CommonEnumUtil.USER_STATUS.DISABLE.getValue(),"userStatus",ddlPackBean); DdlPreparedPack.timeBuilder(null, startDate, "userLoginLastDateTime", ddlPackBean, false);
DdlPreparedPack.getNumEqualPack(CommonEnumUtil.LOCK_TYPE.NOT_LOGIN_A_LONG_TIME.getValue(),"lockType",ddlPackBean); DdlPreparedPack.getOrderByPack(new String[]{"1"}, new String[]{"userLoginLastDateTime"}, ddlPackBean);
DdlPreparedPack.timeBuilder(startDate, endDate, "modifyDatetime", true, true, ddlPackBean);
List<SysUser> userNotLoginLongTimeList = userRDao.findByHqlWhere(ddlPackBean); List<SysUser> userNotLoginLongTimeList = userRDao.findByHqlWhere(ddlPackBean);
return userNotLoginLongTimeList; return userNotLoginLongTimeList;
} }

Loading…
Cancel
Save