/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.evaluate.wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.modules.evaluate.entity.EvaluateCandidateEntity; import org.springblade.modules.evaluate.entity.EvaluateResultEntity; import org.springblade.modules.evaluate.entity.EvaluateTaskEntity; import org.springblade.modules.evaluate.service.IEvaluateCandidateService; import org.springblade.modules.evaluate.service.IEvaluateResultService; import org.springblade.modules.evaluate.vo.EvaluateTaskVO; import java.util.*; /** * 评优任务表 包装类,返回视图层所需的字段 * * @author aix * @since 2023-12-08 */ public class EvaluateTaskWrapper extends BaseEntityWrapper { private static final IEvaluateCandidateService evaluateCandidateService; private static final IEvaluateResultService evaluateResultService; static { evaluateCandidateService = SpringUtil.getBean(IEvaluateCandidateService.class); evaluateResultService = SpringUtil.getBean(IEvaluateResultService.class); } public static EvaluateTaskWrapper build() { return new EvaluateTaskWrapper(); } @Override public EvaluateTaskVO entityVO(EvaluateTaskEntity evaluateTask) { EvaluateTaskVO evaluateTaskVO = Objects.requireNonNull(BeanUtil.copy(evaluateTask, EvaluateTaskVO.class)); //User createUser = UserCache.getUser(evaluateTask.getCreateUser()); //User updateUser = UserCache.getUser(evaluateTask.getUpdateUser()); //evaluateTaskVO.setCreateUserName(createUser.getName()); //evaluateTaskVO.setUpdateUserName(updateUser.getName()); return evaluateTaskVO; } public IPage companyListPageVO(IPage pages,Long userId) { List records = listVO(pages.getRecords()); for (EvaluateTaskVO vo:records) { if (vo.getEvaluateState() == 1) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("evaluate_task_id", vo.getId()); List candidateEntitieList = evaluateCandidateService.list(queryWrapper); List> users = new ArrayList<>(); for (EvaluateCandidateEntity evaluateCandidate:candidateEntitieList) { Map user = new HashMap<>(); user.put("id",evaluateCandidate.getUserId()); user.put("name",evaluateCandidate.getUserName()); users.add(user); } vo.setSelfCandidate(users); //是否评论完成 QueryWrapper resultEntityQueryWrapper = new QueryWrapper<>(); resultEntityQueryWrapper.eq("score_user_id", userId); resultEntityQueryWrapper.eq("type", 2); resultEntityQueryWrapper.eq("evaluate_task_id", vo.getId()); long reqCount = evaluateResultService.count(resultEntityQueryWrapper); vo.setIsEvaluateOk(reqCount > 0); if (reqCount > 0) { vo.setEvaluateResultVO(EvaluateResultWrapper.build().entityVO(evaluateResultService.getOne(resultEntityQueryWrapper))); } } } IPage pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal()); pageVo.setRecords(records); return pageVo; } }