From fea22e82e7e49691f6e0c20a29b228d0ab3173e9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 29 十月 2025 17:08:38 +0800
Subject: [PATCH] 修改问题
---
ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java | 143 ++++++++++++++++++++++++++++++++---------------
1 files changed, 96 insertions(+), 47 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 14047f0..42297a4 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
@@ -1,21 +1,22 @@
package com.ycl.platform.service.impl;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.platform.domain.entity.DynamicColumn;
import com.ycl.platform.mapper.DynamicColumnMapper;
import com.ycl.platform.service.DynamicColumnService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.form.DynamicColumnForm;
import com.ycl.platform.domain.vo.DynamicColumnVO;
-import com.ycl.platform.domain.query.DynamicColumnQuery;
import com.ycl.system.Result;
-import com.ycl.system.page.PageUtil;
+import com.ycl.utils.uuid.IdUtils;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
+import java.util.Date;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -30,6 +31,10 @@
private final DynamicColumnMapper dynamicColumnMapper;
+ private final static String TABLE_NAME = "t_yw_point";
+
+
+
/**
* 娣诲姞
* @param form
@@ -37,36 +42,86 @@
*/
@Override
public Result add(DynamicColumnForm form) {
+ Long num = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(DynamicColumn::getLabelValue, form.getLabelValue())
+ .eq(DynamicColumn::getTableName, TABLE_NAME)
+ .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(TABLE_NAME);
+ baseMapper.insert(entity);
+ 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("娣诲姞鎴愬姛");
}
/**
* 淇敼
- * @param form
- * @return
+ *
+ * @param columnList@return
*/
@Override
- public Result update(DynamicColumnForm form) {
- DynamicColumn entity = baseMapper.selectById(form.getId());
-
- // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
- Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
- BeanUtils.copyProperties(form, entity);
- baseMapper.updateById(entity);
- return Result.ok("淇敼鎴愬姛");
+ public Result update(List<DynamicColumnForm> columnList) {
+ columnList.stream().filter(item -> StringUtils.hasText(item.getLabelValue())).forEach(column -> {
+ if (Objects.isNull(column.getId())) {
+ this.add(column);
+ } 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("淇濆瓨鎴愬姛");
}
- /**
- * 鎵归噺鍒犻櫎
- * @param ids
- * @return
- */
@Override
- public Result remove(List<String> ids) {
- baseMapper.deleteBatchIds(ids);
- return Result.ok("鍒犻櫎鎴愬姛");
+ 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();
+ if (num == 0) {
+ new LambdaUpdateChainWrapper<>(baseMapper)
+ .eq(DynamicColumn::getId, column.getId())
+ .set(DynamicColumn::getLabelValue, column.getLabelValue())
+ .update();
+ }
+
+ }
+ });
+ return Result.ok("淇濆瓨鎴愬姛");
}
/**
@@ -77,32 +132,10 @@
@Override
public Result removeById(String id) {
baseMapper.deleteById(id);
+ //todo 鍒犻櫎瀛楁瀵瑰簲鍊�
return Result.ok("鍒犻櫎鎴愬姛");
}
- /**
- * 鍒嗛〉鏌ヨ
- * @param query
- * @return
- */
- @Override
- public Result page(DynamicColumnQuery query) {
- IPage<DynamicColumnVO> page = PageUtil.getPage(query, DynamicColumnVO.class);
- baseMapper.getPage(page, query);
- return Result.ok().data(page.getRecords()).total(page.getTotal());
- }
-
- /**
- * 鏍规嵁id鏌ユ壘
- * @param id
- * @return
- */
- @Override
- public Result detail(Integer id) {
- DynamicColumnVO vo = baseMapper.getById(id);
- Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
- return Result.ok().data(vo);
- }
/**
* 鍒楄〃
@@ -110,7 +143,23 @@
*/
@Override
public Result all() {
- List<DynamicColumn> entities = baseMapper.selectList(null);
+ 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))
.collect(Collectors.toList());
--
Gitblit v1.8.0