package com.wtkj.wrapper; import com.wtkj.entity.TaskContractPayLog; import com.wtkj.vo.TaskContractPayLogVO; import com.wutong.file.feign.IFileClient; import com.wutong.file.vo.FileVO; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.StringUtil; import org.springblade.system.entity.Dept; import org.springblade.system.feign.ISysClient; import org.springblade.system.user.entity.User; import org.springblade.system.user.feign.IUserClient; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** * @author Blizzard * @create at 2023-10-12 15:44 * @describe */ public class TaskContractPayLogWrapper extends BaseEntityWrapper { private static IFileClient fileClient; private static ISysClient sysClient; private static IUserClient userClient; public static TaskContractPayLogWrapper build() { fileClient = SpringUtil.getBean(IFileClient.class); sysClient = SpringUtil.getBean(ISysClient.class); userClient = SpringUtil.getBean(IUserClient.class); return new TaskContractPayLogWrapper(); } @Override public TaskContractPayLogVO entityVO(TaskContractPayLog entity) { TaskContractPayLogVO vo = Objects.requireNonNull(BeanUtil.copy(entity, TaskContractPayLogVO.class)); String bladeFileIds = entity.getBladeFileIds(); if (StringUtil.isNotBlank(bladeFileIds)) { List fileVOS = new ArrayList<>(); List fileIds = Func.toLongList(bladeFileIds); fileIds.forEach(fileId -> { R rpc = fileClient.findById(fileId); if (rpc.isSuccess()) { fileVOS.add(rpc.getData()); } }); vo.setFiles(fileVOS); } Long createDept = entity.getCreateDept(); R deptR = sysClient.getDept(createDept); if (deptR.isSuccess()) { vo.setCreateDeptName(deptR.getData().getDeptName()); } Long createUser = entity.getCreateUser(); R userR = userClient.userInfoById(createUser); if (userR.isSuccess()) { vo.setCreateUserName(userR.getData().getName()); } return vo; } }