feat(form): 完善表单管理功能
- 在AdminPermissionTable实体中新增remark字段用于备注信息 - 在FormAddRequest和FormUpdateRequest请求对象中添加remark字段 - 新增FormColumnVO数据传输对象用于返回表单列信息 - 添加AdminPermissionColumn实体及相关数据库操作组件 - 实现删除表单及关联列数据的功能 - 实现获取表单列信息的功能,支持动态列信息展示 - 修改代码生成器配置以包含admin_permission_column表的生成 - 更新表单创建和修改逻辑以处理备注字段的存储
This commit is contained in:
parent
57aadf6161
commit
01753966ac
|
|
@ -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<List<FormColumnVO>> getFormColumns(@RequestParam Long id) {
|
||||
AdminPermissionTable table = permissionTableService.getById(id);
|
||||
VUtils.trueThrowBusinessError(Objects.isNull(table)).throwMessage("表不存在");
|
||||
List<DescVO> columns = tableInfoService.getTableColumnInfos(table.getTableName());
|
||||
List<AdminPermissionColumn> 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())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,4 +18,9 @@ public class FormAddRequest {
|
|||
*/
|
||||
@NotBlank
|
||||
private String tableDesc;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,4 +11,9 @@ public class FormUpdateRequest {
|
|||
* 表描述
|
||||
*/
|
||||
private String tableDesc;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
* @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;
|
||||
}
|
||||
|
|
@ -36,6 +36,11 @@ public class AdminPermissionTable implements Serializable {
|
|||
*/
|
||||
private String tableDesc;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
package com.nflg.mobilebroken.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminPermissionColumn;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
* @author 代码生成器生成
|
||||
* @since 2026
|
||||
*/
|
||||
public interface AdminPermissionColumnMapper extends BaseMapper<AdminPermissionColumn> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.nflg.mobilebroken.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminPermissionColumn;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
* @author 代码生成器生成
|
||||
* @since 2026
|
||||
*/
|
||||
public interface IAdminPermissionColumnService extends IService<AdminPermissionColumn> {
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
* @author 代码生成器生成
|
||||
* @since 2026
|
||||
*/
|
||||
@Service
|
||||
public class AdminPermissionColumnServiceImpl extends ServiceImpl<AdminPermissionColumnMapper, AdminPermissionColumn> implements IAdminPermissionColumnService {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nflg.mobilebroken.repository.mapper.AdminPermissionColumnMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue