TemplateEntryMapper.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.hccake.ballcat.codegen.mapper;
  2. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.hccake.ballcat.codegen.model.entity.TemplateEntry;
  5. import com.hccake.ballcat.common.core.constant.GlobalConstants;
  6. import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
  7. import org.apache.ibatis.annotations.Mapper;
  8. import java.util.List;
  9. /**
  10. * 模板文件目录项
  11. *
  12. * @author hccake 2020-06-19 19:11:41
  13. */
  14. @Mapper
  15. public interface TemplateEntryMapper extends ExtendMapper<TemplateEntry> {
  16. /**
  17. * 根据模板组标识查询模板文件目录项集合
  18. * @param groupKey 模板组标识
  19. * @return List<TemplateDirectoryEntry>
  20. */
  21. default List<TemplateEntry> listByGroupKey(String groupKey) {
  22. return this.selectList(Wrappers.<TemplateEntry>lambdaQuery().eq(TemplateEntry::getGroupKey, groupKey));
  23. }
  24. /**
  25. * 检测是否在指定目录下存在指定名称的文件
  26. * @param entryId 目录项ID
  27. * @param name 文件名称
  28. * @return 是否存在
  29. */
  30. default boolean existSameName(String entryId, String name) {
  31. Long count = this.selectCount(Wrappers.<TemplateEntry>lambdaQuery()
  32. .eq(TemplateEntry::getParentId, entryId)
  33. .eq(TemplateEntry::getFilename, name));
  34. return count != null && count > 0;
  35. }
  36. /**
  37. * 判断目录项是否存在
  38. * @param entryId 目录项ID
  39. * @return boolean 存在:true
  40. */
  41. default boolean existEntryId(String entryId) {
  42. Long count = this.selectCount(Wrappers.<TemplateEntry>lambdaQuery().eq(TemplateEntry::getId, entryId));
  43. return count != null && count > 0;
  44. }
  45. /**
  46. * 更新父级目录id
  47. * @param groupKey 模板组标识
  48. * @param oldParentId 老的父级ID
  49. * @param newParentId 新增父级ID
  50. */
  51. default void updateParentId(String groupKey, String oldParentId, String newParentId) {
  52. LambdaUpdateWrapper<TemplateEntry> wrapper = Wrappers.<TemplateEntry>lambdaUpdate()
  53. .set(TemplateEntry::getParentId, newParentId)
  54. .eq(TemplateEntry::getGroupKey, groupKey)
  55. .eq(TemplateEntry::getParentId, oldParentId);
  56. this.update(null, wrapper);
  57. }
  58. /**
  59. * 删除模板文件
  60. * @param groupKey 模板组标识
  61. */
  62. default void deleteByGroupKey(String groupKey) {
  63. this.delete(Wrappers.lambdaQuery(TemplateEntry.class).eq(TemplateEntry::getGroupKey, groupKey));
  64. }
  65. /**
  66. * 是否存在子文件
  67. * @param entryId 目录下id
  68. * @return boolean
  69. */
  70. default boolean existSubEntry(String entryId) {
  71. Long count = this.selectCount(Wrappers.<TemplateEntry>lambdaQuery()
  72. .eq(TemplateEntry::getParentId, entryId)
  73. .eq(TemplateEntry::getDeleted, GlobalConstants.NOT_DELETED_FLAG));
  74. return count != null && count > 0;
  75. }
  76. }