VisualPersonalServiceImpl.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package jnpf.onlinedev.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import jnpf.base.service.SuperServiceImpl;
  5. import jnpf.onlinedev.entity.VisualPersonalEntity;
  6. import jnpf.onlinedev.mapper.VisualPersonalMapper;
  7. import jnpf.onlinedev.model.DataInfoVO;
  8. import jnpf.onlinedev.model.personalList.VisualPersConst;
  9. import jnpf.onlinedev.model.personalList.VisualPersonalInfo;
  10. import jnpf.onlinedev.model.personalList.VisualPersonalVo;
  11. import jnpf.onlinedev.service.VisualPersonalService;
  12. import jnpf.util.JsonUtil;
  13. import jnpf.util.StringUtil;
  14. import jnpf.util.UserProvider;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. import java.util.Objects;
  21. /**
  22. * 个性化列表视图服务实现
  23. *
  24. * @author JNPF开发平台组
  25. * @version v5.1.0
  26. * @copyright 引迈信息技术有限公司
  27. * @date 2024/8/27 18:24:42
  28. */
  29. @Service
  30. public class VisualPersonalServiceImpl extends SuperServiceImpl<VisualPersonalMapper, VisualPersonalEntity> implements VisualPersonalService {
  31. @Override
  32. public List<VisualPersonalEntity> getList(String menuId) {
  33. QueryWrapper<VisualPersonalEntity> queryWrapper = new QueryWrapper<>();
  34. // queryWrapper.lambda().select(
  35. // VisualPersonalEntity::getId,
  36. // VisualPersonalEntity::getMenuId,
  37. // VisualPersonalEntity::getType,
  38. // VisualPersonalEntity::getStatus,
  39. // VisualPersonalEntity::getFullName
  40. // );
  41. queryWrapper.lambda().eq(VisualPersonalEntity::getMenuId, menuId);
  42. queryWrapper.lambda().eq(VisualPersonalEntity::getCreatorUserId, UserProvider.getUser().getUserId());
  43. return this.list(queryWrapper);
  44. }
  45. @Override
  46. public List<VisualPersonalVo> getListVo(String menuId) {
  47. List<VisualPersonalVo> listVo = new ArrayList<>();
  48. //个人视图
  49. List<VisualPersonalEntity> list = this.getList(menuId);
  50. VisualPersonalEntity defaultEntity = list.stream().filter(t -> Objects.equals(1, t.getStatus())).findFirst().orElse(null);
  51. //添加系统视图
  52. Integer status = ObjectUtil.isEmpty(defaultEntity) ? 1 : 0;
  53. VisualPersonalVo vo = new VisualPersonalVo();
  54. vo.setId(VisualPersConst.SYSTEM_ID);
  55. vo.setFullName(VisualPersConst.SYSTEM_NAME);
  56. vo.setStatus(status);
  57. vo.setType(0);
  58. listVo.add(vo);
  59. for (VisualPersonalEntity item : list) {
  60. VisualPersonalVo personalVo = JsonUtil.getJsonToBean(item, VisualPersonalVo.class);
  61. listVo.add(personalVo);
  62. }
  63. return listVo;
  64. }
  65. @Override
  66. public VisualPersonalInfo getInfo(String id) {
  67. VisualPersonalInfo info = null;
  68. if (ObjectUtil.isNotEmpty(id) && !VisualPersConst.SYSTEM_ID.equals(id)) {
  69. VisualPersonalEntity entity = this.getById(id);
  70. if (entity != null) {
  71. info = JsonUtil.getJsonToBean(entity, VisualPersonalInfo.class);
  72. }
  73. }
  74. return info;
  75. }
  76. @Override
  77. public boolean isExistByFullName(String fullName, String id, String menuId) {
  78. if (VisualPersConst.SYSTEM_NAME.equals(fullName)) return true;
  79. QueryWrapper<VisualPersonalEntity> queryWrapper = new QueryWrapper<>();
  80. queryWrapper.lambda().eq(VisualPersonalEntity::getFullName, fullName);
  81. if (!StringUtils.isEmpty(id)) {
  82. queryWrapper.lambda().ne(VisualPersonalEntity::getId, id);
  83. }
  84. queryWrapper.lambda().eq(VisualPersonalEntity::getMenuId, menuId);
  85. return this.count(queryWrapper) > 0 ? true : false;
  86. }
  87. @Override
  88. public void setDataInfoVO(String menuId, DataInfoVO dataInfoVO) {
  89. List<VisualPersonalVo> listVo = StringUtil.isNotEmpty(menuId) ? this.getListVo(menuId) : new ArrayList<>();
  90. dataInfoVO.setPersonalList(listVo);
  91. VisualPersonalVo personalVo = listVo.stream().filter(t -> Objects.equals(1, t.getStatus())).findFirst().orElse(null);
  92. String id = ObjectUtil.isEmpty(personalVo) ? null : personalVo.getId();
  93. VisualPersonalInfo info = this.getInfo(id);
  94. dataInfoVO.setDefaultView(info);
  95. }
  96. }