use of com.chao.cloud.common.extra.mybatis.generator.parse.TableCommentParse in project chao-cloud by chaojunzi.
the class ZipVelocityTemplateEngine method appendTableInfo.
/**
* 添加
* @param tableInfo 表信息
* @param objectMap 模板对象
*/
private void appendTableInfo(TableInfo tableInfo, Map<String, Object> objectMap) {
// 请求路径前缀
objectMap.put("controllerMappingPrefix", tableInfo.getName().replaceFirst("_", "/"));
// shiroPermissionsPrefix
objectMap.put("shiroPermissionsPrefix", tableInfo.getName().replaceFirst("_", ":"));
// 是否存在date 数据类型
boolean hasDate = tableInfo.getFields().stream().anyMatch(f -> DbColumnType.DATE.getType().equals(f.getPropertyType()));
if (hasDate) {
tableInfo.getImportPackages().add("org.springframework.format.annotation.DateTimeFormat");
tableInfo.getImportPackages().add("cn.hutool.core.date.DatePattern");
}
// 版本
objectMap.put("version", EnableMybatisGenerator.VERSION);
// 主键名称类型
TableField pk = tableInfo.getFields().stream().filter(f -> f.isKeyFlag()).findFirst().orElse(null);
objectMap.put("pk", pk);
// 弹窗大小
long i = tableInfo.getFields().stream().filter(f -> !(f.isKeyFlag() || f.getName().equals(getConfigBuilder().getStrategyConfig().getVersionFieldName()))).count();
// 比率
long rate = 30 + (i - 1) * 8;
objectMap.put("openHeight", rate > 100 ? 100 : rate);
// 模糊查询 tableInfo
String comment = tableInfo.getComment();
Map<String, String> map = this.commentToMap(comment);
TableCommentParse parse = BeanUtil.mapToBean(map, TableCommentParse.class, true);
objectMap.put("likeFields", parse.parseLike(tableInfo.getFields()));
// 标题
objectMap.put("menuTitle", parse.getTitle());
// 关键字-保留字处理
Map<String, String> kws = tableInfo.getFields().stream().collect(Collectors.toMap(TableField::getName, t -> KeyWordConstant.contains(t.getName()) ? "`" : ""));
objectMap.put("kws", kws);
if (kws.values().contains("`")) {
tableInfo.getImportPackages().add("com.baomidou.mybatisplus.annotation.TableField");
}
}
Aggregations