package com.zteits.sys.dao.impl; import java.util.List; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.sys.param.SysOrgResRelationRequest; import com.zteits.sys.dao.SysResDao; import com.zteits.sys.domain.SysRes; import com.zteits.sys.mapper.SysResMapper; import com.zteits.sys.mapper.smapper.SysOrgResSmapper; import com.zteits.sys.mapper.smapper.SysResSMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @Component public class SysResDaoImpl implements SysResDao { @Autowired private SysResMapper sysResMapper; @Autowired private SysResSMapper sysResSMapper; @Autowired private SysOrgResSmapper sysOrgResSmapper; private static final Long PUBLIC_RES_ID = -2L; @Override public Integer saveSysRes(SysRes sysRes) { return sysResMapper.insertSelective(sysRes); } @Override public Integer updateSysRes(SysRes sysRes) { return sysResMapper.updateByPrimaryKeySelective(sysRes); } @Override public Integer updateSysResSortNumOfSaveOrUpdate(Long id, Long parentResId, int sortNum, int oldSortNum) { return sysResSMapper.updateSysResSortNumOfSaveOrUpdate(id, parentResId, sortNum, oldSortNum); } @Override public Integer updateSysResSortNumOfDelete(Long id) { return sysResSMapper.updateSysResSortNumOfDelete(id); } @Override public List querySysResBySysCode(String sysCode) { return sysResSMapper.querySysResBySysCode(sysCode); } @Override public int updateBatchSysRes(SysRes sysRes, List ids, String sysCode) { return sysResSMapper.updateBatchSysRes(sysRes, ids, sysCode); } @Override public PageInfo querySysResBySysCode(SysRes sysRes, int pageNum, int pageSize, String sysCode) { if (null == sysRes.getDataState()) { //如果没有设置数据状态,默认只查询有效数据 sysRes.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); } PageHelper.startPage(pageNum, pageSize, true); List list = sysResSMapper.queryPageSysResForList(sysRes, sysCode); return new PageInfo(list); } @Override public List queryResIdsByOpId(Long opId) { return sysResSMapper.queryResIdsByOpId(opId); } @Override public List queryAllRes(Integer dataStatus,String sysCode,List resIds) { return sysResSMapper.queryAllRes(dataStatus,sysCode,resIds); } @Override public Boolean batchInsertOrgRes(SysOrgResRelationRequest request) { int insertCount = 1; //1.通过组织id删除组织资源关系 int deleteCount = sysOrgResSmapper.deleteOrgResByorgId(request.getOrgId()); if(deleteCount >=0 && !CollectionUtils.isEmpty(request.getResIds())){ List publicResIds = sysResSMapper.queryPublicService(PUBLIC_RES_ID); if(!CollectionUtils.isEmpty(publicResIds)){ request.getResIds().addAll(publicResIds); } insertCount = sysOrgResSmapper.batchInsertOrgRes(request.getOrgId(), request.getResIds(), request.getSysCode()); } return insertCount >0 ; } @Override public List queryResIdsByOrgId(SysOrgResRelationRequest request) { return sysOrgResSmapper.queryResIdsByOrgId(request.getOrgId(), request.getSysCode()); } }