VisualMapServiceImpl.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package jnpf.visualdata.service.impl;
  2. import cn.hutool.core.text.StrPool;
  3. import cn.hutool.core.util.ObjectUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
  6. import jnpf.base.service.SuperServiceImpl;
  7. import jnpf.constant.MsgCode;
  8. import jnpf.util.RandomUtil;
  9. import jnpf.util.StringUtil;
  10. import jnpf.visualdata.entity.VisualMapEntity;
  11. import jnpf.visualdata.mapper.VisualMapMapper;
  12. import jnpf.visualdata.model.visual.VisualPaginationModel;
  13. import jnpf.visualdata.service.VisualMapService;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.util.Assert;
  16. import java.util.Collections;
  17. import java.util.List;
  18. import java.util.Objects;
  19. /**
  20. * 大屏地图配置
  21. *
  22. * @author JNPF开发平台组
  23. * @version V3.1.0
  24. * @copyright 引迈信息技术有限公司
  25. * @date 2021年6月15日
  26. */
  27. @Service
  28. public class VisualMapServiceImpl extends SuperServiceImpl<VisualMapMapper, VisualMapEntity> implements VisualMapService {
  29. @Override
  30. public List<VisualMapEntity> getList(VisualPaginationModel pagination) {
  31. return getListWithColnums(pagination);
  32. }
  33. @Override
  34. public List<VisualMapEntity> getListWithColnums(VisualPaginationModel pagination, SFunction<VisualMapEntity, ?>... columns) {
  35. if(StringUtil.isEmpty(pagination.getParentId())) {
  36. return Collections.emptyList();
  37. }
  38. QueryWrapper<VisualMapEntity> queryWrapper = new QueryWrapper<>();
  39. queryWrapper.lambda()
  40. .select(columns)
  41. .eq(VisualMapEntity::getParentId, pagination.getParentId())
  42. .orderByAsc(VisualMapEntity::getId);
  43. if(ObjectUtil.isNotEmpty(pagination.getName())){
  44. queryWrapper.lambda().like(VisualMapEntity::getName, pagination.getName());
  45. }
  46. return this.list(queryWrapper);
  47. }
  48. @Override
  49. public VisualMapEntity getInfo(String id) {
  50. if(StringUtil.isEmpty(id)) {
  51. return null;
  52. }
  53. QueryWrapper<VisualMapEntity> queryWrapper = new QueryWrapper<>();
  54. queryWrapper.lambda().eq(VisualMapEntity::getId, id);
  55. return this.getOne(queryWrapper);
  56. }
  57. @Override
  58. public void create(VisualMapEntity entity) {
  59. entity.setId(RandomUtil.uuId());
  60. VisualMapEntity parent = getByCode(entity.getCode());
  61. Assert.isNull(parent, MsgCode.EXIST002::get);
  62. parent = getInfo(entity.getParentId());
  63. if(parent != null){
  64. entity.setParentCode(parent.getCode());
  65. entity.setAncestors(parent.getAncestors() + StrPool.COMMA + parent.getCode());
  66. }
  67. this.save(entity);
  68. }
  69. @Override
  70. public boolean update(String id, VisualMapEntity entity) {
  71. VisualMapEntity parent = getByCode(entity.getCode());
  72. Assert.isTrue(parent == null || Objects.equals(parent.getId(), id), MsgCode.EXIST002::get);
  73. entity.setId(id);
  74. return this.updateById(entity);
  75. }
  76. @Override
  77. public void delete(VisualMapEntity entity) {
  78. if (entity != null) {
  79. this.removeById(entity.getId());
  80. }
  81. }
  82. @Override
  83. public boolean hasChild(String id) {
  84. if(StringUtil.isEmpty(id)) {
  85. return false;
  86. }
  87. QueryWrapper<VisualMapEntity> queryWrapper = new QueryWrapper<>();
  88. queryWrapper.lambda().eq(VisualMapEntity::getParentId, id);
  89. return this.exists(queryWrapper);
  90. }
  91. private VisualMapEntity getByCode(String code){
  92. if(StringUtil.isNotEmpty(code)){
  93. QueryWrapper<VisualMapEntity> queryWrapper = new QueryWrapper<>();
  94. queryWrapper.lambda().eq(VisualMapEntity::getCode, code);
  95. return getBaseMapper().selectOne(queryWrapper);
  96. }
  97. return null;
  98. }
  99. }