diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/annotation/ApiMark.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/annotation/ApiMark.java index 980201f4..2db75d4c 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/annotation/ApiMark.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/annotation/ApiMark.java @@ -13,5 +13,7 @@ public @interface ApiMark { String moduleName() default ""; + String code() default ""; + boolean isPublic() default false; } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/FormController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/FormController.java new file mode 100644 index 00000000..a912055a --- /dev/null +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/FormController.java @@ -0,0 +1,85 @@ +package com.nflg.mobilebroken.admin.controller; + +import com.nflg.mobilebroken.admin.annotation.ApiMark; +import com.nflg.mobilebroken.admin.service.TableInfoService; +import com.nflg.mobilebroken.common.pojo.ApiResult; +import com.nflg.mobilebroken.common.pojo.request.FormAddRequest; +import com.nflg.mobilebroken.common.pojo.request.FormUpdateRequest; +import com.nflg.mobilebroken.common.pojo.vo.DescVO; +import com.nflg.mobilebroken.common.util.AdminUserUtil; +import com.nflg.mobilebroken.common.util.VUtils; +import com.nflg.mobilebroken.repository.entity.AdminPermissionTable; +import com.nflg.mobilebroken.repository.service.IAdminPermissionTableService; +import com.nflg.mobilebroken.starter.annotation.MethodInfoMark; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 数据权限表单相关接口 + * + * @author 曹鹏飞 + **/ +@RestController +@RequestMapping("/form") +public class FormController extends ControllerBase { + + @Resource + private TableInfoService tableInfoService; + + @Resource + private IAdminPermissionTableService permissionTableService; + + /** + * 获取表列表 + */ + @GetMapping("getTables") + @MethodInfoMark(value = "获取表列表", menuName = "表单管理") + @ApiMark(moduleName = "表单管理", apiName = "获取表列表") + public ApiResult> getTables() { + return ApiResult.success(tableInfoService.getTableInfos()); + } + + /** + * 获取列列表 + */ + @GetMapping("getTableColumns") + @MethodInfoMark(value = "获取列列表", menuName = "表单管理") + @ApiMark(moduleName = "表单管理", apiName = "获取列列表") + public ApiResult> getTableColumnInfos(@RequestParam String tableName) { + return ApiResult.success(tableInfoService.getTableColumnInfos(tableName)); + } + + /** + * 新增表单 + */ + @PostMapping("add") + public void add(@Valid @RequestBody FormAddRequest request) { + VUtils.trueThrowBusinessError(permissionTableService.lambdaQuery() + .eq(AdminPermissionTable::getTableName, request.getTableName()) + .exists() + ).throwMessage("表单已存在"); + permissionTableService.save(new AdminPermissionTable() + .setTableName(request.getTableName()) + .setTableDesc(request.getTableDesc()) + .setCreateBy(AdminUserUtil.getUserName()) + .setCreateTime(LocalDateTime.now()) + ); + } + + /** + * 修改表单 + */ + @PostMapping("update") + public void update(@Valid @RequestBody FormUpdateRequest request) { + permissionTableService.lambdaUpdate() + .set(AdminPermissionTable::getTableDesc, request.getTableDesc()) + .set(AdminPermissionTable::getUpdateBy, AdminUserUtil.getUserName()) + .set(AdminPermissionTable::getUpdateTime, LocalDateTime.now()) + .eq(AdminPermissionTable::getId, request.getId()) + .update(); + } +} diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/TableInfoService.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/TableInfoService.java index 90b68dae..77d1a870 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/TableInfoService.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/TableInfoService.java @@ -1,11 +1,11 @@ package com.nflg.mobilebroken.admin.service; +import com.nflg.mobilebroken.common.pojo.vo.DescVO; import com.nflg.mobilebroken.repository.mapper.TableMetaMapper; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; -import java.util.Map; @Component public class TableInfoService { @@ -13,7 +13,11 @@ public class TableInfoService { @Resource private TableMetaMapper tableMetaMapper; - public List> getTableColumnInfos(String tableName) { + public List getTableInfos() { + return tableMetaMapper.getTableMeta(); + } + + public List getTableColumnInfos(String tableName) { return tableMetaMapper.getTableColumnMeta(tableName); } } diff --git a/nflg-mobilebroken-admin/src/test/java/ControllerTest.java b/nflg-mobilebroken-admin/src/test/java/ControllerTest.java index 2c6f2876..0b2b68bc 100644 --- a/nflg-mobilebroken-admin/src/test/java/ControllerTest.java +++ b/nflg-mobilebroken-admin/src/test/java/ControllerTest.java @@ -83,6 +83,7 @@ public class ControllerTest { api = new AdminApi() .setName(mark.apiName()) .setModuleName(mark.moduleName()) + .setCode(mark.code()) .setIsPublic(mark.isPublic()) .setUrl(url); adminApiService.save(api); diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FormAddRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FormAddRequest.java new file mode 100644 index 00000000..10998fc3 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FormAddRequest.java @@ -0,0 +1,21 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class FormAddRequest { + + /** + * 表名 + */ + @NotBlank + private String tableName; + + /** + * 表描述 + */ + @NotBlank + private String tableDesc; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FormUpdateRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FormUpdateRequest.java new file mode 100644 index 00000000..5c581766 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FormUpdateRequest.java @@ -0,0 +1,14 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +@Data +public class FormUpdateRequest { + + private Long id; + + /** + * 表描述 + */ + private String tableDesc; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/DescVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/DescVO.java new file mode 100644 index 00000000..8baf0c29 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/DescVO.java @@ -0,0 +1,17 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; + +@Data +public class DescVO { + + /** + * 名称 + */ + private String name; + + /** + * 描述 + */ + private String desc; +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminApi.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminApi.java index fcc4bca5..36113ecc 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminApi.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminApi.java @@ -38,6 +38,11 @@ public class AdminApi implements Serializable { */ private String name; + /** + * 标识 + */ + private String code; + /** * 接口地址 */ diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminPermissionTable.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminPermissionTable.java new file mode 100644 index 00000000..cdc6d00e --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminPermissionTable.java @@ -0,0 +1,58 @@ +package com.nflg.mobilebroken.repository.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author 代码生成器生成 + * @since 2026 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("admin_permission_table") +public class AdminPermissionTable implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; + + /** + * 表名 + */ + private String tableName; + + /** + * 表描述 + */ + private String tableDesc; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 最后更新人 + */ + private String updateBy; + + /** + * 最后更新时间 + */ + private LocalDateTime updateTime; +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminPermissionTableMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminPermissionTableMapper.java new file mode 100644 index 00000000..2117a248 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminPermissionTableMapper.java @@ -0,0 +1,16 @@ +package com.nflg.mobilebroken.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.mobilebroken.repository.entity.AdminPermissionTable; + +/** + *

+ * Mapper 接口 + *

+ * + * @author 代码生成器生成 + * @since 2026 + */ +public interface AdminPermissionTableMapper extends BaseMapper { + +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TableMetaMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TableMetaMapper.java index 8fe3ce9c..baeb0b8d 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TableMetaMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TableMetaMapper.java @@ -1,15 +1,22 @@ package com.nflg.mobilebroken.repository.mapper; +import com.nflg.mobilebroken.common.pojo.vo.DescVO; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; -import java.util.Map; public interface TableMetaMapper { - @Select("SELECT COLUMN_NAME as name, COLUMN_COMMENT as comment " + + @Select("SELECT TABLE_NAME as `name`, IF(CHAR_LENGTH(TABLE_COMMENT)=0,TABLE_NAME,TABLE_COMMENT) as `desc` " + + "FROM information_schema.TABLES " + + "WHERE TABLE_SCHEMA = DATABASE()" + ) + List getTableMeta(); + + @Select("SELECT COLUMN_NAME as `name`,IF(CHAR_LENGTH(COLUMN_COMMENT)=0,COLUMN_NAME,COLUMN_COMMENT) as `desc` " + "FROM information_schema.COLUMNS " + - "WHERE TABLE_NAME = #{tableName}") - List> getTableColumnMeta(@Param("tableName") String tableName); + "WHERE TABLE_NAME = #{tableName}" + ) + List getTableColumnMeta(@Param("tableName") String tableName); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminPermissionTableService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminPermissionTableService.java new file mode 100644 index 00000000..b333b004 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminPermissionTableService.java @@ -0,0 +1,16 @@ +package com.nflg.mobilebroken.repository.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.mobilebroken.repository.entity.AdminPermissionTable; + +/** + *

+ * 服务类 + *

+ * + * @author 代码生成器生成 + * @since 2026 + */ +public interface IAdminPermissionTableService extends IService { + +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminPermissionTableServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminPermissionTableServiceImpl.java new file mode 100644 index 00000000..d6c90076 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminPermissionTableServiceImpl.java @@ -0,0 +1,20 @@ +package com.nflg.mobilebroken.repository.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.mobilebroken.repository.entity.AdminPermissionTable; +import com.nflg.mobilebroken.repository.mapper.AdminPermissionTableMapper; +import com.nflg.mobilebroken.repository.service.IAdminPermissionTableService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author 代码生成器生成 + * @since 2026 + */ +@Service +public class AdminPermissionTableServiceImpl extends ServiceImpl implements IAdminPermissionTableService { + +} diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminPermissionTableMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminPermissionTableMapper.xml new file mode 100644 index 00000000..bad01417 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminPermissionTableMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/nflg-mobilebroken-repository/src/test/java/com/nflg/mobilebroken/repository/CodeGeneratorTest.java b/nflg-mobilebroken-repository/src/test/java/com/nflg/mobilebroken/repository/CodeGeneratorTest.java index 47fb73d2..57908cad 100644 --- a/nflg-mobilebroken-repository/src/test/java/com/nflg/mobilebroken/repository/CodeGeneratorTest.java +++ b/nflg-mobilebroken-repository/src/test/java/com/nflg/mobilebroken/repository/CodeGeneratorTest.java @@ -33,7 +33,7 @@ public class CodeGeneratorTest { , Paths.get(System.getProperty("user.dir")) + "/src/main/resources/mapper")) ) .strategyConfig(builder -> { - builder.addInclude("gongfu_external_user") //只生成指定表 + builder.addInclude("admin_permission_table") //只生成指定表 .entityBuilder() .enableLombok() .enableChainModel()