package com.zt.modules.sys.service; import cn.hutool.core.convert.Convert; import com.zt.common.service.BaseService; import com.zt.core.context.UserContext; import com.zt.modules.sys.dao.SysMapDao; import com.zt.modules.sys.dto.MapDto; import com.zt.modules.sys.model.SysMap; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.Date; 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 SysMapService extends BaseService { /** * 根据用户ID,获取岗位ID列表 */ public List getMapsDto(Long mainId, String type) { return baseDao.getMapsDto(mainId, type); } public List getMaps(Long mainId, String type) { return baseDao.getList(mainId, type); } public List getIdList(Long mainId, String type) { List maps = this.getMaps(mainId, type); return maps.stream().map(map -> map.getSubId()).collect(Collectors.toList()); } public String getIds(Long mainId, String type) { List maps = this.getMaps(mainId, type); String result = maps.stream().map(map -> map.getSubId().toString()).collect(Collectors.joining(",")); return result; } public void saveOrUpdate(String type, Long mainId, String subIds) { baseDao.deleteByMainId(mainId, type); if (!StringUtils.isBlank(subIds)) { String[] subIdList = subIds.split(","); for (String subId : subIdList) { SysMap sysMap = new SysMap(); sysMap.setType(type); sysMap.setMainId(mainId); sysMap.setSubId(Convert.toLong(subId)); sysMap.setIsDelete(0); sysMap.setUpdateDate(new Date()); sysMap.setCreateDate(new Date()); sysMap.setUpdater(0L); sysMap.setCreator(0L); baseDao.insert(sysMap); } } } public void saveOrUpdate(String type, Long mainId, List subIdList) { baseDao.deleteByMainId(mainId, type); for (Long subId : subIdList) { SysMap sysMap = new SysMap(); sysMap.setType(type); sysMap.setMainId(mainId); sysMap.setSubId(subId); sysMap.setIsDelete(0); sysMap.setUpdateDate(new Date()); sysMap.setCreateDate(new Date()); sysMap.setUpdater(0L); sysMap.setCreator(0L); baseDao.insert(sysMap); } } public void insertData(String type, Long mainId, String subIds) { String[] splitIds = subIds.split(","); for (String id : splitIds) { Integer num = baseDao.checkItemNum(type, mainId, id); if (num>0) continue; SysMap sysMap = new SysMap(); sysMap.setType(type); sysMap.setMainId(mainId); sysMap.setSubId(Long.parseLong(id)); sysMap.setIsDelete(0); sysMap.setUpdateDate(new Date()); sysMap.setCreateDate(new Date()); Long userId = UserContext.getUser().getId(); sysMap.setUpdater(userId); sysMap.setCreator(userId); baseDao.insert(sysMap); } } /** * 根据岗位id,删除岗位用户关系 * * @param postId * 岗位id */ // @Transactional(rollbackFor = Exception.class) // public void deleteByPostId(Long postId) { // baseDao.delete(new QueryWrapper().lambda().eq(SysPostUser::getPostId, postId)); // } }