From af17053ee5e2ca839f135a95d9acfaf5a6124ca6 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Wed, 6 Aug 2025 10:39:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=BA=93=EF=BC=9A=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=88=86=E7=B1=BB=E6=98=BE=E7=A4=BA=E6=8C=87=E6=A0=87?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 +- .../ustb/sf/controller/TargetController.java | 40 ++++++++++++ .../iet/ustb/sf/service/TargetService.java | 3 + .../sf/service/impl/CategoryServiceImpl.java | 2 +- .../sf/service/impl/TargetServiceImpl.java | 63 +++++++++++++++++-- src/main/resources/application.yml | 6 +- 6 files changed, 109 insertions(+), 11 deletions(-) create mode 100644 src/main/java/iet/ustb/sf/controller/TargetController.java diff --git a/pom.xml b/pom.xml index 948323d..e783d5c 100644 --- a/pom.xml +++ b/pom.xml @@ -63,13 +63,17 @@ mybatis-plus-spring-boot3-starter 3.5.12 + + com.baomidou + mybatis-plus-jsqlparser + 3.5.12 + com.alibaba fastjson 1.2.29 - diff --git a/src/main/java/iet/ustb/sf/controller/TargetController.java b/src/main/java/iet/ustb/sf/controller/TargetController.java new file mode 100644 index 0000000..7ae1d57 --- /dev/null +++ b/src/main/java/iet/ustb/sf/controller/TargetController.java @@ -0,0 +1,40 @@ +package iet.ustb.sf.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import iet.ustb.sf.common.R; +import iet.ustb.sf.domain.Target; +import iet.ustb.sf.service.TargetService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 目标管控-指标 + * TargetController + * + * @author huangge1199 + * @since 2025/8/5 16:24:06 + */ +@RestController +@RequestMapping("/mbgk/target") +@Tag(name = "目标管控-指标") +public class TargetController { + + @Resource + private TargetService targetService; + + /** + * 根据分类显示指标列表 + */ + @Operation(summary = "根据分类显示指标列表") + @PostMapping("/getTargetsByCategory") + public R> getTargetsByCategory(@RequestBody JSONObject params) { + IPage result = targetService.getTargetsByCategory(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 87a85c6..f318afa 100644 --- a/src/main/java/iet/ustb/sf/service/TargetService.java +++ b/src/main/java/iet/ustb/sf/service/TargetService.java @@ -1,5 +1,7 @@ package iet.ustb.sf.service; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; import iet.ustb.sf.domain.Target; import com.baomidou.mybatisplus.extension.service.IService; @@ -10,4 +12,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface TargetService extends IService { + IPage getTargetsByCategory(JSONObject params); } diff --git a/src/main/java/iet/ustb/sf/service/impl/CategoryServiceImpl.java b/src/main/java/iet/ustb/sf/service/impl/CategoryServiceImpl.java index 9d46b69..abb901f 100644 --- a/src/main/java/iet/ustb/sf/service/impl/CategoryServiceImpl.java +++ b/src/main/java/iet/ustb/sf/service/impl/CategoryServiceImpl.java @@ -37,7 +37,7 @@ public class CategoryServiceImpl extends ServiceImpl QueryWrapper queryWrapper = new QueryWrapper<>(); if (!StringUtils.isEmpty(category.getOrganization())) { - queryWrapper.like("organization", category.getOrganization()); + queryWrapper.like("organization", "%" + category.getOrganization() + "%"); } List categoryList = new ArrayList<>(); if (StringUtils.isEmpty(category.getTopic())) { 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 85e546f..60b7f88 100644 --- a/src/main/java/iet/ustb/sf/service/impl/TargetServiceImpl.java +++ b/src/main/java/iet/ustb/sf/service/impl/TargetServiceImpl.java @@ -1,20 +1,73 @@ package iet.ustb.sf.service.impl; +import com.alibaba.fastjson.JSONObject; +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 iet.ustb.sf.domain.Category; import iet.ustb.sf.domain.Target; +import iet.ustb.sf.exception.ErrorCode; +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 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; + /** -* @author hyy -* @description 针对表【mbgk_target】的数据库操作Service实现 -* @createDate 2025-08-05 15:40:19 -*/ + * @author hyy + * @description 针对表【mbgk_target】的数据库操作Service实现 + * @createDate 2025-08-05 15:40:19 + */ @Service public class TargetServiceImpl extends ServiceImpl - implements TargetService{ + implements TargetService { + @Resource + private TargetMapper targetMapper; + + @Resource + private CategoryMapper categoryMapper; + + @Override + public IPage getTargetsByCategory(JSONObject params) { + int pageIndex = Optional.ofNullable(params.getInteger("pageIndex")).orElse(1); + int pageSize = Optional.ofNullable(params.getInteger("pageSize")).orElse(10); + String topic = params.getString("topic"); + String organization = params.getString("organization"); + String categoryId = params.getString("categoryId"); + String name = params.getString("name"); + + boolean bl = StringUtils.isEmpty(organization) && StringUtils.isEmpty(topic); + ThrowUtils.throwIf(bl, ErrorCode.PARAMS_ERROR, "主题和组织必须传入一个!"); + + Page pageRequest = new Page<>(pageIndex, pageSize); + + QueryWrapper query = new QueryWrapper<>(); + if (!StringUtils.isEmpty(topic)) { + query.eq("topic", topic); + } + if (!StringUtils.isEmpty(organization)) { + query.eq("organization", organization); + } + if (!StringUtils.isEmpty(categoryId)) { + query.eq("category_id",categoryId); + } + if (!StringUtils.isEmpty(name)) { + query.like("name","%" + name + "%"); + } + query.orderByDesc("update_time"); + + return this.page(pageRequest, query); + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index cb5d146..d0af489 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,13 +7,13 @@ server: port: 9900 servlet: context-path: /api -# springdoc-openapi???? +# springdoc-openapi springdoc: group-configs: - group: 'default' paths-to-match: '/**' packages-to-scan: iet.ustb.sf.controller -# knife4j??????????????? +# knife4j knife4j: enable: true setting: @@ -22,8 +22,6 @@ mybatis-plus: global-config: enable-sql-runner: true configuration: - # ?????????? map-underscore-to-camel-case: true - # ????SQL log-impl: org.apache.ibatis.logging.stdout.StdOutImpl