From fa054a31014e5c067d3969c55b7577796e77f330 Mon Sep 17 00:00:00 2001 From: ChangFeng <752492631@qq.com> Date: Thu, 11 Apr 2024 22:04:25 +0800 Subject: [PATCH] =?UTF-8?q?2024.4.11=20=E4=BC=98=E5=8C=96=E4=BA=86node?= =?UTF-8?q?=E7=9A=84=E7=BB=84=E5=90=88=E6=9D=A1=E4=BB=B6=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=92=8C=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MapperProvider/NodeProvider.java | 15 +++++++++++++++ .../videotask/bean/PageResultBean.java | 17 +++++++++++++++++ .../videotask/controller/NodeControl.java | 1 - .../videotask/mappers/NodeMapper.java | 4 +++- .../videotask/service/NodeService.java | 7 +++---- .../service/impl/NodeServiceImpl.java | 19 ++++++++++++++----- 6 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/hongliang/videotask/bean/PageResultBean.java diff --git a/src/main/java/com/hongliang/videotask/MapperProvider/NodeProvider.java b/src/main/java/com/hongliang/videotask/MapperProvider/NodeProvider.java index b7ee7af..8d0c42b 100644 --- a/src/main/java/com/hongliang/videotask/MapperProvider/NodeProvider.java +++ b/src/main/java/com/hongliang/videotask/MapperProvider/NodeProvider.java @@ -36,4 +36,19 @@ public class NodeProvider { //返回sql语句 return sb.toString(); } + + public String GetTotal(Map condition){ + StringBuilder sb=new StringBuilder(); + sb.append("select count(1) from node where 1=1"); + + //开如拼接查询条件 + if (condition.containsKey("nodename")){ + sb.append(" and nodename like concat('%', #{nodename},'%')"); + } + + //……如果有其他条件,就继续 + + //返回sql语句 + return sb.toString(); + } } diff --git a/src/main/java/com/hongliang/videotask/bean/PageResultBean.java b/src/main/java/com/hongliang/videotask/bean/PageResultBean.java new file mode 100644 index 0000000..dd09135 --- /dev/null +++ b/src/main/java/com/hongliang/videotask/bean/PageResultBean.java @@ -0,0 +1,17 @@ +package com.hongliang.videotask.bean; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PageResultBean { + private int pageNum; + private int pageSize; + private int total; + private List list; +} diff --git a/src/main/java/com/hongliang/videotask/controller/NodeControl.java b/src/main/java/com/hongliang/videotask/controller/NodeControl.java index f1cda1b..dd22ab0 100644 --- a/src/main/java/com/hongliang/videotask/controller/NodeControl.java +++ b/src/main/java/com/hongliang/videotask/controller/NodeControl.java @@ -19,7 +19,6 @@ public class NodeControl { @PostMapping("list") public ResponseEntity GetNodeListByCondition(@RequestBody String condition){ - System.out.println(condition); return ResponseEntity.ok(new Response(ResponseCode.OK,"success", this.nodeService.GetNodeListByCondition(condition))); } diff --git a/src/main/java/com/hongliang/videotask/mappers/NodeMapper.java b/src/main/java/com/hongliang/videotask/mappers/NodeMapper.java index 6df6140..d20844f 100644 --- a/src/main/java/com/hongliang/videotask/mappers/NodeMapper.java +++ b/src/main/java/com/hongliang/videotask/mappers/NodeMapper.java @@ -2,7 +2,6 @@ package com.hongliang.videotask.mappers; import com.hongliang.videotask.MapperProvider.NodeProvider; import com.hongliang.videotask.bean.NodeBean; -import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.SelectProvider; import org.springframework.stereotype.Repository; @@ -13,4 +12,7 @@ import java.util.Map; public interface NodeMapper { @SelectProvider(type= NodeProvider.class,method = "GetNodeList") List GetNodeListByCondition(Map condition); + + @SelectProvider(type=NodeProvider.class,method="GetTotal") + int GetTotal(Map condition); } diff --git a/src/main/java/com/hongliang/videotask/service/NodeService.java b/src/main/java/com/hongliang/videotask/service/NodeService.java index c45649c..e264bec 100644 --- a/src/main/java/com/hongliang/videotask/service/NodeService.java +++ b/src/main/java/com/hongliang/videotask/service/NodeService.java @@ -1,9 +1,8 @@ package com.hongliang.videotask.service; -import com.hongliang.videotask.bean.NodeBean; - -import java.util.List; +import com.hongliang.videotask.bean.PageResultBean; public interface NodeService { - List GetNodeListByCondition(String condition); + PageResultBean GetNodeListByCondition(String condition); + int GetTotal(String condition); } diff --git a/src/main/java/com/hongliang/videotask/service/impl/NodeServiceImpl.java b/src/main/java/com/hongliang/videotask/service/impl/NodeServiceImpl.java index 08a3fac..052ca12 100644 --- a/src/main/java/com/hongliang/videotask/service/impl/NodeServiceImpl.java +++ b/src/main/java/com/hongliang/videotask/service/impl/NodeServiceImpl.java @@ -1,15 +1,13 @@ package com.hongliang.videotask.service.impl; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.hongliang.videotask.bean.NodeBean; +import com.hongliang.videotask.bean.PageResultBean; import com.hongliang.videotask.mappers.NodeMapper; import com.hongliang.videotask.service.NodeService; import com.hongliang.videotask.utils.CommonFuction; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -18,8 +16,19 @@ public class NodeServiceImpl implements NodeService { @Autowired private NodeMapper nodeMapper; - public List GetNodeListByCondition(String condition){ + public PageResultBean GetNodeListByCondition(String condition){ Map map= CommonFuction.JsonStringToMapWithOffset(condition); - return this.nodeMapper.GetNodeListByCondition(map); + List list=this.nodeMapper.GetNodeListByCondition(map); + PageResultBean resultBean=new PageResultBean(); + resultBean.setList(list); + resultBean.setPageNum(Integer.parseInt( map.get("pageNum").toString())); + resultBean.setPageSize(Integer.parseInt(map.get("pageSize").toString())); + resultBean.setTotal(GetTotal(condition)); + return resultBean; + } + + public int GetTotal(String condition){ + Map map= CommonFuction.JsonStringToMapWithOffset(condition); + return this.nodeMapper.GetTotal(map); } }