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));
|
}
|
}
|