package org.jeecg.modules.flowable.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import org.apache.shiro.SecurityUtils; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.DictModel; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.flowable.apithird.entity.SysCategory; import org.jeecg.modules.flowable.apithird.entity.SysRole; import org.jeecg.modules.flowable.apithird.entity.SysUser; import org.jeecg.modules.flowable.apithird.service.IFlowThirdService; import org.jeecg.modules.system.service.ISysDictService; import org.jeecg.modules.system.service.impl.SysRoleServiceImpl; import org.jeecg.modules.system.service.impl.SysUserServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * flowable模块必需实现类 *@author PanMeiCheng *@date 2021/11/22 *@version 1.0 */ @Service public class FlowThirdServiceImpl implements IFlowThirdService { @Autowired ISysBaseAPI sysBaseAPI; @Autowired SysUserServiceImpl sysUserService; @Autowired SysRoleServiceImpl sysRoleService; @Autowired ISysDictService sysDictService; @Override public SysUser getLoginUser() { LoginUser sysUser = null; SysUser copyProperties = null; try { sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); System.out.println( ); copyProperties = BeanUtil.copyProperties(sysUser, SysUser.class); } catch (Exception e) { //e.printStackTrace(); } return copyProperties; } @Override public List getAllUser() { List list = sysUserService.list(); List userList = list.stream().map(o -> BeanUtil.copyProperties(o, SysUser.class)).collect(Collectors.toList()); return userList; } @Override public List getUsersByRoleId(String roleId) { Page page = new Page<>(1,Integer.MAX_VALUE); IPage userByRoleId = sysUserService.getUserByRoleId(page, roleId, null); List records = userByRoleId.getRecords(); List userList = records.stream().map(o -> BeanUtil.copyProperties(o, SysUser.class)).collect(Collectors.toList()); return userList; } @Override public SysUser getUserByUsername(String username) { LoginUser userByName = sysBaseAPI.getUserByName(username); return userByName==null?null:BeanUtil.copyProperties(userByName, SysUser.class); } @Override public List getAllRole() { List list = sysRoleService.list(); List roleList = list.stream().map(o -> BeanUtil.copyProperties(o, SysRole.class)).collect(Collectors.toList()); return roleList; } @Override public List getAllCategory() { List list = sysDictService.getDictItems("flow_type"); List categoryList = Lists.newArrayList(); if (list == null || list.isEmpty()) { return null; }else { list.forEach(o -> { SysCategory sysCategory = new SysCategory(); sysCategory.setId(o.getValue()); sysCategory.setName(o.getText()); categoryList.add(sysCategory); }); } return categoryList; } @Override public List getDepartNamesByUsername(String username) { List departNamesByUsername = sysBaseAPI.getDepartNamesByUsername(username); return departNamesByUsername; } }