package jnpf.base.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import jnpf.base.Pagination; import jnpf.base.service.SuperServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jnpf.base.entity.ModuleColumnEntity; import jnpf.base.entity.ModuleDataAuthorizeSchemeEntity; import jnpf.base.mapper.ModuleDataAuthorizeSchemeMapper; import jnpf.base.service.ModuleDataAuthorizeSchemeService; import jnpf.util.DateUtil; import jnpf.util.RandomUtil; import jnpf.util.StringUtil; import jnpf.util.UserProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 数据权限方案 * * @author JNPF开发平台组 * @version V3.1.0 * @copyright 引迈信息技术有限公司 * @date 2019年9月27日 上午9:18 */ @Service public class ModuleDataAuthorizeSchemeServiceImpl extends SuperServiceImpl implements ModuleDataAuthorizeSchemeService { @Override public List getList() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getEnabledMark,1); // 排序 queryWrapper.lambda().orderByDesc(ModuleDataAuthorizeSchemeEntity::getCreatorTime); return this.list(queryWrapper); } @Override public List getEnabledMarkList(String enabledMark) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getEnabledMark, enabledMark); // 排序 queryWrapper.lambda().orderByDesc(ModuleDataAuthorizeSchemeEntity::getCreatorTime); return this.list(queryWrapper); } @Override public List getList(String moduleId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getModuleId, moduleId); // 排序 queryWrapper.lambda().orderByDesc(ModuleDataAuthorizeSchemeEntity::getCreatorTime); return this.list(queryWrapper); } @Override public List getList(String moduleId, Pagination pagination) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getModuleId, moduleId); // 排序 queryWrapper.lambda().orderByDesc(ModuleDataAuthorizeSchemeEntity::getCreatorTime); Page page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize()); IPage iPage = this.page(page, queryWrapper); return pagination.setData(iPage.getRecords(), iPage.getTotal()); } @Override public ModuleDataAuthorizeSchemeEntity getInfo(String id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getId, id); return this.getOne(queryWrapper); } @Override public void create(ModuleDataAuthorizeSchemeEntity entity) { entity.setId(RandomUtil.uuId()); entity.setEnabledMark(1); entity.setSortCode(RandomUtil.parses()); this.save(entity); } @Override public boolean update(String id, ModuleDataAuthorizeSchemeEntity entity) { entity.setId(id); entity.setEnabledMark(1); entity.setLastModifyTime(DateUtil.getNowDate()); return this.updateById(entity); } @Override public void delete(ModuleDataAuthorizeSchemeEntity entity) { this.removeById(entity.getId()); } @Override public Boolean isExistByFullName(String id, String fullName, String moduleId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getModuleId, moduleId); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getFullName, fullName); if (StringUtil.isNotEmpty(id)) { queryWrapper.lambda().ne(ModuleDataAuthorizeSchemeEntity::getId, id); } return this.count(queryWrapper) > 0; } @Override public Boolean isExistByEnCode(String id, String enCode, String moduleId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getModuleId, moduleId); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getEnCode, enCode); if (StringUtil.isNotEmpty(id)) { queryWrapper.lambda().ne(ModuleDataAuthorizeSchemeEntity::getId, id); } return this.count(queryWrapper) > 0; } @Override public Boolean isExistAllData(String moduleId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getModuleId, moduleId); queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getAllData, 1); return this.count(queryWrapper) > 0; } @Override public List getListByModuleId(List ids,Integer type) { if (ids.isEmpty()) { return new ArrayList<>(); } QueryWrapper queryWrapper = new QueryWrapper<>(); List> lists = Lists.partition(ids, 1000); for (List list : lists) { queryWrapper.lambda().and(t->{ t.in(ModuleDataAuthorizeSchemeEntity::getModuleId, list).or(); }); } if (type ==1) { queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getEnabledMark, 1); } queryWrapper.lambda().orderByAsc(ModuleDataAuthorizeSchemeEntity::getSortCode).orderByDesc(ModuleDataAuthorizeSchemeEntity::getCreatorTime); return this.list(queryWrapper); } @Override public List getListByIds(List ids) { if (ids.size() == 0) { return new ArrayList<>(); } QueryWrapper queryWrapper = new QueryWrapper<>(); List> lists = Lists.partition(ids, 1000); for (List list : lists) { queryWrapper.lambda().or().in(ModuleDataAuthorizeSchemeEntity::getId, list); } queryWrapper.lambda().eq(ModuleDataAuthorizeSchemeEntity::getEnabledMark, 1); return this.list(queryWrapper); } }