/* * 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 com.vci.ubcs.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.system.mapper.PostMapper; import com.vci.ubcs.system.service.IPostService; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.utils.Func; import com.vci.ubcs.system.entity.Post; import com.vci.ubcs.system.vo.PostVO; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * 岗位表 服务实现类 * * @author Chill */ @Service public class PostServiceImpl extends BaseServiceImpl implements IPostService { @Override public IPage selectPostPage(IPage page, PostVO post) { return page.setRecords(baseMapper.selectPostPage(page, post)); } @Override public String getPostIds(String tenantId, String postNames) { List postList = baseMapper.selectList(Wrappers.query().lambda().eq(Post::getTenantId, tenantId).in(Post::getPostName, Func.toStrList(postNames))); if (postList != null && postList.size() > 0) { return postList.stream().map(post -> Func.toStr(post.getId())).distinct().collect(Collectors.joining(",")); } return null; } @Override public String getPostIdsByFuzzy(String tenantId, String postNames) { LambdaQueryWrapper queryWrapper = Wrappers.query().lambda().eq(Post::getTenantId, tenantId); queryWrapper.and(wrapper -> { List names = Func.toStrList(postNames); names.forEach(name -> wrapper.like(Post::getPostName, name).or()); }); List postList = baseMapper.selectList(queryWrapper); if (postList != null && postList.size() > 0) { return postList.stream().map(post -> Func.toStr(post.getId())).distinct().collect(Collectors.joining(",")); } return null; } @Override public List getPostNames(String postIds) { return baseMapper.getPostNames(Func.toLongArray(postIds)); } }