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 index a912055a..a7ae4787 100644 --- 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 @@ -1,26 +1,34 @@ package com.nflg.mobilebroken.admin.controller; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.StrUtil; 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.pojo.vo.FormColumnVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.common.util.VUtils; +import com.nflg.mobilebroken.repository.entity.AdminPermissionColumn; import com.nflg.mobilebroken.repository.entity.AdminPermissionTable; +import com.nflg.mobilebroken.repository.service.IAdminPermissionColumnService; import com.nflg.mobilebroken.repository.service.IAdminPermissionTableService; import com.nflg.mobilebroken.starter.annotation.MethodInfoMark; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import javax.validation.constraints.NotNull; import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 数据权限表单相关接口 - * * @author 曹鹏飞 **/ @RestController @@ -33,6 +41,9 @@ public class FormController extends ControllerBase { @Resource private IAdminPermissionTableService permissionTableService; + @Resource + private IAdminPermissionColumnService permissionColumnService; + /** * 获取表列表 */ @@ -65,6 +76,7 @@ public class FormController extends ControllerBase { permissionTableService.save(new AdminPermissionTable() .setTableName(request.getTableName()) .setTableDesc(request.getTableDesc()) + .setRemark(request.getRemark()) .setCreateBy(AdminUserUtil.getUserName()) .setCreateTime(LocalDateTime.now()) ); @@ -77,9 +89,46 @@ public class FormController extends ControllerBase { public void update(@Valid @RequestBody FormUpdateRequest request) { permissionTableService.lambdaUpdate() .set(AdminPermissionTable::getTableDesc, request.getTableDesc()) + .set(AdminPermissionTable::getRemark, request.getRemark()) .set(AdminPermissionTable::getUpdateBy, AdminUserUtil.getUserName()) .set(AdminPermissionTable::getUpdateTime, LocalDateTime.now()) .eq(AdminPermissionTable::getId, request.getId()) .update(); } + + /** + * 删除表单 + */ + @PostMapping("delete") + @Transactional + public void delete(@RequestBody @NotNull Long id) { + permissionTableService.removeById(id); + permissionColumnService.lambdaUpdate() + .eq(AdminPermissionColumn::getTableId, id) + .remove(); + } + + /** + * 获取表单列 + */ + @GetMapping("getFormColumns") + public ApiResult> getFormColumns(@RequestParam Long id) { + AdminPermissionTable table = permissionTableService.getById(id); + VUtils.trueThrowBusinessError(Objects.isNull(table)).throwMessage("表不存在"); + List columns = tableInfoService.getTableColumnInfos(table.getTableName()); + List cols = permissionColumnService.lambdaQuery() + .eq(AdminPermissionColumn::getTableId, id) + .list(); + return ApiResult.success( + columns.stream().map(col -> { + AdminPermissionColumn dc = cols.stream() + .filter(c -> StrUtil.equals(c.getColName(), col.getName())) + .findFirst() + .orElse(null); + return Objects.nonNull(dc) ? Convert.convert(FormColumnVO.class, dc) : new FormColumnVO() + .setColName(col.getName()) + .setColDesc(col.getDesc()); + }).collect(Collectors.toList()) + ); + } } 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 index 10998fc3..e7df2aa4 100644 --- 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 @@ -18,4 +18,9 @@ public class FormAddRequest { */ @NotBlank private String tableDesc; + + /** + * 备注 + */ + private String remark; } 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 index 5c581766..89c620f9 100644 --- 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 @@ -11,4 +11,9 @@ public class FormUpdateRequest { * 表描述 */ private String tableDesc; + + /** + * 备注 + */ + private String remark; } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/FormColumnVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/FormColumnVO.java new file mode 100644 index 00000000..fe30c4e1 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/FormColumnVO.java @@ -0,0 +1,43 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +@Data +@Accessors(chain = true) +public class FormColumnVO { + + private Long id; + + /** + * 列名 + */ + private String colName; + + /** + * 列描述 + */ + private String colDesc; + + /** + * 创建人 + */ + 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/entity/AdminPermissionColumn.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminPermissionColumn.java new file mode 100644 index 00000000..19bbcc30 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminPermissionColumn.java @@ -0,0 +1,67 @@ +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_column") +public class AdminPermissionColumn implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; + + /** + * 表id + */ + private Long tableId; + + /** + * 列名 + */ + private String colName; + + /** + * 列描述 + */ + private String colDesc; + + /** + * 返回给前端的字段名称 + */ + private String colCode; + + /** + * 创建人 + */ + 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/entity/AdminPermissionTable.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminPermissionTable.java index cdc6d00e..7c17f16b 100644 --- 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 @@ -36,6 +36,11 @@ public class AdminPermissionTable implements Serializable { */ private String tableDesc; + /** + * 备注 + */ + private String remark; + /** * 创建人 */ diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminPermissionColumnMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminPermissionColumnMapper.java new file mode 100644 index 00000000..b02d3be4 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminPermissionColumnMapper.java @@ -0,0 +1,15 @@ +package com.nflg.mobilebroken.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.mobilebroken.repository.entity.AdminPermissionColumn; + +/** + *

+ * Mapper 接口 + *

+ * @author 代码生成器生成 + * @since 2026 + */ +public interface AdminPermissionColumnMapper extends BaseMapper { + +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminPermissionColumnService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminPermissionColumnService.java new file mode 100644 index 00000000..113297f6 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminPermissionColumnService.java @@ -0,0 +1,15 @@ +package com.nflg.mobilebroken.repository.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.mobilebroken.repository.entity.AdminPermissionColumn; + +/** + *

+ * 服务类 + *

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

+ * 服务实现类 + *

+ * @author 代码生成器生成 + * @since 2026 + */ +@Service +public class AdminPermissionColumnServiceImpl extends ServiceImpl implements IAdminPermissionColumnService { + +} diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminPermissionColumnMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminPermissionColumnMapper.xml new file mode 100644 index 00000000..ce46d477 --- /dev/null +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminPermissionColumnMapper.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 57908cad..7d8ef69c 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("admin_permission_table") //只生成指定表 + builder.addInclude("admin_permission_column") //只生成指定表 .entityBuilder() .enableLombok() .enableChainModel()