refactor(dal): 将数据访问层的查询方法从Mapper接口移至服务层

This commit is contained in:
2025-12-27 16:50:01 +08:00
parent 05914f1548
commit 3a48388dec
10 changed files with 176 additions and 181 deletions
@@ -33,47 +33,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface SystemDeptMapper extends BaseMapper<SystemDeptTb> { public interface SystemDeptMapper extends BaseMapper<SystemDeptTb> {
default List<SystemDeptTb> selectDeptByPidIsNull() {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.isNull(SystemDeptTb::getPid);
return selectList(wrapper);
}
default long countDeptByPid(Long pid) {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDeptTb::getPid, pid);
return selectCount(wrapper);
}
default List<SystemDeptTb> queryDeptByArgs(SystemQueryDeptArgs criteria) {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
if (criteria != null) {
wrapper.in(CollUtil.isNotEmpty(criteria.getIds()), SystemDeptTb::getId, criteria.getIds());
wrapper.like(StrUtil.isNotBlank(criteria.getName()), SystemDeptTb::getName, criteria.getName());
wrapper.eq(criteria.getEnabled() != null, SystemDeptTb::getEnabled, criteria.getEnabled());
wrapper.eq(criteria.getPid() != null, SystemDeptTb::getPid, criteria.getPid());
wrapper.isNull(criteria.getPidIsNull() != null, SystemDeptTb::getPid);
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
wrapper.between(SystemDeptTb::getCreateTime, criteria.getCreateTime().get(0),
criteria.getCreateTime().get(1));
}
}
wrapper.orderByAsc(SystemDeptTb::getDeptSort);
return selectList(wrapper);
}
default List<SystemDeptTb> selectEnabledDepts() {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDeptTb::getEnabled, 1);
return selectList(wrapper);
}
default List<SystemDeptTb> selectDeptByPid(long pid) {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDeptTb::getPid, pid);
return selectList(wrapper);
}
default void updateDeptSubCountById(long count, Long deptId) { default void updateDeptSubCountById(long count, Long deptId) {
LambdaUpdateWrapper<SystemDeptTb> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<SystemDeptTb> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(SystemDeptTb::getId, deptId); wrapper.eq(SystemDeptTb::getId, deptId);
@@ -15,13 +15,8 @@
*/ */
package cn.odboy.system.dal.mysql; package cn.odboy.system.dal.mysql;
import cn.hutool.core.collection.CollUtil;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb; import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
@@ -32,15 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface SystemDictDetailMapper extends BaseMapper<SystemDictDetailTb> { public interface SystemDictDetailMapper extends BaseMapper<SystemDictDetailTb> {
default List<SystemDictDetailTb> selectByDictId(Long dictId) {
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDictDetailTb::getDictId, dictId);
return selectList(wrapper);
}
default IPage<SystemDictDetailTb> selectDictDetailByArgs(List<Long> dictIds, Page<SystemDictDetailTb> page) {
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds);
return selectPage(page, wrapper);
}
} }
@@ -15,13 +15,8 @@
*/ */
package cn.odboy.system.dal.mysql; package cn.odboy.system.dal.mysql;
import cn.hutool.core.util.StrUtil;
import cn.odboy.system.dal.dataobject.SystemDictTb; import cn.odboy.system.dal.dataobject.SystemDictTb;
import cn.odboy.system.dal.model.SystemQueryDictArgs;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
@@ -32,28 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface SystemDictMapper extends BaseMapper<SystemDictTb> { public interface SystemDictMapper extends BaseMapper<SystemDictTb> {
default void injectQueryParams(SystemQueryDictArgs args, LambdaQueryWrapper<SystemDictTb> wrapper) {
if (args != null) {
wrapper.and(StrUtil.isNotBlank(args.getBlurry()), c -> c.like(SystemDictTb::getName, args.getBlurry()).or()
.like(SystemDictTb::getDescription, args.getBlurry()));
}
}
default List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args) {
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
injectQueryParams(args, wrapper);
return selectList(wrapper);
}
default List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) {
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
injectQueryParams(args, wrapper);
return selectList(page, wrapper);
}
default SystemDictTb getByName(String name) {
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDictTb::getName, name);
return selectOne(wrapper);
}
} }
@@ -15,15 +15,8 @@
*/ */
package cn.odboy.system.dal.mysql; package cn.odboy.system.dal.mysql;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.system.dal.dataobject.SystemJobTb; import cn.odboy.system.dal.dataobject.SystemJobTb;
import cn.odboy.system.dal.model.SystemQueryJobArgs;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
@@ -34,33 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface SystemJobMapper extends BaseMapper<SystemJobTb> { public interface SystemJobMapper extends BaseMapper<SystemJobTb> {
default SystemJobTb getJobByName(String name) {
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemJobTb::getName, name);
return selectOne(wrapper);
}
default void injectQueryParams(SystemQueryJobArgs criteria, LambdaQueryWrapper<SystemJobTb> wrapper) {
if (criteria != null) {
wrapper.like(StrUtil.isNotBlank(criteria.getName()), SystemJobTb::getName, criteria.getName());
wrapper.eq(criteria.getEnabled() != null, SystemJobTb::getEnabled, criteria.getEnabled());
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
wrapper.between(SystemJobTb::getCreateTime, criteria.getCreateTime().get(0),
criteria.getCreateTime().get(1));
}
}
wrapper.orderByDesc(SystemJobTb::getJobSort, SystemJobTb::getId);
}
default IPage<SystemJobTb> selectJobByArgs(SystemQueryJobArgs criteria, Page<SystemJobTb> page) {
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
this.injectQueryParams(criteria, wrapper);
return selectPage(page, wrapper);
}
default List<SystemJobTb> selectJobByArgs(SystemQueryJobArgs criteria) {
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
this.injectQueryParams(criteria, wrapper);
return selectList(wrapper);
}
} }
@@ -15,15 +15,8 @@
*/ */
package cn.odboy.system.dal.mysql; package cn.odboy.system.dal.mysql;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.system.dal.dataobject.SystemLocalStorageTb; import cn.odboy.system.dal.dataobject.SystemLocalStorageTb;
import cn.odboy.system.dal.model.SystemQueryStorageArgs;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
@@ -34,31 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface SystemLocalStorageMapper extends BaseMapper<SystemLocalStorageTb> { public interface SystemLocalStorageMapper extends BaseMapper<SystemLocalStorageTb> {
default void injectQueryParams(SystemQueryStorageArgs criteria, LambdaQueryWrapper<SystemLocalStorageTb> wrapper) {
if (criteria != null) {
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
c -> c.like(SystemLocalStorageTb::getName, criteria.getBlurry()).or()
.like(SystemLocalStorageTb::getSuffix, criteria.getBlurry()).or()
.like(SystemLocalStorageTb::getType, criteria.getBlurry()).or()
.like(SystemLocalStorageTb::getCreateBy, criteria.getBlurry()));
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
wrapper.between(SystemLocalStorageTb::getUpdateTime, criteria.getCreateTime().get(0),
criteria.getCreateTime().get(1));
}
}
wrapper.orderByDesc(SystemLocalStorageTb::getId);
}
default List<SystemLocalStorageTb> selectLocalStorageByArgs(SystemQueryStorageArgs criteria) {
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
injectQueryParams(criteria, wrapper);
return selectList(wrapper);
}
default IPage<SystemLocalStorageTb> selectLocalStorageByArgs(SystemQueryStorageArgs criteria,
Page<SystemLocalStorageTb> page) {
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
injectQueryParams(criteria, wrapper);
return selectPage(page, wrapper);
}
} }
@@ -29,11 +29,11 @@ import cn.odboy.system.dal.model.SystemProductLineTreeVo;
import cn.odboy.system.dal.model.SystemProductLineVo; import cn.odboy.system.dal.model.SystemProductLineVo;
import cn.odboy.system.dal.model.SystemQueryDeptArgs; import cn.odboy.system.dal.model.SystemQueryDeptArgs;
import cn.odboy.system.dal.mysql.SystemDeptMapper; import cn.odboy.system.dal.mysql.SystemDeptMapper;
import cn.odboy.system.dal.mysql.SystemRoleMapper;
import cn.odboy.system.dal.mysql.SystemUserMapper; import cn.odboy.system.dal.mysql.SystemUserMapper;
import cn.odboy.system.framework.permission.core.KitSecurityHelper; import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitClassUtil; import cn.odboy.util.KitClassUtil;
import cn.odboy.util.KitFileUtil; import cn.odboy.util.KitFileUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
@@ -133,11 +133,17 @@ public class SystemDeptService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateDeptSubCnt(Long deptId) { public void updateDeptSubCnt(Long deptId) {
if (deptId != null) { if (deptId != null) {
long count = systemDeptMapper.countDeptByPid(deptId); long count = this.countDeptByPid(deptId);
systemDeptMapper.updateDeptSubCountById(count, deptId); systemDeptMapper.updateDeptSubCountById(count, deptId);
} }
} }
public long countDeptByPid(Long pid) {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDeptTb::getPid, pid);
return systemDeptMapper.selectCount(wrapper);
}
/** /**
* 筛选出 list 中没有父部门(即 pid 不在其他部门 id 列表中的部门)的部门列表 * 筛选出 list 中没有父部门(即 pid 不在其他部门 id 列表中的部门)的部门列表
*/ */
@@ -154,6 +160,23 @@ public class SystemDeptService {
return deptList; return deptList;
} }
public List<SystemDeptTb> queryDeptByArgs(SystemQueryDeptArgs criteria) {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
if (criteria != null) {
wrapper.in(CollUtil.isNotEmpty(criteria.getIds()), SystemDeptTb::getId, criteria.getIds());
wrapper.like(StrUtil.isNotBlank(criteria.getName()), SystemDeptTb::getName, criteria.getName());
wrapper.eq(criteria.getEnabled() != null, SystemDeptTb::getEnabled, criteria.getEnabled());
wrapper.eq(criteria.getPid() != null, SystemDeptTb::getPid, criteria.getPid());
wrapper.isNull(criteria.getPidIsNull() != null, SystemDeptTb::getPid);
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
wrapper.between(SystemDeptTb::getCreateTime, criteria.getCreateTime().get(0),
criteria.getCreateTime().get(1));
}
}
wrapper.orderByAsc(SystemDeptTb::getDeptSort);
return systemDeptMapper.selectList(wrapper);
}
/** /**
* 查询所有数据 * 查询所有数据
* *
@@ -188,7 +211,7 @@ public class SystemDeptService {
} }
// 数据权限 // 数据权限
criteria.setIds(KitSecurityHelper.getCurrentUserDataScope()); criteria.setIds(KitSecurityHelper.getCurrentUserDataScope());
List<SystemDeptTb> list = systemDeptMapper.queryDeptByArgs(criteria); List<SystemDeptTb> list = this.queryDeptByArgs(criteria);
// 如果为空, 就代表为自定义权限或者本级权限, 就需要去重, 不理解可以注释掉,看查询结果 // 如果为空, 就代表为自定义权限或者本级权限, 就需要去重, 不理解可以注释掉,看查询结果
if (StrUtil.isBlank(dataScopeType)) { if (StrUtil.isBlank(dataScopeType)) {
return this.deduplication(list); return this.deduplication(list);
@@ -213,7 +236,7 @@ public class SystemDeptService {
* @return / * @return /
*/ */
public List<SystemDeptTb> queryDeptByPid(long pid) { public List<SystemDeptTb> queryDeptByPid(long pid) {
return systemDeptMapper.selectDeptByPid(pid); return this.selectDeptByPid(pid);
} }
/** /**
@@ -226,7 +249,7 @@ public class SystemDeptService {
public Set<SystemDeptTb> queryRelationDeptSet(List<SystemDeptTb> deptTbList, Set<SystemDeptTb> depts) { public Set<SystemDeptTb> queryRelationDeptSet(List<SystemDeptTb> deptTbList, Set<SystemDeptTb> depts) {
for (SystemDeptTb dept : deptTbList) { for (SystemDeptTb dept : deptTbList) {
depts.add(dept); depts.add(dept);
List<SystemDeptTb> deptList = systemDeptMapper.selectDeptByPid(dept.getId()); List<SystemDeptTb> deptList = this.selectDeptByPid(dept.getId());
if (CollUtil.isNotEmpty(deptList)) { if (CollUtil.isNotEmpty(deptList)) {
queryRelationDeptSet(deptList, depts); queryRelationDeptSet(deptList, depts);
} }
@@ -244,7 +267,7 @@ public class SystemDeptService {
List<Long> list = new ArrayList<>(); List<Long> list = new ArrayList<>();
for (SystemDeptTb systemDeptTb : deptList) { for (SystemDeptTb systemDeptTb : deptList) {
if (systemDeptTb != null && systemDeptTb.getEnabled()) { if (systemDeptTb != null && systemDeptTb.getEnabled()) {
List<SystemDeptTb> deptList1 = systemDeptMapper.selectDeptByPid(systemDeptTb.getId()); List<SystemDeptTb> deptList1 = this.selectDeptByPid(systemDeptTb.getId());
if (CollUtil.isNotEmpty(deptList1)) { if (CollUtil.isNotEmpty(deptList1)) {
list.addAll(queryChildDeptIdListByDeptIds(deptList1)); list.addAll(queryChildDeptIdListByDeptIds(deptList1));
} }
@@ -263,13 +286,19 @@ public class SystemDeptService {
*/ */
public List<SystemDeptTb> querySuperiorDeptListByPid(SystemDeptTb dept, List<SystemDeptTb> deptList) { public List<SystemDeptTb> querySuperiorDeptListByPid(SystemDeptTb dept, List<SystemDeptTb> deptList) {
if (dept.getPid() == null) { if (dept.getPid() == null) {
deptList.addAll(systemDeptMapper.selectDeptByPidIsNull()); deptList.addAll(this.selectDeptByPidIsNull());
return deptList; return deptList;
} }
deptList.addAll(systemDeptMapper.selectDeptByPid(dept.getPid())); deptList.addAll(this.selectDeptByPid(dept.getPid()));
return querySuperiorDeptListByPid(this.getDeptById(dept.getPid()), deptList); return querySuperiorDeptListByPid(this.getDeptById(dept.getPid()), deptList);
} }
public List<SystemDeptTb> selectDeptByPidIsNull() {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.isNull(SystemDeptTb::getPid);
return systemDeptMapper.selectList(wrapper);
}
/** /**
* 构建树形数据 * 构建树形数据
* *
@@ -325,6 +354,12 @@ public class SystemDeptService {
} }
} }
public List<SystemDeptTb> selectEnabledDepts() {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDeptTb::getEnabled, 1);
return systemDeptMapper.selectList(wrapper);
}
/** /**
* 遍历所有部门和子部门 * 遍历所有部门和子部门
* *
@@ -345,7 +380,7 @@ public class SystemDeptService {
} }
public List<SystemProductLineVo> queryDeptSelectDataSource() { public List<SystemProductLineVo> queryDeptSelectDataSource() {
List<SystemDeptTb> depts = systemDeptMapper.selectEnabledDepts(); List<SystemDeptTb> depts = this.selectEnabledDepts();
return buildDeptSelectOptions(depts); return buildDeptSelectOptions(depts);
} }
@@ -394,7 +429,7 @@ public class SystemDeptService {
} }
public List<SystemProductLineTreeVo> queryDeptSelectProDataSource() { public List<SystemProductLineTreeVo> queryDeptSelectProDataSource() {
List<SystemDeptTb> depts = systemDeptMapper.selectEnabledDepts(); List<SystemDeptTb> depts = this.selectEnabledDepts();
// 获取所有部门并按父子关系组织 // 获取所有部门并按父子关系组织
Map<Long, SystemDeptTb> deptMap = Map<Long, SystemDeptTb> deptMap =
depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity())); depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity()));
@@ -441,4 +476,11 @@ public class SystemDeptService {
vo.setChildren(children); vo.setChildren(children);
return vo; return vo;
} }
public List<SystemDeptTb> selectDeptByPid(long pid) {
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDeptTb::getPid, pid);
return systemDeptMapper.selectList(wrapper);
}
} }
@@ -25,7 +25,6 @@ import cn.odboy.system.dal.model.SystemCreateDictDetailArgs;
import cn.odboy.system.dal.model.SystemDictDetailVo; import cn.odboy.system.dal.model.SystemDictDetailVo;
import cn.odboy.system.dal.model.SystemQueryDictDetailArgs; import cn.odboy.system.dal.model.SystemQueryDictDetailArgs;
import cn.odboy.system.dal.mysql.SystemDictDetailMapper; import cn.odboy.system.dal.mysql.SystemDictDetailMapper;
import cn.odboy.system.dal.mysql.SystemDictMapper;
import cn.odboy.util.KitPageUtil; import cn.odboy.util.KitPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -45,7 +44,7 @@ public class SystemDictDetailService {
@Autowired @Autowired
private SystemDictDetailMapper systemDictDetailMapper; private SystemDictDetailMapper systemDictDetailMapper;
@Autowired @Autowired
private SystemDictMapper systemDictMapper; private SystemDictService systemDictService;
/** /**
* 创建 * 创建
@@ -90,6 +89,18 @@ public class SystemDictDetailService {
} }
} }
private List<SystemDictDetailTb> selectByDictId(Long dictId) {
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDictDetailTb::getDictId, dictId);
return systemDictDetailMapper.selectList(wrapper);
}
private IPage<SystemDictDetailTb> selectDictDetailByArgs(List<Long> dictIds, Page<SystemDictDetailTb> page) {
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds);
return systemDictDetailMapper.selectPage(page, wrapper);
}
/** /**
* 分页查询 * 分页查询
* *
@@ -104,14 +115,14 @@ public class SystemDictDetailService {
List<SystemDictTb> dictTbs = new ArrayList<>(); List<SystemDictTb> dictTbs = new ArrayList<>();
if (args == null) { if (args == null) {
dictTbs.addAll(systemDictMapper.selectList(null)); dictTbs.addAll(systemDictService.selectList(null));
dictIds = dictTbs.stream().map(SystemDictTb::getId).collect(Collectors.toList()); dictIds = dictTbs.stream().map(SystemDictTb::getId).collect(Collectors.toList());
} else { } else {
String dictName = args.getDictName(); String dictName = args.getDictName();
if (StrUtil.isBlank(dictName)) { if (StrUtil.isBlank(dictName)) {
return KitPageUtil.toPage(iPage); return KitPageUtil.toPage(iPage);
} }
SystemDictTb dictTb = systemDictMapper.getByName(dictName); SystemDictTb dictTb = systemDictService.getByName(dictName);
if (dictTb == null) { if (dictTb == null) {
return KitPageUtil.toPage(iPage); return KitPageUtil.toPage(iPage);
} else { } else {
@@ -121,7 +132,7 @@ public class SystemDictDetailService {
} }
Map<Long, SystemDictTb> id2ItemMap = dictTbs.stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i)); Map<Long, SystemDictTb> id2ItemMap = dictTbs.stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i));
iPage = systemDictDetailMapper.selectDictDetailByArgs(dictIds, page) iPage = this.selectDictDetailByArgs(dictIds, page)
.convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class)); .convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class));
for (SystemDictDetailVo record : iPage.getRecords()) { for (SystemDictDetailVo record : iPage.getRecords()) {
record.setDict(id2ItemMap.get(record.getDictId())); record.setDict(id2ItemMap.get(record.getDictId()));
@@ -139,11 +150,11 @@ public class SystemDictDetailService {
if (StrUtil.isBlank(name)) { if (StrUtil.isBlank(name)) {
return new ArrayList<>(); return new ArrayList<>();
} }
SystemDictTb systemDictTb = systemDictMapper.getByName(name); SystemDictTb systemDictTb = systemDictService.getByName(name);
if (systemDictTb == null) { if (systemDictTb == null) {
return new ArrayList<>(); return new ArrayList<>();
} }
return systemDictDetailMapper.selectByDictId(systemDictTb.getId()).stream().map(m -> { return this.selectByDictId(systemDictTb.getId()).stream().map(m -> {
SystemDictDetailVo detailVo = BeanUtil.copyProperties(m, SystemDictDetailVo.class); SystemDictDetailVo detailVo = BeanUtil.copyProperties(m, SystemDictDetailVo.class);
detailVo.setDict(systemDictTb); detailVo.setDict(systemDictTb);
return detailVo; return detailVo;
@@ -17,6 +17,7 @@ package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb; import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
import cn.odboy.system.dal.dataobject.SystemDictTb; import cn.odboy.system.dal.dataobject.SystemDictTb;
@@ -26,6 +27,7 @@ import cn.odboy.system.dal.model.SystemQueryDictArgs;
import cn.odboy.system.dal.mysql.SystemDictMapper; import cn.odboy.system.dal.mysql.SystemDictMapper;
import cn.odboy.util.KitFileUtil; import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitPageUtil; import cn.odboy.util.KitPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@@ -40,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
@Service @Service
public class SystemDictService { public class SystemDictService {
@Autowired @Autowired
private SystemDictMapper systemDictMapper; private SystemDictMapper systemDictMapper;
@Autowired @Autowired
@@ -123,7 +126,7 @@ public class SystemDictService {
* @return / * @return /
*/ */
public KitPageResult<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) { public KitPageResult<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) {
return KitPageUtil.toPage(systemDictMapper.selectDictByArgs(args, page)); return KitPageUtil.toPage(this.selectDictByArgs(args, page));
} }
/** /**
@@ -133,10 +136,39 @@ public class SystemDictService {
* @return / * @return /
*/ */
public List<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args) { public List<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args) {
return systemDictMapper.selectDictByArgs(args); return this.selectDictByArgs(args);
} }
public SystemDictTb getById(int id) { public SystemDictTb getById(int id) {
return systemDictMapper.selectById(id); return systemDictMapper.selectById(id);
} }
private void injectQueryParams(SystemQueryDictArgs args, LambdaQueryWrapper<SystemDictTb> wrapper) {
if (args != null) {
wrapper.and(StrUtil.isNotBlank(args.getBlurry()), c -> c.like(SystemDictTb::getName, args.getBlurry()).or()
.like(SystemDictTb::getDescription, args.getBlurry()));
}
}
private List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args) {
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
injectQueryParams(args, wrapper);
return systemDictMapper.selectList(wrapper);
}
private List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) {
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
injectQueryParams(args, wrapper);
return systemDictMapper.selectList(page, wrapper);
}
public SystemDictTb getByName(String name) {
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemDictTb::getName, name);
return systemDictMapper.selectOne(wrapper);
}
public List<SystemDictTb> selectList(LambdaQueryWrapper<SystemDictTb> wrapper) {
return systemDictMapper.selectList(wrapper);
}
} }
@@ -16,6 +16,8 @@
package cn.odboy.system.service; package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult; import cn.odboy.base.KitPageResult;
import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemJobTb; import cn.odboy.system.dal.dataobject.SystemJobTb;
@@ -25,6 +27,8 @@ import cn.odboy.system.dal.mysql.SystemJobMapper;
import cn.odboy.system.dal.mysql.SystemUserMapper; import cn.odboy.system.dal.mysql.SystemUserMapper;
import cn.odboy.util.KitFileUtil; import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitPageUtil; import cn.odboy.util.KitPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@@ -52,7 +56,7 @@ public class SystemJobService {
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveJob(SystemCreateJobArgs args) { public void saveJob(SystemCreateJobArgs args) {
SystemJobTb job = systemJobMapper.getJobByName(args.getName()); SystemJobTb job = this.getJobByName(args.getName());
if (job != null) { if (job != null) {
throw new BadRequestException("职位名称已存在"); throw new BadRequestException("职位名称已存在");
} }
@@ -67,7 +71,7 @@ public class SystemJobService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void modifyJobById(SystemJobTb args) { public void modifyJobById(SystemJobTb args) {
SystemJobTb job = systemJobMapper.selectById(args.getId()); SystemJobTb job = systemJobMapper.selectById(args.getId());
SystemJobTb old = systemJobMapper.getJobByName(args.getName()); SystemJobTb old = this.getJobByName(args.getName());
if (old != null && !old.getId().equals(args.getId())) { if (old != null && !old.getId().equals(args.getId())) {
throw new BadRequestException("职位名称已存在"); throw new BadRequestException("职位名称已存在");
} }
@@ -112,7 +116,7 @@ public class SystemJobService {
* @return * @return
*/ */
public KitPageResult<SystemJobTb> queryJobByArgs(SystemQueryJobArgs args, Page<SystemJobTb> page) { public KitPageResult<SystemJobTb> queryJobByArgs(SystemQueryJobArgs args, Page<SystemJobTb> page) {
return KitPageUtil.toPage(systemJobMapper.selectJobByArgs(args, page)); return KitPageUtil.toPage(this.selectJobByArgs(args, page));
} }
/** /**
@@ -122,7 +126,7 @@ public class SystemJobService {
* @return / * @return /
*/ */
public List<SystemJobTb> queryJobByArgs(SystemQueryJobArgs args) { public List<SystemJobTb> queryJobByArgs(SystemQueryJobArgs args) {
return systemJobMapper.selectJobByArgs(args); return this.selectJobByArgs(args);
} }
/** /**
@@ -135,4 +139,35 @@ public class SystemJobService {
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!"); throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
} }
} }
public SystemJobTb getJobByName(String name) {
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemJobTb::getName, name);
return systemJobMapper.selectOne(wrapper);
}
public void injectQueryParams(SystemQueryJobArgs criteria, LambdaQueryWrapper<SystemJobTb> wrapper) {
if (criteria != null) {
wrapper.like(StrUtil.isNotBlank(criteria.getName()), SystemJobTb::getName, criteria.getName());
wrapper.eq(criteria.getEnabled() != null, SystemJobTb::getEnabled, criteria.getEnabled());
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
wrapper.between(SystemJobTb::getCreateTime, criteria.getCreateTime().get(0),
criteria.getCreateTime().get(1));
}
}
wrapper.orderByDesc(SystemJobTb::getJobSort, SystemJobTb::getId);
}
public IPage<SystemJobTb> selectJobByArgs(SystemQueryJobArgs criteria, Page<SystemJobTb> page) {
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
this.injectQueryParams(criteria, wrapper);
return systemJobMapper.selectPage(page, wrapper);
}
public List<SystemJobTb> selectJobByArgs(SystemQueryJobArgs criteria) {
LambdaQueryWrapper<SystemJobTb> wrapper = new LambdaQueryWrapper<>();
this.injectQueryParams(criteria, wrapper);
return systemJobMapper.selectList(wrapper);
}
} }
@@ -15,6 +15,7 @@
*/ */
package cn.odboy.system.service; package cn.odboy.system.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IORuntimeException;
@@ -28,6 +29,8 @@ import cn.odboy.system.dal.model.SystemQueryStorageArgs;
import cn.odboy.system.dal.mysql.SystemLocalStorageMapper; import cn.odboy.system.dal.mysql.SystemLocalStorageMapper;
import cn.odboy.util.KitFileUtil; import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitPageUtil; import cn.odboy.util.KitPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -152,7 +155,7 @@ public class SystemLocalStorageService {
*/ */
public KitPageResult<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria, public KitPageResult<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria,
Page<SystemLocalStorageTb> page) { Page<SystemLocalStorageTb> page) {
return KitPageUtil.toPage(systemLocalStorageMapper.selectLocalStorageByArgs(criteria, page)); return KitPageUtil.toPage(this.selectLocalStorageByArgs(criteria, page));
} }
/** /**
@@ -162,6 +165,34 @@ public class SystemLocalStorageService {
* @return / * @return /
*/ */
public List<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria) { public List<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria) {
return systemLocalStorageMapper.selectLocalStorageByArgs(criteria); return this.selectLocalStorageByArgs(criteria);
}
public void injectQueryParams(SystemQueryStorageArgs criteria, LambdaQueryWrapper<SystemLocalStorageTb> wrapper) {
if (criteria != null) {
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
c -> c.like(SystemLocalStorageTb::getName, criteria.getBlurry()).or()
.like(SystemLocalStorageTb::getSuffix, criteria.getBlurry()).or()
.like(SystemLocalStorageTb::getType, criteria.getBlurry()).or()
.like(SystemLocalStorageTb::getCreateBy, criteria.getBlurry()));
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
wrapper.between(SystemLocalStorageTb::getUpdateTime, criteria.getCreateTime().get(0),
criteria.getCreateTime().get(1));
}
}
wrapper.orderByDesc(SystemLocalStorageTb::getId);
}
public List<SystemLocalStorageTb> selectLocalStorageByArgs(SystemQueryStorageArgs criteria) {
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
this.injectQueryParams(criteria, wrapper);
return systemLocalStorageMapper.selectList(wrapper);
}
public IPage<SystemLocalStorageTb> selectLocalStorageByArgs(SystemQueryStorageArgs criteria,
Page<SystemLocalStorageTb> page) {
LambdaQueryWrapper<SystemLocalStorageTb> wrapper = new LambdaQueryWrapper<>();
this.injectQueryParams(criteria, wrapper);
return systemLocalStorageMapper.selectPage(page, wrapper);
} }
} }