From bad1ebf54c1d93d0e4ac1079b0baf1f771bfd1b4 Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Thu, 9 Jun 2022 18:21:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E5=99=A8-?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=A1=A8=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/GenerateController.java | 30 ++++++++++++++ .../hxkj/admin/service/IGenerateService.java | 15 +++++++ .../service/impl/GenerateServiceImpl.java | 40 +++++++++++++++++++ .../java/com/hxkj/common/core/PageResult.java | 7 ++-- .../hxkj/common/entity/generate/GenTable.java | 20 ++++++++++ .../mapper/generate/GenTableMapper.java | 23 +++++++++++ 6 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/controller/GenerateController.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/IGenerateService.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/impl/GenerateServiceImpl.java create mode 100644 server/like-common/src/main/java/com/hxkj/common/entity/generate/GenTable.java create mode 100644 server/like-common/src/main/java/com/hxkj/common/mapper/generate/GenTableMapper.java diff --git a/server/like-admin/src/main/java/com/hxkj/admin/controller/GenerateController.java b/server/like-admin/src/main/java/com/hxkj/admin/controller/GenerateController.java new file mode 100644 index 00000000..e088594a --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/controller/GenerateController.java @@ -0,0 +1,30 @@ +package com.hxkj.admin.controller; + +import com.hxkj.admin.service.IGenerateService; +import com.hxkj.admin.validate.PageParam; +import com.hxkj.common.core.AjaxResult; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("api/generate") +public class GenerateController { + + @Resource + IGenerateService iGenerateService; + + @GetMapping("/db") + public Object db(@Validated PageParam pageParam, + @RequestParam Map params) { + List> list = iGenerateService.db(pageParam, params); + return AjaxResult.success(list); + } + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/IGenerateService.java b/server/like-admin/src/main/java/com/hxkj/admin/service/IGenerateService.java new file mode 100644 index 00000000..5fae6a3c --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/IGenerateService.java @@ -0,0 +1,15 @@ +package com.hxkj.admin.service; + +import com.hxkj.admin.validate.PageParam; + +import java.util.List; +import java.util.Map; + +/** + * 代码生成接口服务类 + */ +public interface IGenerateService { + + List> db(PageParam pageParam, Map params); + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/impl/GenerateServiceImpl.java b/server/like-admin/src/main/java/com/hxkj/admin/service/impl/GenerateServiceImpl.java new file mode 100644 index 00000000..76665aff --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/impl/GenerateServiceImpl.java @@ -0,0 +1,40 @@ +package com.hxkj.admin.service.impl; + +import com.github.pagehelper.PageHelper; +import com.hxkj.admin.service.IGenerateService; +import com.hxkj.admin.validate.PageParam; +import com.hxkj.common.core.PageResult; +import com.hxkj.common.mapper.generate.GenTableMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + +@Service +public class GenerateServiceImpl implements IGenerateService { + + @Resource + GenTableMapper genTableMapper; + + @Override + public List> db(PageParam pageParam, Map params) { + Integer page = pageParam.getPageNo(); + Integer limit = pageParam.getPageSize(); + + PageHelper.startPage(page, limit); + List> tables = genTableMapper.selectDbTableList(); + + List> list = new LinkedList<>(); + for (Map item : tables) { + Map map = new LinkedHashMap<>(); + map.put("tableName", item.get("table_name")); + map.put("tableComment", item.get("table_comment")); + map.put("createTime", item.get("create_time")); + map.put("updateTime", item.getOrDefault("update_time", "")); + list.add(map); + } + System.out.println(PageResult.pageHelper(tables)); + return list; + } + +} diff --git a/server/like-common/src/main/java/com/hxkj/common/core/PageResult.java b/server/like-common/src/main/java/com/hxkj/common/core/PageResult.java index 626eded8..a8d92d8d 100644 --- a/server/like-common/src/main/java/com/hxkj/common/core/PageResult.java +++ b/server/like-common/src/main/java/com/hxkj/common/core/PageResult.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageInfo; import lombok.Data; -import java.util.HashMap; import java.util.List; @Data @@ -24,7 +23,7 @@ public class PageResult { * @return PageList */ public static PageResult pageHelper(List list) { - PageResult pageResult = new PageResult(); + PageResult pageResult = new PageResult<>(); PageInfo pageInfo = new PageInfo<>(list); pageResult.setCount(pageInfo.getTotal()); pageResult.setPageNo(pageInfo.getPageNum()); @@ -41,7 +40,7 @@ public class PageResult { * @return PageList */ public static PageResult iPageHandle(IPage iPage) { - PageResult pageResult = new PageResult(); + PageResult pageResult = new PageResult<>(); pageResult.setCount(iPage.getTotal()); pageResult.setPageNo((int) iPage.getCurrent()); pageResult.setPageSize((int) iPage.getSize()); @@ -57,7 +56,7 @@ public class PageResult { * @return PageList */ public static PageResult iPageHandle(Long total, Long pageNo, Long size, List lists) { - PageResult pageResult = new PageResult(); + PageResult pageResult = new PageResult<>(); pageResult.setCount(total); pageResult.setPageNo(Math.toIntExact(pageNo)); pageResult.setPageSize(Math.toIntExact(size)); diff --git a/server/like-common/src/main/java/com/hxkj/common/entity/generate/GenTable.java b/server/like-common/src/main/java/com/hxkj/common/entity/generate/GenTable.java new file mode 100644 index 00000000..bdc283f4 --- /dev/null +++ b/server/like-common/src/main/java/com/hxkj/common/entity/generate/GenTable.java @@ -0,0 +1,20 @@ +package com.hxkj.common.entity.generate; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + * 代码生成业务实体 + */ +@Data +public class GenTable implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Integer id; + +} diff --git a/server/like-common/src/main/java/com/hxkj/common/mapper/generate/GenTableMapper.java b/server/like-common/src/main/java/com/hxkj/common/mapper/generate/GenTableMapper.java new file mode 100644 index 00000000..548079fb --- /dev/null +++ b/server/like-common/src/main/java/com/hxkj/common/mapper/generate/GenTableMapper.java @@ -0,0 +1,23 @@ +package com.hxkj.common.mapper.generate; + +import com.hxkj.common.core.basics.IBaseMapper; +import com.hxkj.common.entity.generate.GenTable; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface GenTableMapper extends IBaseMapper { + + @Select( + "SELECT table_name, table_comment, create_time, update_time " + + "FROM information_schema.tables " + + "WHERE table_schema = (SELECT database()) " + + "AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%' " + + "AND table_name NOT IN (select table_name from ls_gen_table)" + ) + List> selectDbTableList(); + +}