129 lines
4.8 KiB
Java
129 lines
4.8 KiB
Java
package com.engine.salary.wrapper;
|
|
|
|
import com.engine.common.util.ServiceUtil;
|
|
import com.engine.core.impl.Service;
|
|
import com.engine.salary.entity.auth.dto.AuthDataDTO;
|
|
import com.engine.salary.entity.auth.dto.AuthMemberDTO;
|
|
import com.engine.salary.entity.auth.dto.AuthOptDTO;
|
|
import com.engine.salary.entity.auth.param.*;
|
|
import com.engine.salary.entity.auth.po.AuthDataPO;
|
|
import com.engine.salary.entity.auth.po.AuthMemberPO;
|
|
import com.engine.salary.enums.auth.DataTargetTypeEnum;
|
|
import com.engine.salary.enums.auth.MemberTargetTypeEnum;
|
|
import com.engine.salary.mapper.auth.AuthMapper;
|
|
import com.engine.salary.service.auth.*;
|
|
import com.engine.salary.util.db.MapperProxyFactory;
|
|
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);
|
|
}
|
|
|
|
private AuthDataService getAuthDataService(User user) {
|
|
return ServiceUtil.getService(AuthDataServiceImpl.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<AuthMemberDTO> memberList(AuthMemberQueryParam param) {
|
|
List<AuthMemberPO> authMemberPOS = getAuthMemberService(user).list(param.getRoleId());
|
|
int total = authMemberPOS.size();
|
|
authMemberPOS = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), authMemberPOS);
|
|
List<AuthMemberDTO> dtos = authMemberPOS.stream()
|
|
.map(po -> AuthMemberDTO.builder()
|
|
.id(po.getId())
|
|
.targetTypeName(MemberTargetTypeEnum.parseByValue(po.getTargetType()).getDefaultLabel())
|
|
.targetType(MemberTargetTypeEnum.parseByValue(po.getTargetType()))
|
|
.targetName(po.getTargetName())
|
|
.target(po.getTarget())
|
|
.build())
|
|
.collect(Collectors.toList());
|
|
PageInfo<AuthMemberDTO> authMemberDTOPageInfo = SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), dtos, AuthMemberDTO.class);
|
|
authMemberDTOPageInfo.setTotal(total);
|
|
return authMemberDTOPageInfo;
|
|
}
|
|
|
|
public Long saveMember(AuthMemberSaveParam param) {
|
|
ValidUtil.doValidator(param);
|
|
return getAuthMemberService(user).save(param);
|
|
}
|
|
|
|
public void deleteMember(Long id) {
|
|
getAuthMemberService(user).delete(id);
|
|
}
|
|
|
|
public void syncMember(Long roleId) {
|
|
getAuthMemberService(user).sync(roleId);
|
|
}
|
|
|
|
public AuthOptDTO optTree(Long roleId) {
|
|
return getAuthOptService(user).optTree(roleId);
|
|
}
|
|
|
|
public void saveOpt(AuthOptSaveParam opt) {
|
|
getAuthOptService(user).save(opt);
|
|
}
|
|
|
|
public PageInfo<AuthDataDTO> dataList(AuthDataQueryParam param) {
|
|
List<AuthDataPO> list = getAuthDataService(user).list(param.getRoleId());
|
|
int total = list.size();
|
|
list = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), list);
|
|
List<AuthDataDTO> dtos = list.stream().map(po -> AuthDataDTO.builder()
|
|
.id(po.getId())
|
|
.targetTypeName(DataTargetTypeEnum.parseByValue(po.getTargetType()).getDefaultLabel())
|
|
.targetType(DataTargetTypeEnum.parseByValue(po.getTargetType()))
|
|
.targetName(po.getTargetName())
|
|
.target(po.getTarget())
|
|
.build())
|
|
.collect(Collectors.toList());
|
|
|
|
PageInfo<AuthDataDTO> page = SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), dtos, AuthDataDTO.class);
|
|
page.setTotal(total);
|
|
return page;
|
|
|
|
}
|
|
|
|
public void saveData(AuthDataSaveParam authDataSaveParam) {
|
|
getAuthDataService(user).save(authDataSaveParam);
|
|
}
|
|
|
|
|
|
public void syncData(Long roleId) {
|
|
getAuthDataService(user).sync(roleId);
|
|
}
|
|
|
|
private AuthMapper getAuthMapper() {
|
|
return MapperProxyFactory.getProxy(AuthMapper.class);
|
|
}
|
|
|
|
public Object auth(String page) {
|
|
return getAuthMapper().getAuth((long) user.getUID(), page);
|
|
}
|
|
}
|