use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class UserServiceImpl method login.
@Override
public LoginRespVO login(SysUser vo) {
SysUser sysUser = sysUserMapper.selectOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, vo.getUsername()));
if (null == sysUser) {
throw new BusinessException(BaseResponseCode.NOT_ACCOUNT);
}
if (sysUser.getStatus() == 2) {
throw new BusinessException(BaseResponseCode.USER_LOCK);
}
if (!PasswordUtils.matches(sysUser.getSalt(), vo.getPassword(), sysUser.getPassword())) {
throw new BusinessException(BaseResponseCode.PASSWORD_ERROR);
}
LoginRespVO respVO = new LoginRespVO();
BeanUtils.copyProperties(sysUser, respVO);
// true:允许多处登陆; false:只能单处登陆,顶掉之前登陆
if (!allowMultipleLogin) {
httpSessionService.abortUserById(sysUser.getId());
}
if (StringUtils.isNotBlank(sysUser.getDeptId())) {
SysDept sysDept = sysDeptMapper.selectById(sysUser.getDeptId());
if (sysDept != null) {
sysUser.setDeptNo(sysDept.getDeptNo());
}
}
String token = httpSessionService.createTokenAndUser(sysUser, roleService.getRoleNames(sysUser.getId()), permissionService.getPermissionsByUserId(sysUser.getId()));
respVO.setAccessToken(token);
return respVO;
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class UserServiceImpl method pageInfo.
@Override
public IPage<SysUser> pageInfo(SysUser vo) {
Page page = new Page(vo.getPage(), vo.getLimit());
LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery();
if (!StringUtils.isEmpty(vo.getUsername())) {
queryWrapper.like(SysUser::getUsername, vo.getUsername());
}
if (!StringUtils.isEmpty(vo.getStartTime())) {
queryWrapper.gt(SysUser::getCreateTime, vo.getStartTime());
}
if (!StringUtils.isEmpty(vo.getEndTime())) {
queryWrapper.lt(SysUser::getCreateTime, vo.getEndTime());
}
if (!StringUtils.isEmpty(vo.getNickName())) {
queryWrapper.like(SysUser::getNickName, vo.getNickName());
}
if (null != vo.getStatus()) {
queryWrapper.eq(SysUser::getStatus, vo.getStatus());
}
if (!StringUtils.isEmpty(vo.getDeptNo())) {
LambdaQueryWrapper<SysDept> queryWrapperDept = Wrappers.lambdaQuery();
queryWrapperDept.select(SysDept::getId).like(SysDept::getRelationCode, vo.getDeptNo());
List<Object> list = sysDeptMapper.selectObjs(queryWrapperDept);
queryWrapper.in(SysUser::getDeptId, list);
}
queryWrapper.orderByDesc(SysUser::getCreateTime);
IPage<SysUser> iPage = sysUserMapper.selectPage(page, queryWrapper);
if (!CollectionUtils.isEmpty(iPage.getRecords())) {
for (SysUser sysUser : iPage.getRecords()) {
SysDept sysDept = sysDeptMapper.selectById(sysUser.getDeptId());
if (sysDept != null) {
sysUser.setDeptName(sysDept.getName());
}
}
}
return iPage;
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class DeptServiceImpl method getChild.
private List<DeptRespNodeVO> getChild(String id, List<SysDept> all) {
List<DeptRespNodeVO> list = new ArrayList<>();
for (SysDept sysDept : all) {
if (sysDept.getPid().equals(id)) {
DeptRespNodeVO deptTree = new DeptRespNodeVO();
BeanUtils.copyProperties(sysDept, deptTree);
deptTree.setTitle(sysDept.getName());
deptTree.setChildren(getChild(sysDept.getId(), all));
list.add(deptTree);
}
}
return list;
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class DeptServiceImpl method addDept.
@Override
public void addDept(SysDept vo) {
String relationCode;
String deptCode = this.getNewDeptCode();
SysDept parent = sysDeptMapper.selectById(vo.getPid());
if ("0".equals(vo.getPid())) {
relationCode = deptCode;
} else if (null == parent) {
throw new BusinessException(BaseResponseCode.DATA_ERROR);
} else {
relationCode = parent.getRelationCode() + deptCode;
}
vo.setDeptNo(deptCode);
vo.setRelationCode(relationCode);
vo.setStatus(1);
sysDeptMapper.insert(vo);
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class DeptServiceImpl method deleted.
@Override
public void deleted(String id) {
SysDept sysDept = sysDeptMapper.selectById(id);
if (null == sysDept) {
throw new BusinessException(BaseResponseCode.DATA_ERROR);
}
List<Object> deptIds = sysDeptMapper.selectObjs(Wrappers.<SysDept>lambdaQuery().select(SysDept::getId).likeRight(SysDept::getRelationCode, sysDept.getRelationCode()));
List<SysUser> list = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery().in(SysUser::getDeptId, deptIds));
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException(BaseResponseCode.NOT_PERMISSION_DELETED_DEPT);
}
sysDeptMapper.deleteById(id);
}
Aggregations