package com.engine.salary.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.auth.dto.AuthMemberDTO; import com.engine.salary.entity.auth.dto.AuthOptDTO; import com.engine.salary.entity.auth.param.AuthMemberQueryParam; import com.engine.salary.entity.auth.param.AuthMemberSaveParam; import com.engine.salary.entity.auth.param.AuthOptSaveParam; import com.engine.salary.entity.auth.param.AuthRoleSaveParam; import com.engine.salary.entity.auth.po.AuthMemberPO; import com.engine.salary.enums.auth.TargetTypeEnum; import com.engine.salary.service.auth.*; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.ValidUtil; import lombok.extern.slf4j.Slf4j; import weaver.hrm.User; import java.util.List; import java.util.stream.Collectors; @Slf4j public class AuthWrapper extends Service { private AuthRoleService getAuthRoleService(User user) { return ServiceUtil.getService(AuthRoleServiceImpl.class, user); } private AuthMemberService getAuthMemberService(User user) { return ServiceUtil.getService(AuthMemberServiceImpl.class, user); } private AuthOptService getAuthOptService(User user) { return ServiceUtil.getService(AuthOptServiceImpl.class, user); } public Long saveRole(AuthRoleSaveParam param) { ValidUtil.doValidator(param); return getAuthRoleService(user).saveRole(param); } public void deleteRole(Long id) { getAuthRoleService(user).deleteRole(id); } public PageInfo memberList(AuthMemberQueryParam param) { List authMemberPOS = getAuthMemberService(user).memberList(param.getRoleId()); List dtos = authMemberPOS.stream().map(po -> AuthMemberDTO.builder() .id(po.getId()) .targetType(TargetTypeEnum.parseByValue(po.getTargetType()).getDefaultLabel()) .targetName(po.getTargetName()) .build()) .collect(Collectors.toList()); return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), dtos, AuthMemberDTO.class); } public Long saveMember(AuthMemberSaveParam param) { ValidUtil.doValidator(param); return getAuthMemberService(user).saveMember(param); } public void deleteMember(Long id) { getAuthMemberService(user).deleteMember(id); } public void syncMember(Long roleId) { getAuthMemberService(user).syncMember(roleId); } public AuthOptDTO optTree(Long roleId) { return getAuthOptService(user).optTree(roleId); } public void saveOpt(AuthOptSaveParam opt) { getAuthOptService(user).save(opt); } }