From b095d6926c732a7cf5e5d22e432446b09b9dfc80 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Thu, 7 Aug 2025 09:21:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=BA=93=EF=BC=9A=E5=8E=9F?= =?UTF-8?q?=E5=AD=90=E6=8C=87=E6=A0=87=E7=BC=96=E8=BE=91=E9=A1=B5=EF=BC=9A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8E=BB=E9=87=8D=E5=8D=95=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ustb/sf/controller/TargetController.java | 9 ++++++++ .../iet/ustb/sf/service/TargetService.java | 4 ++++ .../sf/service/impl/TargetServiceImpl.java | 23 ++++++++++++++----- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/main/java/iet/ustb/sf/controller/TargetController.java b/src/main/java/iet/ustb/sf/controller/TargetController.java index 7ae1d57..32532a5 100644 --- a/src/main/java/iet/ustb/sf/controller/TargetController.java +++ b/src/main/java/iet/ustb/sf/controller/TargetController.java @@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * 目标管控-指标 * TargetController @@ -37,4 +39,11 @@ public class TargetController { IPage result = targetService.getTargetsByCategory(params); return R.ok(result); } + + @Operation(summary = "查询去重单列") + @PostMapping("/searchColumn") + public R> searchColumn(@RequestBody JSONObject params) { + List result = targetService.searchColumn(params); + return R.ok(result); + } } diff --git a/src/main/java/iet/ustb/sf/service/TargetService.java b/src/main/java/iet/ustb/sf/service/TargetService.java index f318afa..12122b9 100644 --- a/src/main/java/iet/ustb/sf/service/TargetService.java +++ b/src/main/java/iet/ustb/sf/service/TargetService.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import iet.ustb.sf.domain.Target; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @author hyy * @description 针对表【mbgk_target】的数据库操作Service @@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface TargetService extends IService { IPage getTargetsByCategory(JSONObject params); + + List searchColumn(JSONObject params); } diff --git a/src/main/java/iet/ustb/sf/service/impl/TargetServiceImpl.java b/src/main/java/iet/ustb/sf/service/impl/TargetServiceImpl.java index 8e74037..25de975 100644 --- a/src/main/java/iet/ustb/sf/service/impl/TargetServiceImpl.java +++ b/src/main/java/iet/ustb/sf/service/impl/TargetServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; import iet.ustb.sf.domain.Category; import iet.ustb.sf.domain.Target; import iet.ustb.sf.exception.ErrorCode; @@ -12,15 +13,14 @@ import iet.ustb.sf.exception.ThrowUtils; import iet.ustb.sf.mapper.CategoryMapper; import iet.ustb.sf.service.TargetService; import iet.ustb.sf.mapper.TargetMapper; +import iet.ustb.sf.util.CheckUtils; import jakarta.annotation.Resource; import lombok.val; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.util.HashSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; +import java.util.*; +import java.util.stream.Collectors; /** * @author hyy @@ -59,16 +59,27 @@ public class TargetServiceImpl extends ServiceImpl query.eq("organization", organization); } if (!StringUtils.isEmpty(categoryId)) { - query.eq("category_id",categoryId); + query.eq("category_id", categoryId); } if (!StringUtils.isEmpty(name)) { - query.like("name","%" + name + "%"); + query.like("name", "%" + name + "%"); } long cnt = targetMapper.selectCount(query); query.orderByDesc("update_time"); pageRequest.setTotal(cnt); return this.page(pageRequest, query); } + + @Override + public List searchColumn(JSONObject params) { + String tableName = params.getString("tableName"); + String columnName = params.getString("columnName"); + CheckUtils.checkTableName(tableName); + CheckUtils.checkColumns(columnName, tableName); + String sql = "SELECT DISTINCT " + columnName + " FROM " + tableName + " limit 4000"; + List> list = SqlRunner.db().selectList(sql); + return list.stream().map(target -> target.get(columnName).toString()).collect(Collectors.toList()); + } }