From 8b3793ac8072918f52201f5d54f1cdf49ce02299 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 21 四月 2025 11:40:48 +0800 Subject: [PATCH] 录像可用率自定义列修改与导出 --- ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java index b8bca5c..82e0c4d 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java @@ -33,6 +33,8 @@ private final static String TABLE_NAME = "t_yw_point"; + + /** * 娣诲姞 * @param form @@ -55,6 +57,23 @@ return Result.ok("娣诲姞鎴愬姛"); } + @Override + public Result addByTableName(String tableName,DynamicColumnForm form) { + Long num = new LambdaQueryChainWrapper<>(baseMapper) + .eq(DynamicColumn::getLabelValue, form.getLabelValue()) + .eq(DynamicColumn::getTableName, tableName) + .count(); + if (num > 0) { + throw new RuntimeException("鍒楀悕绉颁笉鑳介噸澶�"); + } + DynamicColumn entity = DynamicColumnForm.getEntityByForm(form, null); + entity.setPropName(IdUtils.randomNO(new Date())); + entity.setCreateTime(new Date()); + entity.setTableName(tableName); + baseMapper.insert(entity); + return Result.ok("娣诲姞鎴愬姛"); + } + /** * 淇敼 * @@ -68,6 +87,28 @@ } else { Long num = new LambdaQueryChainWrapper<>(baseMapper) .eq(DynamicColumn::getTableName, TABLE_NAME) + .eq(DynamicColumn::getLabelValue, column.getLabelValue()) + .ne(DynamicColumn::getId, column.getId()) + .count(); + if (num == 0) { + new LambdaUpdateChainWrapper<>(baseMapper) + .eq(DynamicColumn::getId, column.getId()) + .set(DynamicColumn::getLabelValue, column.getLabelValue()) + .update(); + } + } + }); + return Result.ok("淇濆瓨鎴愬姛"); + } + + @Override + public Result updateByTableName(String tableName, List<DynamicColumnForm> columnList) { + columnList.stream().filter(item -> StringUtils.hasText(item.getLabelValue())).forEach(column -> { + if (Objects.isNull(column.getId())) { + this.addByTableName(tableName,column); + } else { + Long num = new LambdaQueryChainWrapper<>(baseMapper) + .eq(DynamicColumn::getTableName, tableName) .eq(DynamicColumn::getLabelValue, column.getLabelValue()) .ne(DynamicColumn::getId, column.getId()) .count(); @@ -102,6 +143,20 @@ public Result all() { List<DynamicColumn> entities = new LambdaQueryChainWrapper<>(baseMapper) .orderByAsc(DynamicColumn::getCreateTime) + .eq(DynamicColumn::getTableName,"t_yw_point") + .list(); + List<DynamicColumnVO> vos = entities.stream() + .map(entity -> DynamicColumnVO.getVoByEntity(entity, null)) + .collect(Collectors.toList()); + return Result.ok().data(vos); + } + + + @Override + public Result allByTableName(String tableName) { + List<DynamicColumn> entities = new LambdaQueryChainWrapper<>(baseMapper) + .eq(DynamicColumn::getTableName,tableName) + .orderByAsc(DynamicColumn::getCreateTime) .list(); List<DynamicColumnVO> vos = entities.stream() .map(entity -> DynamicColumnVO.getVoByEntity(entity, null)) -- Gitblit v1.8.0