package com.zt.modules.sys.service; 
 | 
  
 | 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
 | 
import com.zt.common.service.BaseService; 
 | 
import com.zt.modules.sys.dao.SysPostUserDao; 
 | 
import com.zt.modules.sys.dto.PostDto; 
 | 
import com.zt.modules.sys.model.SysPostUser; 
 | 
import org.springframework.stereotype.Service; 
 | 
import org.springframework.transaction.annotation.Transactional; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.stream.Collectors; 
 | 
  
 | 
/** 
 | 
 * SYS_POST_USER 
 | 
 * 
 | 
 * @author zt generator 
 | 
 * @since 1.0.0 2020-06-11 
 | 
 */ 
 | 
@Service 
 | 
public class SysPostUserService extends BaseService<SysPostUserDao, SysPostUser> { 
 | 
  
 | 
    /** 
 | 
     * 根据用户ID,获取岗位ID列表 
 | 
     */ 
 | 
    public List<PostDto> getUserPosts(Long userId) { 
 | 
        return baseDao.getUserPosts(userId); 
 | 
    } 
 | 
  
 | 
    @Transactional(rollbackFor = Exception.class) 
 | 
    public void saveOrUpdate(Long userId, List<Long> postIdList) { 
 | 
        List<SysPostUser> list = postIdList.stream().map(postId -> new SysPostUser(postId, userId)) 
 | 
                .collect(Collectors.toList()); 
 | 
        this.saveRelatedDatas("user_id", userId, "post_id", list); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据岗位id,删除岗位用户关系 
 | 
     * 
 | 
     * @param postId 
 | 
     *            岗位id 
 | 
     */ 
 | 
    @Transactional(rollbackFor = Exception.class) 
 | 
    public void deleteByPostId(Long postId) { 
 | 
        baseDao.delete(new QueryWrapper<SysPostUser>().lambda().eq(SysPostUser::getPostId, postId)); 
 | 
    } 
 | 
} 
 |