提交 03a4ea1f 编写于 作者: F fengyw

修改

上级 4906388d
......@@ -4,6 +4,8 @@ import com.roncoo.education.common.core.base.Page;
import com.roncoo.education.system.dao.impl.mapper.entity.SysRole;
import com.roncoo.education.system.dao.impl.mapper.entity.SysRoleExample;
import java.util.List;
public interface SysRoleDao {
int save(SysRole record);
......@@ -16,4 +18,6 @@ public interface SysRoleDao {
SysRole getById(Long id);
Page<SysRole> page(int pageCurrent, int pageSize, SysRoleExample example);
List<SysRole> listByIds(List<Long> roleIdList);
}
......@@ -34,4 +34,6 @@ public interface SysRoleUserDao {
* @return
*/
List<SysRoleUser> listByUserId(Long userId);
List<SysRoleUser> listByUserIds(List<Long> userIdList);
}
......@@ -10,6 +10,8 @@ import com.roncoo.education.system.dao.impl.mapper.entity.SysRoleExample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class SysRoleDaoImpl implements SysRoleDao {
@Autowired
......@@ -53,4 +55,12 @@ public class SysRoleDaoImpl implements SysRoleDao {
example.setPageSize(pageSize);
return new Page<SysRole>(count, totalPage, pageCurrent, pageSize, this.sysRoleMapper.selectByExample(example));
}
@Override
public List<SysRole> listByIds(List<Long> roleIdList) {
SysRoleExample example = new SysRoleExample();
example.createCriteria().andIdIn(roleIdList);
example.setOrderByClause("sort asc, id desc");
return this.sysRoleMapper.selectByExample(example);
}
}
......@@ -69,4 +69,11 @@ public class SysRoleUserDaoImpl implements SysRoleUserDao {
example.createCriteria().andUserIdEqualTo(userId);
return this.sysRoleUserMapper.selectByExample(example);
}
@Override
public List<SysRoleUser> listByUserIds(List<Long> userIdList) {
SysRoleUserExample example = new SysRoleUserExample();
example.createCriteria().andUserIdIn(userIdList);
return this.sysRoleUserMapper.selectByExample(example);
}
}
package com.roncoo.education.system.service.admin.biz;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.roncoo.education.common.core.base.Page;
......@@ -8,8 +9,11 @@ import com.roncoo.education.common.core.base.Result;
import com.roncoo.education.common.core.enums.ResultEnum;
import com.roncoo.education.common.core.tools.BeanUtil;
import com.roncoo.education.common.core.tools.SHA1Util;
import com.roncoo.education.system.dao.SysRoleDao;
import com.roncoo.education.system.dao.SysRoleUserDao;
import com.roncoo.education.system.dao.SysUserDao;
import com.roncoo.education.system.dao.impl.mapper.entity.SysRole;
import com.roncoo.education.system.dao.impl.mapper.entity.SysRoleUser;
import com.roncoo.education.system.dao.impl.mapper.entity.SysUser;
import com.roncoo.education.system.dao.impl.mapper.entity.SysUserExample;
import com.roncoo.education.system.dao.impl.mapper.entity.SysUserExample.Criteria;
......@@ -21,6 +25,11 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 后台用户信息
*
......@@ -29,10 +38,12 @@ import org.springframework.util.StringUtils;
@Component
public class AdminSysUserBiz {
@Autowired
private SysUserDao dao;
@Autowired
private SysRoleUserDao sysRoleUserDao;
@Autowired
private SysUserDao dao;
private SysRoleDao sysRoleDao;
public Result<Page<AdminSysUserPageResp>> listForPage(AdminSysUserPageReq req) {
SysUserExample example = new SysUserExample();
......@@ -42,7 +53,33 @@ public class AdminSysUserBiz {
}
example.setOrderByClause(" status_id desc, sort asc, id desc ");
Page<SysUser> page = dao.page(req.getPageCurrent(), req.getPageSize(), example);
return Result.success(PageUtil.transform(page, AdminSysUserPageResp.class));
Page<AdminSysUserPageResp> respPage = PageUtil.transform(page, AdminSysUserPageResp.class);
if (CollUtil.isNotEmpty(respPage.getList())) {
List<Long> userIdList = respPage.getList().stream().map(AdminSysUserPageResp::getUserId).collect(Collectors.toList());
List<SysRoleUser> roleUserList = sysRoleUserDao.listByUserIds(userIdList);
if (CollUtil.isNotEmpty(roleUserList)) {
List<Long> roles = roleUserList.stream().map(SysRoleUser::getRoleId).collect(Collectors.toList());
List<SysRole> roleList = sysRoleDao.listByIds(roles);
Map<Long, String> roleNameMap = null;
if (CollUtil.isNotEmpty(roleList)) {
roleNameMap = roleList.stream().collect(Collectors.toMap(SysRole::getId, SysRole::getRoleName));
}
Map<Long, List<Long>> map = roleUserList.stream().collect(Collectors.groupingBy(SysRoleUser::getUserId, Collectors.mapping(SysRoleUser::getRoleId, Collectors.toList())));
for(AdminSysUserPageResp resp: respPage.getList()){
List<Long> roleIdList = map.get(resp.getId());
if(CollUtil.isNotEmpty(roleIdList)){
List<String> roleNameList = new ArrayList<>();
for(Long roleId: roleIdList){
if( null !=roleNameMap){
roleNameList.add(roleNameMap.get(roleId));
}
}
resp.setRoleNameList(roleNameList);
}
}
}
}
return Result.success(respPage);
}
public Result<Integer> save(AdminSysUserSaveReq req) {
......
package com.roncoo.education.system.service.admin.resp;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
......@@ -7,6 +8,8 @@ import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* 后台用户信息-分页
......@@ -56,4 +59,15 @@ public class AdminSysUserPageResp implements Serializable {
*/
@ApiModelProperty(value = "备注")
private String remark;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private LocalDateTime gmtCreate;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "修改时间")
private LocalDateTime gmtModified;
@ApiModelProperty(value = "角色名称集合")
private List<String> roleNameList;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册