k94314517
2025-05-14 4ddff036191a2ec6ee6f85a337c97d6f7d9471d6
server/service/src/main/java/com/doumee/service/system/impl/SystemRoleServiceImpl.java
@@ -5,9 +5,12 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.system.SystemDataPermissionMapper;
import com.doumee.dao.system.SystemRoleMapper;
import com.doumee.dao.system.dto.QuerySystemRoleDTO;
import com.doumee.dao.system.model.SystemDataPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.vo.SystemRoleListVO;
import com.doumee.service.system.SystemMenuService;
@@ -41,8 +44,14 @@
    @Autowired
    private SystemPermissionService systemPermissionService;
    @Autowired
    private SystemDataPermissionMapper systemDataPermissionMapper;
    @Override
    public Integer create(SystemRole systemRole) {
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        systemRole.setCompanyId(principal.getCompanyId());
        systemRole.setType(principal.getType());
        systemRoleMapper.insert(systemRole);
        return systemRole.getId();
    }
@@ -96,6 +105,10 @@
    @Override
    public List<SystemRole> findList(SystemRole systemRole) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(Objects.nonNull(user)&&(user.getType().equals(Constants.ONE)||user.getType().equals(Constants.TWO))){
            systemRole.setCompanyId(user.getCompanyId());
        }
        Wrapper<SystemRole> wrapper = new QueryWrapper<>(systemRole);
        return systemRoleMapper.selectList(wrapper);
    }
@@ -105,12 +118,16 @@
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Utils.MP.blankToNull(pageWrap.getModel());
        QuerySystemRoleDTO model = pageWrap.getModel();
        model.setType(Objects.nonNull(model.getType()) ? model.getType() : principal.getType());
        model.setType(Constants.formatIntegerNum(principal.getType()));
        model.setCompanyId(principal.getCompanyId());
        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
        List<SystemRoleListVO> roleList = systemRoleMapper.selectManageList(model, pageWrap.getOrderByClause());
        for (SystemRoleListVO role : roleList) {
            role.setMenus(systemMenuService.findByRoleId(role.getId()));
            role.setPermissions(systemPermissionService.findByRoleId(role.getId()));
            role.setSystemDataPermission(systemDataPermissionMapper.selectOne(new QueryWrapper<SystemDataPermission>().lambda()
                    .eq(SystemDataPermission::getDeleted,Constants.ZERO).eq(SystemDataPermission::getRoleId,role.getId()).last("limit 1")
            ));
        }
        return PageData.from(new PageInfo<>(roleList));
    }