package com.gkhy.labRiskManage.domain.account.converter; import cn.hutool.core.util.ObjectUtil; import com.gkhy.labRiskManage.application.account.dto.respDto.UserIdentityBindAppRespDTO; import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils; import com.gkhy.labRiskManage.domain.account.entity.SysUserIdentityBind; import com.gkhy.labRiskManage.domain.account.entity.SysUserRoleBind; import com.gkhy.labRiskManage.domain.account.entity.User; import com.gkhy.labRiskManage.application.account.dto.respDto.UserInfoAppRespDTO; import com.gkhy.labRiskManage.domain.account.model.dto.SysUserIdentityBindDomainDTO; import com.gkhy.labRiskManage.domain.account.model.dto.SysUserRoleBindDomainDTO; import com.gkhy.labRiskManage.domain.account.model.dto.UserInfoDomainDTO; import com.gkhy.labRiskManage.domain.attachment.dto.resp.AttachmentDomainDTO; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service public class UserInfoDomainConverter { public UserInfoAppRespDTO toUserInfoRespDTO(UserInfoDomainDTO userInfoDomainDTO){ if(userInfoDomainDTO == null) return null; UserInfoAppRespDTO userInfoAppRespDTO = new UserInfoAppRespDTO(); BeanUtils.copyProperties(userInfoDomainDTO, userInfoAppRespDTO); return userInfoAppRespDTO; } public UserInfoDomainDTO toUserInfoDTO(User user){ if(user == null) return null; UserInfoDomainDTO userInfoDomainDTO = new UserInfoDomainDTO(); BeanUtils.copyProperties(user, userInfoDomainDTO); if(user.getSysDepartment() != null){ userInfoDomainDTO.setDepName(user.getSysDepartment().getDepName()); } List roleBindDomainDTOList = new ArrayList<>(); if(ObjectUtil.isNotEmpty(user.getSysUserRoleBinds())){ user.getSysUserRoleBinds().forEach(userRoleBind -> { roleBindDomainDTOList.add(toUserRoleDomainDTO(userRoleBind)); }); } userInfoDomainDTO.setRoles(roleBindDomainDTOList); //身份 List userIdentityBindDomainDTOS = new ArrayList<>(); if(user.getSysUserIdentityBinds() != null){ user.getSysUserIdentityBinds().forEach(userIdentity ->{ userIdentityBindDomainDTOS.add(toUserIndentityDomainDTO(userIdentity)); }); } userInfoDomainDTO.setUserIdentities(userIdentityBindDomainDTOS); //资质附件 if(user.getQualificationAttachment() != null){ AttachmentDomainDTO attachmentDomainDTO = new AttachmentDomainDTO(); BeanUtils.copyProperties(user.getQualificationAttachment(),attachmentDomainDTO); userInfoDomainDTO.setQualificationAttDomainDTO(attachmentDomainDTO); } return userInfoDomainDTO; } public SysUserIdentityBindDomainDTO toUserIndentityDomainDTO(SysUserIdentityBind sysUserIdentityBind){ if(sysUserIdentityBind == null) return null; SysUserIdentityBindDomainDTO sysUserRoleBindDomainDTO = new SysUserIdentityBindDomainDTO(); BeanUtils.copyProperties(sysUserIdentityBind, sysUserRoleBindDomainDTO); if(sysUserIdentityBind.getUserIdentity() != null){ sysUserRoleBindDomainDTO.setUserIdentity(sysUserIdentityBind.getUserIdentity().getIdentity()); } return sysUserRoleBindDomainDTO; } public SysUserRoleBindDomainDTO toUserRoleDomainDTO(SysUserRoleBind sysUserRoleBind){ if(sysUserRoleBind == null) return null; SysUserRoleBindDomainDTO sysUserRoleBindDomainDTO = new SysUserRoleBindDomainDTO(); BeanUtils.copyProperties(sysUserRoleBind, sysUserRoleBindDomainDTO); sysUserRoleBindDomainDTO.setRoleName(sysUserRoleBind.getRole().getName()); return sysUserRoleBindDomainDTO; } public List toDomainUserInfoList(List userList){ if(userList == null || userList.isEmpty()) return null; List domainDTOList = new ArrayList<>(); userList.forEach(u -> { domainDTOList.add(toUserInfoDTO(u)); }); return domainDTOList; } }